单片机控制红绿灯系统

上传人:lis****210 文档编号:151112046 上传时间:2022-09-12 格式:DOCX 页数:20 大小:367.81KB
收藏 版权申诉 举报 下载
单片机控制红绿灯系统_第1页
第1页 / 共20页
单片机控制红绿灯系统_第2页
第2页 / 共20页
单片机控制红绿灯系统_第3页
第3页 / 共20页
资源描述:

《单片机控制红绿灯系统》由会员分享,可在线阅读,更多相关《单片机控制红绿灯系统(20页珍藏版)》请在装配图网上搜索。

1、关键词:AT89C51; 7448 , LED2方案论证2.1设计任务设计基于单片机的智能交通红绿灯控制系统,要求能通过按键或遥控器设置系统参 数,系统运行时,倒计时等信息”能通过数码管或点阵发光管显示,设计时应考虑交通 红绿灯控制的易操作性及智能性。以单片机的最小系统为基础设计硬件,用汇编语言、或 C语言设计软件。通过本设计可以培养学生分析问题和解决问题的能力,掌握Mcs51单 片机的硬件与软件设计方法,从而将学到的理论知识应用于实践中,为将来走向社会奠定 良好的基础。东西(A)、南北(B)两干道交于一个十字路口,各干道有一组红、黄、绿三个指示 灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿

2、灯亮允许通行,黄灯亮时车辆及行人 小心通过。红灯的设计时间为45秒,绿灯为40秒,黄灯为5秒。2.2方案介绍方案1设计思想:采用分模块设计的思想,程序设计实现的基本思想是一个计数器,选择一个单片 机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状 态的转换,由于每一个模块的计数多不是相同,这里的各模块是以预置数和计数器计 数共同来实现的,所以要考虑增加一个置数模块,其主要功能细分为,对不同的状态输 入要产生相应状态的下一个状态的预置数,如图中A道和B道,分别为次干道的置数选 择和主干道的置数选择。方案2设计思想:由两个传感器监视南北方向即A道与东西方向即B道的车辆来往

3、情况,设开关K=1 为有车通过,K=0为没有车通过。则有以下四种情况:Ka = 1时:Kb=0,表示A有车B没有车,则仅通行B道:Kb=1,表示A有车B有车,则优先通行A道;Ka=0时:Kb=0表示A没有车B也没有车,同样优先通行A道;Kb=1表示A没有车B有车,则仅通行B道。方案比较:方案1用了模块设计,而方案2采用逻辑设计,相比之下1有较强的可读性和较强 的可修改性,而2则在设计上显得较简单,设计纯朴,便于测试,它的优势则在于提供 了一条较为便捷的解决方案。2首先将许多逻辑关系简化到极点,而后将其一起集成用 较少的芯片去完成所需功能。我们最终的设计应该尽量使用模块化设计。对工程设计人员来说

4、,将来的产品无论 从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期 尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设计模块化, 所以本设计以第一方案为主进行。我们最终的设计应该尽量使用模块化设计。对工程设计人员来说,将来的产品无论 从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期 尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设计模块化, 所以本设计以第一方案为主进行。3交通灯系统硬件设计3.1单片机概述单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。 单片机是把包括运算

5、器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、 中断和定时电路等都集成在一个尺寸有限的芯片上。通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。3.2系统构成电路板一块,AT89S51单片机一片,7448芯片2片,七段数码管八个。发光二极管20个(8个 绿的,8个红的,4个黄的用于交通控制),100欧姆电阻20个,2个按键,2个开关,51K欧姆电阻 2个,5V稳定电源1个,3个电容2个单刀单掷开关等。系统结构框图:图3-1系统结构框图系统工作流

6、程:(1)程序初始,通过两个传感器来判断南北与东西方向车辆通行情况。(2)情况判定后由AT89S51单片机p1 口及部分p2 口输出二进制信号控制红绿黄灯 亮的情况。确定那些灯亮后,由对应的七段数码管来进行到计时显示。由p0 口输出来控制七段数码管的显示,而p2 口的高四位则用来控制数码管显示时的个位和十位(4)系统是否需要紧急工作状态,而此任务由夕卜部中断来实现。(5)LED采用5V的直流电来驱动,低电平。3.3芯片选择与介绍3.3.1 AT89S51 芯片选用的AT89S51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能列举如

7、下:1)为一般控制应用的8位单片机2)晶片内部具有时钟振荡器(传统最高工作频率可至33MHz)3)内部程式存储器(ROM )为4KB4)内部数据存储器(RAM)为128B5)夕卜部程序存储器可扩充至64KB6)夕卜部数据存储器可扩充至64KB7)32条双向输入输出线,且每条均可以单独做I/O的控制8)6个中断向量源9)2组独立的16位定时器10)1个全双工串行通信端口11)8751及8752单芯片具有数据保密的功能12)单芯片提供位逻辑运算指令UJldu ET-d 空W W OSU1ATS9C51 uTEXTn景UJmd Lmo_ Etw.ond IrIWEd CISZcnCL oxomn-

