基于51单片机的交通灯设计_第1页
基于51单片机的交通灯设计_第2页
基于51单片机的交通灯设计_第3页
基于51单片机的交通灯设计_第4页
基于51单片机的交通灯设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告课程名称: 单片机原理及应用课程设计系 部: 电气与信息工程学院 专业班级: 学生姓名: 指导教师: 完成时间: 报告成绩: 评阅意见: 评阅教师 日期 目 录一、 设计题目1二、设计要求1三、 设计作用与目的1四、所用设备和软件2五、系统设计方案25.1 系统设计总结构框图4 5.2 系统设计芯片选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4六、系统硬件设计56.1 单片机最小系统设计5 6.2各单元电路设计.

2、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 七、系统软件设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7. 1主程序流程设计. . . . . . . . . . . . . . . . . . . . . .

3、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7.2 子程序流程设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 7.3 各延时延时程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4、. . . . . . . . . . . . . 12 八、 实验调试结果15九、设计中的问题及解决方法16十、设计心得. 17 十一、参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18十二、源程序代码19 十三、电路总图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5、. . . . . . . . . . . . . . . . . . . . . 25 交通灯控制系统设计一、 设计题目交通灯控制系统设计二、 设计要求(1)设计一个十字路口的交通灯控制电路,要求当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒。 东西方向车流大 通行时间长。(4)东西、南北方向车道除有红、绿、黄三色指示灯外,每一种灯亮的显示时间都用显示器进行显示,采用计时的方

6、法设计。三、 设计作用与目的近年来随着科技快速的发展,单片机的应用正在不断地走向深入,同时带动传统检测日新月异更新。在实验检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,针对具体应用对象的特点,配以其他器件来家以完善,伴随人口的日益增长,那么十字路口车辆穿梭,如何才能让交通井然有序呢?靠的就是交通信号的自动指挥系统。信号灯的出现,使交通得以有效的管制,对于交通流量、提高道路通行能力,减少交通事故有明显的效果。绿灯是通行信号,面对绿灯信号的车辆可以直行,左拐弯和右拐弯,除非另一种禁止转向。左右转弯车辆都必须让正在路口内直行的车辆和过人行横道行人优先通行。红灯是禁止信号面对红灯

7、的车辆必须停车。黄灯 是警告信号,面对黄灯信号的车辆不呢么好越过安全停车线,但是车辆十分接近停车线而不能安全停车时可以进入交叉路口。本系统采用msc-51系列单片机来设计交通灯控制器,实现各个方向车辆、行人通行功能,此外还设计了倒计时显示。同时还具有南北、东西方向强制通行的功能。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。十字路口的红绿灯指挥着行人和车辆的安全运行,实现红绿灯的自动指挥能使交通管理工作得到改善,也是城市交通管理工作自动化的重要标志之一。所以,改善与提高现有的交通系统的效率已成为当务之急,而

8、提高交通控制系统的效率更是重中之重。四、所用设备和软件pc机、proteus 7 professional、keil uvision4五、 系统设计方案 5.1 系统设计总结构框图led显示时间键盘设置时间参数单片机 led灯闪烁红外对管检测信号输入红外报警及记录车流量 图1 系统设计总结构框图单片机交通灯控制系统可分为四个模块,这四个模块分别是单片机控制模块、led灯闪烁模块、时间显示模块、键盘控制模块。通过各模块之间的相互可以实现交通灯的控制和显示功能。其模块图如图1所示。5.2 系统设计芯片选择本设计采用at89c52单片机芯片来控制交通灯电路,80c52单片机包含中央处理器、程序存储器

