您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于AT89c51单片机实现的交通灯
1江西科技师范大学通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯小组成员:龚石冲罗仁敏曾建伟班级:12电子科学与技术指导老师:熊朝松2一、实训选题内容、要求交通模拟灯要求:1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒;支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒;2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化;3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常通行。二、实训计划和人员安排经小组人员商定,分工完成任务,在课余时间完成。若其中遇到什么问题,大家聚在一起讨论解决。具体分工如下:1、程序编写:龚石冲2、实体焊接:龚石冲3、实训报告:罗仁敏4、视频及PPT:曾建伟三、实训选题分析交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。黄灯在红绿灯之间转换时亮。倒计时显示表示红、黄、绿灯亮时所剩时间。由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。交通会遇到一些突发情况。因此交通信号灯要设定一些特定功能,以防不时之需。整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。四、方案设计方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。由按键开关完成禁止通行,东西通行,南北通行。方案二:主控系统采用AT89C51单片机作为控制器,由延时函数完成信号灯3的相互转换,由定时器完成通行倒计时。由按键开关完成禁止通行,东西通行,南北通行。方案比较:方案二由于信号灯的相互转换与倒计时显示用的是两种独立的方法完成,要把这两种方法运行的时间达到一致,这大大的增大了程序的难度,而方案一切采用了同一种方法。就是程序变得了简单。占用端口少,耗电也最小。统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使此方案可靠稳定。该设计可直接在I/O口上接按键开关,精简并优化了电路。结合实际情况,显示界面采用LED数码管动态扫描的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度,既经济又简洁。所以选择方案一。五、方案实现该交通灯有以下几个部分组成:紧急控制(按键电路)、复位电路、晶振电路、电源电路、单片机、led数码管显示、led信号指示灯。如图所示:该交通灯控制系统有以上几个部分组成:紧急控制(按键电路)、单片机。41各模块电路1.1主控制系统主控器采用AT89C51,是美国ATMEL公司生产的一款性能稳定、低功耗的单片机,兼容MCS-51系列产品指令系统及引脚。片内含4KB的可重复编程的Flash程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,使用5(1±20﹪)V的电源电压,128×8位的内部RAM,4个8位的双向可位寻址的I/O端口,2个16位定时/计数器,6个中断源,AT89C51单片机可提供许多高性价比的应用,灵活应用于各种控制领域。单片机的P0口及P2口应用于控制南北及东西方向的通行灯,P1口及P3.0、P3.1、P3.3、P3.4口应用于2组LED计时器的控制,P2.6、P2.7、P1.7分别用于南北方向和东西方向和禁止通行的紧急情况。51.2晶振电路、复位电路1.3通行灯输出控制道口交通灯指示采用红、绿、黄发光二极管,南北通行、东西通行各两个。1.4时间显示电路红绿灯通行时间采用数码管显示,这是一种很好的方法。通行剩余时间采用高亮7段LED发光数码管,采用共阳数码管。由于采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。虽然这样在任一时刻只有一位显示器被点亮,但由于视觉残留效应,看起来与全部显示器同时点亮效果完全一样。为了显示LED显示器的动态扫描,不仅要给显示器提供段(字形代码)的输入之外,还要对显示器加位控制,这就是通常所说的段控和位控。因此多位LED显示器接6口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于显示器的位数。时间显示驱动电路如图所示。时间显示驱动电路1.5电源电路整个系统采用的是+5V电压。由于实训没有要求,因此可采用自制不可调的3端稳压器件,用LM7805就可以满足系统电源的要求。LM7805内部是由基准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成的三端集成稳压电源,且其低功耗,高效率,纹波系数小,输出电压稳定。2.1LED显示器简介通常所说的LED显示器由7个发光二极管组成因此也称之为七段LED显示器,其排列形状如图3.10所示。此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。LED显示器中的发光二极管共有两种连接方法:(1)共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。7(2)共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。图3.9LED显示器结构图使用LED显示器时要注意区分这两种不同的接法。为了显示数字或符号,要为LED显示器提供代码,这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。各代码位的对应关系如表3.4。表3.4代码对应关系表代码位D7D6D5D4D3D2D1D0显示段dpgfedcbA3.2单片机AT89C51AT89C51是一种高效微控制器,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)和128×8位的随机存取数据存储器(RAM),该器件采用ATMEL公司的高密度、非易失性存储技术生产,它与MCS-51系统产品兼容,AT89C51单片机功能强大,具有8Kb中央处理器(CPU)和4KbFlash程序存储器,性价比高,可应用于很多要求高性价比的场合,灵活地应用于各个控制领域。83.2.1AT89C51的主要性能·内含4Kb可重编程的FPEROM;·与MCS-51产品指令系统完全兼容;·128×8位的内部RAM;·4个8位(32根)双向可位寻址的I/O端口;·2个16位的计数/定时器;·全双工方式的串行通道(UART);·6个中断源;·5个向量二级中断结构;·最高时钟振荡频率可达12MHz;·指令集中64条为单周期指令,支持6种寻址方式,共111条指令;·低功耗空闲和掉电方式;·片内振荡器和时钟电路。3.2.2AT89C51的引脚功能AT89C51为双列直插(DIP)式封装的51单片机芯片,有40条引脚,其引脚示意及功能分类如图3.2所示。图3.289C51单片机引脚图9各引脚功能说明如下:(1)主电源引脚Vcc(40脚):接+5(1±20﹪)V电源正端;Vss(20脚):接地。(2)I/O引脚P0口(39~32脚):P0.0~P0.7统称为P0口。P0口是一组8位漏极开路型双向I/O口,分时复用为低8位地址总线和双向数据总线。作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口作为原码输入口,当Flash进行校验时,P0口输出原码,此时P0外部必须被拉高。P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。P1是一个带内部上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P1口被外部下拉为低电平时,输出电流,是因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在Flash编程和校验时,P1口作为第八位地址接收。P2口(21~28脚):P2.0~P2.7统称为P2口,一般作为准双向I/O使用。P2是一个带内部上拉电阻的8位双向I/O口。P2的输出缓冲器可驱动4个TTL逻辑门电路。当对P2端口写“1”时,内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在接有片外存储器或扩展I/O口且寻址范围超过256B时,P2口用作高8位地址总线。当给出地址为“1”时,它就利用内部上拉优势,当对外部八位地址数据存储器进行读/写时,P2口便输出其特殊功能寄存器的内容。在FLASH编程和校验时,P2口接收高八位地址信号和控制信号。P3口(10~17脚):P3.0~P3.7统称为P3口。P3口是一组带有内部上拉电阻的8位双向I/O口。P3口的输出缓冲器可驱动4个TTL逻辑门电路接收输出电流。当P3口写“1”时,通过内部的上拉电阻上拉为高电平并作为输入口。此时由于外部下拉为低电平,P3口将输出电流(IIL)。除作为准双向I/O口使用外,还10可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3口第二功能祥见表3.1:表3.1P3口第二功能表口线第二功能信号名称P3.0RXD串行数据接受P3.1TXD串行数据发送P3.2INT0——————外中断0申请P3.3INT1——————外中断1申请P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6WR————外部数据存储器写选通P3.7RD————外部数据存储器读选通(3)外接晶体引脚XTAL1(19脚):它在单片机内部是一个反向放大器的输入端,构成了片内振荡器。当采用外部时钟时,HMOS单片机的该引脚应接地;CHMOS单片机的该引脚作为外部振荡信号的输入端。XTAL2(18脚):它在单片机内部是片内振荡器的反向放大器的输出端。当采用外部时钟时,HMOS单片机的该引脚作为外部振荡信号的输入端;CHMOS单片机的该引脚应悬空不接。11(4)控制线ALE/PROG——————(30脚):地址锁存允许/编程信号。在访问片外程序存储器期间,此信号可用于控制锁存P0输出地址总线的低8位,ALE以每机器周期两次进行信号输出;在FLASH编程期间,此引脚用作编程脉冲PROG——————的输入端。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率fosc的1/6,可作为对外输出的时钟脉冲或用于定时目的。但要注意的是:在访问片外数据存储器期间,ALE脉冲会跳空一个。若想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE执行MOVX,MOVC指令使ALE起作用。另外,该引脚将被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN——————(29脚):片外程序存储器读选通信号输出端,低电平有效。在由外部程序存储器读取指令或常数期间,每个机器周期内PSEN——————两次有效,P0口读回指令或常数。当访问内部程序存储器时,PSEN——————信号不跳变。RST/VPD(9脚):RST即RESET,VPD为备用电源,该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。EA————/VPP(30脚):EA
本文标题:基于AT89c51单片机实现的交通灯
链接地址:https://www.777doc.com/doc-5159328 .html