简易交通灯控制程序流程图
- 格式:doc
- 大小:69.00 KB
- 文档页数:2
1
简易交通灯控制程序流程图
1、 主程序流程图
地址0000H处开始
堆栈空间初始化:设置(SP)=0AFH
定时器初始化:T0用于动态扫描
1、 T0置方式1,定时5毫秒;
2、 计算初值,启动定时器T0;
中断初始化:
1、 开T0、INT1中断(INT1用于键盘);
2、 定时器T0中断置高优先级;
片内存贮器初始化:
1、 显示缓冲区初始化;显示位数标志寄
存器初始化;
2、 时间存贮单元初始化;
3、 T0定时1秒、0.5秒溢出次数标志寄
存器初始化;
1秒时间到否?
车辆南北方向通行20秒:南北方向绿灯亮、
东西方向红灯亮。东西方向通行25秒
N 南北、东西方向时间数-1 时间数据送显示 南北时间=0? N Y N 南北方向通行5秒;南北方向黄灯亮 0.5秒时间到否? Y Y 南北方向黄灯取反 1秒时间到? N Y
程序说明
:
① 车辆南北方向通行20秒:南北方
向绿灯亮,时间显示20秒倒计时;东西方向红灯亮,
时间显示25秒倒计时。
② 车辆南北方向通行5秒:南北方向黄灯闪亮,时
间显示5秒倒计时;东西方向红灯亮,时间继续25
秒倒计时显示;。
③ 车辆东西方向通行30秒:东西方向绿灯亮,时
间显示30秒倒计时;南北方向红灯亮,时间显示
35秒倒计时。
④ 车辆东西方向通行5秒:东西方向黄灯闪亮,时
间显示5秒倒计时;南北方向红灯亮,时间继续35
秒倒计时显示。
南北、东西方向时间数-1
时间数据送显示
南北时间=0?
东西方向通行30秒:东西方
向绿灯亮、南北方向红灯亮。
南北方向通行35秒
2
2、 定时器T0中断程序流程图
地址000BH处开始
定时器T0定时5毫秒初值恢复
参数保护:Acc、DPL、DPH、PSW入栈
关显示器:位控制线=1、段位控制线=1
显示位数标志寄存器值+1
N
Y
标志寄存器值=4?
显示位数标志寄存器清0
标志寄存器值=
0? 开数码管千位控制线 Y C←千位小数点标志位 A←显示缓冲区千位数 P0口←(A)变换成七段码 0.5秒时间到否? P0.7←(C) 1秒时间到否? 0.5秒溢出次数标志寄存器初值恢复 1秒溢出次数标志寄存器初值恢复 1秒时间到,秒标志置位 参数恢复:Acc、DPL、DPH、PSW出栈 结束RETI N Y Y N N =1?
=2?
N N
开数码管百位控制线 C←百位小数点标志位 A←显示缓冲区百位数 开数码管十位控制线 C←十位小数点标志位 A←显示缓冲区十位数 开数码管个位控制线
C←个位小数点标志位
A←显示缓冲区个位数
Y Y
0.5秒溢出次数标志位置位