ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:290.42KB ,
资源ID:9740480      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9740480.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于8051单片机智能交通灯.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于8051单片机智能交通灯.docx

1、基于8051单片机智能交通灯基于Proteus智能交通灯控制设计与制作一、实训目的和作用1.1 研究智能交通灯课题的意义交通是一个城市经济的动脉,它不但体现了一个城市的发展活力,也直接与老百姓的生活息息相关。所谓说的“路通财通”就是说明了一个良好的交通环境的重要性。而交通灯在这个交通环境中起着一个重要的角色,智能的交通灯能有效地缓解城市的交通压力,减少交通事故;智能的交通灯能为当地人民节省大量出行时间,创造出更多的社会价值;智能的交通灯为交通顺畅提供了保障,对当地经济起着一个不可估量的作用。1.2 智能交通灯的研究现状目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法,有应

2、用PLC实现对交通灯控制系统的设计。有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。1.3 交通灯的创新思路针对道路交通拥挤,交叉路口经常出

3、现拥堵的情况。利用单片机控制技术提出了软件和硬件设计方案及两点改进措施:1、根据各道路路口车流量的大小可调节通行时间。2、考虑特殊车辆通行情况,设计紧急切换开关即“全红按键”。二、实训设计内容要求2.1 利用单片机89S51来实现交通灯管理对交通灯控制系统的设计,首先应对交通灯的核心控制芯片的基本结构和特征以及主要引脚有比较详细的了解。AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS 8 位单片机,片内含 4k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。它集 Fla

