一般大家基本用软件来输出PWM波,今天分享个硬件输出的方式
单片机源程序如下:
- //PWM输出
- #include "STC12C5A60S2.h"
- #define uchar unsigned char //定义一下方便使用
- #define uint unsigned int
- #define ulong unsigned long
- unsigned int high;
- void pwm_init(void)
- {
- CMOD=0x04;
- CL=0X00;
- CH=0X00;
- CCAPM0=0X42;
- CCAPM1=0X42;
- CCAP1H=0X00;
- CCAP1L=0X00;
-
- CCAP0H=0X00;
- CCAP0L=0X00;
- CR=1;
- }
- /*定时器初始化*/
- void init()
- {
- // INT_CLKO=0x01;
- TMOD=0x02;
- TH0=(256-72);
- EA=1;
- ET0=1;
- TR0=1;
- }
- void pwm_set(uchar x,uchar y)
- {
- CCAP0H=x;
- CCAP0L=x;
- CCAP1H=y;
- CCAP1L=y;
- }
- void main(void)
- {
- init();
- pwm_init();
- pwm_set(0xc0,0x80);
- while(1) {;}
- }
- void time0() interrupt 1
- {
- TH0=(256-72);
- // PWMF_set();
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
PWM 的定时器输入.zip
(14.84 KB, 下载次数: 15)
|