10附录3程序清单11
2
f1设计任务和性能指标
11设计任务
北
西东南
利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。12性能指标(1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。(2)干道均有车时,两者交替允许通行,主干道每次放行60秒,支干道每次放行40秒,设立60秒、40秒计时、显示电路。
f(3)绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz的频率闪烁。(4)支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。
2设计方案
21任务分析模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等
22方案设计
根据设计的要求可知,系统的硬件原理框图如下图所示。
系统硬件框图单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不够用时,可以考虑扩展8255或8155满足系统的要求。2软件方案根据设计要求,程序框图如图1所示。软件可由汇编语言完成,也可由C语言完成。因为本学期学的是汇编语言,所以本次课设采用汇编语言。软件设计可以分为以下几个功能模块:主程序:初始化及键盘监控。
f计时程序模块:为定时器的中断服务子程序,完成01秒(或其他时间)和1秒的时间定时。显示程序模块:完成60个发光二极管(实际上只需驱动30个)和8个LED数码管的显示驱动。
开始
初始化
判断当前状态
调用正常运行子程序程序流程图
调用紧急状态子程序
3系统硬件设计
31单片机的最小系统ATMEL公司生产的AT89C52单片机它是硬件电路的核心r