0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CY8CKIT-008

CY8CKIT-008

  • 厂商:

    CYPRESS(赛普拉斯)

  • 封装:

    -

  • 描述:

    KIT DEV PSOC PROC MODULE CY8C29

  • 数据手册
  • 价格&库存
CY8CKIT-008 数据手册
CY8CKIT-001 PSoC® Development Kit Guide Doc. # 001-48651 Rev. *J May 3, 2012 Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com Copyrights Copyrights © Cypress Semiconductor Corporation, 2009-2012. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without the express written permission of Cypress. Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress’ product in a life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Use may be limited by and subject to the applicable Cypress software license agreement. PSoC Designer™ and PSoC Creator™ are trademarks and PSoC® and CapSense® are registered trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are property of the respective corporations. Flash Code Protection Cypress products meet the specifications contained in their particular Cypress PSoC Datasheets. Cypress believes that its family of PSoC products is one of the most secure families of its kind on the market today, regardless of how they are used. There may be methods, unknown to Cypress, that can breach the code protection features. Any of these methods, to our knowledge, would be dishonest and possibly illegal. Neither Cypress nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as "unbreakable." Cypress is willing to work with the customer who is concerned about the integrity of their code. Code protection is constantly evolving. We at Cypress are committed to continuously improving the code protection features of our products. 2 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Contents 1. Introduction 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Kit Overview.................................................................................................................7 Kit Contents .................................................................................................................7 Installation....................................................................................................................8 1.3.1 Before You Begin .............................................................................................8 1.3.2 Prerequisites ....................................................................................................8 1.3.3 Installing PSoC 1 Development Software ........................................................8 1.3.4 Installing PSoC 3 Development Software ........................................................8 1.3.5 Installing PSoC 5 Development Software ........................................................9 PSoC Development Board.........................................................................................10 1.4.1 Default Switch and Jumper Settings ..............................................................10 Kit Revision................................................................................................................12 Additional Resources .................................................................................................13 1.6.1 Beginner Resources.......................................................................................13 1.6.2 Engineers Looking for More ...........................................................................13 1.6.3 Learning from Peers.......................................................................................13 Document Conventions .............................................................................................13 Document Revision History ......................................................................................14 2. Loading My First PSoC Project 2.1 2.2 2.3 2.4 7 15 My First PSoC 1 (CY8C28) Project ...........................................................................16 2.1.1 Loading My First PSoC 1 Project ...................................................................16 2.1.2 Building My First PSoC 1 Project ...................................................................17 2.1.3 Programming My First PSoC 1 Project ..........................................................17 2.1.4 Running My First PSoC 1 Project ..................................................................18 My First PSoC 1 (CY8C29) Project ...........................................................................20 2.2.1 Loading My First PSoC 1 Project ...................................................................20 2.2.2 Building My First PSoC 1 Project ...................................................................21 2.2.3 Programming My First PSoC 1 Project ..........................................................22 2.2.4 Running My First PSoC 1 Project ..................................................................23 My First PSoC 3 (CY8C38) Project ...........................................................................25 2.3.1 Loading My First PSoC 3 Project ...................................................................25 2.3.2 Building My First PSoC 3 Project ...................................................................26 2.3.3 Programming My First PSoC 3 Project ..........................................................27 2.3.4 Running My First PSoC 3 Project ..................................................................28 My First PSoC 5 (CY8C55) Project ...........................................................................28 2.4.1 Loading my First PSoC 5 Project ...................................................................28 2.4.2 Building My First PSoC 5 Project ...................................................................30 2.4.3 Programming My First PSoC 5 Project ..........................................................31 2.4.4 Running My First PSoC 5 Project ..................................................................32 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 3 Contents 3. Sample Projects 3.1 3.2 3.3 33 CY8C28 Family Processor Module Code Examples ................................................. 33 3.1.1 My First PSoC 1 (CY8C28) Project................................................................ 33 3.1.2 ADC to LCD Project ....................................................................................... 41 3.1.3 ADC to UART with DAC................................................................................. 48 3.1.4 CapSense ...................................................................................................... 60 CY8C29 Family Processor Module Code Examples ................................................. 70 3.2.1 My First PSoC 1 (CY8C29) Project................................................................ 70 3.2.2 ADC to LCD Project ....................................................................................... 78 3.2.3 ADC to LCD with DAC and UART .................................................................85 CY8C38 / CY8C55 Family Processor Module Code Examples ..............................102 3.3.1 My First PSoC 3 / PSoC 5 Project ...............................................................102 3.3.2 ADC to LCD Project ..................................................................................... 111 3.3.3 ADC to UART with DAC............................................................................... 118 3.3.4 USB HID ......................................................................................................135 3.3.5 CapSense ....................................................................................................149 3.3.6 SAR ADC (PSoC 5 Only).............................................................................158 Appendix A. Board Specifications and Layout A.1 A.2 A.3 Appendix B. MiniProg3 B.1 B.2 B.3 B.4 B.5 203 MiniProg3 LEDs.......................................................................................................203 Programming in Power Cycle Mode ........................................................................203 Interface Pin Assignment Table...............................................................................203 Protection Circuitry ..................................................................................................204 Level Translation .....................................................................................................204 Appendix C. MiniProg3 Technical Description C.1 4 175 PSoC Development Board ......................................................................................175 A.1.1 Factory Default Configuration ......................................................................175 A.1.2 Power Supply Configuration Examples........................................................176 A.1.3 Prototyping Components .............................................................................181 A.1.4 LCD Module .................................................................................................183 A.1.5 CapSense Elements ....................................................................................184 A.1.6 Processor Module ........................................................................................184 A.1.7 Expansion Ports...........................................................................................188 Schematics ..............................................................................................................191 A.2.1 CY8CKIT-001 PSoC Development Board ...................................................191 A.2.2 CY8C28 Family Processor Module..............................................................192 A.2.3 CY8C29 Family Processor Module..............................................................193 A.2.4 CY8C38 Family Processor Module..............................................................194 A.2.5 CY8C55 Family Processor Module..............................................................195 A.2.6 Enabling Boost Component in PSoC 3 and PSoC 5 Processor Modules....196 Bill of Materials ........................................................................................................196 A.3.1 CY8CKIT-001 PSoC Development Board ...................................................196 A.3.2 CY8C28 Family Processor Module..............................................................198 A.3.3 CY8C29 Family Processor Module..............................................................198 A.3.4 CY8C38 Family Processor Module..............................................................199 A.3.5 CY8C55 Family Processor Module..............................................................200 205 Interfaces.................................................................................................................206 C.1.1 ISSP.............................................................................................................206 C.1.2 JTAG............................................................................................................206 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Contents C.2 C.3 C.1.3 SWD/SWV....................................................................................................206 C.1.4 I2C™ ............................................................................................................206 Connectors ..............................................................................................................207 C.2.1 5-Pin Connector ...........................................................................................207 C.2.2 10-Pin Connector .........................................................................................207 Power.......................................................................................................................209 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 5 Contents 6 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 1. 1.1 Introduction Kit Overview The CY8CKIT-001 PSoC® Development Kit provides a common development platform where you can prototype and evaluate different solutions using either the PSoC 1, PSoC 3, or PSoC 5 architectures. This guide gives you a practical understanding of PSoC technology. The kit also includes several code examples with step-by-step instructions to enable you to easily develop PSoC solutions. This kit includes PSoC CY8C28, CY8C38, and CY8C55 family processor modules. 1.2 Kit Contents The CY8CKIT-001 PSoC Development Kit includes: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ PSoC development board PSoC CY8C28 family processor module PSoC CY8C38 family processor module PSoC CY8C55 family processor module MiniProg3 programmer and debug tool USB cable1 12-V power supply adapter Wire pack Printed documentation ❐ Quick start guide ❐ Schematic and pinout of PSoC development board design PSoC 1 software CD/DVD (contents are installed in \PSoC Development Kit CY8C28): ❐ PSoC Designer™ IDE ❐ PSoC Programmer software ❐ CY8C28 datasheets ❐ Kit release notes ❐ Software release notes ❐ Code example files, firmware, and documentation PSoC 3 and PSoC 5 software CD/DVD (contents are installed in the \CY8CKIT-009A folder for PSoC 3 module kit and \PSoC Development Kit CY8C55 folder for PSoC 5 module kit): ❐ PSoC Creator™ IDE ❐ PSoC Programmer software ❐ CY8C38 datasheet ❐ CY8C55 datasheet ❐ Kit release notes ❐ Software release notes ❐ Code example files, firmware, and documentation 1. Any USB certified cable up to 2 meters in length can be used with the DVK. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 7 Introduction 1.3 Installation Everything you need to use the PSoC Development Kit is included; you only need to install the software for the processor module you plan to use. Note CY8CKIT-008 CY8C29 family processor module is not part of this kit; you can purchase this module from http://www.cypress.com. 1.3.1 Before You Begin All Cypress software installations require administrator privileges, but this is not required to run the installed software. Shut down any currently running Cypress software. Disconnect any ICE-Cube or MiniProg devices from your computer. 1.3.2 Prerequisites PSoC Creator and PSoC Designer both use Microsoft .NET Framework, Adobe Acrobat Reader, and a Windows Installer. If .NET Framework and Windows Installer are not on your computer, the installation automatically installs them. If you do not have Adobe Acrobat Reader, download and install it from the Adobe website. 1.3.3 Installing PSoC 1 Development Software To use the CY8C28 or CY8C29 family processor module (PSoC 1), you need: ■ PSoC Designer 5.0 SP6 or higher ■ PSoC Programmer 3.12.3 or later If PSoC Designer 5.0 is currently installed, uninstall it. Click Start  Control Panel  Add or Remove Programs. Insert the PSoC 1 Software CD/DVD; using the menu, select Install Software for PSoC 1. After installation, user guides and key documents are located in the \Documentation subdirectory of the PSoC Designer installation directory. 1.3.4 Installing PSoC 3 Development Software To use the CY8C38 family processor module (PSoC 3), you need: ■ PSoC Creator 1.0 Production or later ■ PSoC Programmer 3.12.3 or later ■ PSoC Development Kit example files Insert the PSoC 3 or PSoC 5 software CD/DVD; in the menu, select Install Software for PSoC 3. This option installs all three required software packages. The installers for PSoC Programmer and PSoC Creator automatically start before the kit examples are installed. For each installation, select Typical on the Installation Type page. PSoC Creator uses the DP8051 Keil 8.16 compiler to build PSoC 3 applications. This compiler is included on the CD/DVD; if the installer does not detect the compiler, you will be prompted to install it. Note The Keil compiler is distributed with a free license. You must activate this license within 30 days of installation. When the Cypress software installation is complete, and you run PSoC Creator, activate the compiler license from Help  Register  Keil. 8 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Introduction Important for Win7 and Vista users: Rename the *_tools.ini file in :\ PSoC Creator\\PSoC Creator\import\keil\pk51\ to "tools.ini" for the Keil registration to be successful. After installing PSoC Creator and PSoC Programmer, refer to the documentation as needed: ■ PSoC Creator  Help  Topics Getting Started ■ Programmer  Documentation User Guide Other documents included with this release are located in the \Documentation subdirectory of the PSoC Creator installation directory. The default location is: :\PSoC Creator\\PSoC Creator\Documentation You can access this directory from within PSoC Creator under Help  Documentation. Documents include (but are not limited to): ■ PSoC Creator Component Author Guide (component_author_guide.pdf) ■ Warp Verilog Reference Guide (warp_verilog_reference.pdf) ■ Customization API Reference (customizer_api.chm) Note After the installation is complete, the kit contents are available at the following location: :\CY8CKIT-009A\ 1.3.5 Installing PSoC 5 Development Software To use the CY8C55 family processor module (PSoC 5), you need: ■ PSoC Creator 2.0 or later ■ PSoC Programmer 3.12.3 or later ■ PSoC Development Kit example files Insert the PSoC 3 or PSoC 5 Software CD/DVD; in the menu, select Install Software for PSoC 5. This option installs all three required software packages. The installers for PSoC Programmer and PSoC Creator automatically start before the kit examples are installed. For each installation, select Typical on the Installation Type page. PSoC Creator uses the GNU GCC 4.4.1 compiler to build PSoC 5 applications. After installing PSoC Creator and PSoC Programmer, refer to the documentation as needed: ■ PSoC Creator  Help  Topics Getting Started ■ Programmer  Documentation User Guide Other documents included with this release are located in the \Documentation subdirectory of the PSoC Creator installation directory. The default location is: :\PSoC Creator\\PSoC Creator\Documentation You can access this directory from within PSoC Creator under Help  Documentation. Documents include (but are not limited to): ■ PSoC Creator Component Author Guide (component_author_guide.pdf) ■ Warp Verilog Reference Guide (warp_verilog_reference.pdf) ■ Customization API Reference (customizer_api.chm) Note After the installation is complete, the kit contents are available at the following location: :\PSoC Development Kit CY8C55\ CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 9 Introduction 1.4 PSoC Development Board The CY8CKIT-001 PSoC Development Board is designed to aid hardware, firmware, and software developers in building their own systems around Cypress’s PSoC devices. The flexibility to configure the power domains is one of the foremost features of this board. Input power to the board is from one of two sources: ■ 12 V 1-A power supply adapter ■ 9-V alkaline battery (not included) This full-featured board incorporates three onboard linear regulators that power peripherals and PSoC processor modules at voltages between 1.7 V and 5.0 V. These regulators include a fixed 5 V 1-A linear regulator, a fixed 3.3 V 300-mA linear regulator, and a 1.5 V to 3.3 V for 3.3-V supply and 1.5 V to 5 V for 5-V supply adjustable regulator. The board also provides the ability to separate the PSoC core VDD rail into two separate rails, analog and digital. In addition, the board is able to separate the I/O VDD rails, giving the flexibility to power the I/O ports at different voltages. The board is equipped with a 2×16 alphanumeric LCD module capable of 1.8 V to 5.0 V I/O. In addition, there is a mini-B full-speed USB interface and a female DB9 serial communications interface. Also included is a 12-pin wireless radio module interface, which can be used to develop CyFi™ low-power RF or other embedded RF solutions with this kit. The board also has a prototyping area containing a small breadboard, complete with I/O port sockets nearby, multipurpose LEDs, mechanical push buttons, and a multipurpose variable resistor. In addition, three capacitive sensing elements (two buttons and a five segment slider) are included on the board to allow the evaluation of CapSense® applications. The board has four general-purpose I/O (GPIO) expansion slots, allowing the I/O to expand to external boards. The board is designed with modularity in mind and, as a result, supports removable processor modules. This allows you to plug different PSoC processor modules into the board based upon the desired features of both 8-bit and 32-bit PSoC devices. Note 1.4.1 ■ The PSoC device may get hot or damaged if many I/O pins are configured as strong drive with initial state HIGH and grounded externally using wires. ■ The PSoC device may get hot or damaged if many I/O pins are configured as strong drive with initial state LOW and connected to Vcc externally using wires. Default Switch and Jumper Settings Jumpers on the CY8CKIT-001 PSoC development board have a default setting to operate at 3.3 V. For default configuration, each of the jumpers must be set according to these instructions. Note All CY8C28 and CY8C29 family processor module code examples are configured for 5 V. Configure the board to 5 V, before creating the code examples. SW3 - VDD Select. Default Position: 3.3 V (down position) 10 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Introduction J8 - 5 V Source. Default Position: VREG (upper two pins) J7, J6 - VDD Digital, VDD Analog. Default Position: VDD (upper two pins, both headers) J12 - LCD Power. Default Position: ON (lower two pins) J2-J5 - VDDIO Power Select. Default Position: VDD (upper left two pins) J10 - RS-232 Power (Serial Communications). Default Position: Installed J14 - Radio Power. Default Position: Installed J11 - Variable Resistor Power. Default Position: Installed CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 11 Introduction 1.4.1.1 AC/DC Adaptor Specifications Use adaptors with the following specifications: ■ Input voltage: 100 to 240 VAC, 50 Hz to 60 Hz, 1 A ■ Output voltage: 12 VDC, 1 A ■ Power output: 12 W ■ Polarization: Positive center ■ Certification: CE certified Some recommended part numbers include EPSA120100U-P5P-EJ (CUI Inc.) and LTE12W-S2 (Li Tone Electronics Co. Ltd). 1.4.1.2 Battery Specifications Use batteries with the following specifications: ■ Battery type: 9 V ■ Output voltage: 9 VDC ■ Type: Non-rechargeable alkaline consumer batteries ■ RoHS status: RoHS compliant ■ Lead free status: Pb-free Some recommended part numbers include 6LR61XWA/1SB (Panasonic), MN1604 (Duracell), and 6LR61 (Energizer). 1.5 Kit Revision To know the kit revision, look for the white sticker on the bottom left on the back of the kit box. If the revision reads CY8CKIT-001B Rev **, then congratulations, you own the latest version. You can also check the silicon marketing part number on the processor module. If the part number is CY8C3866AXI-040, then congratulations, you own the latest version. To upgrade CY8CKIT-001A to CY8CKIT-001B, the PSoC 3 processor module and kit CD/DVD must be updated. Purchase the latest processor module at http://www.cypress.com/go/CY8CKIT-009 and download the latest CD ISO image at http://www.cypress.com/go/CY8CKIT-001. To upgrade CY8CKIT-001 to CY8CKIT-001B, besides the upgrades stated above, you need to purchase the latest PSoC 5 process module at http://www.cypress.com/go/CY8CKIT-010. 12 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Introduction 1.6 Additional Resources Visit http://www.cypress.com/go/training for additional learning resources in the form of datasheets, technical reference manual, and application notes. 1.6.1 Beginner Resources AN54181 - PSoC 3 - Getting Started with a PSoC 3 Design Project PSoC Designer Training PSoC Designer FAQ PSoC Creator Training 1.6.2 Engineers Looking for More AN54460 - PSoC 3 and PSoC 5 Interrupts AN52705 - PSoC 3 and PSoC 5 - Getting Started with DMA AN52701 - PSoC 3 - How to Enable CAN Bus Communication AN54439 - PSoC 3 and PSoC 5 External Oscillator AN52927 - PSoC 3: Segment LCD Direct Drive Cypress continually strives to provide the best support. Click here to view a growing list of application notes for PSoC 3 and PSoC 5. 1.6.3 Learning from Peers Cypress Developer Community Forums 1.7 Document Conventions These conventions are used throughout this guide. Table 1-1. Documentation Conventions Convention Usage Courier New Size 12 Displays file locations and source code: C:\ …cd\icc\. Italics Displays file names and reference documentation: sourcefile.hex [bracketed, bold] Displays keyboard commands in procedures: [Enter] or [Ctrl] [C] Bold  With  Arrows Represents menu paths, user entered text: File  New Project  Clone Bold Displays commands and selections, and icon names in procedures: Click the Debugger icon, and then click Next. Note Displays functionality unique to PSoC Designer, PSoC Creator, or the PSoC device. WARNING: Displays cautions that are important to the subject. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 13 Introduction 1.8 Document Revision History Document Title: CY8CKIT-001 PSoC Development Kit Guide Document Number: 001-48651 14 Revision Issue Date Origin of Change Description of Change ** 6/23/09 AESA New Guide *A 7/22/09 AESA CDT based updates *B 11/19/09 AESA CDT based updates *C 05/21/10 AESA Updated with PSoC 5. *D 01/05/11 RKAD Updated images. Updated PSoC Creator and PSoC Programmer versions *E 02/10/11 RKAD Updated images. Added Kit Revision section *F 12/16/11 RKAD Content updates throughout the document. *G 12/30/11 RKAD Updated installation directory path. Added Figure 2-4 and Figure 210. Added note on Keil compilers in section 1.3.4. *H 01/13/12 RKAD Added note on USB cable in section 1.2 - Kit Contents. Appended to note in section A.1.4 - LCD Module *I 01/18/12 RKAD Minor ECN to include attachments in pdf. No content updates made. *J 05/03/12 SASH Added the Additional Resources section CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 2. Loading My First PSoC Project The CY8CKIT-001 PSoC Development Kit supports projects across the PSoC 1, PSoC 3, and PSoC 5 architectures. This section walks you through the high-level design process for opening, building, programming, and running your first PSoC project using this kit. Before beginning, follow each of these steps to make certain that your software and hardware environments are properly configured and ready for these projects: 1. Install PSoC Designer using the steps listed in Installing PSoC 1 Development Software on page 8. 2. Install PSoC Creator using the steps listed in Installing PSoC 3 Development Software on page 8. 3. Connect the MiniProg3 into your PC using the supplied USB cable. When you connect the MiniProg3, Microsoft Windows® may indicate that it has found new hardware. All required drivers are installed as part of the PSoC Programmer installation process; however, if Windows opens the driver installation dialog boxes, accept the defaults and allow Windows to automatically find the appropriate driver. 4. Close any open PSoC Creator or PSoC Designer applications and projects. 5. Configure the PSoC development board (jumper settings and switches) in its default configuration, as described in Default Switch and Jumper Settings on page 10. 6. Use the PSoC CY8C28 family processor module or PSoC CY8C29 family processor module for the PSoC 1 version of your first PSoC project (My First PSoC 1 (CY8C28) Project on page 16 or My First PSoC 1 (CY8C29) Project on page 20). 7. Use the PSoC CY8C38 family processor module for the PSoC 3 version of your first PSoC project (My First PSoC 3 (CY8C38) Project on page 25). 8. Use the PSoC CY8C55 family processor module for the PSoC 5 version of your first PSoC project (My First PSoC 5 (CY8C55) Project on page 28). 9. For a PSoC 1 project, use the ISSP header on the PSoC CY8C28 family processor module or PSoC CY8C29 family processor module and connect the MiniProg3 ISSP port. 10.For a PSoC 3 or PSoC 5 project, use the JTAG ribbon cable. Connect the ribbon cable to the MiniProg3 and the CY8C38 family processor module or CY8C55 family processor module into the header labeled PROG on the processor module. Note The MiniProg3 should not be "hot plugged" into processor modules that are attached to the PSoC development board. In other words, do not plug the ribbon cable of the MiniProg3 into the processor module while code is actively running on the module. Doing so may cause the PSoC device to unintentionally reset. Power down the PSoC development board and module by unplugging the power supply from the development board before attaching the MiniProg3 device to the module board. When the ribbon cable is attached to the module board, power the system by plugging in the power supply to the PSoC development board. This will avoid any undesirable PSoC device resets. 11. Power the PSoC development board using the 12-V AC power supply adapter. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 15 Loading My First PSoC Project 2.1 My First PSoC 1 (CY8C28) Project This is a simple PSoC 1 project using a pulse width modulator (PWM) peripheral inside PSoC, and software to control the blinking rates of two different LED outputs. For this project, be sure you have the PSoC CY8C28 family processor module inserted into the PSoC development board and the appropriate software installed. This section walks you through the steps to open, build, and program a project. 2.1.1 Loading My First PSoC 1 Project 1. Open PSoC Designer. 2. In the Start Page, navigate to File  Open Project/Workspace 3. Navigate to the project directory: :\PSoC Developent Kit CY8C28\\Firmware\CY8C28. 4. Open the folder Ex1_LED_with_PWM. 5. Double-click Ex1_LED_with_PWM.app. 6. The project opens in the Chip Editor view. All project files are in the Workspace Explorer. Figure 2-1. Chip Editor View 16 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project 2.1.2 Building My First PSoC 1 Project 1. Select Build  Generate/Build 'Ex1_LED_with_PWM' Project. Figure 2-2. Build Project 2. PSoC Designer builds the project and displays comments in the Output window. When you see the message that the project is built with 0 errors and 0 warnings, you are ready to program the device. Figure 2-3. Output Window 2.1.3 Programming My First PSoC 1 Project 1. Open Program Part from within PSoC Designer by selecting Program  Program Part. 2. In the Program Part window, ensure that MiniProg3 is selected in the Port Selection box. 3. In the Program Part window, set Acquire Mode to Reset. 4. In the Program Part window, set Verification to On. This ensures that downloaded checksum matches the actual checksum. 5. In PSoC Programmer, set AutoDetection to On to enable the software to automatically detect and configure for the target device family and device. If PSoC Programmer is properly configured, AutoDetection reports a device family of 28xxx. Note Make sure ISSP protocol is selected. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 17 Loading My First PSoC Project 6. In the Program Part window, click the program arrow to program the device. 7. Wait until programming is completed, to continue. Note For debugging purposes, the CY8C28 family processor module is designed to accommodate the use of the CY3215-DK In-Circuit Emulator (ICE-Cube). When using the ICE-Cube debugger, make certain that PSoC Designer is configured so that the ICE-Cube does not provide power to the processor module. Within the PSoC Designer application, select Project  Settings and select Debugger from the tree. Make sure that External only is selected under the Pod Power Source section and select Execute Program from the Debug menu to start debugging. Connect the processor module to the CY3215-DK ICE-Cube, as shown in Figure 2-4. Figure 2-4. ICE-Cube Connected to CY8C28 (PSoC 1) Processor Module - Debugging the Ex1_LED_with_PWM Code Example 2.1.4 Running My First PSoC 1 Project 1. Connect P1[6] to LED1 and P1[7] to LED2. Verify that LED1 and LED2 are blinking based on the project's use of the PWM and software. Now that the PSoC 1 device is programmed, reset the PSoC development board by pressing and releasing the reset switch (SW4). 2. LED1 blinks approximately once every second and LED2 blinks about three times a second. 18 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project Figure 2-5. Connect P1[6] to LED1 and P1[7] to LED2 P1[6] P1[7] LED1 LED2 3. For more details regarding this project, see the detailed project instructions in My First PSoC 1 (CY8C28) Project on page 33. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 19 Loading My First PSoC Project 2.2 My First PSoC 1 (CY8C29) Project This is a simple PSoC 1 project using a PWM peripheral inside PSoC, and software to control the blinking rates two different LED outputs. For this project, be sure you have the PSoC CY8C29 family processor module inserted into the PSoC development board and the appropriate software installed. This section walks you through the steps to open, build, and program a project. 2.2.1 Loading My First PSoC 1 Project 1. Open PSoC Designer. 2. In the Start Page, navigate to File  Open Project/Workspace. 3. Navigate to the project directory: C:\Cypress\CY8CKIT-001\CY8C29 Projects. 4. Open the folder Example_My_First_PSoC_Project. 5. Double-click Example_My_First_PSoC_Project.app. 6. The project opens in the Chip Editor view. All project files are in the Workspace Explorer. Figure 2-6. Chip Editor View 20 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project 2.2.2 Building My First PSoC 1 Project 1. Select Build  Generate/Build 'Example_My_First_PSoC_Project' Project. Figure 2-7. Build Project 2. PSoC Designer builds the project and displays comments in the Output window. When you see the message that the project is built with 0 errors and 0 warnings, you are ready to program the device. Figure 2-8. Output Window CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 21 Loading My First PSoC Project 2.2.3 Programming My First PSoC 1 Project Figure 2-9. Connect MiniProg3 to J5 on CY8C29 Family Processor Module 1. Open PSoC Programmer from within PSoC Designer by selecting Program  PSoC Programmer. 2. In PSoC Programmer, make sure that MiniProg3 is selected in the Port Selection box. 3. In PSoC Programmer, set Programming Mode to Reset. 4. In PSoC Programmer, set Verification to On so that the software verifies that the downloaded program's checksum matches the actual checksum of the flash memory after programming. This is a precautionary check to verify that there is no data corruption during programming. 5. In PSoC Programmer, set AutoDetection to On to enable the software to automatically detect and configure for the target device family and device. If PSoC Programmer is properly configured, AutoDetection reports a device family of 29x66 and device of CY8C29466. Note Make sure ISSP protocol is selected. 6. With these settings configured, click Program to program your PSoC 1 device. 7. Wait until programming is complete before continuing. Note For debugging purposes, the CY8C29 family processor module is designed to accommodate the use of the CY3215-DK In-Circuit Emulator (ICE-Cube). When using the ICE-Cube debugger, make certain that PSoC Designer is configured so that the ICE-Cube does not provide power to the processor module. Within the PSoC Designer application, select Project  Settings and select Debugger from the tree. Make sure that External only is selected under the Pod Power Source section and select Execute Program from the Debug menu to start debugging. Connect the processor module to the CY3215-DK ICE-Cube, as shown in Figure 2-10. 22 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project Figure 2-10. ICE-Cube Connected to CY8C29 (PSoC 1) Processor Module - Debugging the Example_My_First_PSoC_Project Code Example 2.2.4 Running My First PSoC 1 Project 1. Connect P0[7] to LED1 and P1[7] to LED2. Verify that LED1 and LED2 are blinking based on the project's use of the PWM and software. Now that the PSoC 1 device is programmed, reset the PSoC development board by pressing and releasing the reset switch (SW4). 2. LED1 blinks approximately once every second and LED2 blinks about three times a second. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 23 Loading My First PSoC Project Figure 2-11. Connect P0[7] to LED1 and P1[7] to LED2 P0[7] P1[7] LED1 LED2 3. For more details regarding this project, see the detailed project instructions in My First PSoC 1 (CY8C29) Project on page 70. 24 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project 2.3 My First PSoC 3 (CY8C38) Project This is a PSoC 3 project using a PWM peripheral programmed from inside the PSoC 3 device to control the blinking rates of two different LED outputs. For this project, insert the PSoC CY8C38 family processor module in the PSoC development board and install the appropriate software. This section shows you the steps to open, build, and program a project. 2.3.1 Loading My First PSoC 3 Project 1. Open PSoC Creator. 2. In the Start Page, under Start Page Topics expand Kits. 3. Under Kits, expand PSoC CY8C38 Family Processor Module Kit. 4. Click Ex1_LED_with_PWM.cywrk to open the project. Figure 2-12. Kits List 5. Select the directory to store the project. 6. After the project opens, you can see the project files in Workspace Explorer (see Figure 2-13). Figure 2-13. Workspace Explorer CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 25 Loading My First PSoC Project 2.3.2 Building My First PSoC 3 Project 1. Select Build  Build Ex1_LED_with_PWM. Figure 2-14. Build Window 2. PSoC Creator builds the project and displays the comments in the Output window. When you see the message "Build Succeeded", you are ready to program the device. Figure 2-15. Output Window 26 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project 2.3.3 Programming My First PSoC 3 Project Figure 2-16. Connect MiniProg3 to J5 on CY8C38 Family Processor Module 1. If this is your first time running PSoC Creator, follow these steps to configure the MiniProg3 device for these PSoC development kit projects. If these configurations are set, skip to the next step and begin programming. Note VTARG of the MiniProg3 is wired exclusively to VDDIO1 of the chip on the PSoC CY8C38 family processor module. Because of this, you cannot perform power cycle mode programming. ❐ From the Tools menu in PSoC Creator, click Options. The Options window opens. ❐ In the Options window, select Program/Debug  Port Configuration  MiniProg3 from the list. • Set Power to 3.3 V • Set Active Protocol to SWD • Set Connector to 10 Pin • Set Acquire Mode to Reset • Set Clock Speed to 3.2 MHz • Click OK. ❐ From the Debug menu, select Select Debug Target. The Select Debug Target dialog box opens. ❐ Expand the tree under MiniProg3 and click Port Acquire. ❐ Select the appropriate device and click Connect. ❐ Click Close. 2. In PSoC Creator, from the Debug menu, click Program. 3. The PSoC Creator status bar indicates that the device is programming. 4. Wait until programming is complete before continuing. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 27 Loading My First PSoC Project 2.3.4 Running My First PSoC 3 Project 1. Unplug the development board, switch SW3 to 3.3 V and then reapply power to the board. 2. Connect P1[6] to LED1 and P1[7] to LED2. Verify that LED1 and LED2 are blinking based on the project's use of the PWMs. 3. LED1 blinks approximately once every second and LED2 blinks about three times a second. Figure 2-17. Connect P1[6] to LED1 and P1[7] to LED2 P1[6] P1[7] LED1 LED2 4. For more details regarding this project, review the detailed project instructions in My First PSoC 3 / PSoC 5 Project on page 102. 2.4 My First PSoC 5 (CY8C55) Project This project uses a PWM peripheral programmed from inside PSoC 5 to control the blinking rates of two different LED outputs. For this project, insert the PSoC CY8C55 family processor module in the PSoC development board and install the appropriate software. This section shows the steps to open, build, and program a project. 2.4.1 Loading my First PSoC 5 Project 1. Open PSoC Creator. 2. In the Start Page, under Start Page Topics expand Kits. 3. Under Kits, expand PSoC CY8C55 Family Processor Module Kit. 4. Click Ex1_LED_with_PWM.cywrk to open the project. 28 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project Figure 2-18. Kits List 5. Select the directory to store the project. 6. After the project opens, you can see the project files in Workspace Explorer. Figure 2-19. Workspace Explorer CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 29 Loading My First PSoC Project 2.4.2 Building My First PSoC 5 Project 1. Select Build  Build Ex1_LED_with_PWM. Figure 2-20. Build Window 2. PSoC Creator builds the project and displays the comments in the Output window. When you see the message "Build Succeeded", you are ready to program the device. Figure 2-21. Output Window 30 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Loading My First PSoC Project 2.4.3 Programming My First PSoC 5 Project Figure 2-22. Connect MiniProg3 to J5 on CY8C55 Family Processor Module 1. If this is your first time running PSoC Creator, follow these steps to configure the MiniProg3 device for these PSoC development kit projects. If these configurations are set, skip to the next step and begin programming. Note VTARG of the MiniProg3 is wired exclusively to VDDIO1 of the chip on the PSoC CY8C55 family processor module. Because of this, you cannot perform power cycle mode programming. ❐ From the Tools menu in PSoC Creator, click Options. ❐ In the Options window, select Program/Debug  Port Configuration MiniProg3 from the list. • Set Power to 3.3 V • Set Active Protocol to SWD • Set Connector to 10 Pin • Set Acquire Mode to Reset • Set Clock Speed to 3.2 MHz • Click OK ❐ From the Debug menu, select Select Debug Target. ❐ Expand the tree under MiniProg3 and click Port Acquire. ❐ Select the appropriate device and click Connect. ❐ Click Close. 2. In PSoC Creator, from the Debug menu, click Program. 3. The PSoC Creator status bar indicates that the device is programming. 4. Wait until programming is complete before continuing. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 31 Loading My First PSoC Project 2.4.4 Running My First PSoC 5 Project 1. Unplug the development board, switch SW3 to 3.3 V and then reapply power to the board. 2. Connect P1[6] to LED1 and P1[7] to LED2. Verify that LED1 and LED2 are blinking based on the project's use of the PWMs. 3. LED1 blinks approximately once every second and LED 2 blinks about three times a second. Figure 2-23. Connect P1[6] to LED1 and P1[7] to LED2 P1[6] P1[7] LED1 LED2 32 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 3. Sample Projects This chapter shows you how to create the sample projects included with this kit. Read these precautions before you create code examples: ■ All CY8C28 and CY8C29 family processor module code examples are configured for 5 V. ■ All CY8C38 and CY8C55 family processor module code examples are configured for 3.3 V. ■ Close any open project in PSoC Creator before loading or creating a code example. ■ When working with code examples, use the 12-V power supply adapter. ■ Remove power before changing board jumpers for each code example. Reapply power after you place jumpers on the breadboard. ■ When you complete each project make certain to save the project. 3.1 CY8C28 Family Processor Module Code Examples 3.1.1 My First PSoC 1 (CY8C28) Project 3.1.1.1 Creating My First PSoC 1 (CY8C28) Project 1. Open PSoC Designer. 2. To create a new project, click File  New Project. The New Project window opens. 3. In the New Project window, select Chip-Level Project. Name the project Ex1_LED_with_PWM. 4. In the Location field, click Browse and navigate to the appropriate directory. Figure 3-1. New Project Window 5. Click OK. The Select Project Type window opens. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 33 Sample Projects Figure 3-2. Select Project Type Window 6. Under Select Target Device, click View Catalog. 7. The Device Catalog window opens. Click on the PSoC tab and scroll down to the CY8C28XXX section. 8. In this section, click the CY8C28645-24LTXI device; click Select. Figure 3-3. Device Catalog Window 9. Under Generate 'Main' File Using:, select C; then, click OK. 10.By default, the project opens in Chip view. 34 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-4. Default View. 11. In the User Modules window, expand the PWMs folder. Figure 3-5. User Modules Window 12.In this folder, right-click on PWM8 and select Place. The user module (UM) is placed in the first available digital block. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 35 Sample Projects Figure 3-6. Place User Module PWM8 13.Click the placed PWM8_1 UM; the Properties window opens on the left side of the screen. Configure the PWM with the settings shown in the following figure. If the Properties window does not appear, click View  Properties Window. Figure 3-7. Properties Window 14.Next, route the PWM CompareOut signal to P1[7]. The first step is to configure the lookup table (LUT) on Row_0_Output3. 36 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-8. Route PWM8 CompareOut Signal to P1[7] 15.Double-click the LUT, the Digital Interconnect window opens. 16.In this window, enable Row_0_Output_3_Drive_3 to connect to GlobalOutOdd_7. Figure 3-9. Digital Interconnect Window 17.Click Close. 18.Click on GlobalOutOdd_7. In the window that appears, configure Pin for Port_1_7. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 37 Sample Projects Figure 3-10. Configure Pin for Port_1_7 19.Click OK to continue. 20.In the User Modules window, expand the Misc Digital folder. In this folder, right-click LED and select Place; this adds the UM to the project. This UM does not use digital or analog blocks. It appears in Workspace Explorer  Ex1_LED_with_PWM[CY8C28]  Ex1_LED_with_PWM[Chip]  Loadable Configurations  Ex1_LED_with_PWM - 2 User Modules. Figure 3-11. Workspace Explorer 21.Click the LED_1 UM and navigate to the Properties window. Configure the LED for P1[6]. Figure 3-12. Properties Window 22.Configure the Global Resources window to match the following figure. 38 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-13. Global Resources Window 23.Open the existing main.c file in Workspace Explorer. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex1.c file, which is available within the attachments feature of this PDF document. Figure 3-14. Workspace Explorer 24.Save the project. 25.To build the project, click Build  Generate/Build 'Ex1_LED_with_PWM' Project. 26.Disconnect power to the board. 27.Configure the DVK board SW3 to 5 V. 28.Configure the DVK breadboard using the included jumper wires: ❐ P1[6] to LED1 ❐ P1[7] to LED2 29.Reapply power to the board. 30.Use PSoC Designer as described in Programming My First PSoC 1 Project on page 17 to program the device. 31.Reset the DVK and observe the blinking LEDs. 32.Save and close the project. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 39 Sample Projects 3.1.1.2 main.c 1. Open the existing main.c file within Workspace Explorer. 2. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex1.c file, which is available within the attachments feature of this PDF document. Note To access the embedded attachments feature in the PDF, click on the paper clip icon located in the lower left corner of the Adobe Reader application. #include #include "PSoCAPI.h" /* Part specific constants and macros */ /* PSoC API definitions for all User Modules */ /******************************************************************************* * Function Name: main ******************************************************************************** * * Summary: * The main function initializes the PWM and starts the PWM clock which will * blink LED1. Then the main loop is entered which delays enough for LED2 to * blink at a quicker rate than LED1. * * Parameters: * void * * Return: * void * *******************************************************************************/ void main(void) { WORD i; /* Variable used for delay */ PWM8_1_Start(); LED_1_Start(); /* Turn on the PWM to blink LED on P1.6 */ /* Enable Software controlled LED */ /* The following loop controls the software LED connected to P1.7 */ while(1) { /* Delay time depends on compiler optimization levels and CPU clock */ for (i = 0; i < 60000; i++);// Gives approximately 450 msec delay with ImageCraft // and 170 msec with HiTech #ifdef HI_TECH_C for (i = 0; i < 60000; i++);// Give some more delay if HiTech compiler is used. for (i = 0; i < 40000; i++); #else #endif /* Switch the state of Software LED (on or off) */ LED_1_Invert(); } /* End of while(1) */ } /* End of main */ /* [] END OF FILE */ 40 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 3.1.2 ADC to LCD Project This project demonstrates a 9-bit delta-sigma analog-to-digital converter (ADC) by measuring the voltage of the potentiometer center tap wiper and displaying the result on the LCD. Connect the voltage potentiometer (VR) to the ADC input P0[1]. The program reads the 9-bit ADC result and prints it to the LCD. 3.1.2.1 Creating ADC to LCD Project 1. Follow steps 1 to 10 in section 3.1.1.1 on page 33; change the project name to Ex2_ADC_to_LCD. 2. In the User Modules window, expand the ADCs folder and right-click DelSigPlus; select Place. A window opens with multiple options for the DelSigPlus UM. Here, the DS1128 configuration is used. Scroll down in the window to verify that this is the case. Figure 3-15. Multiple User Module Window 3. Click OK. 4. Verify that the DelSigPlus_1 UM is placed in ASC10. 5. In the User Modules window, expand the Amplifiers window. Right-click PGA and select Place. Ensure that the PGA is placed in ACC00. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 41 Sample Projects Figure 3-16. Place PGA in ACC00 6. In the User Modules window, expand Misc Digital; right-click LCD and click Place. 7. Click PGA_1 and configure the properties to match this figure. Figure 3-17. PGA_1 Properties 8. Click DelSigPlus_1 and configure the properties to match this figure. Figure 3-18. DelSigPlus_1 Properties 42 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 9. Click LCD_1 and configure the properties to match this figure. Figure 3-19. LCD_1 Properties 10.Configure the Global Resources to match the following figure. Figure 3-20. Global Resources 11. Ensure that AnalogColumn_InputMUX_0 is connected to Port_0_1. If it is not configured for this port, double-click the mux and choose Port_0_1. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 43 Sample Projects Figure 3-21. AnalogColumn_InputMUX_0 Connected to Port_0_1 12.Ensure that AnalogColumn_Clock_0 is connected to VC1. If it is not, double-click the mux and choose VC1. Figure 3-22. AnalogColumn_Clock_0 Connected to VC1 44 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 13.Open the existing main.c file within Workspace Explorer. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex2.c file, which is available within the attachments feature of this PDF document. 14.Save the project. 15.To build the project, click Build  Generate/Build 'Ex2_ADC_to_LCD' Project. 16.Disconnect power to the board. 17.Configure the DVK SW3 to 5 V. 18.Configure the DVK breadboard using the included jumper wires: ❐ P0[1] to VR Figure 3-23. Connect P0[1] to VR RESET P0[1] VR R20 19.Reapply power to the board. 20.Use PSoC Designer as described in Programming My First PSoC 1 Project on page 17 to program the device. 21.After programming the device, press the reset button and vary the potentiometer (R20) to see the results on the LCD. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 45 Sample Projects Note The ADC output values may not reach full range due to potentiometer and ADC limitations. ADC values may fluctuate several counts due to system noise, and if the potentiometer voltage is at the edge of an ADC count. 22.Save and close the project. 3.1.2.2 main.c 1. Open the existing main.c file within Workspace Explorer. 2. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex2.c file, which is available within the attachments feature of this PDF document. Note To access the embedded attachments feature in the PDF, click on the paper clip icon located in the lower left corner of the Adobe Reader application. #include #include "PSoCAPI.h" /* LCD specific */ #define ROW_0 0 #define ROW_1 1 #define COLUMN_0 0 #define COLUMN_9 9 /* /* /* /* /* part specific constants and macros */ /* PSoC API definitions for all User Modules */ LCD LCD LCD LCD row 0 */ row 1 */ column 0 */ column 9 */ /******************************************************************************* * Function Name: main ******************************************************************************** * * Summary: * The main function initializes both the ADC and LCD, starts and waits for an * ADC conversion, then it displays the raw counts to the LCD. * * Parameters: * void * * Return: * void * *******************************************************************************/ void main(void) { WORD adcResult; /* Holds the integer ADC result */ /* Initialize the PGA used to buffer input from the potentiometer (VR) on P0.1 to the ADC */ PGA_1_Start(PGA_1_HIGHPOWER); DelSigPlus_1_Start(DelSigPlus_1_HIGHPOWER); /* Initialize the ADC */ LCD_1_Start(); /* Initialize the LCD */ LCD_1_Position(ROW_0, COLUMN_0); LCD_1_PrCString("V Count: "); /* Set the LCD to (Row=0,Column=0) */ DelSigPlus_1_StartAD(); /* Start gathering conversions from the ADC */ M8C_EnableGInt; /* Enable Global interrupts */ /* This loop waits for a valid ADC result, and displays it on the LCD */ 46 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects while (1) { /* Is there ADC data? */ if(DelSigPlus_1_fIsDataAvailable()) { /* Store result from ADC */ adcResult = DelSigPlus_1_wGetDataClearFlag(); LCD_1_Position(ROW_0, COLUMN_9); /* Set LCD to (Row=0,Column=9) */ LCD_1_PrHexInt(adcResult); /* Print ADC result on LCD */ } } /* End of while(1) */ } /* End of main */ /* [] END OF FILE */ CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 47 Sample Projects 3.1.3 ADC to UART with DAC This project demonstrates sine wave generation by using a 6-bit digital-to-analog converter (DAC). The sine wave period is based on the current value of the ADC. The firmware reads the voltage output by the DVK board potentiometer and displays the raw counts on the DVK board character LCD display similar to those shown in the previous project. A 6-bit DAC outputs a table generated sine wave at a frequency proportional to the ADC count. The frequency outputs to an oscilloscope. A 38400 Baud UART outputs the current ADC count as ASCII formatted into a hexadecimal number. 3.1.3.1 Creating ADC to UART with DAC Project 1. Follow steps 1 to 10 in section 3.1.1.1 on page 33; change the project name to Ex3_ADC_to_UART_with_DAC. 2. In the User Modules window expand the ADCs folder and right-click DelSigPlus; select Place. A window opens with multiple options for the DelSigPlus UM. Here, the DS1128 configuration is used. Scroll down in the window to verify that this is the case. 3. Click OK. 4. Verify that the UM is placed in ASC10. 5. In the User Modules window, expand the Amplifiers window. Right-click PGA and select Place. Ensure that the PGA is placed in ACC00. Figure 3-24. Place PGA in ACC00 6. In the User Modules window, expand Misc Digital, right-click LCD, and select Place. 7. In the User Modules window, expand Counters, right-click Counter16, and select Place. 8. In the User Modules window, expand Digital Comm, right-click TX8, and select Place. 9. In the User Modules window, expand DACs, right-click DAC6, and select Place. User module is placed in ASD20 analog block by default. Drag and drop it to ASC21 block. 10.Move the UMs so that they match the configuration shown in Figure 3-25. 48 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-25. Configure User Modules TX8_1 Counter16_1 Counter16_1 PGA_1 DelSigPlus_1 DAC6_1 11. Click on DelSigPlus_1 and configure it to match this figure. Figure 3-26. DelSigPlus_1 Properties CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 49 Sample Projects 12.Click PGA_1 and configure it to match this figure. Figure 3-27. PGA_1 Properties 13.Click DAC6_1 and configure it to match this figure. Figure 3-28. DAC6_1 Properties 14.Click LCD_1 and configure it to match this figure. Figure 3-29. LCD_1 Properties 15.Click on Counter16_1 and configure it to match this figure. Figure 3-30. Counter16_1 Properties 50 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 16.Click TX8_1 and configure it to match this figure. Figure 3-31. TX8_1 Properties 17.Click RO0[2] LUT, enable Row_0_Output_2_Drive_2 to connect GlobalOutOdd_2. Figure 3-32. Digital Interconnect Window CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 51 Sample Projects 18.Click GlobalOutOdd_2. In the window that appears, configure Pin for Port_1_2. Figure 3-33. Configure Pin for Port_1_2 19.Click OK to continue. 20.Click AnalogOutBuf_1 and configure it for Port_0_5. Figure 3-34. Configure AnalogOutBuf_1 21.Verify that AnalogColumn_InputMUX_0 is connected to Port_0_1. If it is not configured for this port, double-click the mux and choose Port_0_1. 52 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-35. AnalogColumn_InputMUX_0 Connection CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 53 Sample Projects 22.Verify that AnalogColumn_Clock_0 and AnalogColumn_Clock_1 are connected to VC2. If it is not, double-click the mux and chose VC2. Figure 3-36. AnalogColumn_Clock_0 Connection 54 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 23.Configure Global Resources to match the following figure. Figure 3-37. Configure Global Resources 24.Open the existing main.c file within Workspace Explorer. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex3.c file, which is available within the attachments feature of this PDF document. 25.Save the project. 26.To generate the project, click Build  Generate/Build 'Ex3_ADC_to_UART_with_DAC' Project. 27.Open your boot.tpl file in the project folder Files  Open File. Select All Files for Files of the type:. 28.Select boot.tpl in the list of files and click Open. 29.Find the line '@INTERRUPT_9' (for PSoC Block DBC01) and replace that line with: ljmp_Counter16_C_ISR 30.Save the project. 31.To build the project, click Build  Build 'Ex3_ADC_to_UART_with_DAC' Project. 32.Disconnect power to the board. 33.Configure the DVK SW3 to 5 V. 34.Configure the DVK breadboard using the included jumper wires as follows: ❐ P0[1] to VR ❐ P1[2] to TX ❐ P0[5] to Scope Note An LED (P0[5] to LED1) by nature does not accurately show the changes in frequency the best way to see this is to use a Scope(P0[5] to Scope). CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 55 Sample Projects Figure 3-38. Connect P0[1] to VR, P1[2] to TX, and P0[5] to LED1 TX P0[1] P1[2] VR 35.Connect a serial cable to the PC and the DVK board. 36.On the DVK board, verify that RS232_PWR(J10) is jumpered to ON. 37.Reapply power to the board. 38.Use a terminal application such as TeraTerm or HyperTerminal with these setup parameters. ❐ Baud Rate: 38400 ❐ Data: 8-bit ❐ Parity: none ❐ Stop: 1bit ❐ Flow Control: none 39.Use PSoC Designer as described in Programming My First PSoC 1 Project on page 17 to program the device. After programming the device, press Reset and vary the pot to see the result on the LCD as well as in the terminal application. View the DAC output on a scope or with an LED. Note The ADC output values may not reach full range due to potentiometer and ADC limitations. ADC values may fluctuate several counts due to system noise, and if the potentiometer voltage is at the edge of an ADC count. 40.Save and close the project. 56 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 3.1.3.2 main.c 1. Open the existing main.c file within Workspace Explorer. 2. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex3.c file, which is available within the attachments feature of this PDF document. Note To access the embedded attachments feature in the PDF, click on the paper clip icon located in the lower left corner of the Adobe Reader application. #include #include "PSoCAPI.h" /* part specific constants and macros */ /* PSoC API definitions for all User Modules */ /* Counter16 Interrupt Handler */ #pragma interrupt_handler Counter16_C_ISR /* LCD specific */ #define ROW_0 0 #define ROW_1 1 #define COLUMN_0 0 #define COLUMN_9 9 const { 0, 31, 60, 31, }; /* /* /* /* LCD LCD LCD LCD row 0 */ row 1 */ column 0 */ column 9 */ BYTE sinTable[]= 0, 1, 2, 3, 4, 6, 7, 10, 12, 14, 17, 20, 23, 26, 29, 33, 36, 39, 41, 44, 46, 49, 51, 53, 55, 56, 58, 59, 59, 60, 60, 59, 59, 58, 56, 55, 53, 51, 49, 47, 44, 42, 39, 36, 33, 28, 25, 22, 19, 16, 13, 11, 9, 7, 5, 3, 2, 1, 0, 0 BYTE tablePos = 0; /******************************************************************************* * Function Name: main ******************************************************************************** * * Summary: * The main function initializes the ADC, PGA, LCD, Counter, DAC and UART. * In the main loop, it continuously checks for an ADC conversion. If there is * one then it displays the ADC raw count to the LCD, transmits the raw count * serially, and updates the Counter16 period (based on the raw count) for the * DAC output. * * Parameters: * void * * Return: * void * *******************************************************************************/ void main(void) { /* Variable for holding ADC result, and updating counter period */ WORD adcResult; Counter16_1_Start(); Counter16_1_EnableInt(); /* Enable the counter used for DAC update rate */ /* Enable DAC update interrupt */ CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 57 Sample Projects /* Start the TX8 UM with no parity (baud rate = 38400) */ TX8_1_Start(TX8_1_PARITY_NONE); /* Enable to PGA to buffer signal from VR to ADC */ PGA_1_Start(PGA_1_HIGHPOWER); DAC6_1_Start(DAC6_1_HIGHPOWER); /* Start the DAC */ DelSigPlus_1_Start(DelSigPlus_1_HIGHPOWER); /* Start the ADC */ DelSigPlus_1_StartAD(); /* Start reading values on the ADC */ LCD_1_Start(); /* Start the character LCD */ LCD_1_Position(ROW_0, COLUMN_0); LCD_1_PrCString("V Count: "); /* Set the LCD to (Row=0,Column=0) */ M8C_EnableGInt; /* Enable Global Interrupts */ while(1) { /* Step 1: Get BYTE data from the ADC Step 2: Write BYTE data from ADC to the counter to change the DAC update rate Step 3: Move the LCD cursor back to the beginning and display new ADC data Step 4: Write ADC data out the TX port, and then send a return */ /* Is new data available from the ADC? */ if (DelSigPlus_1_fIsDataAvailable()) { adcResult = DelSigPlus_1_wGetDataClearFlag(); /* Get new ADC data */ /* Change DAC update rate counter */ Counter16_1_WritePeriod((adcResult PC */ Write return character to TX8 */ } } /* End of while(1) */ } /* End of Main */ /******************************************************************************* * Function Name: Counter16_C_ISR ******************************************************************************** * * Summary: * This is the interrupt service routine for the Counter16 usermodule written * in C. The boot.tpl has been modified to jump to this ISR every terminal * count. The related #pragma above is necessary for the boot.asm file to jump * to it. Every time a terminal count is reached the DAC will get the next * value from the sinTable. * * Parameters: * void * * Return: * void 58 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects * *******************************************************************************/ #ifdef HI_TECH_C void Counter16_C_ISR(void) @ 0x24 #else void Counter16_C_ISR(void) #endif { // Check to see if we have reached the // if (tablePos >= sizeof(sinTable)) { tablePos = 0; } DAC6_1_WriteBlind(sinTable[tablePos++]); } /* [] END OF FILE */ CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 59 Sample Projects 3.1.4 CapSense This project demonstrates CapSense. The firmware displays the CapSense button presses on the LCD (row 1) and associated LEDs. It also displays the CapSense slider position on the LCD (row 2). Note that this project uses IDAC. But if you are using an external Rb with CSD, then populate R15 (connected to P3[1]). Rb can range from 2 k to 10 k. See the CapSense user module datasheet for more information on using Rb. 3.1.4.1 Creating CapSense Project 1. Follow steps 1 to 10 in section 3.1.1.1 on page 33; change the project name to Ex4_CapSense. 2. In the User Modules window, expand the Cap Sensors folder. Right-click CSD and select Place. A window appears with the option to use the default configuration. Figure 3-39. Select Multi User Module Window 3. Select Yes and click OK. 4. Right-click the CSD user module in the workspace explorer and select CSD Wizard. Figure 3-40. Select CSD Wizard 60 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 5. The CapSense Wizard window opens. Figure 3-41. CapSense Wizard 6. In the CapSense Wizard window, under the Global Settings tab, set the # of buttons to ‘2’. 7. Select P0[7] as the Modulator Capacitor Pin. Figure 3-42. CapSense Wizard Place Buttons CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 61 Sample Projects 8. Click and hold SW0 and drag it to P0[5]. 9. Click and hold SW1 and drag it to P0[6]. Figure 3-43. CapSense Wizard Slider Sensors 10. Repeat for each slider sensor and corresponding pin. ❐ S0[0] to P0[0] ❐ S0[1] to P0[1] ❐ S0[2] to P0[2] ❐ S0[3] to P0[3] ❐ S0[4] to P0[4] 11. Select the Sensors Settings tab. 12.Set the Resolution to 80. 62 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-44. Sensors Settings Tab 13.Click OK. 14.In the User Modules window, expand Misc Digital, right-click LCD, and select Place. 15.In the User Modules window, expand Misc Digital, right-click LED, and select Place. 16.In the User Modules window, expand Misc Digital, right-click LED, and select Place. 17.Click CSD_1 and configure it to match this figure. Figure 3-45. CSD_1 Properties 18. Click LCD_1 and configure it to match this figure. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 63 Sample Projects Figure 3-46. LCD_1 Properties 19. Click LED_1 and configure it to match this figure. Figure 3-47. LED_1 Properties 20.Click LED_2 and configure it to match this figure. Figure 3-48. LED_2 Properties 21.Configure Global Resources to match the following figure. Figure 3-49. Configure Global Resources 22.Open the existing main.c file within Workspace Explorer. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex4.c file, which is available within the attachments feature of this PDF document. 23.Save the project. 24.To generate and build the project, click Build  Generate/Build 'Ex4_CapSense' Project. 25.Disconnect power to the board. 64 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 26.Configure the DVK board SW3 to 5 V. 27.Configure the DVK breadboard using the included jumper wires: ❐ P1[6] to LED1 ❐ P1[7] to LED2 28.Ensure that P0[1], P0[5], and P0[7] are disconnected. 29.Reapply power to the board. 30.Use PSoC Designer as described in Programming My First PSoC 1 Project on page 17 to program the device. 31.Reset the DVK. An LED lights up when either CapSense button is pushed. If B1 (P0[5]) is pushed, it also displays "Button1" in the top row of the LCD display. Similarly, if B2 (P0[6]) is pushed, it displays "Button2" in the top row of the LCD display. The bottom row of the LCD displays the slider position with a horizontal bargraph. 32.Save and close the project. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 65 Sample Projects 3.1.4.2 main.c 1. Open the existing main.c file within Workspace Explorer. 2. Replace the existing main.c content with the content of the embedded CY8C28_main_Ex4.c file, which is available within the attachments feature of this PDF document. Note To access the embedded attachments feature in the PDF, click on the paper clip icon located in the lower left corner of the Adobe Reader application. #include #include "PSoCAPI.h" /* part specific constants and macros */ /* PSoC API definitions for all User Modules */ /* LCD specific */ #define ROW_0 0 /* LCD row 0 */ #define ROW_1 1 /* LCD row 1 */ #define COLUMN_0 0 /* LCD column 0 */ #define NUM_CHARACTERS 16 /* Number of characters on LCD */ /* For clearing a row of the LCD*/ #define CLEAR_ROW_STR " " /* Button 1 only string for row 0 of the LCD */ #define BUTTON_1_STR "Button1 " /* Button 2 only string for row 0 of the LCD */ #define BUTTON_2_STR " Button2" /* Button 1 and 2 string for row 0 of the LCD */ #define BUTTON_1_2_STR "Button1 Button2" /* Default string for button row of the LCD */ #define DEFAULT_ROW_0_STR "Touch Buttons " /* Default string for slider row of the LCD */ #define DEFAULT_ROW_1_STR "Touch The Slider" /* CapSense specific */ #define SLIDER_RESOLUTION 80 #define SCANSENSOR_BTN_B1 0 #define SCANSENSOR_BTN_B2 1 void UpdateButtonState(BYTE sensor_1, BYTE sensor_2); void UpdateSliderPosition(BYTE value); /******************************************************************************* * Function Name: main ******************************************************************************** * * Summary: * The main function initializes CapSense and the LCD. Then it continuously * scans all CapSense sensors (slider sensors and buttons), gets the state of * the buttons and slider and updates the LCD with the current state. * * Parameters: * void * * Return: * void * *******************************************************************************/ void main(void) { 66 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects BYTE pos; /* Slider Position */ BYTE stateB_1; /* Button1 State */ BYTE stateB_2; /* Button2 State */ M8C_EnableGInt; /* Enable Global Interrupts */ /* LCD Initialization */ LCD_1_Start(); /* For Bargraph display on LCD */ LCD_1_InitBG(LCD_1_SOLID_BG); /* LED1 Initialization */ LED_1_Start(); /* LED2 Initialization */ LED_2_Start(); /* CapSense Initialization */ CSD_1_Start(); /* Initialize the baselines by scanning all sensors and getting the initial raw data values */ CSD_1_InitializeBaselines(); /* Load finger thresholds set in user module parameters */ CSD_1_SetDefaultFingerThresholds(); while(1) { /* Scan each CapSense sensor and update their raw data value */ CSD_1_ScanAllSensors(); /* Update baselines for each sensor */ CSD_1_UpdateAllBaselines(); /* Update state to active/inactive for each button sensor */ stateB_1 = CSD_1_bIsSensorActive(SCANSENSOR_BTN_B1); stateB_2 = CSD_1_bIsSensorActive(SCANSENSOR_BTN_B2); /* Get Linear Slider Position */ pos = CSD_1_wGetCentroidPos(1); /* Update LCD and LED's with current Button and Linear Slider states */ UpdateButtonState(stateB_1, stateB_2); UpdateSliderPosition(pos); } } /******************************************************************************* * Function Name: UpdateButtonState ******************************************************************************** * * Summary: * Updates the LCD screen with the current button state by displaying which * button is being touched on row 0. LED's are also updated according to button * state. * * Parameters: * sensor_1: Button state for B1 * sensor_2: Button state for B2 * * Return: CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 67 Sample Projects * void * *******************************************************************************/ void UpdateButtonState(BYTE sensor_1, BYTE sensor_2) { LCD_1_Position(ROW_0,COLUMN_0); /* Check the state of the buttons and update if (sensor_1 && sensor_2) { /* Display both Button strings on LCD if LCD_1_PrCString(BUTTON_1_2_STR); /* Both LED's are on in this state */ LED_1_On(); LED_2_On(); } else if (sensor_1 || sensor_2) { if (sensor_1) { /* Display Button 1 state on LCD and LCD_1_PrCString(BUTTON_1_STR); LED_1_On(); /* Button 2 is not active */ LED_2_Off(); } else // sensor_2 { /* Display Button 2 state on LCD and LCD_1_PrCString(BUTTON_2_STR); LED_2_On(); /* Turn on LED2 */ LED_1_Off(); /* Turn off the LED1 */ } } else { /* Display default string on LCD and set LCD_1_PrCString(DEFAULT_ROW_0_STR); /* Set both LED's off in this state */ LED_1_Off(); LED_2_Off(); } the LCD and LEDs */ both button sensors are active */ LED1 */ LED2 */ LED's to off */ } /******************************************************************************* * Function Name: UpdateSliderPosition ******************************************************************************** * * Summary: * Updates the LCD screen with the current slider position by displaying the * horizontal bargraph. * * Parameters: * value: Centroid position from CapSense slider. * * Return: * void * 68 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects *******************************************************************************/ void UpdateSliderPosition(BYTE value) { /* The slider position is 0xFF if there is no finger present on the slider */ if (value > SLIDER_RESOLUTION) { /* Clear old slider position (2nd row of LCD) */ LCD_1_Position(ROW_1, COLUMN_0); LCD_1_PrCString(DEFAULT_ROW_1_STR); } else { /* Update the bargraph with the current finger position */ LCD_1_DrawBG(ROW_1, COLUMN_0, NUM_CHARACTERS, value + 1); } } /* [] END OF FILE */ CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 69 Sample Projects 3.2 CY8C29 Family Processor Module Code Examples 3.2.1 My First PSoC 1 (CY8C29) Project 3.2.1.1 Creating My First PSoC 1 (CY8C29) Project 1. Open PSoC Designer 2. To create a new project, click File  New Project. The New Project window opens. 3. In the New Project window, select the Chip-Level Project. Name the project Example_My_First_PSoC_Project. 4. In the Location field, click Browse and navigate to the appropriate directory. Figure 3-50. New Project Window 5. Click OK. The Select Project Type window opens. 70 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-51. Select Project Type Window 6. In this window, under Select Target Device, click View Catalog. 7. The Device Catalog window opens. Click on the PSoC tab, and scroll down to the CY8C29466, CY8C29566,… section. 8. For this project, click any device in this section and then click Select. Figure 3-52. Device Catalog Window 9. Under Generate 'Main' File Using:, select C, then click OK. CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 71 Sample Projects 10.By default, the project opens in Chip view. Figure 3-53. Default View. 11. In the User Modules window, expand the PWMs folder. Figure 3-54. User Modules Window 12.In this folder, right-click on PWM8 and select Place. The User Module (UM) is placed in the first available digital block. 72 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-55. Place User Module PWM8 13.Double-click the placed PWM8_1 UM; the Properties window opens on the left side of the screen. Configure the PWM with the settings as in the following figure. If the Properties window does not appear, click View  Properties Window. Figure 3-56. Properties Window CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 73 Sample Projects 14.Next, route the PWM CompareOut signal to P0[7]. The first step is to configure the lookup table (LUT) on Row_0_Output3. Figure 3-57. Route the PWM CompareOut signal to P0[7] 15.Double-click the LUT, the Digital Interconnect window opens. 16.In this window, enable Row_0_Output_3_Drive_1 to connect to GlobalOutEven_7. Figure 3-58. Digital Interconnect Window 17.Click Close. 18.Click on GlobalOutEven_7. In the window that appears, configure Pin for Port_0_7. 74 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects Figure 3-59. Configure Pin for Port_0_7 19.Click OK to continue. 20.In the User Modules window expand the Misc Digital folder. In this folder, right-click the LED and select Place; this adds the UM to the project. This UM does not use digital or analog blocks. It appears in Workspace Explorer  Example_My_First_PSoC_Project[CY8C29]  Example_My_First_PSoC_Project[Chip]  Loadable Configurations  example_my_first_psoc_project - 2 User Modules. Figure 3-60. Workspace Explorer 21.Double-click the LED_1 UM and navigate to the Properties window. Configure the LED for Port_1_7. Figure 3-61. Properties Window CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J 75 Sample Projects 22.Configure the Global Resources window to match the following figure. Figure 3-62. Global Resources Window 23.Open the existing main.c file within Workspace Explorer. Replace the existing main.c content with the content of the embedded CY8C29_main_Ex1.c file, which is available within the attachments feature of this PDF document. Figure 3-63. Workspace Explorer 24.Save the project. 25.To build the project, click Build  Generate/Build 'Example_My_First_PSoC_Project' Project. 26.Disconnect power to the board. 27.Configure the DVK board SW3 to 5 V. 28.Configure the DVK breadboard using the included jumper wires: ❐ P0[7] to LED1 ❐ P1[7] to LED2 29.Reapply power to the board. 30.Use PSoC Designer as described in Programming My First PSoC 1 Project on page 22 to program the device. 31.Reset the DVK, and observe the blinking LEDs. 32.Save and close the project. 76 CY8CKIT-001 PSoC Development Kit Guide, Doc. # 001-48651 Rev. *J Sample Projects 3.2.1.2 main.c 1. Open the existing main.c file within Workspace Explorer. 2. Replace the existing main.c content with the content of the embedded CY8C29_main_Ex1.c file, which is available within the attachments feature of this PDF document. Note To access the embedded attachments feature in the PDF, click on the paper clip icon located in the lower left corner of the Adobe Reader application. /******************************************************************************* * File Name: main.c * * Description: * This file provides source code for My First PSoC Project example. The * firmware blinks one LED at about 3.6 Hz with a PWM, and blinks another LED * with a software timing loop. * ********************************************************************************/ /****************************************************************************** * PWM Settings: * * Input Clock = VC3 //VC3 = 24 MHz/16/16/256 =366.2 Hz * Enable = High * CompareOut = ROW_0_Output_3 * TerminalCountOut = None * Period = 100 Output period = (Period+1)*(1/Input Clock) = 101/ 366.2 = .275 sec or 3.6 Hz * PulseWidth = 50 * CompareType = Less Than Or Equal * InterruptType = Terminal Count * ClockSync = Sync to SysClk * InvertEnable = Normal * ********************************************************************************* / #include #include "PSoCAPI.h" unsigned int i; // part specific constants and macros // PSoC API definitions for all User Modules // Variable used for delay void main(void) { PWM8_1_Start();// Turn on the PWM to blink LED on P0.7 LED_1_Start();// Enable Software controlled LED // The following loop controls the software LED connected to P1.7 while(1) { for (i=0;i
CY8CKIT-008 价格&库存

很抱歉,暂时无法提供与“CY8CKIT-008”相匹配的价格&库存,您可以联系我们找货

免费人工找货