《C51程序设计》大作业
设计题目:交通灯信号灯自动控制系统
班 级: 学 号: 姓 名: 成 绩:
2013年5月
一、 设计任务 设计功能要求如下
(1) 以秒为计时单位,两位数码管以十进制递减计数形式作定时
显示,在递减计数回零瞬间完成换灯操作。
(2) 通过键盘红黄绿三色信号灯所亮时间在0~99秒内任意
设定。
(3) 十字路口的通行起始状态可人工设定,运行中可通过人工干
预使十字路口通行状态固定于任何一种工作模式。
二、电路原理图
三、 系统流程图
1、主程序流程图
开始 时钟初值设置子程序 开时钟2 绿灯初值设置子程序 黄灯初值设置子程序 开时钟1,倒计时 状态固定 状态选择
2、时钟初值控制子程序
时钟键盘扫描 N N 是否按下时钟键 Y 扫描加一,减一键盘 N 是否有键盘按下 Y 各个位的加一,减一
3、绿灯,黄灯初值设置子程序
扫描绿灯键盘控制N 是否键盘按下 Y 扫描加一,减一键 N 键盘是否按下 Y 相应位加一或
4、时钟控制与倒计时控制
时钟,倒计时初值通过键盘输入。倒计时使用52单片机
内部定时器1实现计数,时钟控制部分是使用定时、计数器2 实现计时,以秒为基本单位在数码管中显示。时钟部分:当秒的 个位计时到了10,则秒个位清0,同时十位进一,以此类推;倒 计时部分显示是则递减显示。此过程通过判断语句实现。
5、.灯状态控制
灯的状态通过键盘扫描控制。状态固定键按下时,关闭定
时器1;再次按下此键时,打开定时器。状态选择键按下时,程 序跳至下一个状态的程序控制部分,从而实现状态改变。