信号灯控制系统

信号灯控制系统

ID:42060917

大小:988.23 KB

页数:16页

时间:2019-09-07

信号灯控制系统_第1页
信号灯控制系统_第2页
信号灯控制系统_第3页
信号灯控制系统_第4页
信号灯控制系统_第5页
资源描述:

《信号灯控制系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在日常生活中信号灯的控制应用非常的广泛,它也是单片机的一种应用,针对信号灯的控制特点,我们可以利用单片机的应用来实现。设计程序模拟信号灯控制系统,实现如下功能:首先,东西路口红灯亮,南北路口绿灯亮,同时开始25秒倒计时,以7段数码管显示吋间。25秒倒计时结束后开始5秒倒计时,同吋南北路口的绿灯闪烁,计吋到最后2秒时,南北路口黄灯亮。完成一次这样的循环总共需要30秒。30秒结束后,南北路口红灯亮,东四路口绿灯亮,并开始下一轮30秒的循环。用AT89S51单片机的并行口接发光二极管,模拟交通灯的变化规律

2、,并用AT89S51单片机的并行口接双管数码管,显示倒计时,并仿真。欲实现上述功能,可设计两个部分:信号灯的变化规律控制的主程序,采用定时器1定时实现时间的控制同时通过逻辑分离一个数的个位与十位以及不断自减循环的思想得到需显示的倒计时数据;通过调用数码管显示的子程序实现倒计时的显示。外部中断0和外部中断1均设为边沿触发方式,当有延出发时,可以控制启动或是闭合。关键词:信号灯控制系统;单片机;数码管;倒计时1前言设计编写程序模拟信号灯控制系统,实现如下功能:首先,东西路口红灯亮,南北路口绿灯亮,同时开

3、始25秒倒计时,以7段数码管显示时间。25秒倒计时结束后开始5秒倒计时,同时南北路口的绿灯闪烁,南北路口黄灯亮。完成一次这样的循环总共需要30秒。30秒结束后,南北路口红灯亮,计时到最后2秒时,东西路口绿灯亮,并开始下一轮30秒的循环。用AT89S51单片机的并行口接发光二极管,模拟交通灯的变化规律,并用AT89S51单片机的并行口接双管数码管,显示倒计时,并仿真。该设计采用定时器1定时控制时间,外部中断控制信号灯系统的开启与闭合的思想。使问题变得简洁明了。2系统总体方案设计倒计时显示模块单片机主控

4、控键信号灯显示模块图2.1信号灯控制系统方框图3硬件电路设计3.1.1单片机主控电路设计C1C2U1ZEZ1>y1.TR5—1X11.1TXfAiaZ.WA1SZSTAO2WA1«Z.T/A15F34/TUF3J&WBFDT/Wir_阿算译

5、>图3.1单片机主控电路设计3.1.2单片机引脚资源分配单片机引脚PO.0-P0.6分别接数码管A—D的输入引脚,单片机引脚P2.0,P2.1分别接数码管的片选输入端1,2o单片机引脚Pl.0接东西红灯,Pl.1接南北黄灯,P1.2接南北绿灯,P1.3南北红灯,

6、P1.4接东西黄灯,P1.5东西绿灯。单片机引脚P3.2与P3.3接按键控制开关。3.2信号灯控制模块电路设计D1LED-RED02LED-GRB^J03LED-YQJjOVI/UNA7-4HCt>404LED-RED29_Ti—psbmAJLE匚d&q.1.2.3V66,711111111Q.Q.Q.尸尸尸Q.Q.U2:D7-4HCM图3.2信号灯控制电路设计3.3倒计时显示模块电路设计11POEVADOpo.moiP02^D2PD.4D4POjSMDSPQj6^.D6PO.?jO«KD?P2£M

7、ft8P2/12P2^A10P2^Wft11P2.4JA12P2JSW13P2J6WKU21221312F-U3:AT4HCO4图3.3倒计时显示模块电路设计4软件流程设计4.1主程序流程图图4.1主程序流程图4.2数码管显示子程序流程图图4.2数码管显示子程序流程图5源程序代码startbitOOh;sl键按下置位,s2键松开时清0orgOOOOhajmpmainorg0003hajmpintrp;外部中断0入口,交通灯开始工作org0013hajmpexit;外部中断1入口,交通灯停止工作mai

8、n:anlpl,#OOhanlpO,#OOhsetbexO;允许外部中断0中断setbitO;外部中断0为边沿触发方式setbexl;允许外部中断1中断setbitl;外部中断1为边沿触发方式setbea;cpu开中断clrstart;清start标志位loopl:jobstart,$;start=“0”时,等待begin:movsp,#60h;建堆栈movtmod,#10h;设定时模式movth1,#Od8h;设初值,定时100毫秒movtil,#OfOhsetbtri;启动定时器1;东四绿灯•南

9、北红灯亮25sfix251:mova,#19h;给&寄存器赋25disll:mov90h,#28hmov30h,a;将a中的数值存于30单元movb,#Oah;给b寄存器赋10divab;a寄存器的值除以b寄存器的值movr6,a;取商存放在r6movr5,b;取余数存在『5movr7,#10;给「7赋10fan11:lcallloop;调用数码管显示子程序djnzr7,fanlldec30h;30单元的值自减1mova,30h;将30单元的值传送给寄存器jzfix5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。