stc12c5a60s2 12m晶振 源程序DELAY_MS(1000); 表示一秒,我想DELAY_MS(1);表示一秒,怎么改?

stc12c5a60s2 12m晶振 源程序DELAY_MS(1000); 表示一秒,我想DELAY_MS(1);表示一秒,怎么改?,第1张

stc12c5a60s2的官方文档弯返旅

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!10.3.4

脉宽调节模式(pwm)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

有介绍

pwm频率=

pca时钟/256.

pca的时钟源可以选择:sysclk,sysclk/2,sysclk/4,sysclk/6,sysclk/8,sysclk/12,(其中

sysclk就是你的晶振频率),定时器0的溢出,p3.4口的输入时钟.

ccapnl寄存器的值

=

256-(256*脉宽/周期)

另外ccapnl是重装值,也需要配置好.

周期20ms,也就是说频率是50hz.

那你只能选择使用定时器0的溢出作为pca的时钟了.

cl = 0 // 清零pca计数器

cmod = 0x04 // 定时器0溢出做pca模块的世中时钟源

ccapnh=ccapnl = 0xf3 // n = 0 or 1// 1ms

ccapmn= 0x42 // n = 0 or 1// 脉宽调节模式

cr = 1// 都配置好了之后,打开pca计数器

当然其它的寄存器配置你需要自己写,比如说定时器0.

详见官方文档

我写是对照文档现写的,比埋凳较匆忙,代码可能有问题,但是思路是对的.

不妨换个陵友咐思路考虑问题,程序应该没什么大问题,可能是硬件上出现了问题,首先确告樱保单片机起振(XTAL1 与XTAL2电压相差0.2V左右),或者先写一个简单的控制LED亮灭的小程序,等确保这块是好的后,再来检查RS232通讯这块有没有问题,比尺纯如:TXD,RXD与MAX232芯片有没有接错,MAX232芯片上四个电容有没有焊接好,DB9串口上的连线有没有接错,DB9上用到2.3.5脚,其中第5脚接地等等 祝你好运!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12547536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存