基于51单片机汇编语言设计的交通灯.docx
- 文档编号:1971845
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:20
- 大小:299.94KB
基于51单片机汇编语言设计的交通灯.docx
《基于51单片机汇编语言设计的交通灯.docx》由会员分享,可在线阅读,更多相关《基于51单片机汇编语言设计的交通灯.docx(20页珍藏版)》请在冰豆网上搜索。
基于51单片机汇编语言设计的交通灯
交通灯的控制
摘要:
本设计以AT89C51单片机为主控模块,主要由按钮开关,数码管,发光二极管组成,利用汇编语言编写程序来模拟对十字路口的交通管理,系统包括左右拐,直行,人行道四个基本的交通等功能。
南北方向亮绿灯60s,然后黄灯闪烁3次,每次一秒(亮灭各40ms),红灯40s,同时东西方向红灯65s,绿灯35s,黄灯闪烁3s。
各路灯用LED模拟显示,同时用七段数码管显示两路的倒计时时间。
利用键盘可修改灯亮时间PC机设置灯亮时间,利用PC与单片机串口通信实现。
为防止出现紧急情况(如119,110通过时),该系统还设置了中断,可通过按键使各个路口为红灯其它车辆禁行,特殊车辆通行的状态,当东西方向为通行状态时,南北方向有突发情况,也可通过手动按键使东西方向为红灯,南北方向为绿灯。
在对系统的分析基础上,提出了几种设计方案,经比较选择各方较好的LED动态循环显示方案进行设计,设计包括硬件和软件两大部分单片机最小系统,时间显示,交通等显示三部分。
以AT89C51为控制核心,东西南北各设置3个交通灯,东西,南北方向各设置一个2位的数码管时间显示器,交通灯显示则采用红绿黄三色高亮发光二极管模拟,软件采用模块化的设计方法,主要分为主程序,定时中断服务子程序,倒计时显示子程序,交通灯模拟显示子程序。
软件设计完成,经过对该设计程序模拟测试,可实现对十字路口交通的良好管理,预期目标全部达到,该系统操作简单,实用性强,扩展功能好。
关键词:
AT89C51数码管光二极管中断模拟
1前言5
1.1该课程选题背景5
1.2该课程选题现实意义5
1.3单片机交通灯研究任务5
2设计方案6
2.1方案设计目的6
2.2方案设计思路6
2.3方案设计原理7
3系统硬件设计8
3.1AT89C51芯片简介8
3.274LS47芯片简介11
3.3系统总框图12
3.4、交通灯硬件线路12
3.5、系统工作原理12
4.软件设计13
4.1每秒钟的设定13
4.2秒的方法13
4.3相应程序代码13
4.4、键盘显示流程图14
4.5、软件延时14
5Proteus软件仿真15
5.1正常运行时状态15
5.2黄灯亮时状态16
5.3应急情况下状态16
6设计心得体会17
附录1:
源程序代码18
附录2:
硬件连接图23
参考文献23
1前言
1.1单片机交通控制系统的选题背景
世界上第一盏正式投入使用的交通信号灯出现在1868年12月10日,这盏身高7米,由德哈特设计的红绿两色煤气灯出现在议会大厦前的十字路口。
一位警察手持长杆牵动皮带转换红绿两色:
红灯停,绿灯行。
随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。
自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构。
道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。
适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。
1.2单片机交通控制系统选题的现实意义
城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。
在其各个发展阶段,由于交通的各种矛盾不断出现,人们总是尽可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。
交通网络是城市的动脉,象征着一个城市的工业文明水平。
交通关系着人们对于财产,安全和时间相关的利益。
具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。
1.3单片机交通控制系统主要研究的内容
基于整个交通控制系统的发展情况,本设计主要进行如下方面的研究:
用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。
本设计主要做了如下几方面的工作:
一是确定系统交通控制的总体设计,包括十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又要求了对车流量检测及自调整模拟功能,违规检测及处理,紧急状况处理。
二是进行智能传感器的硬件电路,显示电路等的设计对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。
2方案设计
2.1课程设计目的
2.1.1巩固和加深对单片机原理和接口技术知识的理解;
2.1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
2.1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;
2.1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.1.6通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2.1.7通过交通信号灯控制系统的设计,掌握定时/计数器及中断的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
2.2设计思路
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
设东西道比南北道的车流量大,指示灯燃亮的方案如表1:
车道\时间
60s
3s
2s
35s
3s
东西道
绿灯
黄灯
红灯
红灯
红灯
南北道
红灯
红灯
红灯
绿灯
黄灯
表1
表1说明:
(1)当东西道为绿灯,此道车辆通过,行人禁止通行。
时间为60秒;南北方向为红灯,此道车辆禁止通行,南北道行人可通过。
(2)当东西方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换;南北方向为红灯,此道车辆禁止通行,南北道行人可通过。
(3)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;当南北方向为红灯,此道车辆禁止通行,南北道行人可通过。
(4)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;东西道为绿灯,此道车辆通过,行人禁止通行。
时间为35秒。
(5)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。
(6)此表可根据车流量动态设定红绿灯初始值。
2.3设计原理
1、首先了解实际交通灯的变化情况和规律。
假设一个十字路口如上图所以,为东南西北走向。
初始状态0为东西南北都红灯亮。
然后转状态1东西红灯亮,南北绿灯亮通行。
过一段时间后,转状态2,黄灯亮,东西红灯灭,南北绿灯灭。
再转状态3,东西绿灯通车,南北红灯亮。
过一段时间后转状态4,黄灯亮,东西绿灯灭南北红灯灭。
一段时间后,又循环至状态1。
中间可通过中断按钮产生中断,跳入中断程序执行中断。
列出交通信号灯的状态表如下:
(其中,1代表灯亮,0代表灯灭)
状态
北
西
南
东
绿黄红
绿黄红
绿黄红
绿黄红
0
001
001
001
001
1
100
001
100
001
2
010
010
010
010
3
001
100
001
100
4
010
010
010
010
2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
5、通过脉冲中断编写中断程序,可实现中断。
3系统硬件设计
选用设备:
AT89C51单片机一片,74LS47芯片二片,电阻排RESPACK-7三个,共阴极的七段数码管7SEG-MPX2-CA两个,红、黄、绿交通灯各四个,开关键盘、连线、电阻、电容若干。
3.1、AT89C51芯片简介
AT89C51单片机内部结构
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用
经综合对本系统的分析,选用AT89C51单片机就非常合适,
AT89C51有P0,P1,P2,P3四个外部接口,介绍如下:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入端用。
在访问外部数据存储器或程序存储器时,P0口被分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 汇编语言 设计 交通灯