您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 单片机红绿灯电路设计
1/35四川现代职业学院《单片机原理及应用》课程设计红绿灯实训报告题目:红绿灯项目设计报告系别:电子信息技术系专业:电子信息工程技术组员:贺淼、纪鹏、邵文稳指导老师:陶薇薇2014年7月12日摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的2/35日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本系统采用STC89C52点单片机以及数码管为中心器件来设计交通灯控制器,实现了南北方向为主要干道,要求南北方向每次通行时间为30秒,东西方向每次通行时间为25秒。启动开关后,南北方向红灯亮25秒钟,而东西方向绿灯先亮20秒钟,然后闪烁3秒钟,转为黄灯亮2秒钟。接着,东西方向红灯亮30秒钟,而南北方向绿灯先亮25秒,然后闪烁3秒钟,转为黄灯亮2秒钟,如此周而复始。软件上采用C语言编程,主要编写了主程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。目录(一)硬件部分---------------------------31.1STC89C52芯片简介-----------------------31.2主要功能特性---------------------------41.3STC89C52芯片封装与引脚功能-------------51.4基于STC89C52交通灯控制系统的硬件电路分析及设计-------------------------------------------10(二)软件部分----------------------------143/352.1交通灯的软件设计流程图-----------------142.2控制器的软件设计-----------------------15(三)电路原理图与PCB图的绘制-------------163.1电路原理图的绘制(见附录二)----------163.2PCB图的绘制(见附录三)---------------163.3印刷电路板的注意事项------------------16(四)调试及仿真---------------------------------------194.1调试----------------------------------194.2仿真结果------------------------------20(五)实验总结及心得体会---------------------------215.1实验总结-----------------------------------------------215.2实验总结-----------------------------------------------22附录程序清单---------------------------22(一)硬件部分1.1STC89C52芯片简介STC89C52是一个低功耗,高性能CMOS8位单片机,片内含4/358kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。STC89C52具有如下特点:40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,STC89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。1.2主要功能特性:·兼容MCS-51指令系统·8k可反复擦写(1000次)ISPFlashROM5/35·32个双向I/O口·4.5-5.5V工作电压·3个16位可编程定时/计数器·时钟频率0-33MHz·全双工UART串行中断口线·256x8bit内部RAM·2个外部中断源·低功耗空闲和省电模式·中断唤醒省电模式·3级加密位·看门狗(WDT)电路·软件设置空闲和省电功能·灵活的ISP字节和分页编程·双数据寄存器指针表1-1-11.3STC89C52芯片封装与引脚功能STC89C52芯片的尾缀第一个字母共4种,分别是A,J,P,Q,表示的是封装类型,A是TQFP封装(四方密脚扁平塑封封装),J是PLCC封装(塑封J形脚),P是PDIP也就是双列直插封装,Q是QPFP封装(四方扁平塑封封装)。第二个字母共3种,分别是C,I,A,表示的是允许的环境温度,C为商业级,工作温度0至+70摄氏度;I为工业级,工作温度-40至+85度;A为汽车6/35工业级,工作温度-40至+105度。这两个字母前的数字表示最高主频,如12为12M,16为16M,20为20M,24为24M。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业STC89C52产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程FlashSTC89C521.3.1P0口介绍P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地7/35址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。1.3.2P1口介绍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位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)1.3.3P2口介绍P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”8/35时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。1.3.4P3口介绍P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚的第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)9/35P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。1.3.5控制信号介绍RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)10/35时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp1.4基于STC89C52交通灯控制系统的硬件电路分析及设计1.4.1各部分电路分析(1)电源电路单片机工作时需要的+5V电压,本设计采用普通的电源接口,通过5V的电源适配器供电。电源部分还连接开关和发光二极管,用于判断电源是否正常工作。需要注意的是,滤波电容对于电路设计非常重要,不加滤波电容会导致系统不稳定。因此在电源部分10UF铝电解作为滤波电容。(2)复位电路STC89C52的复位输入引脚RST为单片机提供了初始化的手段,可以使程序从指定处开始执行,在STC89C52的时钟11/35电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位操作。只要RST保持高电平,则单片机循环复位。只有当RST有高电平变为低电平以后,单片机才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路,如图二所示,当复位键按下时,系统自动切换到四个方向都只有黄灯亮的
本文标题:单片机红绿灯电路设计
链接地址:https://www.777doc.com/doc-7040664 .html