8、Lrlw怀CL 寸登sojd 乎 wmojCL 切孕伊 L.互岗d oi- 星 ldjcl wmoojd r-3 冥r-oCL gvsod 寸皇寻 gQ富 W7司 l/ML N4S00-图 3-1 AT89C51 芯片3.3.2 7448芯片介绍7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。该集成显示译码器设有 多个辅助控制端以增强器件的功能,可将单片机输出的四位二进制数转换成10进制数与七 段数码管显示对应,用于显示09的数字。U113BI/RBORBILTQG11W15147448图3-2 7448芯片其中LT为测试输入。3.3.3红绿LED信号显示灯及七段数码显示管7LED

9、灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮。如图:LED-BIRY uTEXTn20R mm图3-3红绿LED信号显示灯而七段数码管的显示不同的字形如SP , g,f,e,d,c,b,a管角上加上OFEH所以SP上为 0伏,不亮其余为TTL高电平,全亮则显示为8。采用共阴极连接:表3-4七段数码管的显示显示数值a b c d e f g dop驱动代码(16进制)01 1 1 1 1 1 1 10FCH10 0 0 0 0 1 1 060H21 1 0 1 1 0 1 00DAH31 1 1 1 0 0 1 00F2H40 1 1 0 0 1 1 066H51 0 1

10、1 0 1 1 00B6H61 0 1 1 1 1 1 00BEH71 1 1 0 0 0 0 00E0H81 1 1 1 1 1 1 00FEH91 1 1 1 0 1 1 00F6H3.3.4交通灯控制线路图aU 11=1 cUJd_ 0O aDCJoEtiricP5ra D 旨Oi*iIT- 身 III 32n Ci苦 IT -IMEIeI1teDCiILI _J15LnmUPl0X0国吉岫S凝*以鸠掰畛。匿Hl鄱-匿I-TXHH-.U1RR23_lnuO1KR_LL.JC.-HMtFJnTiTlpF-D,BKl*aB a项*3匚K131 sag口a s oIZlD里 sag oIZ1

11、s sAlaca0Li二毒不由溶图4-1程序设计框图4.2延时的设定延时方法可以有两种一种是利用AT89S51内部定时器的溢出中断来确定1秒的时间,另一种是采用软件延时的方法.实现1ms秒的方法:我们采用在主程序中设定一个初值为0的软件计数器和使T1定时1毫秒相应程序代码:D1MS: MOV R7,#250 ;1MS 延时程序DJNZ R7,$RET4.3子程序的实现A道通车情况:START1: MOV TEMP, #25MOV P1, #0F3HLOOP1: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START3JNB P1.7,ST

12、ART11CJNE A,#0, NEXT1LJMP START2NEXT1: LJMP LOOP1START11: MOV TEMP, #65MOV P1, #0F3HLOOP11: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START33JNB P1.7,START1CJNE A,#0, NEXT11LJMP START11NEXT11: LJMP LOOP11START2: MOV P1, #0F5HMOV TEMN,#05LOOP2: ACALL DELAY1DEC TEMNMOV A,TEMNCJNE A, #0,NEXT2LJ

13、MP START3NEXT2: LJMP LOOP2B道通车情况:START3: MOV TEMP #25MOV P1,#0DEHLOOP3: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START1 JNB P1.7,START33 CJNE A, #0,NEXT3 LJMP START4NEXT3: LJMP LOOP3 START33: MOV TEMP #65 MOV P1,#0DEHLOOP33: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START11

14、JNB P1.7,START3 CJNE A, #0,NEXT33 LJMP START4 NEXT33: LJMP LOOP33 START4: MOV P1, #0EEH MOV TEMN,#05 LOOP4: ACALL DELAY1 中断情况即紧急情况:ORG 0000HTEMP EQU 24H TEMN EQU 25H LJMP MAIN ORG 0003H LJMP T0_INT ORG 0013H LJMP TI_INT T0_INT: MOV A, P1 PUSH ACCMOV P1, #0FFHMOV P1, #0F3HMOV P0, #00H JNB P3.2,$ POP

15、ACCMOV P1, ACCRETITI_INT: MOV A, P1 PUSH ACCMOV P1, #0FFH MOV P1, #0DEH MOV P0,#00H JNB P3.3,$ POP ACC MOV P1, A RETI5实验仿真5.1仿真图根据对称性选用部分对称元件仿真,以翌 号.2 E宜快 SELrid nx旨 W q-wr-Nd T-曾 d HWSNd 段饕Nd LLWENd MHENd MLr.id is oHwd 岩忌口c. 岩话旦 1口号=. ElzlWEld EH宫 d oMEld tma-mDdC-rz图5-1仿真图5.2实验步骤5.2.1编写程序代码程序代码分为

