2位数码管显示19秒倒计时的AT89s51单片机电的程序和电路图,用单片机汇编语言
1个回答
关注
展开全部
您好亲,书写汇编源程序格式如下所示:
ORG 00H
LJMP START
ORG 0BH ;定时/计数器T0中断入口地址
LJMP INT_T0
START: NOP ;主程序开始。
INT_T0: PUSH ACC ;定时/计数器T0中断服务程序
PUSH PSW。
POP PSW
POP ACC
RETI ;中断服务程序返回
END
(2. 定时2秒,采用16位定时50ms,共定时40次才可达到2秒,每50ms产生一中断,定时的40次数在中断服务程序中完成,同样0.2秒的定时,需要4次才可达到0.2秒。对于中断程序,在主程序中要对中断开中断。
(3. 由于每次2秒定时到时,L1-L4要交替闪烁。采用ID来号来识别。当ID=0时,L1在闪烁,当ID=1时,L2在闪烁;当ID=2时,L3在闪烁;当ID=3时,L4在闪烁
咨询记录 · 回答于2024-01-02
2位数码管显示19秒倒计时的AT89s51单片机电的程序和电路图,用单片机汇编语言
您好!
书写汇编源程序格式如下:
ORG 00H
LJMP START
ORG 0BH ; 定时/计数器T0中断入口地址
LJMP INT_T0
START: NOP ; 主程序开始。
INT_T0: PUSH ACC ; 定时/计数器T0中断服务程序
PUSH PSW
POP PSW
POP ACC
RETI ; 中断服务程序返回
END
(2. 定时2秒,采用16位定时50ms,共定时40次才可达到2秒,每50ms产生一中断,定时的40次数在中断服务程序中完成,同样0.2秒的定时,需要4次才可达到0.2秒。对于中断程序,在主程序中要对中断开中断。
(3. 由于每次2秒定时到时,L1-L4要交替闪烁。采用ID来号来识别。当ID=0时,L1在闪烁,当ID=1时,L2在闪烁;当ID=2时,L3在闪烁;当ID=3时,L4在闪烁。
希望对您有所帮助!
怎么改可以显示19秒倒计时
int i, j;
for (i = xms; i > 0; i--)
for (j = 125; j > 0; j--);
void display(int tens, ones) // 用来显示数字的函数,显示此时的十位,个位。
int i, j;
for (i = 2; i > 0; i--) // 通过改变i和j的值,可以改变计时时间。
for (j = 50; j > 0; j--);