4、sh 程序存储器 既可在线编程(ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL 公司的功能强大,低价位 AT89S51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.2 AT89S51单片机的主要性能参数与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期4.05.5V的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288字节内部RAM32个可编程IO口线2个16位定时计数器6个中断源全双工串行UART通道低功耗空闲和掉电模式看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活

5、的在系统编程(ISP字节或页写模式)2.3 AT89S51单片机的引脚功能VCC:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的

6、上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。表2-1 具有第二功能的P1口引脚端口引脚第二功能:P1.5MOSI(用于ISP编程)P1.6MOSI(用于ISP编程)P1.7MOSI(用于ISP编程)P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个

7、电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口

8、除了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:表2-2 具有第二功能的P1口引脚端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/ INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6/ WR(外部数据存储器写选通)P3.7/ RD外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DIS

9、RT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会

10、被微弱拉高,单片机执行外部程序时,应设置ALE无效。程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XT

11、AL2:振荡器反相放大器的输出端。2.4 智能交通灯的设计要求: 1、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向调节通行时间。2、在绿灯转为红灯时,要求黄灯先亮3秒钟,才能变换运行车道。3、东西方向、南北方向车道都用同一个数码管显示器进行显示(采用倒计时的方法)。4、同步设置人行横道红、绿灯指示。5、考虑到特殊车辆情况,设置紧急转换开头即紧急“全红开关”。2.5 设计方案的选择目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的设计。有应用单片机实现对交通信号灯设计的方法。由于AT89S51单

12、片机自单带有2计数器,6个中断源,能满足系统的设计要求。用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯,系统构图如图2-5所示:图2-5系统结构框图 2.6 信号灯电路信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图2-6。每个路口的信号的的转换顺序为:绿黄红 绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行。黄灯时间为3秒。红黄绿绿黄红黄红绿绿黄红红黄绿绿黄红红黄绿绿黄红红黄绿红黄绿图2-6交通信号灯运行状态2.7 时间显示电路在交通信号灯的正上方

13、安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为0-99秒完全可以满足系统的要求,数码管连接方法如图2-7所示图2-7 数码管连接三、系统设计本次实验设计分为硬件和软件两个部分。3.1 硬件设计该设计电路大概可以分为4个模块:(1)电源模块电路电源是用五伏电源,晶体振荡器产生固定的12MHZ的频率,作为单片机的工作时钟,利用单片机的时钟控制,使数码管显示的时间隔一秒钟自动减一,实现

14、倒计时功能,到了预定时间发光二极管便根据要求自动闪亮或转亮。图3-1-1图3-1-1 电源晶振(2)复位电路通过复位开关,用来进行系统还原。如图3-1-2图3-1-2复位电路(3)单片机模块这是整个电路的核心。(4)显示模块用来表示红绿灯的变化情况通状况。其基本的电路框图3-1-3如下: 图3-1-3 基本电路框图为了调试方便,采用了6个发光二极光模拟交通指示灯, P1.0接南北向绿灯,P1.1接南北向黄灯,P1.2接南北向红灯,P1.3接东西向绿灯,P1.4接东西向黄灯,P1.5接东西向红灯, P0口和P2口接数码管的显示端,P2.7控制数码管1的选通,P2.6控制数码管2的选通,数码管为共

15、阴极,字形采用反向驱动,字位采用同向驱动。用五伏电压为整个电路提供电源,通过复位电路完成了手动复位功能。(5)紧急转换模块为了调试方便,P2.2接设定时间开关SECONG1,P2.4接开始开关,P3.2接紧急换转开关。如图3-1-4图3-1-43.2 软件设计(1) 软件的实现本次设计使用的编程语言为汇编语言,为了实现设计目的,由电路原理图,以及单片机的开发常识,很容易的实现软件编程,实现所需要的功能。(2)软件设计流程图设计编程流程图如下图3-2-1所示:图3-2-1四、调试方法及步骤调试过程是整个电路板做完后进行的功能调试,本设计电路可以分为硬件调试和软件调试,各个部分分析如下:4.1 软

16、件调试 先把编好的程序在Keil软件以及结合在protues中画好的电路图中进行调试,只有两者结合调试,才能看到实验结果以及其的正确性。若没有语法错误便可以下载烧录到单片机上进行运行,若发现了语法错误就进行及时改正。可以把每一个小程序一一下载到单片机上来验证是否能够运行,如果每个程序都没有问题,就可以直接进行最后的实验。4.2 硬件调试 4.2.1 调试安装前,首先将所选用的电子元器件测试一遍,确保元件完好,以免做了无用功。在进行元器件安装时,元器件布局要合理,连线尽可能短而直。所用的测量仪器要准备好。 4.2.2 本设计是单片机控制的智能交通灯,硬件电路比较简单,但是为了保证器件的安全性,而

17、不被突来的电流电压烧坏,在发光二极管周围放了限流电阻。4.2.3 检查完硬件电路板无误后,再将编好的程序烧入单片机中,运行程序。它要完成的外部硬件功能就是将开关信息送到单片机并按程序执行,利用数码管显示倒计时,多个按键开关可执行其程序即可,然后通过发光二极管完成交通灯显示。五、结果与讨论智能控制交通系统实现是目前研究的方向,也已经取得不少成果,但传统的定时交通灯控制仍然在一些地方广泛应用,那是车流量不大,而且交通道路相对好的地方,传统的定时交通灯控制还是起到了一定的作用。但随着社会的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这时候,智能交通灯控制将会起到疏导交通,改善城市

18、交通环境,推动城市化日益完善!基于Proteus智能交通灯控制系统软件设计上有两个主要特点,一方面是本设计采用模糊控制方法实现交通的控制,由于模糊控制不需要建立被控对象精确的数学模型,特别适用于随机的复杂的城市交通控制,根据车流量,合理分配调整通行时间。另一方面,设计应急转换开关,考虑紧急车通过时,譬如,急救车或消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。当一切准备工作都完成后,我们可以从电路板上清楚的看到实验结果,当南北方向绿灯亮时,南北方向的LED显示器同时显示倒计时功能,倒计时完成后,由绿灯变黄灯,再到红灯,同时东西方向绿灯亮,东西方向的LED显示器显示倒计时功能,倒计时

19、完成后,由绿灯变黄灯,再到红灯,如此一个循环完成,便进入下一个循环。通过复位开关,用来进行系统还原。可以看出,实验结果和实验任务是完全吻合的,充分利用8051单片机,结合软硬件,实现了交通灯管理功能。在调试过程中,刚刚开始时遇到时间一开始就不是归零,后来在检查程序过程中,发现是初始化没有设置好归零指令。六、参考文献1 吴黎明。单片机原理及应用技术。科学出版社,2005-8。2 李学海。标准80C51单片机基础教程-原理篇。北京航空航天大学出版社,2006-8。3 刘乐善。微型计算机接口技术及应用。华中科技大学出版社,2000-4。4 周兴华。手把教你学单片机。北京航空航天大学出版社,2005-

20、4。5 胡伟,季晓衡。单片机应用技术系列:单片机C程序设计及应用实例。人民邮电出版社,2003-7。附录1(仿真图及实物图)附录2(元件清单)元件名称参数数量元件名称参数数量电阻300R10个发光二极管红色2个电阻8.2K1个发光二极管绿色2个电容22pF2个发光二极管黄色2个电解电容30pF1个驱动74LS2451个单片机AT89S511个晶振12M1个开关4个附录3(程序清单);-定义-SECOND EQU 20HSSECOND EQU 21HSETUP EQU P2.4SECOND1 EQU P2.2ALARM EQU P3.2 ORG 0000H ;主程序的入口地址 LJMP MAIN

21、 ;跳转到主程序的开始处 ORG 000BH ;定时器0的中断程序入口地址 LJMP XIANSHI ;跳转到中断程序入口 ORG 0100H;-设置红灯时间-MAIN: MOV SP,#60H ;设置初始化 MOV SSECOND,#0 MOV SECOND,#0 MOV DPTR,#TABLE MOV P0,#0FFH A1: CALL DISPLAY JNB SETUP,MAIN1 JNB SECOND1,C1 ;判断 SECOND1 是否按下 JMP A1C1: CALL DEL1MS ;SECOND1去抖动 JB SECOND1,A1 INC SECOND ;数值加1 MOV A,S

22、ECOND CJNE A,#99,J1 ;判断是否加到99秒,a不等于99,跳 MOV SECOND,#0 JMP A1 J1: JB SECOND1,A1 ;判断SECOND松开,松开时显示当前数字 MOV SSECOND,SECOND CALL DISPLAY JMP J1;-路灯运行程序-MAIN1: MOV TMOD,#01H ;设置T0为工作方式1 MOV TH0,#0E0H MOV TL0,#0E0H SETB EA SETB TR0 ;启动T0计时器 SETB ET0LOOP: MOV SSECOND,SECOND ;红灯时间倒计时 CLR P1.5 ;南北方向红灯亮 CLR P

23、1.0 ;东西方向绿灯亮STLOP1: CALL DEL500MS ;调用子程序DEL500MS CALL DEL500MS DEC SSECOND MOV A,SSECOND CJNE A,#3, STLOP1 ;判断3秒是否结束 SETB P1.0 ;南北方向绿灯不亮 CALL YELLOW1 ;调用子程序YELLOWSTAR2: MOV SSECOND,SECOND ;20秒倒计时 CLR P1.2 ;南北方向红灯亮 CLR P1.3 ;东西方向绿灯亮STLOP2: CALL DEL500MS CALL DEL500MS DEC SSECOND MOV A,SSECOND CJNE A,

24、#3, STLOP2 SETB P1.3 ;东西方向红灯不亮 CALL YELLOW2 SJMP LOOP ;循环子程序YELLOW1: CLR P1.1 CALL DEL500MS CPL P1.1 ;南北方向黄灯亮 ACALL DEL500MS CLR P1.1 DJNZ SSECOND,YELLOW1 CALL DEL500MS CALL DEL500MS SETB P1.1 SETB P1.5 RET YELLOW2: CLR P1.4 ACALL DEL500MS CPL P1.4 ;东西方向黄灯亮 ACALL DEL500MS CLR P1.4 DJNZ SSECOND,YELLO

25、W2 CALL DEL500MS CALL DEL500MS SETB P1.4 SETB P1.2 RETXIANSHI: MOV TH0,#0C0H MOV TL0,#0C0H LCALL DISPLAY RETI ;中断返回;-显示程序-ALARMON: ACALL ALARMISRALARMISR: MOV P1,#0FFH ;所有灯关掉 CLR P1.2 CLR P1.5 ;开红灯ALARM_WAIT: JNB P3.2,ALARM_WAIT RETDISPLAY: PUSH ACC PUSH PSW ;保护现场 MOV A,SSECOND MOV B,#10 DIV AB MOV

26、DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR P2.7 ;显示十位 LCALL DEL1MS SETB P2.7 MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.6 ;显示个位 LCALL DEL1MS SETB P2.6 POP PSW POP ACC RET ;-延时子程序-DEL1MS: MOV R3,#5D1: MOV R4,#250 DJNZ R4,$ DJNZ R3,D1 RETDEL500MS: JNB P3.2,ALARMON ;判断紧急按键是否按下 MOV R7,#9D3: MOV R6,#200D33: MOV R5,#125 DJNZ R5,$ DJNZ R6,D33 DJNZ R7,D3 RETTABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1