欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业论文十字路口交通灯控制系统设计28266.doc

    • 资源ID:3972940       资源大小:2.15MB        全文页数:56页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文十字路口交通灯控制系统设计28266.doc

    毕业论文(设计)题 目: 十字路口交通灯控制系统设计 系部名称: 电气工程系 专业班级: G电气0601 学生姓名: 王 毅 学 号: 90606001 指导教师: 郭素娜 教师职称: 讲 师 2010年06月06日摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统主要采用MSC-51系列单片机8031来设计交通灯控制器,利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只数码管显示十字路口两个方向的剩余时间。本系统除了可以按照设定程序自行运行外,还可以通过按键设置主干道和次干道的通行时间和暂缓通行时间。本系统可实现基本交通灯功能,系统实用性强、操作简单。关键字:单片机 十字路口 交通灯 8031目 录一、引言51.1设计背景及意义5二、设计论证方案72.1主控芯片选择72.2电源模块选择方案72.3显示模块选择方案72.4数码管显示模块选择方案72.5键盘接口模块选择方案7三、调试及仿真93.1调试软件Keil简介93.2硬件仿真简介9四、课题描述与分析114.1设计要求114.2系统工作流程12五、课题设计145.1总体设计145.2硬件设计155.2.1单片机最小系统155.2.2电源电路模块165.2.3时钟和复位电路模块175.2.4数码管显示电路模块175.2.5LED灯显示模块185.2.6键盘接口模块205.2.7串行通信接口电路205.3软件设计215.3.1整体流程图215.3.2主程序模块215.3.3数码管显示模块235.3.4键盘扫描程序块235.3.5闪烁显示程序模块245.3.6按键处理程序模块245.3.7定时器0和定时器1中断模块26六、系统测试276.1硬件测试276.1.1电源模块调试276.1.2单片机最小系统模块调试286.1.3 MAX232下载模块检测286.1.4 红绿灯显示检测296.1.5 数码管显示检测296.2整体电路检测296.3 软件调试30七、结论31八、参考文献32九、附录33十、致谢54一、引 言1.1 设计背景及意义当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。本设计的主要思想是应用单片机最小系统实现简易交通灯的设计,可利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只数码管显示十字路口两个方向的剩余时间。并能用按键设置两个方向的通行时间(绿灯点亮的时间)和暂缓通行时间(黄灯点亮的时间),系统的工作符合一般交通灯控制要求。本设计的背景是当前全国大中城市普遍存在着道路拥挤、车辆堵塞、交通秩序混乱的现象,如何解决城市交通问题已成为全社会关注的焦点和大众的迫切呼声。城市交通路口实现交通信号控制是城市交通管理现代化的基本标志之一,是提高交通管理效能的重要技术手段。红绿灯控制器是控制交叉路口交通信号的设备,它是交通信号控制的重要组成部分。各种交通控制方案,最终都要由红绿灯控制器来实现。本设计的适用范围是适用于城市交通灯的实现。本设计的适用范围是没有考虑人行道的红绿灯设计,也没有考虑机动车辆拐向的红绿灯设计,只考虑了机动车辆行驶的红绿灯设计,而且通行时间和暂缓通行时间的范围都是两位数。本课题的研究意义是应用单片机来控制交通灯, 使交通灯在控制中灵活而有效。本设计将程序结构模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。本系统结构简单,操作方便;可实现自动控制;对优化城市交通具有一定的意义二、设计论证方案2.1 主控芯片选择使用以8031单片机芯片,51系列单片机芯片的优点是结构完整、特殊功能寄存器的规范化以及指令系统的控制功能出众,含有32个I/O口,适合需要多端口控制的系统,设计时无需另接程序存储器,为设计和调试带来极大的方便。2.2 电源模块选择方案采用变压器控制模块提供电源,将220V的电压转换为12V的低电压,经过电容滤波后再经过LM7805稳压得到5V的直流电供系统工作,该方案的优点是系统简明扼要,节约成本。2.3 显示模块选择方案采用LED数码管,用4个LED数码管,数码管原理简单,价格低廉、性能可靠、操作简单,但功耗大。南北向和东西向各采用2个数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。设计时可利用单片机的P1口和P1.0P1.3作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间,数码管采用动态扫描方式显示。2.4 数码管显示模块选择方案数码管显示直接使用单片机I/O口输出,该方案的优点是硬件方便实现,电路简单;缺点是显示数码管需要较多的引脚数码管段选需要8个引脚,位选需要4个引脚,所以显示数码管共需要12个引脚。2.5 键盘接口模块选择方案直接在单片机的I/O口线上接上按键开关。使用3个独立按键,分别设置键、增加键和减少键,设置键选择方向和指示灯,增加键增加指示灯亮的时间,减少键减少指示灯亮的时间。 本方案的优点是按键少,单片机不需要扩展接口,系统复杂性比较低,硬件和软件处理起来都比较容易。三、调试及仿真3.1 调试软件Keil简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,可以完成编辑、编译、连接、调试、仿真等整个开发流程。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。通过一个集成开发环境(uVision)将这些部份组合在一起。3.2 硬件仿真简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。Proteus能很好的对硬件电路进行仿真测试,采用Proteus 仿真软件进行虚拟单片机实验,具有比较明显的优势,涉及到的实验实习内容全面、硬件投入少、实验过程中损耗小、与工程实践最为接近等。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。四、课题描述与分析4.1 设计要求利用利用8031单片机编制一个十字路口的交通灯控制系统,其特点是:道路较窄而车辆通行较多,支线、干线的车辆通行时间不等,并设有左右弯道通行时间,允许人工监控或修改各线通行时间,同时设有道路应急控制。具体的情况是:在正常的情况下,干道通行时间为40秒,其中左右弯道占时5秒,直道通行时间为25秒,其中左右弯道占时5秒,直道占时20秒。并且能够在人工监控状态下,干道、支道通行时间通过键盘修改或通过开关人为控制。十字交叉路口的交通灯控制系统的结构如图一所示:南北东西图一 十字交叉路口的交通灯控制系统往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。假设南北方向为主干道,通行时间为40秒,东西方向是次干道,通行时间为25秒,黄灯点亮的时间均为3秒。假设南北方向为主干道,通行时间(即绿灯亮的时间)为40秒,东西方向是次干道,通行时间为25秒,暂缓通行时间(即黄灯点亮的时间)均为3秒,则其工作方式如表1所示循环点亮信号灯 表1 交通信号灯工作模式 南北方向绿灯亮40秒黄灯亮3秒红灯亮28秒东西方向红灯亮43秒绿灯亮25秒黄灯亮3秒主干道和次干道的通行时间及黄灯点亮的时间可以手动设置;在没有手动设置通行时间时,系统自动按表1的模式进行工作。4.2 系统工作流程接通电源时或系统复位后,系统按程序给定的时间工作,即南北向通行40秒,东西向通行25秒,黄灯亮3秒。首先南北向通行,然后东西向通行,如此循环。通行时间的设置:当需要更改主、次干道的通行时间时,可以用“设置键、增加键、减少键”进行设置。第一次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间。按一次“增加键”或“减少键”,数码管的显示时间增加1秒或减小1秒,长按“增加键”或“减少键”(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。 第二次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。 第三次按“设置键”时,东西向的绿灯亮,东西向的数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向的通行时间。第四次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且南北向先通行,东西向后通行。表2 设置键的功能按“设置键”的次数第一次第二次第三次第四次第五次调整内容南北方向绿灯点亮时间南北方向黄灯点亮时间东西方向绿灯点亮时间东西方向黄灯点亮时间回复交通灯工作状态调整范围099秒09秒099秒09秒五、课题设计5.1 总体设计本系统的整体框图由8031构成主控芯片,主要是实现各个功能模块之间功能交互。本系统包括电源模块、时钟、复位电路模块,程序下载模块,键盘接口模块,数码管和LED发光二极管显示模块。程序下载模块由串口和MAX232芯片组成;键盘接口模块用于设置各个方向指示灯的点亮时间;数码管显示模块用来显示被点亮的指示灯还将点亮多久;LED发光二极管模块用于指示该方向的3种状态:通行(绿灯亮)、暂缓通行(黄灯亮)和禁止通行(红灯亮);220V交流电转5V直流电线性稳压电源构成电源模块。系统结构如图二所示: 图二 系统结构图红绿灯控制器的总体的设计如图三所示图三 红绿灯控制总体设计图(可能看不清楚没关系后面会分解出来)从图三可以看出整个设计图。首先由220V交流电转5V直流电线性稳压电源模块得到稳定的5V直流电源,提供了模块间工作供电所需,然后由STC12C5410AD单片机最小系统模块来控制红绿黄发光二极管组合模块与LED数码管动态显示模块的联合动态显示,最后可以通过东西南北要道通行时间按键设置模块来随意设置交通干道的通行暂停时间。5.2 硬件设计5.2.1 单片机最小系统外加时钟和复位电路,电路结构简单,抗干扰能力强。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为11.0592MHz的晶振,微调电容为20pF。单片机最小系统如图四所示: 图四 单片机最小系统 5.2.2 电源电路模块220V的高电压经过变压器后得到12V交流电,经二极管整流成脉动直流电,经过电容滤波又经过LM7805稳压得到5V的直流电供系统工作,电源的指示可以由一个发光二极管来实现,2个100uF的电容是起一个再次滤波的作用。稳压电源模块电路图如图五所示: 图五 稳压电源电路图5.2.3 时钟和复位电路模块时钟采用外部晶振,频率为11.0592MHz,时钟和复位电路电图如图六所示: 图六 时钟和复位电路模块图5.2.4 数码管显示电路模块图七所示的是共阳数码管及其电路,其中每个数码管的8个段: h、g、f、e、d、c、b、a(h是小数点)都连在一起。图八是4 位数码扫描显示电路,4个数码管分别由4个选通信号k1k4来选择。被选通的数码管显示数据。例如,在某一时刻,k3为低电平,其余选通信号为高电平,这时仅k3对应的数码管显示来自段信号端的数据,就必须使得4个选通信号k1k4分别被单独选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。共阳数码管及其电路示意图如图七所示: 图七 共阳极数码管及其电路4位数码扫描电路的示意图如图八所示:图八 4位数码管扫描电路数码管显示电路图如图九所示:5.2.5 LED灯显示模块LED灯采用的是共阳接法,即所有的LED管阳级通过一个限流电阻上拉到5V电源,所有的阴级接到单片机的相应引脚。只要该I/O口置低,该灯就能点亮。LED灯显示模块如图十所示: 图九 数码管动态显示模块图 图十 LED显示模块图5.2.6 键盘接口模块交通灯的时间设置主要是通过按键的设置来实现的。SET设置键接单片机的外部中断0口(引脚P3.2),UP键对应端口定时/计数器(引脚P3.4) ,DOWN对应端口定时/计数器1(引脚P3.5)。在程序初始化的时候两个定时器均工作于定时模式,定时器1主要完成长按键加十和减十的功能,定时器0则只要完成数码管动态显示时间间隔的定时功能。平时工作时,只有定时器0工作,一但外部中断0触发,则激活定时器1,开始设置初始化,当进中断0次数标志位flag满5次时,退出设置模式,进入倒计时模式。键盘接口电路模块如图十一所示: 图十一 键盘接口模块图5.2.7 串行通信接口电路将程序下载到单片机内部需要完成串并数据的转换和电平转换,因此需要串行通信接口电路。由于电脑内部的电平为TTL电平,串口的电平为CMOS电平,因此必须转接一个TTL-CMOS电平转换芯片MAX232。串行通信接口电路如图十二所示: 图十二 串行通信接口电路5.3 软件设计5.3.1 整体流程图各个模块的都是用C语言来编写的。本系统软件设计主要分为4个模块,即主程序模块、中断子程序模块、键盘扫描模块、显示模块。整个系统工作流程为当系统上电复位后进入主程序模块,在主程序模块中调用显示模块来完成信息的显示,在没有用户触发中断的情况下程序一直在主程序里循环,以维持系统的正常工作。整个软件流程图如图十三所示:5.3.2 主程序模块主要完成RAM清零,定时器T0,T1的设置,绿、黄灯的初值设定以及各子程序的调用。主程序的流程图如图十四所示 图十三 软件流程图 图十四 主程序的流程图5.3.3 数码管显示模块数码管显示模块包括南北方向数码管显示、东西方向数码管显示和设置状态下的数码管闪烁显示。数码管显示模块的程序流程图如十五所示: 图十五 数码管显示程序流程图5.3.4 键盘扫描程序块在设置状态下,启动键盘扫描模块,判断是否有键被按下,是增加键还是减少键被按下,键被长按还是短按,还有键盘消抖功能。键盘扫描程序模块流程图如图十六所示: 图十六 键盘扫描程序模块流程图5.3.5 闪烁显示程序模块在设置东西南北通行时间时,数码管显示当前的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),因此将1秒分为6份,偶数份数码管亮,奇数份数码管熄灭。闪烁显示程序模块如图十七所示:5.3.6 按键处理程序模块当设置按键被按第一下时,进入设置模块,然后根据键盘扫描得到的键值转向响应的处理程序,相应指示灯的点亮时间是增加还是减少,是增加(或减少)1还是增加(或减少)10,其中设置按键使用外部中断0。检测P3.2端口,判断是否有键按下,如果有键按下,则进行延时去抖动并将设置键标志位flag加一,根据flag的值,转相应键处理子程序。按键处理程序模块流程图如图十八所示: 图十七 闪烁显示程序模块图图十八 按键处理模块流程图5.3.7 定时器0和定时器1中断模块在程序初始化的时候两个定时器均工作于定时模式,定时器1主要完成长按键加十和减十的功能,定时器0则只要完成数码管动态显示时间间隔的定时功能。平时工作时,只有定时器0工作,一但外部中断0触发,则激活定时器1,开始设置初始化,当进中断0次数标志位flag满5次时,退出设置模式,进入倒计时模式。定时器0主要通过计数产生1秒的定时时间,使数码管按照每秒减1的倒计时。定时器0中断模块的程序流程图如十九所示: 图十九 定时器0中断模块程序流程图六、系统测试系统调试分为硬件调试和软件调试,分别用于检测硬件和软件是否能正常工作。由于硬件采用模块化设计,所以调试的时候只需要调试各自的模块即可,最后连在一起调试整个系统。软件由于采用子函数模块调用实现,所以调试的时候采用子函数单独调试,最后用KEIL软件强大的仿真调试功能来结合硬件联机调试。本系统软硬件的设计完成后先经过仿真调试,才进行具体的硬件焊接部分,这样能避免误操作或设计不合理而带来开发成本的不必要的提高,而且还能提高系统开发的效率。6.1 硬件测试6.1.1 电源模块调试用万用表检测电源模块是否完整,若完整,把相应的元件焊上,并用万用表检测开关两端是否输出5V稳压直流电源。如果输出的时12V的交流电,则检测稳压芯片是否正常工作;如果得到220V的交流电,则检测变压器是否正常工作;如果都正常工作,则说明电源模块正常工作。硬件电源模块如图二十所示:图十二 硬件电源模块6.1.2 单片机最小系统模块调试用万用表检测电源模块是否完整,若完整,把相应的元件焊上,并用万用表检测开关两端是否输出5V稳压直流电源。如果输出的时12V的交流电,则检测稳压芯片是否正常工作;如果得到220V的交流电,则检测变压器是否正常工作;如果都正常工作,则说明电源模块正常工作。硬件电源模块如图二十所示:图二十一 单片机最小系统扩展图(红绿灯控制器系统硬件图)6.1.3 MAX232下载模块检测用万用表检测电路,看电源线、地线是否完整,然后按照原理图焊接。打开STC-ISP软件,设置好后,先下载一个让单片机的所有引脚均拉低的程序,看是否能下载。如果软件提示下载失败,检测串口是否连接好,RXD、TXD是否和单片机连接好;如果提示下载成功,则检测单片机的引脚是否拉低,否则的话检测程序是否正确。6.1.4 红绿灯显示检测把红黄绿灯按照原理图焊接后,若灯不亮,检测上拉电阻是否接到电源上;如果已连接,则检测各自引脚是否虚焊。红绿灯检测程序在附录里面(第49页)。6.1.5 数码管显示检测按照原理图焊接好元件,然后烧写一个让数码管从0显示到9的程序。如果数码管不显示,则检测数码管的选通端是否虚焊;如果数码管显示不全,则检测数码管的数据口是否链接正确。将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。数码管显示模块程序在附录里面(第50页)。6.2 整体电路检测系统上电,烧进程序即可开始测试,观测一个周期的显示状态是否正常,同时观察倒计的计数是否正常。对程序进行调试、仿真后,再进行焊接,确保焊接点无连接、短路等现象后,烧入程序,接着对设计进行调试,对照实验要求进行几个功能的调试。整体电路检测如图二十二所示(电路图正在调试南北绿灯的通行时间)6.3 软件调试程序的编写采用的是C语言,用C语言设计主要优点是编程比较简单,C语言程序生成代码质量高,程序执行效率高,并且适用范围大,可移植性好 。具体程序见附录。七、结论本次单片机课程设计的红绿灯控制器结构简单,操作方便,对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大而且可以随时的更新系统,进行不同状态的组合。八、参考文献1 教材;2 单片机实验指导书, 河南工业职业技术学院内部;3 51系列单片机设计实例,楼然苗、李光飞编著,北京航空航天出版社;4 微机控制技术及应用,韩全立主编,机械工业出版社;5 单片机应用技术与实训,王治刚主编,清华大学出版社;6 常用电子电器手册;7 单片机应用技术与实例,睢丙东主编,电子工业出版社;8 单片微型计算机应用技术,徐仁贵,机械工业出版社。九、附录#include<reg52.h>#define uchar unsigned char#define uint unsigned int/*参数初始化*uchar count=0,count2=0; /定时器0,定时器1的计数初值uchar green_ns=40,green_ew=25,red_ns=28,red_ew=43,yellow_ns=3,yellow_ew=3;/南北绿灯亮40 东西绿灯25 南北红灯28 东西红灯43 南北黄灯3 东西黄灯3uchar snorth=40,ewest=43; /上电后南北绿灯亮40秒,东西红灯亮43秒uchar ding_ns=0,ding_ew=0; /南北状态转换标志位,东西状态转换标志位uchar flag=0,flag2=0; /设置键按下次数的标志位,长按键的标志位/*引脚定义*sbit wela=P20; /锁存器位选sbit dula=P21; /锁存器位选sbit NS_R=P22; /南北发光二极管sbit NS_Y=P23;sbit NS_G=P24; sbit EW_R=P25; /东西发光二极管sbit EW_Y=P26;sbit EW_G=P27; sbit set=P32; /按键 设置键 加1键 减1键sbit up=P34;sbit down=P35;/*函数声明部分*void delay(uint z);void Inital();void display(uchar s);void display_ew(uchar w) ;void display_ns(uchar r);void turnkey();void show();/*共阳数码管段码*unsigned char code SEG710= 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ ; /*软件延时函数 延时1毫秒*void delay(uint z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*初始化函数*void Inital() wela=0; /锁存器初始化dula=0;TMOD = 0x11; /计数器0,1工作在方式1,数值大小16位,定时时间=12*(65536-x)/f x为初值,f为时钟频率TH0 = 0xD8; /定时器0高8位TL0 = 0xF0; /定时器0低8位EA = 1; /开总中断ET0 = 1; /定时器0中断允许 TR0=1; /定时器0开始计时TH1=0xD8; /定时器1高8位TL1=0xF0; /定时器1低8位ET1 = 1; /定时器1中断允许EX0=1; /外部中断0允许IT0=0; /外部中断0电平触发NS_R=1; /南北发光二极管初始化NS_G=0;NS_Y=1;EW_R=0; /东西发光二极管初始化EW_G=1;EW_Y=1;/*数码管显示函数*void display(uchar s) P1=SEG7s;/*数码管显示东西方向数字*void display_ew(uchar w) uchar x,y,i=0;x=w%10; /个位y=w/10; /十位dula=1;display(x);dula=0; P1=0x00;wela=1;P1=0x04;wela=0;delay(5); dula=1;display(y); dula=0; P1=0x00;wela=1;P1=0x08;wela=0;delay(5);/*数码管显示南北方向数字*void display_ns(uchar r) uchar x,y,i=0;x=r%10; /个位y=r/10; /十位 dula=1;display(x);dula=0; P1=0x00;wela=1;P1=0x01;wela=0;delay(5); dula=1;display(y);dula=0; P1=0x00;wela=1;P1=0x02;wela=0;delay(5);/ *键盘扫描函数*void turnkey() flag2=0; /扫描之前加10减10标志位清零if(!up)delay(10); /按键消抖 延时10msif(!up) TR1=1; /定时器1开始1s定时,用于键盘扫描的定时数值加10while(!up)switch(flag)case 0:break;case 1: display_ns(green_ns); NS_G=0;break;case 2:display_ns(yellow_ns); NS_Y=0;break;case 3:display_ew(green_ew); EW_G=0;break;case 4:display_ew(yellow_ew); EW_Y=0;break; while(!up); /等待按键结束 delay(10); /按键消抖 延时10ms while(!up); TR1=0; /定时器1结束 if(count2>=100) flag2=1;count2=0; switch(flag2%3) case 0:break;case 1:switch(flag)

    注意事项

    本文(毕业论文十字路口交通灯控制系统设计28266.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开