NE555 的输出3Q 接的是 P3.5 T1(计时器1外部输入),可是程序貌似怎么操作T0呢?
void timer0 () interrupt 1 { TR0 = 0; TR1 = 0; TH0 = (65535-45872)/256; TL0 = (65535-45872)%256; bb = TH1; cc = TL1; TL1 = 0; TH1 = 0; TR0 = 1; TR1 = 1; }
protues仿真软件里,单片机、晶振的工作频率都和代码里写的一样不,要设置一致才准确。
中断函数修改,供参考:void timer0 () interrupt 1 { TR0 = 0; TR1 = 0; TH0 = (65535-45872)/256; TL0 = (65535-45872)%256; bb = TH1; cc = TL1; TL1 = 0; TH1 = 0; TR0 = 1; TR1 = 1; }
定时器计算机器周期晶振如是:11.0592MHz,那么机器周期为12*(1/11059200)=1.09μm。若T=50ms那么N=50000/1.09=45872.代码里中断初值TH0和TL0的值是否准确?第43行TR1=0;//中断使能 ,这行是否要移到第41行前面。
39行应该是interrupt 0吧?
69,322
社区成员
243,077
社区内容
加载中
试试用AI创作助手写篇文章吧