9、(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,该单片机。具有以下特点:(1)高集成度,体积小,高可靠性 (2)控制功能强 (3)低电压,低功耗,便于生产便携式产品 (4)易扩展 (5)优异的性能价格比(6)具有全双工串行通信接口其引脚图如图2所示: 图2 at89c52引脚图六、 系统硬件设计6.1 单片机的最小系统设计单片机的最小系统由51芯片、置位复位电路、时钟电路等组成。交通控制系统的最小系统如图3所示:图3 交通控制系统最小系统6.2各单元电路设计1、时钟电路部分时钟电路用于产生mcs-51单片机工作时所

10、必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,cpu首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12mhz晶振和两个33pf瓷片电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为单片机提供标准时钟。其中两个瓷片电容起微调作用。其时钟电路如图4所示: 图4 时钟电路2、复位电路部分复位是单片微机的初始化操作,其主要功能是把pc初始化为0000h,使单片微机从0000h单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行

11、出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。rst引脚是复位信号的输入端。复位电路在这里采用的是上电+按钮复位电路形式,具体连接电路如图5所示: 图5 复位电路3、显示部分电路设计led显示器有两中工作方式:静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用cpu时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示信号,与各数码管接口的i/o口是专用的。动态显示的特点是将所

12、有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。各数码管在显示过程中轮流得到显示信号,与各数码管接口的i/o口是共用的。其图如图6所示: 图6 显示部分电路4、按键部分电路设计按键控制电路用于接收外部中断和接收输入信号,并控制程序运行。其图如图8 所示: 图8 按键部分电路

13、七、 系统软件设计7.1 主程序流程设计开始初始化设定初值红灯倒计时红高电平?报警3s y倒计时完? n n y黄灯闪5s绿灯倒计时检测车流量红高电平? y n倒计时完? n y黄灯闪5s结束 图9 程序设计流程图7.2 子程序设计1、显示子程序流程图如图10所示:显示程序入口判断工作情况紧急并可修改正 常调用数码管显示调用数码管显示显示程序结束 图10 显示子程序流程图2、中断子程序流程图如图11所示:中断服务入口检查系统状态进行相应服务中断结束返回 图11 中断子程序流程图3、定时器中断服务子程序流程图如图12所示:定时器中断入口重赋定时器初值计数以统计时间中断结束 图 12 定时器中断服

14、务程序流程图7.3 各延时程序设计1、每秒钟的设定延时方法可以有两种一中是利用mcs-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。2、计数器的硬件延时计数器初值计算: 定时器工作时必须给计数器送计数器初值,这个值是送到th和tl中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为c和计数初值设定为tc 可得到如下计算通式: tc=m-c式中,m为计数器摸值,该值和计数器工作方式有关。在方式0时m为213 ;在方式1时m的值为216;在方式2和3为28;计算公式: t=(mtc)t计数 或tcm-tt计数t计数

15、是单片机时钟周期的12倍;tc为定时初值如单片机的主脉冲频率为12mhz,经过12分频方式0tmax213微秒8.192毫秒方式tmax216微秒65.536毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。秒的方法: 我们采用在主程序中设定一个初值为20的软件计数器和使t0定时50毫秒这样每当t0到50毫秒时cpu就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。相应程序代码:()主程序定时器需定时50毫秒,故t0工作于方式。初值:tcm-

16、t t计数250ms/1us=15536=3cboh org 1000hstart: mov tmod, #01h ; 令t0为定时器方式 mov th0, #3ch ;装入定时器初值 mov tl0, #boh; mov ie, #82h ;开t0中断 sebt tr0;启动t0计数器 mov ro,#14h;软件计数器赋初值loop:sjmp ;等待中断()中断服务子程序 org 000bh ajmp brto org 00bh brto:djnz r0,nextajmp time ; 跳转到时间及信号灯显示子程序 djnz:movr0,14h;恢复r0值 mov th0, #3ch ;重

17、装入定时器初值 mov tl0, #boh; mov ie, #82h ret1 end3、软件延时mcs-51的工作频率为2-12mhz,我们选用的8031单片机的工作频率为6mhz。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6m)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析: delay:mov r4,#08h 延时1秒子程序 de2:lcall delay1 djnz r4,de2 ret delay1:mov r6,#0 延时125ms 子程序 mov r5,#0de1: djn

18、z r5,$ djnz r6,de1 ret mov rn,#data 字节数数为2 机器周期数为1所以此指令的执行时间为2ms delay1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us delay r4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。八、 实验调试结果本实验采用proteus来仿真电路图,首先对proteus进行介绍:proteus 是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真

19、、分析(spice)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:arm7(lpc21xx)、 8051/52系列、avr系列、pic10/12/16/18系列、hc11系列以及多种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件

20、仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2、mplab等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大。 仿真图如图13、14所示: 图13 交通灯设计电路仿真图 图14 交通灯设计电路仿真图九、 设计中的问题及解决办法 在设计和调试电路的时候碰到了很多麻烦,比如说proteus的使用,keil的使用等等,在同学和老师的帮助下,问题迎刃而解,而且我学到很多宝贵的知识,让我对proteus和keil软件的操作更熟悉。十、 设计心得本系统充分应用了8051和8255芯片的i/o引

21、脚。本系统采用mcs-51系列单片机intel8051和可编程并行i/o接口芯片8255a为中心器件来设计交通灯控制器,实现了能够根据车流量通过8031芯片的p1口设置红、绿灯燃亮时间的功能。红绿灯循环点亮,倒计时5s时黄灯闪烁警示(交通信号灯通过pa口输出,显示时间直接通过8255的pc口输出至双位数码管)。车辆闯红灯报警。绿灯时间可检测车流量并通过双位数码管显示。通过这次设计,是我对专业知识有了更进一步的认识和提高,让我对单片机有了更全面的了解,对编程和设计有了更多新的看法:微型计算机技术在很多工业生产和日常生活中应用广泛,当然在计算机领域中更有举足轻重的作用。这次设计为日后成为合格的创新

22、型应用人才打下了结实的基础。本文能够得以完成,非常感谢我的指导老师,她的渊博知识以及在治学过程中表现出来的严谨态度使我深受鼓舞,给予我极大的指导和帮助,在此向老师表示衷心的感谢!同时感谢一直在我身边帮助我的同学,在我有疑问时给予了很多帮助,同学们的热情让我在挫折面前不断前行,我们经常一起讨论问题并从中一起进步,获益良多。在此向各位同学表示衷心的感谢!本次课设要感谢学院的安排,让我们在学习课本知识的同时,能够有这样的机会实践。感谢班干们的工作,为我们省去了不少的麻烦。同时在课程设计过程中我还参考了有关的书籍与论文,在这里一并向有关的作者表示谢意。十一、参考文献1、 曾屹主编 单片机原理与应用 中

23、南大学出版社2、 彭楚武主编 微机原理与接口技术 湖南大学出版社3、 张一斌 余建坤主编 单片机原理课程设计 中南大学出版社4、 何立民著 单片机应用系统设计 北京航空航天大学出版社5、 孙育才主编 mcs-51系列单片微型计算机及其应用 东南大学出版社6、 丁元杰主编 单片机原理与应用 机械工业出版社7、 张迎新主编 单片机中级教程 北京航空航天大学出版社8、 苏家键等编 单片机原理与应用技术 高等教育出版社十二、源程序代码org 0000h ;主程序的入口地址 ljmp main ;跳转到主程序的开始处 org 0003h ;外部中断0的中断程序入口地址 org 000bh ;定时器0的中

24、断程序入口地址 ljmp t0_int ;跳转到中断服务程序处 org 0013h ;外部中断1的中断程序入口地址 main : mov sp,#50h mov ie,#8eh ;cpu开中断,允许t0中断,t1中断和外部中断1中断 mov tmod,#51h ;设置t1为计数方式,t0为定时方式,且都工作于模式1 mov th1,#00h ;t1计数器清零 mov tl1,#00h setb tr1 ;启动t1计时器 setb ex1 ;允许int1中断 setb it1 ;选择边沿触发方式 mov dptr ,#0003h mov a, #80h movx dptr, a /st0:mov

25、 p3 ,#0f0hagain: jb p3.1,n0 ;判断是否要设定东西方向红绿灯时间的初值,若p3.1为1 则跳转 mov a,p1 jb p1.7,red ;判断p1.7是否为1,若为1则设定红灯时间,否则设定绿灯时间 mov r0,#00h ;r0清零 mov r0,a ;存入东西方向绿灯初始时间 mov r3,a lcall disp1 lcall delay ajmp againred: mov a,p1 anl a,#7fh ;p1.7置0 mov r7,#00h ;r7清零 mov r7,a ;存入东西方向红灯初始时间 mov r3,a lcall disp1 lcall d

26、elay ajmp again;-n0: setb tr0 ;启动t0计时器 mov 76h,r7 ;红灯时间存入76hn00: mov a,76h ;东西方向禁止,南北方向通行 mov r3,a mov dptr,#0000h ;东西方向红灯亮,南北方向绿灯亮mov a,#0ddh movx dptr, an01: jb p2.0,b0n02: setb p3.0 cjne r3,#00h,n01 ;比较r3中的值是否为0,不为0转到当前指令处执行;-黄灯闪烁5秒程序-n1: setb p3.0 mov r3,#05h mov dptr,#0000h ;东西,南北方向黄灯亮 mov a,#0

27、d4h movx dptr,an11: mov r4,#00hn12: cjne r4,#7dh,$ ;黄灯持续亮0.5秒n13: mov dptr,#0000h ;南北方向黄灯灭 mov a,#0ddh movx dptr,an14: mov r4,#00h cjne r4,#7dh,$ ;黄灯持续灭0.5秒 cjne r3,#00h,n1 ;闪烁时间达5秒则退出;-n2: mov r7,#00h mov a,r0 ;东西通行,南北禁止 mov r3,a mov dptr,#0000h ;东西方向绿灯亮,南北方向红灯亮 mov a,#0ebh movx dptr,an21: jb p2.0,

28、t03n22: cjne r3,#00h,n21;-黄灯闪烁5秒程序-n3: mov r3,#05h mov dptr,#0000h ;东西,南北方向黄灯亮 mov a,#0e2h movx dptr,an31: mov r4,#00h cjne r4,#7dh,$ ;黄灯持续亮0.5秒n32: mov dptr,#0000h ;南北方向黄灯灭 mov a,#0ebh movx dptr,an33: mov r4,#00h cjne r4,#7dh,$ ;黄灯持续灭0.5秒 cjne r3,#00h,n3 ;闪烁时间达5秒则退出 sjmp n00;-闯红灯报警程序-b0: mov r2,#03h ;报警持续时间3秒b01: mov a,r3 jz n1 ;若倒计时完毕,不再报警 clr p3.0 ;报警 cjne r2,#00h,b01 ;判断3秒是否结束 sjmp n02;-1秒延时子程序-n7: retit0_int:mov tl0,#9ah ;给定时器t0送定时10ms的初值 mov th0,#0f1h inc r4 inc r5 cjne r5,#0fah,t01 ;判断延时是否够一秒,不够则调用显示子程序 mov r5,#00h ;r5清零 dec r3 ;倒计时初值减一 dec r2 ;报警初值减一t01: acall disp ;调用显示子程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论