标题:
stc89c52rc单片机中t2做波特率发生器,t0能做pwm发生器吗
[打印本页]
作者:
jfmdam
时间:
2021-6-5 00:30
标题:
stc89c52rc单片机中t2做波特率发生器,t0能做pwm发生器吗
如题
作者:
xuyaqi
时间:
2021-6-5 07:32
stc89c52rc不具备pwm发生器功能,t2做波特率发生器,t0能做定时器用。
作者:
qq603599910
时间:
2021-6-5 13:34
我用 STC15W404AS , PCA模块是硬件PWM控制器,不占用系统资源,特别舒服.
作者:
jfmdam
时间:
2021-6-5 13:54
#include<REG52.H>
sfr T2MOD=0X0C9;
/************************************************************************/
void sint() interrupt 4 //中断接收3个字节
{
if(RI) //是否接收中断
{
RI=0;
dat=SBUF;
}
}
void main(void)
{
T2CON=0X34;
T2MOD=0x00;
RCAP2H=0xFF; //11.0592M晶振,9600波特率
RCAP2L=0xDC;
SCON=0x50;
PCON=0X00;
ES=1;
EA=1;
while(1); /*无限循环*/
}
这个程序是11.0592Mhz,波特率为9600的C程序,需要的师兄可以参考一下。
另外,如果用 T0或者T1产生PWM波的话,T2做波特率发生器才不会冲突。经验之谈,希望对大家有用!
作者:
啤酒瓶子老大
时间:
2021-6-5 14:20
我也没试过,我想冲突肯定会有,楼主能否换个晶振,比如22.1184的,或者更高的。计算好T2的波特率,这样时钟块了,冲突应该会小点。利用MCU的高速度把时间分成更小的时间片。也许可以。毕竟串口是允许有一点误差的。
作者:
jfmdam
时间:
2021-6-5 14:24
啤酒瓶子老大 发表于 2021-6-5 14:20
我也没试过,我想冲突肯定会有,楼主能否换个晶振,比如22.1184的,或者更高的。计算好T2的波特率,这样时 ...
用T2好像没有冲突,我看有人在冲突的时候把串口中断的优先级设置成最高就没事了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1