1、单片机设计交通灯单片机设计-交通灯 本科生课程实习题目 课程名称单片机原理与应用学生姓名学生学号所在专业电气工程及其自动化所在班级日期指导教师赵桂艳成绩11需求分析和设计内容需求分析:十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计主要分为五大模块输入:控制电路、时钟控制电路、片内外程序切换控制、显示电路。以MSC-51系列单片机IntelAT89C51为中心器件来设计交通灯控制器,实现了AT89C51芯片的P1口设置红灯、绿灯、黄灯燃亮时间的功能;显示时间直接通过AT89C51的P0口输出,
2、由7段数码管显示交通灯燃亮时间,另外由一个开关介入外部中断0进行暂停交通灯运行。2总体设计2.1设计思想首先,必须熟悉交通灯的变化规律:交通灯要求:实现十字路口的交通灯,红,黄,绿三灯的循环显示.交通灯的亮灭分析:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯闪烁,东西方向通车,延时10S后,东西路口绿灯灭,黄灯闪烁.闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向通车,延时10S后,南北路口绿灯灭,黄灯开始闪烁,闪烁5次后,再切换到东西路口方向,重复以上操作.这次设计是单片机原理与接口技术课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统
3、调试等环节,巩固所学的知识及提高应用水平在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。为今后的毕业设计、及从事单片机控制系统的设计与维护奠定坚实的基础。这次课题设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。2.2系统框图东西路口和南北路口交通灯7段数码管AT89C52 3详细设计3.1 硬件设计3.11开关:按钮开关通过一个上拉电阻接在P3.
4、2口(外部中断0)以中断的方式暂停交通灯运行。电路如下:3.12交通灯:交通灯用发光二极管表示,通过一个反向器连接到IO口,交通灯低电平有效,南北路口显示相同,即合南北路口交通灯为一,东西路口也是如此。3.13 7段LCD显示电路:7段数码管通过反向器7404接到P0口,位选接到P2.0,则7段数码管低电平有效,以下是0到9的编码:TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H3.14.8952最小应用系统管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第
5、一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻
6、拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89
7、C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编
8、程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储
9、器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.2 流程图设计 3.3 设计源程序 ORG 0000HSJMP STARTORG 0003HLJMP IN0ORG 0030HSTART:MOV P0,#00H MOV P1,#0ccH ;亮两红灯MOV P2,#00H LCALL DELAYMOV P1,#00HMOV TMOD,#0
10、1H ;t0模式1 16位计数器MOV IE,#83H ;开外部中断0 定时中断0MOV IP,#01H ;定时中断0高优先级MOV A,#0FFHMOV P0,ASETB IT0SETB P2.0SETB TR0 ;开t0 LOOP:MOV TH0,#3CH ;65536-15536=50000 MOV TL0,#0B0H MOV A,#6cH MOV P1,A /东西绿灯亮延时10秒MOV R5,#09HMOV R7,#0AHL1:LCALL LEDL2:MOV R6,#14HHERE1:JNB TF0,HERE1 /等待T0溢出CLR TF0MOV TH0,#3CHMOV TL0,#0B
11、0HDJNZ R6,HERE1DEC R5 / 9减一秒直到0DJNZ R7,L1 NEXT1:MOV R5,#04HMOV R7,#05HL3:LCALL LED /显示4MOV A,#0FCH /MOV P1,AL4:MOV R6,#0AHWAIT1:JNB TF0,WAIT1CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R6,WAIT1MOV A,#0BCH /黄灯亮MOV P1,A /东西黄灯闪烁5次MOV R6,#0AHWAIT2:JNB TF0,WAIT2CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R6,WAIT2DEC R
12、5DJNZ R7,L3 NEXT2:MOV A,#0C7H /南北绿灯亮,东西红灯亮MOV P1,AMOV R5,#09HMOV R7,#0AHLP1:LCALL LEDLP2:MOV R6,#14HHERE2:JNB TF0,HERE2MOV TH0,#3CHMOV TL0,#0B0HCLR TF0DJNZ R6,HERE2DEC R5DJNZ R7,LP1NEXT3:MOV R5,#04HMOV R7,#05HLP3:LCALL LEDMOV A,#0CFH MOV P1,ALP4:MOV R6,#0AHWAIT3:JNB TF0,WAIT3CLR TF0MOV TH0,#3CHMOV T
13、L0,#0B0HDJNZ R6,WAIT3MOV A,#0CBH /南北黄灯闪烁5次 MOV P1,AMOV R6,#0AHWAIT4:JNB TF0,WAIT4CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R6,WAIT4DEC R5DJNZ R7,LP3LJMP LOOPIN0:MOV R3,AMOV A,R7PUSH ACCMOV A,R6PUSH ACCMOV A,R5PUSH ACCMOV A,R3PUSH ACCMOV A,#0ddHMOV P1,AMOV A,#0c0HMOV P0,AJU:JNB INT0,JUCLR APOP ACCMOV P1,A
14、POP ACCMOV R5,AMOV A,R3POP ACCMOV R6,AMOV A,R3POP ACCMOV R7,AMOV A,R3RETILED:MOV R2,AMOV A,#0FFHMOV P0,A / lcd清屏显示8MOV A,R2MOV A,R5MOV DPTR,#TABMOVC A,A+DPTR /lcd显示r5MOV P0,AMOV A,R2 /还原a=6cRETDELAY :MOV R5,#100D1:MOV R6,#100D2:MOV R7,#150D3:DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND3.4 仿真电路图4 设计总结在这次实验中,我体会到了合作的重要性。一个人也可能实现这一系列的过程,但是要花费很多精力和时间。群策群力,分工明确,可以使我们更好、更快地完成我们的工作。在此期间,你可以更好知道自己的不足和缺陷,来得到改正。还可以知道自己的优势所在,把握好自己的优势。参考文献1 康华光.电子技术基础:数字部分.4版.北京:高等教育出版社.20002 阎石.数字电子技术基础 高等教育出版社 2006.53 郑家龙.集成电子技术基础教程.北京:高等教育出版社2002.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1