基本原理是用555定时器组成振荡器,用51单片机的定时器进行计数。然后代码中的定时器部分不懂,求助各位
附上定时器部分的代码:
赋初值:
TMOD=0x15;//0001 0101
TH0=0;
TL0=0;
TH1=(65536-49989)/256; //T1设初值
TL1=(65536-49989)%256;
中断:
void t0(void) interrupt 1 using 0 //计脉冲个数
{
T0count++;
}
void t1(void) interrupt 3 using 0 //定时1s
{
TH1=(65536-50045)/256;
TL1=(65536-50045)%256;
timecount++;
if(timecount==20)
{
TR0=0;
TR1=0;
timecount=0;
flag=1;
}
}
此帖出自
小平头技术问答
谢谢大神费心专门找图,TMOD的作用我知道,我当时也对这句话做了注释:TMOD=0x15;//0001 0101 最高位GATE为0,低四位表示T0工作在方式一(16位)计数模式,高四位表示T1工作在方式一(16位)定时模式
刚发帖的时候把注释删了不敢献丑,定时器0的作用我知道就是对外部脉冲计数,而定时器1定时1s的作用我真的不理解……可能这个问题问的很白痴…还望大神不吝赐教~
一周热门 更多>