版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论1。1交通灯控制概述单片机的基本结构是将微型计算机的基本功能部件全部集成在一个半导体芯片上.单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能。另一方面,单片机毕竟是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统[1]。单片机由于体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能,广泛应用于智能仪表、可编程序控制器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域[2]。本课程设计交通灯控制系统采用单片机作为主控制器,外接必要的设备,模拟十字路口的车辆及行人的交通管理,有东西、南北方向的交通指示灯及用于倒计时的数码管,整个系统简单,价格低廉,并能真实模拟现实情况。1.2主要研究工作1.完成系统硬件电路设计单片机采用MCS51系列键盘为4×4行列式键盘,按键设有启动、停止、白天、黑夜功能键.两个3位的LED数码管,南北方向和东西方向个一个,用来显示时间。完成系统软件设计键盘管理程序(包括键扫描、键处理程序)。LED数码管显示程序。控制交通灯程序实现系统要求的功能:在LED数码管上显示倒计时秒的时间.采用LED模拟信号灯,信号灯分东西、南北二组,分别有“红”“黄”“绿”三种颜色。其工作状态由单片机程序控制,“启动”、“停止”按钮分别控制信号灯的启动和停止。“白天/黑夜”开关控制信号灯白天/黑夜转换。按下“启动”按钮开始工作,按下“停止”按钮停止工作,“白天/黑夜”开关按下闭合时为黑夜工作状态,这时只有黄灯闪烁,断开时按时序控制图工作。第二章基础知识介绍2.1主控制器AT89C52主控制器采用MCS51系列单片机AT89C52,AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元MCS51单片机的内部基本结构框图如图2—1所示,由以下部分组成[4]:(1)一个8位的微处理器(CPU)。(2)片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及状态标志位等。(3)片内程序存储器ROM(4KB),用以存放已编制好的程序及程序中用到的常数.(4)四个8位并行I/O接口P0~P3,每个口既可以用作输入,也可以用作输出使用。(5)两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(6)五个中断源的中断控制系统,提供两个中断优先级,能实现两级中断嵌套。(7)一个全双工串行异步通信接口,用于实现单片机之间或单机与微机之间的串行通信。(8)片内振荡器和时钟产生电路,但需要外接石英晶体和微调电容,最高允许振荡频率为12MHz。单片机内部各功能部件通过内部总线连接,传送地址信息、数据信息和控制信息,各功能部件分时使用总线,即所谓的内部单总线结构。AT89C52与其他MCS51单片机的不同之处在于具有8KB可反复擦写(大于1000次)FlashROM以及3个16位可编程定时/计数器中断。可反复擦写的图2—图2—12。2LED数码管模块LED数码管是由若干个发光二级管组成显示字段的显示器件,有七段和“米"字段之分。LED数码管有共阴极和共阳极两种,发光二极管的阳极接在一起的称为共阳极数码管,阴极接在一起的称为共阴极数码管。一个数码管由8个发光二极管组成,其中,7个发光二极管a~g构成字型“8”的各个笔划,另一个dp发光二极管为小数点.当某段发光二极管上施加一定的正向电压时,该段比划就亮;不加电压就暗.另外,为了保护各段LED不被损坏,应该使其工作在安全电流下,故必须外加限流电阻.本系统使用三位共阴七段数码管,其引脚如下图所示:在实际应用中,LED数码管有静态显示和动态显示两种显示方式.静态显示方式,即七段LED数码管在显示某一个字符时,相应的段恒定的导通或截止,直至换显其他字符为止。LED的静态显示虽然有编程容易、管理简单等优点,但是静态显示所要占的I/O口资源很多,所以在显示的LED点较多的情况下,一般都采用动态显示方式,即在多位七段LED显示中,将所有位的段选线并联在一起,由8个I/O口来控制8个段。而公共端(共阳极/共阴极)则分别由相应的I/O口控制,以实现各个位的分时选通。由于所有的段选线并联到同一个I/O,由这个I/O口来控制,因此,若是所有的4位7段LED都选通的话,4位7段LED将会显示相同的字符。要使各个位的7段LED显示不同的字符,就必须采用动态扫描方法来轮流点亮每一位7段LED,即在每一瞬间只选通一位7段LED进行显示单独的字符。在此段点亮时间内,段选控制I/O口输出要显示的相应字符的段选码,而位选控制I/O口则输出位选信号,向要显示的位送出选通电平(共阴极则送出低电平,共阳极则送出高电平),使得该位显示相应字符。这样将四位7段LED轮流去点亮,使得每位分时显示该位应显示的字符.由于人眼的视觉暂留时间为0。1秒,当每位显示的间隔未超过33ms时,并在显示时保持直到下一位显示,则由于人眼的视觉暂留效果眼睛看上去就像是4位7段LED都在点亮。设计时,要注意每位显示的间隔时间,由于一位7段LED的熄灭时间不能超过100ms,也就是说点亮其它位所用的时间不能超过100ms,这样当有N位的7段LED用来显示时,每一位间隔的时间t就必须符合下面的式子:t≦100ms/(N—1)比如,现在使用3位,也就是N=3,则由式子可以算出t≦50ms,就是每一位的间隔时间不能超过33ms。实际应用中,时间可以设得短一些,比如5ms[5]。2。3键盘模块在单片机应用系统中,用户要向计算机输入数据和命令,这些任务主要由键盘来完成.键盘由若干个按键按一定规则组合而成,根据按键的识别方法分类,可分为编码键盘和非编码键盘,在单片机系统中多用非编码键盘。键盘中的按键都是一个常开开关电路,是利用机械触点来实现按键的闭合和释放.由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象。键的抖动时间一般为5~10ms。这种现象会引起单片机对于一次键操作进行多次处理,因此须设法消除键接通或断时的抖动现象.去抖动的方法有硬件和软件两种方法,本系统采用软件延时的方法来避开抖动阶段.采用软件去抖动的方法是在单片机检测到有键按下时执行一个5~10ms的延时程序后再次检查该键电平是否仍保持闭合状态.如保持闭合状态,则确认为有键按下,否则按无键按下处理.当检测到按键释放后,也同样要延时5~10ms,等待后沿抖动消失后才能转入该键的处理程序,只有这样才能保证当按键一次时,CPU仅做一次相应处理。无论是编码键盘还是非编码键盘键盘都可分为独立连接式和矩阵式两类。独立式键盘是每一个键对应I/O口的一根口线,各键是相互独立的。独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用.矩阵式键盘按矩阵方式连接,每条行线与列线的交叉处通过一个按键来连通,则只需N条行线和M条列线,即可组成N×M个键的键盘。对于矩阵式的非编码键盘,常用的按键识别方法有两种:扫描法和线翻转法,通常采用扫描法。下面介绍一种“行扫描法",行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,过程如下:1. 判断键盘中有无键按下,将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2。 判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键[6]。2.474LS57374LS573的原理:74LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制HYPERLINK”。./。./。。/DocumentsandSettings/index.html"不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入.这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器[7]。74LS573的引脚功能表如下:管脚号功能D0-D7数据输入LE锁存使能输入(高电平有效)OE3态输出使能输入(低电平有效)Q0-Q73态锁存输出第三章系统硬件电路设计整套电路系统由主控制系统电路、信号灯显示电路、数码管时间显示电路和矩阵式键盘电路等组成.采用LED动态扫描的交通灯控制系统总电路原理图和印刷电路板图(PCB)如下所示:图3—1图3-23.1主控制系统电路主控制器采用MCS51系列单片机AT89C52,是一款性能稳定的8位单片机。AT89C52单片机内部由CPU、8KB的FlashROM、256B的RAM、4个8位的I/O并行端口、一个串行口、三个16位定时/计数器及中断系统等组成.AT89C52外部需接时钟电路和复位电路,3.1。1时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图3—1所示。在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲[8].图3-3中,外接晶体以及电容C2和C3构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为30pF左右,晶振频率约为12MHz。图3-3图3-33。1。2为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H,SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式[9]。图3—4中R1和Cl组成上电复位电路,其值R取为1KΩ,C取为10pF。图3-43.2信号灯显示电路P3口外接6个发光二极管模拟交通指示灯,采用共阳极接法,相应口线输出高电平则“信号灯"灭,相应口线输出低电平则“信号灯"亮。为了保护发光二极管不被损坏,应该使其工作在安全电流下,故必须外加限流电阻,选用1k的电阻,如图3—5所示。图3-5图3-53。3数码管时间显示电路LED数码管通过P0和P2口以共阴极接法连接,如图3-6所示,P0作字形口,输出段码,故两个数码管的段码线对应并联在一起,由P0口控制数码管的显示.P2口作字位口,输出位码。其中,P2.0~P2。3分别控制两个数码管的个、十位显示,以实现各位的分时选通。P0口是一个8位漏极开路型双向I/O口,在驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平输出有效,故电路设计时,P0口需先接一个排阻,才能再连接其他部件。P0口经排阻后,连接74LS573芯片,用于锁存数码管显示数字的信息,再连接到两个三位共阴数码管。使用锁存器的原因是:在数码管显示时,要维持一个数据的显示,往往要持续的快速的刷新。在人类能够接受的刷新频率之内,大概每三十毫秒就要刷新一次。这就大大占用了处理器的处理时间,消耗了处理器的处理能力,还浪费了处理器的功耗。锁存器的使用可以大大的缓解处理器在这方面的压力。当处理器把数据传输到锁存器并将其锁存后,锁存器的输出引脚便会一直保持数据状态直到下一次锁存新的数据为止.这样在数码管的显示内容不变之前,处理器的处理时间和IO引脚便可以释放。可以看出,处理器处理的时间仅限于显示内容发生变化的时候,这在整个显示时间上只是非常少的一个部分.而处理器在处理完后可以有更多的时间来执行其他的任务。这就是锁存器在数码管显示方面的作用:节省了宝贵的MCU时间[10]。图3—63.4矩阵式键盘电路80C51单片机的并行口P1接4×4行列式键盘,其中P1.0~P1.3接列线,P1。4~P1。7接行线。实际使用的功能键为:“A"为启动功能按键,“B"为停止功能按键,“C”为白天功能按键,“D"为黑夜功能按键。开机通电后,需按下“启动”键才能进入正常工作,默认为白天工作模式,在此之后按下“停止"键,则数码管和指示灯均不再显示,只有重新按下“启动”键才能重新正常工作;按下“黑夜”键,则由白天模式切换为黑夜模式,此时黄灯不停闪烁,再按下“白天"键,则切换到白天模式。第四章电路板的制作4.1设备介绍电路板制作主要用的设备有:STR—FⅡ多功能环保型快速制板系统厂商:福建时创电子科技有限公司钻孔机4.1制作过程此次制板采用曝光——显影-—蚀刻——打孔——焊接元件的方法,过程大致如下:真空双面曝光,将已准备好的图纸和线路板放到曝光机中曝光。在铜层上有一层感光材料,用曝光机将线路图打印到感光层上。取出已曝光好的电路板放到显影的容器中进行显影,该过程中由于时间把握不是很好,导致显影过度,部分铜上有小的孔洞,但并不影响电路板的使用.先将显影过的电路板用清水冲洗干净,再放到蚀刻的容器中进行蚀刻,双手控制电路板上下轻微振动有助于加快蚀刻的速度。使用打孔机进行打孔.焊接元件,先焊小的元件,再焊大的元件。焊接时,先用焊枪对焊盘预热几秒钟,再送焊丝进行焊接,焊接好了,先移走焊丝,再移走焊枪。第五章系统软件设计程序的设计说明如下:白天模式使用定时器T0(同时关闭定时器T1),选择模式1,定时时间为10ms,计算可得初值为:TL0=#0F0H,TH0=#0D8H。黑夜模式使用定时器T1(同时关闭定时器T0),选择模式1,定时时间为10ms,计算可得初值为:TL0=#0F0H,TH0=#0D8H。程序中使用的寄存器含义说明:R3,用于南北方向计时;R4,用于东西方向计时;R5,用于黄灯闪烁计时1.2s;R6,用于计时1s;R7,用于延迟程序。系统的信号灯控制时序如下图所示:南北向东西向绿1南北向东西向黄1红1绿2黄2红220S6S40S6S东西线、南北线的交通指示灯状态及相应的控制码如下表所示:状态持续时间/s南北线东西线控制码绿灯黄灯红灯绿灯黄灯红灯P3P3.5P3.6P3。7P3.0P3。1P3.4120亮灭灭灭灭亮11001111(#0CFH)26灭闪亮灭灭灭亮10101111(#0AFH)340灭灭亮亮灭灭01111110(#07EH)46灭灭亮灭闪亮灭01111101(#07DH)5(1)20亮灭灭灭灭亮11001111(#0CFH)黑夜不定灭闪亮灭灭闪亮灭10111101(#0BDH)本程序主要分为三个部分:主程序:交通信号灯的控制程序,默认按白天模式运行。LED数码管显示程序:采用动态显示模式,调用定时器T0,每10ms动态显示一次;键盘管理程序:分为键盘扫描程序以及键盘处理程序,其中,在每次动态显示与黑夜黄灯闪烁的间隔间不断调用键盘扫描程序。各程序的流程图及程序代码如下:主程序:ORG0000HAJMPMAIN1;转主程序ORG000BHLJMPDSHI1;转定时器0服务子程序ORG001BHLJMPDSHI2;转定时器1服务子程序ORG0100HMAIN1:MOVP1,#0F7H;按键扫描,有键按下则延时消抖MOVA,P1ORLA,#0FHCPLAJNZD5SJMPMAIN1D5:MOVR7,#20H;消抖处理,确有键按下则转判断按键程序D6:DJNZR7,D6MOVP1,#0F7HMOVA,P1ORLA,#0FHCPLAJNZPDUAN3SJMPMAIN1PDUAN3:MOVP1,#0F7H;判断启动键是否按下,是则开始工作,否则继续扫描MOVA,P1JNBACC.4,MAINAJMPMAIN1MAIN:MOVSP,#50H;主程序MOVIE,#8AH;允许中断MOVTMOD,#11H;设置定时方式1MOVTL0,#0F0H;定时10msMOVTH0,#0D8HCLRTR1;关闭黑夜模式定时器SETBTR0;打开白天模式定时器ZTAI1:MOVR3,#20;东西向红灯亮,南北向绿灯亮MOVR4,#26MOVP3,#0CFHZTAI12:LCALLJPANCJNER3,#00,ZTAI12;是否够20sZTAI2:MOVR3,#6;东西向红灯亮,南北向黄灯闪MOVP3,#0AFHZTAI21:MOVR5,#00HZTAI22:LCALLJPANCJNER5,#64H,ZTAI22;是否够6sCPLP3。6CJNER3,#00H,ZTAI21ZTAI3:MOVR3,#46;东西向绿灯亮,南北向红灯亮MOVR4,#40MOVP3,#07EHZTAI32:LCALLJPANCJNER3,#06,ZTAI32;是否够40sZTAI4:MOVR4,#6;东西向黄灯闪,南北向红灯亮MOVP3,#07DHZTAI41:MOVR5,#00HZTAI42:LCALLJPANCJNER5,#64H,ZTAI42;是否够6sCPLP3。1CJNER4,#00H,ZTAI41SJMPZTAI1;返回,继续执行主程序2、LED数码管显示程序:
DISP:MOVB,#0AH;显示子程序MOVA,R3DIVABMOV79H,AMOV7AH,BMOVA,79HMOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVP0,AMOVP2,#11110111BCALLDELAYMOVA,7AHMOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVP0,AMOVP2,#11111011BCALLDELAYMOVB,#0AHMOVA,R4DIVABMOV79H,AMOV7AH,BMOVA,79HMOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVP0,AMOVP2,#11111101BCALLDELAYMOVA,7AHMOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVP0,AMOVP2,#11111110BCALLDELAYMOVP2,#11111111BRETDELAY:MOVR7,#0F0H;延时子程序DELOOP:NOPNOPNOPDJNZR7,DELOOPRETLEDMAP:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;字形码表DB7FH,6FH,77H,7CH,39H,5EH,79H,71HEND3、键盘管理程序:①键盘处理程序:“启动”处理程序:跳转至主程序MAIN;“停止”处理程序:STOP:CLRTR0;“停止”按键子程序CLRTR1MOVP3,#0FFHMOVP0,#11111111BMOVP2,#11111111BMOVP1,#0F7HSTOP1:MOVA,P1ORLA,#0FHCPLAJNZD3SJMPSTOP1D3:MOVR7,#20HD4:DJNZR7,D4MOVP1,#0F7HMOVA,P1ORLA,#0FHCPLAJNZPDUAN2SJMPSTOP1PDUAN2:MOVP1,#0F7HMOVA,P1JNBACC.4,STARTSJMPSTOP1“白天”处理程序:跳转至主程序MAIN;“黑夜”处理程序:NIGHT:CLRTR0;黑夜子程序MOVP0,#11111111BMOVTL1,#0F0HMOVTH1,#0D8HSETBTR1MOVP3,#0BDHNIGHT1:MOVR5,#00HNIGHT2:LCALLJPANCJNER5,#64H,NIGHT2CPLP3.1CPLP3.6SJMPNIGHT1②键盘扫描程序:JPAN:MOVP1,#0F7H;键盘扫描子程序MOVA,P1ORLA,#0FHCPLAJNZD1RETD1:MOVR7,#20HD2:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年无障碍环境建设法楼栋改造相关规定在适老化中应用
- 2026年养老社区服务质量评价指标体系构建指南
- 2026年区块链技术在碳排放数据存证与溯源中的应用
- 2026年现房项目融资主办银行制与购房者权益保障
- 湖北省黄冈市季黄梅县2026年初三下学期联考生物试题含解析
- 2026年湖北省武汉市江岸区重点名校初三一模考试生物试题含解析
- 2026年保险资金长期投资改革试点优先投资科技型企业操作指南
- 嘉兴市重点中学2026届初三下学期第一次质检生物试题含解析
- 2026届山东省聊城市临清市初三下学期期中测试化学试题含解析
- 湖南广益中学2026年初三下学期二轮质量检测试题化学试题含解析
- 小学二年级下册《人与社会》教案
- 第一单元 一方水土一方情跟着课文探民风 整体公开课一等奖创新教学设计
- 租赁合同(2025年写字楼转租)
- 2025-2030中国对叔丁基苯甲酸市场竞争格局展望与营销创新发展趋势研究报告
- 2026年春季人教版小学数学三年级下册教学计划(含进度表)
- 《作文写作与文化素养培养》
- 群众工作方面存在问题及整改措施
- 保密方案(档案数字化)
- 玻璃体视网膜术后护理
- 结核病的知识讲座
- 园林植物主要食叶害虫及防治
评论
0/150
提交评论