文件名称:交通灯控制系统C语言版+Proteus原理图设计与仿真
文件大小:80KB
文件格式:ZIP
更新时间:2012-11-19 15:42:53
交通灯控制系统 C语言 Proteus 原理图 设计
硬件设计:采用Proteus进行电路原理图设计与仿真 1)单片机选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器。 2)显示部分:南北向和东西向各采用2个LED数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。 3)键盘部分:设置键、增加键、减少键。 本系统的工作流程: 1)系统启动后,系统按程序给定的时间工作,即东西向通行60秒,南北向通行40秒,黄灯亮4秒,工作模式如表1所示。首先东西向通行,然后南北向通行,如此循环。 2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用设置键、增加键、减少键”进行设置。 第一次按“设置键”时,东西向的绿灯亮,东西向的LED数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和南北向的LED数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间,每按一次键,数码管的显示时间增加1秒或减少1秒,长按键(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。 第二次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和南北向的数码管熄灭,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。 第三次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向绿灯的通行时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向绿灯的通行时间。 第四次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。 第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且东西向先通行,南北向后通行 软件设计:采用Keil C开发环境与语言 1)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。 计时程序模块:为定时器的中断服务子程序。 显示程序模块:完成12个发光二极管和4个LED数码管的显示驱动。 键盘扫描程序模块:判断是否有键按下,并求取键号。 键处理程序模块:分别是“设置键”、“增加键”、“减少键”的处理子程序。
【文件预览】:
crossing中断
----main.c(7KB)
----Crossing.hex(5KB)
----Last Loaded Crossing.DBK(118KB)
----Crossing.DSN(118KB)
----Crossing.M51(21KB)
----Crossing.lnp(29B)
----Crossing.PWI(742B)
----Crossing(14KB)
----Crossing.plg(346B)
----Crossing_Opt.Bak(1KB)
----Crossing.Uv2(2KB)
----main.LST(19KB)
----main.OBJ(18KB)
----Crossing_Uv2.Bak(2KB)
----Crossing.Opt(1KB)
readme.url