一般大家基本用軟件來輸出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)
2018-2-1 16:07 上傳
點擊文件名下載附件
51單片機硬件控制輸出 下載積分: 黑幣 -5
|