单片机课程设计-基于单片机的交通灯控制系统设计bned.docx
单片机课程设计用纸目录1硬件件设计方方案- 2 -1.1总总方案设设计- 2 -1.2 中央处处理单元元- 22 -1.3 红、绿绿、黄灯灯显示部部分- 2 -1.4时时间显示示部分- 3 -1.5按按键部分分- 44 -2主要要电路原原理分析析和说明明- 44 -2.1红红、绿、黄黄灯显示示电路- 4 -2.2时时间显示示电路- 5 -2.3按按键电路路- 66 -2.4时时钟及复复位电路路,- 7 -其电路原原理图如如图2.4所示示- 77 -2.5完完整电路路原理图图- 77 -2.6单单片机相相应管脚脚及功能能说明- 9 -3.软件件设计流流程及描描述- 11 -3.1程程序流程程图- 11 -4.调试试- 112 -(1)硬硬件调试试- 112 -(2)软软件调试试- 112 -5.结束束语- 12 -6.参考考文献- 133 -7.附录录- 114 -1.源程程序代码码- 114 -2.实物物图- 17 -【摘要】:近年来来随着科科技的飞飞速发展展,单片片机的应应用正在在不断地地走向深深入,同同时带动动传统控控制检测测日新月月益更新新。在实实时检测测和自动动控制的的单片机机应用系系统中,单单片机往往往是作作为一个个核心部部件来使使用,仅仅单片机机方面知知识是不不够的,还还应根据据具体硬硬件结构构,以及及针对具具体应用用对象特特点的软软件结合合,加以以完善。交交通信号号灯的出出现,使使交通得得以有效效管制,对对于疏导导交通流流量、提提高道路路通行能能力,减减少交通通事故有有明显效效果。本本系统采采用单片片机STTC899C522RC为为中心器器件来设设计交通通灯控制制器,控控制十字字路口的的红、绿绿、黄灯灯交替点点亮和熄熄灭,并并且利用用4只数数码管显显示十字字路口两两个方向向的剩余余时间。要要求能用用按键设设置两个个方向的的通行时时间(绿绿、红灯灯点亮的的时间)和暂缓缓通行时时间(黄黄灯点亮亮时间)。系系统实用用性强、操操作简单单、扩展展性强。【关键字字】:单单片机SSTC889C552RCC 按键设设置 时间间显示1硬件件设计方方案1.1总总方案设设计 整个个交通灯灯控制系系统可分分为五大大部分:中央处处理单元元(CPPU)、红红、绿、黄黄灯显示示部分、时时间显示示部分、按按键部分分、复位位与时钟钟部分。硬硬件原理理框图如如下图11.1-1所示示:按键电路部分时钟复位电路单片机AT89C52红黄绿灯显示时间显示图1.11-1:硬件原原理框图图1.2 中央处处理单元元CPU选选用STTC899C522RC对对整个系系统进行行控制:(1)它它将数据据输出到到数码管管和LEED显示示。(2)根根据按键键输入调调用相应应键处理理子程序序,实现现对红、绿绿、黄灯灯点亮及及显示时时间的调调整和设设定。1.3 红、绿绿、黄灯灯显示部部分红、绿、黄黄灯显示示模块:用单片片机驱动动LEDD显示。硬硬件原理理图如图图1.11-2单片机AT89C52LED显示红灯状态LED显示绿灯状态LED显示黄灯状态图1.11-2:红绿黄黄灯显示示原理图图红、绿、黄黄灯显示示模块:为方便便观看并并考虑到到现实情情况,用用LEDD灯显示示提示信信息。这这种方案案既满足足系统功功能要求求,又减减少了系系统实现现的复杂杂度。1.4时时间显示示部分时间的显显示模块块:经分分析过相相向的灯灯的状态态和倒计计时都是是相同的的,可采采用两组组四个数数码管。同同时为了了节省口口资源,采采用串口口显示的的方式驱驱动数码码管,其其硬件原原理图如如图1.1-33单片机AT89C52数码管1显示数码管4显示数码管2显示数码管3显示图1.11-3:时间显显示原图图1.5按按键部分分 按键键模块:采用独独立方式式,通过过检测输输入线的的电平状状态可以以很容易易的判断断哪个键键按下。由由于独立立式键盘盘编程简简单,且且可以完完全达到到要求,所所以采用用独立式式键盘控控制。 本系统统采用三三个按键键:分别别是绿灯灯时间设设置键、黄黄灯时间间设置键键、确认认键。2主要要电路原原理分析析和说明明2.1红红、绿、黄黄灯显示示电路:接口电电路如图图2.11所示:图2.11:红绿绿黄灯接接口电路路图红、绿、黄黄灯显示示电路,用用P1口口的P11.0 P1.1 PP1.22 P11.3 P1.4 PP1.55分别接接一个LLED作作为东西西、南北北两个方方向的红红、绿、黄黄灯。通通过编程程显示东东西、南南北两个个方向的的交通灯灯点亮情情况。当当p1口口输出信信号为00时与之之对应相相连的lled点点亮。2.2时时间显示示电路 时间显显示电路路:电路路原理图图如图22.2所所示:图2.22:时间间显示电电路图在时间显显示电路路中,考考虑到动动态显示示需用很很多I/O口,本本着节约约资源的的原则故故采用串串口接774lss1644串入并并出的方方式驱动动数码管管,分别别显示东东西、南南北两条条干道所所剩余的的时间。由由74lls1664的特特性选用用共阳极极7段数数码管,中中间接00.3kk限流电电阻。第第1片774lss1644ab端端接单片片机rxxd作为为信号输输入,其其高位接接第2片片ab端端,以此此类推。44片744ls1164的的Clk端端全部接接txdd端,作作为信号号输入同同步信号号。2.3按按键电路路 按键键电路:电路原原理如图图2.33所示:图2.33:按键键电路图图 图中中S3为为黄灯时时间设置置键、SS2为绿绿灯时间间设置键键、S11为确认认键。通通过调用用子程序序,按SS3可以以设置黄黄灯闪烁烁的时间间;按SS2可以以设置绿绿灯点亮亮的时间间;由于于红灯点点亮的时时间等于于绿灯点点亮的时时间加上上黄灯闪闪烁的时时间所以以可以不不用设置置;按下下S1确确认后,就就可以按按照设定定好的时时间运行行。2.4时时钟及复复位电路路,其电路原原理图如如图2.4所示示图2.44:时钟钟及复位位电路图图时钟部分分采用112Mhhz晶振振及300pf电电容,复复位部分分采用222uff极性电电容,RR10为为0.33k电阻阻,R111为11k电阻阻接地,该该复位电电路具有有上电复复位及手手动复位位功能。2.5完完整电路路原理图图 电路原原理图如如图2.5所示示:单片机系系统采用用STCC89CC52RRC为核核心,时时钟信号号采用112MHHZ晶振振,采用用独立式式键盘;显示部部分用LLED和和数码管管相结合合,分别别显示交交通灯点点亮情况况和剩余余时间。图2.55:完整整电路原原理图2.6单单片机相相应管脚脚及功能能说明 VCCC:供电电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写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”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能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编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.软件件设计流流程及描描述3.1程程序流程程图 本设计计的总体体流程图图,如图图3.11所示开始初始化设置时间,确认东西绿灯亮,南北红灯亮延时,将时间送显东西黄灯闪,南北红灯亮亮延时,将时间送显东西红灯亮,南北绿灯亮延时,将时间送显东西红灯亮,南北黄灯闪延时,将时间送显图3.11:设计计总体流流程图4.调试试(1)硬硬件调试试第一步:目测。检检查外部部的各种种元件或或者是电电路是否否有断点点。第二步:用万用用表测试试。先用用万用表表复核目目测中有有疑问的的连接点点,再检检测各种种电源线线与地线线之间是是否有短短路现象象。第三步:加电检检测。给给板加电电,检测测所有插插座或是是器件的的电源端端是否符符合要求求的值 第四步:是联机机检查。因因为只有有用单片片机开发发系统才才能完成成对用户户系统的的调试。 (2)软软件调试试:软件调试试是通过过对程序序的汇编编、连接接、执行行来发现现程序中中存在的的语法错错误与逻逻辑错误误并加以以排除纠纠正的过过程。通过调试试我们发发现了一一些问题题,发现现数码管管显示有有乱码,仔仔细排除除发现是是数码管管显示字字形表与与实际接接法不符符,导致致显示乱乱码。通通过改变变字型码码问题得得到解决决。按键键反应太太快导致致按下键键数字猛猛闪,通通过在按按键程序序中加入入延时程程序问题题也得到到解决。5.结束束语通过单片片机课程程设计,我我们不仅仅加深了了对单片片机理论论的理解解,将理理论很好好地应用用到实际际当中去去,而且且我还学学会了如如何去培培养我们们的创新新精神,从从而不断断地战胜胜自己,超超越自己己。同时时,更重重要的是是,我们们在这一一设计过过程中,学学会了坚坚持不懈懈,不轻轻易言弃弃。6.参考考文献1张张毅刚,彭彭喜元编编著.单单片机原原理与应应用设计计.北京京.电子子工业出出版社,220088.42余余锡存,曹曹国华编编著.单单片机微微机原理理及接口口技术M.西安:西安电电子科技技出版社社,20000.12-143 何立民民.单片片机应用用技术大大全.北北京:北北京航空空航天大大学出版版社, 1999444 谭谭浩强.单片机机课程设设计. 北京:清华大大学出版版社,1198997.附录录1.源程程序代码码K1 EEQU P0.0K2 EEQU P0.1K3 EEQU P0.2ORG 00000H LJJMP MAIIN ORRG 000300H MMAINN:MOOV PP0,#0FFFH MOOV PP1,#0EBBH ;东西绿绿南北黄黄,数码码管显示示相应时时间 MOOV RR1,#10 ;设设置最小小值 MOOV RR2,#2 LCCALLL BBB SW11:JBB K11,SWW2 ;按下则则程序运运行,否否则设置置初值 LCCALLL DEELAYY10MMS JBB K11,SWW2 MOOV 770H,R1 MOOV AA,R22 ADDD AA,R11 MOOV 771H,A MOOV PP1,#0C00H LCCALLL DEELAYY5000MS SJJMP N0 SW22:JBB K22,SWW3 ;设设置绿灯灯时间 LCCALLL DEELAYY10MMS JBB K22,SWW3 INNC RR1 CJJNE R1,#611,BBB MOOV RR1,#10 SJJMP BB SW33:JBB K33,SWW1 ;设置黄黄灯时间间 LCCALLL DEELAYY10MMS JBB K33,SWW1 INNC RR2 CJJNE R2,#6,BB MOOV RR2,#2 BBB:MOOV RR0,#30HH LCCALLL DIISP SJJMP SW11; N00:MOOV RR1,770H MOOV RR2,771H MOOV PP1,#0EEEH S11:MOOV RR0,#30HH ;东西绿绿南北红红 DEEC RR1 DEEC RR2 LCCALLL DIISP LCCALLL DEELAYY CJJNE R1,#000H,SS1 S22:MOOV RR0,#32HH ;东东西黄闪闪南北红红 MOOV PP1,#0F66H DEEC RR2 LCCALLL DIISP LCCALLL DEELAYY5000MS MOOV PP1,#0FEEH LCCALLL DEELAYY5000MS CJJNE R2,#000H,SS2 MOOV RR1,770H MOOV RR2,771H MOOV PP1,#0DDDH S33:MOOV RR0,#34HH ;东东西红南南北绿 DEEC RR1 DEEC RR2 LCCALLL DIISP LCCALLL DEELAYY CJJNE R1,#000H,SS3 S44:MOOV RR0,#32HH ;东西红红南北黄黄闪 MOOV PP1,#0DBBH DEEC RR2 LCCALLL DIISP LCCALLL DEELAYY5000MS MOOV PP1,#0DFFH LCCALLL DEELAYY5000MS CJJNE R2,#000H,SS4 SJJMP N0;延延时程序序; DELLAY110MSS:MOOV RR7,#20 D11:MOOV RR6,#2488 NOOP DJJNZ R6,$ DJJNZ R7,D1 REETDELAAY5000MSS:MOOV RR5,#50 D22:LCCALLL DEELAYY10MMS DJJNZ R5,D2 REET DEELAYY:MOOV RR4,#1000 D33:LCCALLL DEELAYY10MMS DJJNZ R4,D3 REET;显显示程序序; DDISPP:MOOV AA,R11 MOOV BB,#110 DIIV AAB MOOV 330H,B MOOV 331H,A MOOV 336H,B MOOV 337H,A MOOV AA,R22 MOOV BB,#110 DIIV AAB MOOV 332H,B MOOV 333H,A MOOV 334H,B MOOV 335H,A MOOV RR3,#04 MOOV SSCONN,#000H MOOV DDPTRR,#TTAB LLOOPP:MOOV AA,RR0 MOOVC A,A+DDPTRR MOOV SSBUFF,A JNNB TTI,$ CLLR TTI INNC RR0 DJJNZ R3,LOOOP REET TABB:DBB 033H,99FH,25HH,0DDH,999H,49HH,411H,11FH,01HH,099H ;0,11,2,33,4,55,6,77,8,99 ENND2.实物物图- 23 -