简易交通灯控制程序流程图

  • 格式: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秒溢出次数标志位置位