历史上的今天
今天是:2025年05月14日(星期三)
2019年05月14日 | 单片机(STC12C5A60S2)内部PWM实现呼吸灯
2019-05-14 来源:eefocus
上个文章写了用单片机的两个定时器给大家实现了呼吸灯,其实上个文章是在为大家解析PWM的原理,今天我们将使用单片机内部自带的PWM来进行呼吸灯设计,自己可以查看该单片机型号的中文资料。所看章节如下:

直接上代码吧,大家可以查看代码,如果不明白的可以给我留言,^_^。
#include unsigned char dy[15]={16,32,48,64,80,96,112,128,144,160,176,192,208,224,240}; // CCAP0H值的分配,为了实现不同的占空比 void modify_duty(); void Init_PWM(); void delay(); void main() { Init_PWM(); while(1) { modify_duty(); } } void Init_PWM() // PWM功能的初始化 { CMOD = 0X02; // 设置脉冲源 CCAPM0 = 0X42; // 开启比较器,允许输出脉宽调制信号 PCA_PWM0 = 0X00; // 组成9位比较器,可以设置成1,也可以设置成0 CCAP0L = 0x80; // 比较器中的初值 CCAP0H = 0X80; // 比较器初值重装 CL=0; // 装载值为0 CR =1; // 启动计数模式 } void modify_duty() { int i; for(i=0;i<15;i++) { CCAP0H = dy[i]; delay(); } for(i=13;i>=1;i--) { CCAP0H = dy[i]; delay(); } } void delay() { int i,j; for(i=0;i<200;i++) { for(j=0;j<200;j++); } } 可以看结果了:
史海拾趣
|
对于中国人来说,姗姗来迟的3G时代究竟是如何的欣欣向荣,现在我们还只能忐忑不安地憧憬着。但是,在这山雨欲来的时刻,3G的IP承载网对于运营商来说,都已经是“风满楼”的状态,几乎触手可及了。 不管是中 ...… 查看全部问答> |
|
wince 下如何获得系统的LAN,Bluetooth,wifi连接状态,有哪些api可用? wince 下如何获得系统的LAN,Bluetooth,wifi连接状态,wifi的信号强度,有哪些api可用?… 查看全部问答> |
|
请问各位大侠,本人有一个很棘手的问题请教。我在wince下用openssl命令想要生成一个ca.crt文件,命令如下: \"X509 -req -in \\\"\\\\wince_192.168.6.200_own.csr\\\" -out \\\"\\\\wince_192.168.6.200_ca.crt\\\" -signkey \\\"\\\\wince_192.1 ...… 查看全部问答> |
|
今天遇到一个奇怪的问题:用QuartusII仿真的时候,波形图总是不会出现时钟,就只有电平而已,但是程序确定无误是设定了时钟类型的,仿真的时候也设定了,但就是仿真不了!到底是什么问题呢??… 查看全部问答> |
|
/* Clock divider register */ DEF_8BIT_REG_AT(CLK_CKDIVR,0x50c6); 这是DEMO程序,但是对应的DATASHEET 上找不到0X50C6值,我看过RM0016,但是没有0X50C6,谢谢… 查看全部问答> |




