!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!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脚接地等等 祝你好运!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)