您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 用单片机设计交通灯课设报告
单片机原理及接口技术课程设计报告设计题目:人车分行交通信号指挥灯的控制学号:姓名:指导教师:信息与电气工程学院二零一四年七月人车分行交通信号指挥灯的控制在生活中,我们在各个路口基本都可以看到交通信号灯,道路交通信号灯是交通安全产品中的一种类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。系统具有结构简单、可靠性高、成本低等优点,有广泛的应用前景。本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路、时钟产生电路等组成,较好的模拟了交通路面的控制,利用单片机良好的控制功能来进行设计,应用更灵活,功能更强大,也更智能化。通过C语言编程,单片机做控制,加上8个LED灯指示交通红绿灯、8155控制数码管倒计时显示来实现基本功能,外加处理突发中断情况的的紧急按钮来模拟儿童在红灯过程中误闯的情况,并有带蜂鸣器报警。1.设计任务结合实际情况,基于AT89C51单片机设计一个人车分行交通信号指挥灯。该系统应满足的功能要求为:(1)交通红绿灯显示;(2)倒计时设置;(3)儿童过马路提示。主要硬件设备:AT89C51单片机、8个LED灯、两个数码管显示器、蜂鸣器、8155I/O口扩展芯片列写交通灯变化表表1-1利群超市门前路口交通灯变化情况表状态延时(s)状态维持时间亮:人行绿灯,东西、南北直行红灯20s亮:人行红灯,东西直行绿灯、南北直行红灯60s亮:人行红灯,东西直行黄灯,南北直行红灯3s亮:人行红灯,南北直行绿灯,东西直行红灯30s亮:人行红灯,南北直行黄灯,东西红灯3s2.整体方案设计人车分行交通信号指挥灯以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个人车分行交通信号指挥灯控制的硬件系统。该系统用8个LED灯模拟东西南北红黄绿灯以及人行红绿灯,用AT89C51的P1口的8个管脚与其连接,两位数码管显示器显示各个状态的倒计时,而数码管显示器由8155的PA口和PB口控制,PB口控制数码管的段选码,PA口控制数码管的位选码,实现动态显示,节省管脚的使用,AT89C51的管脚P3.0和P3.2分别连接蜂鸣器和应对突发状况的紧急开关。本系统硬件主要AT89C51单片机、8155I/O口扩展芯片、LED输出模块、拨码开关、六位数码管显示器,蜂鸣器六部分组成。各模块的主要功能如下:(1)AT89C51作为整个系统的控制核心,通过编程控制各个模块;(2)8155的功能是控制数码管显示器;(3)LED输出模块的功能是指示两个路口的红黄绿灯、人行红绿灯灯变化情况;(4)数码管显示器的功能是显示倒计时时间;(5)拨码开关的功能是在儿童误闯状况时按下,使蜂鸣器发出报警声,防止发生交通事故。系统的整体设计方案设计图如图2-2所示。电源供电电路AT89C51时钟电路复位电路8个LED灯8155蜂鸣器3个2位倒计时数码管图2-2交通灯整体设计图3.系统硬件电路设计3.1复位电路如图3-1是复位电路图C310uFR11kR210k复位电路3.2时钟产生电路如图3-2是时钟产生电路C130pFC230pFX1CRYSTAL时钟产生电路3.38155I/O口扩展芯片的基本介绍3-38155I/O口扩展芯片引脚图:(1)其基本外型如图3-3所示(2)其管脚说明如下:a)AD7-AD0:三态双向数据线b)PA7-PA0:A口输入输出线c)PB7-PB0:B口输入输出线d)PC5-PC0:C口输入输出线e)CS:片选信号f)RD:读信号IOPTRAMALE11AD[0..7]PA[0..7]PB[0..7]PC[0..5]IO/M7RES4TIN3CS8RD9WR10TOUT6U28155Hg)WR:写信号h)ALE:地址锁存信号i)IO/RAM:I/O口、RAM选择信号j)RESET:复位信号k)TIMERIN:定时器输入l)TIMEROUT:定时器输出3.4AT89C51单片机的基本介绍(1)其基本引脚如图3-4所示XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51图3-4AT89C51单片机引脚图(2)管脚说明:a)VCC:供电电压。b)GND:接地端。c)P0口:是一个8位漏极开路的双向I/O口,每脚可吸收8个TTL门流:可用于外部程序数据存储器,可以被定义为数据/地址的低八位。d)P1口:是一个由内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。e)P2口:P2是一个带有内部上拉电阻的8位准双向I/O口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。f)P3口:P3口是一组带有内部上拉电阻的8位准双向I/0口。P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表3-5所示。表3-5P3口第二功能的引脚表端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0*(外中断0)P3.3INT1*(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR*(外部数据存储器写选通)P3.7RD*外部数据存储器读选通)g)RST:复位输入;当振荡器复位器件时,要保持RST引脚两个机器周期的高电平时间。h)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地址字节。ALE端以固定不变的频率周期输出正脉冲信号,可用于对外部输入的脉冲计数或定时。i)PSEN*:外部程序存储器的选通信号。j)EA*/VPP:当/EA保持低电平时,访问外部程序存储器;EA————保持高电平时,访问内部程序存储器。k)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。l)XTAL2:来自反向振荡器的输出。3.4倒计时6位数码管显示电路LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阳极连在一起。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似,如图3-6所示。图3-6LDE数码管3.58个LED灯输出模块电路对于利群超市门前路口分东西直行,南北直行,东西南北人行三个状态,东西直行由黄绿红灯为L1、L2、L3表示;南北直行由黄绿红灯为L5、L6、L7表示;东西南北的人行红灯为L8表示,人行绿灯为L4表示。共8个LED灯,为共阳极;L1-L8阴极依次连接到P1.7-P1.0,阳极都接到电源VCC上。3.6开关量紧急按钮防止由于紧急情况发生交通事故,故设置有紧急按钮,由AT89C51的P3.2的INT0*接收中断,连接一个开关K。4.系统程序设计4.1主程序及控制子程序流程图主程序及控制子程序工作流程:路口共五个状态:人行绿灯、人行红灯、东西直行绿灯、东西直行黄灯、南北直行绿灯、南北直行黄灯。开始先确定指示灯倒计时时间,扫描显示6个数码管,扫描满20次的话倒计时时间减1,;扫描不满20次的话返回继续扫描数码管;再确定路口指示灯状态,调用之前定义的数组变量,并依据状态顺序选择8个LED灯的亮灭。开始蜂鸣器di、8个LED灯、num、i赋初值;8155写入命令字;定时器/计数器0、1选择为工作方式1的16位定时器并给定时器1赋初值开外部总中断;开外部中断0,并设置为跳岩触发方式;开定时器1中断启动定时器1启动定时器0;di赋1外部中断0标志位d=1?显示程序:段选码给PB口,选码给PA口是否结束程序结束NYNY图4-1系统主程序流程4.2中断子程序流程图中断子程序工作流程:外部中断0:开启定时器0,如图4-2所示。外部中断0入口地址给定时器0赋值;开定时器0中断;启动定时器0中断返回图4-2外部中断0程序流程图定时器0:每次中断前计时50ms,计时4次总计200ms,使p3.0输出电平每200ms变化一次,以控制蜂鸣器发出的声音,并循环,如图4-3所示。T0重装初值;num1加1num1重新赋0;di取反定时器0中断入口地址中断返回Num1=4?Y图4-3定时器0中断程序流程图定时器1:每次中断前计时50ms,计时20次共1s,每经过1s交通灯计时数据减小,当交通灯计时数据减小为0时,交通灯计时数据,数码管显示以及灯的显示情况进入下一个状态,状态循环,如图4-4所示。定时器1中断入口地址T1重装初值;num2加1Num2=20?(定时1s是否完成)num12重新赋0;num减1Num=0?(该状态显示时间是否结束)i赋0i=5?(6个状态是否完成)shi=num/10;ge=num%10;中断返回NNNum重装状态值i加1NYYY图4-4定时器1中断程序流程图5.系统调试5.1Proteus软件仿真调试(1)一开始用Proteus仿真时,由P0口控制数码管的段选,而每次选择开关数码管的位选信号改变较快,使得本应该控制前一位数码管的段选信号却能在后一位数码管上显示出来,。后改用P2口控制数码管段选信号,P3.6、P3.7做片选信号。P1口做LED灯的控制信号。(2)在Proteus仿真软件中6个独立的7SEG-COM-ANODE型号的数码管和单片7SEG-MPX6-CA的用法不同,前者是理想的数码管(即不同于实际数码管在关断时仍有余晖的现象,该型数码管只在位选选中或电源端供电时才亮),而后者由于存在余晖现象,所以运行时表现出每位数码管都亮的现象。(3)在循环控制数码管计数自减1时,只注意循环次数,忘记在循环体中给数码管赋新的值,使得数码管显示的数字没有隔一秒自减1,只在下一个循环时突然减小。改进后,在循环体中每次循环都对倒计时的数字自减1。(4)用三组两位数码管倒计时模拟十字路口红绿灯倒计时,用红绿灯分别模拟东西南北直行的状态灯。(5)用蓝灯闪烁模拟硬件中突发状况下,蜂鸣器报警时“滴、滴、滴、滴”的报警声。(6)软件仿真时由于软件中8155芯片的各控制口地址与硬件中8155的地址计算方法不同,无法正常输出期望的信号,故软件仿真时,未采用8155芯片,而是采取了直接连数码管段选、位选信号的措施。(7)经过数次调试,最终用Proteus仿真软件实现了模拟十字路口交通灯的控制。改进前仿真电路原理,如图5-1所示。AD0AD1AD2AD3AD4AD5AD6AD7PB0PB1PB2PB3PB4PB5PB6PB7PA0PA1PA2PA3PA4PA5C130pFC230pFX1CRYSTALC310uFR11kR210kD1LED-YELLOWD2LED-GREEND3LED-REDD4LED-BLUED5LED-YELLOWD6LED-GREEND7LED-REDD8LED-BLUEIOPTRAMALE11AD[0..7]PA[0..7]PB[0..7]PC[0..5]IO/M7RES4TIN3CS8RD9WR10TOU
本文标题:用单片机设计交通灯课设报告
链接地址:https://www.777doc.com/doc-6574100 .html