用MCS-51中定时器T0(晶振12MHZ),编写一个30秒钟的定时程序,用P1.0、P1.1控制两个LED灯作为显示。P1.0控制

的灯每秒闪烁一次,P1.1控制的灯30秒钟定时时间到后点亮。
2025-03-12 17:43:37
推荐回答(2个)
回答1:

主要是定时器不能直接定那么久的时间,可以定50ms中断,然后用变量来累计中断次数即可实现长时间定时。
定义两个全局变量 count_p10=0,count_p11=0,T0设50ms中断,里边if(++count_p10>=10){重写定时器;count_p10=0;500ms中断处理;} 同理可实现30秒定时。

50ms T0中断初始化:
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0x0B0;
EA = 1;
ET0 = 1;
TR0 = 1;

回答2:

留名字