/********************************************************************** * $Id$ abstract.txt *//** * @file abstract.txt * @brief Example description file * @version 2.0 * @date * @author NXP MCU SW Application Team/Micromint USA Support * * Copyright(C) 2010, NXP Semiconductor * All rights reserved. * *********************************************************************** * Software that is described herein is for illustrative purposes only * which provides customers with programming information regarding the * products. This software is supplied "AS IS" without any warranties. * NXP Semiconductors assumes no responsibility or liability for the * use of the software, conveys no license or title under any patent, * copyright, or mask work right to the product. NXP Semiconductors * reserves the right to make changes in the software without * notification. NXP Semiconductors also make no representation or * warranty that such application will be suitable for the specified * use without further testing or modification. **********************************************************************/ @Example description: Purpose: This example describes how to use TIMERs to generate PWM signals with different duty cycles. Process: In this case, use 4 TIMERs with match channel 0 to generate 4 PWM signal with 4 duty cycles: - TIME0: Match channel 0 (MAT0.0 - P1.28 on J2 pin 19) + HIGH state: 100 (100*100 = 10000us = 10ms) + LOW state: 700 (70ms) So duty cycle = 100/800 = 12.5% - TIME1: Match channel 0 (MAT1.0 - P1.22 on J2 pin 13) + HIGH state: 200 (20ms) + LOW state: 600 (60ms) So duty cycle = 200/800 = 25% - TIMER2: Match channel 0 (MAT2.0: P0.6 on J2 pin 5) + HIGH state: 300 (30ms) + LOW state: 500 (50ms) So duty cycle = (300/800) = 37.5% - TIMER3: Match channel 0 (MAT3.0 - P0.10 on J2 pin 9) + HIGH state: 800 (80ms) + LOW state: 800 (80ms) So duty cycle = (800/1600) = 50% Use an oscilloscope to observe these signals @Directory contents: \EWARM: includes EWARM (IAR) project and configuration files \Keil: includes RVMDK (Keil)project and configuration files lpc17xx_libcfg.h: Library configuration file - include needed driver library for this example makefile: Example's makefile (to build with GNU toolchain) pwm_signal.c: Main program @How to run: Hardware configuration: Serial display configuration:(e.g: TeraTerm, Hyperterminal, Flash Magic...) – 115200bps – 8 data bit – No parity – 1 stop bit – No flow control Running mode: This example can run on RAM/ROM mode. (Please reference "LPC1000 Software Development Toolchain" - chapter 4 "Creating and working with LPC1000CMSIS project" for more information) Step to run: - Step 1: Build example. - Step 2: Burn hex file into board (if run on ROM mode) - Step 3: Connect COM1 on the Lincoln board to COM port on your computer - Step 4: Configure hardware and serial display as above instruction - Step 5: Run example, see the welcome screen on serial display and observe 4 signals on oscilloscope: - P1.28 on J2 pin 19: duty cycle = 12.5% - P1.22 on J2 pin 13: duty cycle = 25% - P0.6 on J2 pin 5: duty cycle = 37.5% - P0.10 on J2 pin 9: duty cycle = 50% (Pls see "LPC17xx Example Description" document - chapter "Examples > TIMER > PWMSignal" for more details) @Tip: - Open \EWARM\*.eww project file to run example on IAR - Open \RVMDK\*.uvproj project file to run example on Keil