16、几个模块:中断模块,循环模块,延时模块。原程序实现:ORG 0000HTEMP EQU 24HTEMN EQU 25HLJMP MAINORG 0003HLJMP T0_INTORG 0013HLJMP TI_INTT0_INT: MOV A, P1PUSH ACCMOV P1, #0FFHMOV P1, #0F3HMOV P0, #00HJNB P3.2,$POP ACCMOV P1, ACCRETITI_INT: MOV A, P1PUSH ACCMOV P1, #0FFHMOV P1, #0DEHMOV P0,#00HJNB P3.3,$POP ACCMOV P1, ARETIMAIN:

17、 SETB EASETB EX0SETB EX1CLR F0START1: MOV TEMP, #25MOV P1, #0F3HLOOP1: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START3JNB P1.7,START11CJNE A,#0, NEXT1LJMP START2NEXT1: LJMP LOOP1START11: MOV TEMP, #65MOV P1, #0F3HLOOP11: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START33JNB P1.7,STAR

18、T1CJNE A,#0, NEXT11LJMP START11NEXT11: LJMP LOOP11START2: MOV P1, #0F5H MOV TEMN,#05LOOP2: ACALL DELAY1DEC TEMNMOV A,TEMNCJNE A, #0,NEXT2LJMP START3NEXT2: LJMP LOOP2START3: MOV TEMP #25 MOV P1,#0DEHLOOP3: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START1JNB P1.7,START33CJNE A, #0,NEXT3LJMP ST

19、ART4NEXT3: LJMP LOOP3START33: MOV TEMP #65 MOV P1,#0DEHLOOP33: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START11JNB P1.7,START3CJNE A, #0,NEXT33LJMP START4NEXT33: LJMP LOOP33START4: MOV P1, #0EEH MOV TEMN,#05LOOP4: ACALL DELAY1DEC TEMNMOV A, TEMNCJNE A,#0,NEXT4LJMP START1NEXT4: LJMP LOOP4RET

20、IDELAY: MOV A,TEMPMOV B, #10DIV ABMOV R5, AMOV R6, BMOV R0, #10L0: MOV R1, #250L1:MOV A,R5MOV P0, ACLR P2.4ACALL DIMSSETB P2.4MOV A,R6MOV P0,R6CLR P2.5ACALL DIMSSETB P2.5DEC R1DJNZ R1,L1DEC R0DJNZ R0,L0RETIDELAY1: MOV A,TEMNMOV B, #10DIV ABMOV R5, AMOV R6, BMOV R2, #10L2: MOV R3, #250L3:MOV A,R5MOV

21、P0, A CLR P2.4 ACALL DIMS SETB P2.4 MOV A,R6 MOV P0,R6 CLR P2.5ACALL DIMSSETB P2.5DEC R3DJNZ R3,L3DEC R2DJNZ R2,L2RETIDELAY11:MOV A,TEMPMOV B, #10 DIV AB MOV R5, AMOV R6, B MOV R0, #10Y0: MOV R1, #250Y1:MOV A,R5 MOV P2, A CLR P2.6ACALL DIMSSETB P2.6MOV A,R6MOV P2,R6CLR P2.7ACALL DIMSSETB P2.7DEC R1D

22、JNZ R1,Y1DEC R0 DJNZ R0,Y0RETIDIMS: MOV R7,#250DJNZ R7,$RETEND5.2.2按照系统硬件连线图连接好系统并调试1)调试程序打开仿真软件,新建文件;选择芯片;新建文档,把编写好代码写入文档并保存了 ASM文件;把保存的文档加载到Source Group ;编译程序;设置转换成16进制;运行程序的结果;2)把编写好的16进制文件(jtd.hex)输入单片机AT89S51仿真器和对其进行初始化。3)给实验板进行通电,观察运行结果,不一致则跳到第一步进行反复调试,直到与预 定目的一致。6结论本系统就是利用了 AT89C51芯片的I/O引脚。系统

23、采用单片机AT89C51,以及其它 芯片来设计交通灯控制器,实现了红灯亮45秒,绿灯亮40秒。并通过AT89C51来控制 7448芯片的输出口控制七段数码管上的时间显示;系统设计简便、实用性强、操作简单、 程序设计简便。系统不足:时间设定中没有黄灯的等待闪烁时间,以及自动根据车流改变红绿灯时间, 使城市的交通管理更加人性化。使人们远离目前的交通拥塞的现象。参考文献1 胡汉才.单片机原理及其接口技术.清华大学出版.19962 蔡美琴.MCS-51系列单片机系统及其应用.高等教育出版社.2004.23 蒋万君.在论循环时序电路的简便设计.机电一体化.2005.54 何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社.1995.5 李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社.19936 周航慈.单片机应用程序设计技术.北京航空航天大学出版社.1991.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!