基于单片机的交通灯控制系统设计本科论文.doc

上传人:知**** 文档编号:89790310 上传时间:2023-05-13 格式:DOC 页数:23 大小:3.05MB
返回 下载 相关 举报
基于单片机的交通灯控制系统设计本科论文.doc_第1页
第1页 / 共23页
基于单片机的交通灯控制系统设计本科论文.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《基于单片机的交通灯控制系统设计本科论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统设计本科论文.doc(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 陕西理工学院毕业设计 毕业设计 题 目 基于单片机的交通灯控制系统设计 学生姓名 学号 所在院(系) 物理与电信工程学院 专业班级 电子信息科学与技术1201 指导教师 完成地点 实验楼1104教室 2016年5月基于单片机的交通灯控制系统设计(陕西理工学院物理与电信工程学院电子信息科学与技术专业电信1201班,陕西汉中 723000)指导教师: 摘要以MCS-51系列单片机中的STC89C52为核心控制器件,包括单片机最小系统中的振荡电路和复位电路。配合以数码管和发光二极管组成的显示电路、以四角按键组成的按键电路实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车

2、等待时间不合理、急车强通等问题。该系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词交通灯;单片机;STC89C52 The design control system of traffic light based on single chip (Grade12,Class1,MajorElectronicinformationscienceandtechnology,SchoolofPhysicsandTelecommunicationEngineering,ShaanxiUniversityofTechnology,Hanzhong723000,S

3、haanxi)Tutor: Abstract : The MCS - 51 series microcontroller STC89C52 as the core of control devices, including oscillation circuit and reset circuit of single chip microcomputer minimum system. Cooperate with digital tube and led display circuit, to the four corners of the keys of the key circuit r

4、ealized by light intelligent control on the road. From a certain extent, solve the intersection traffic jam, vehicle parking waiting time is not reasonable, nasty car problems. The system has simple structure, high reliability, low cost, good real-time performance and the advantages of easy installa

5、tion and maintenance, have broad application prospects. Keywords: Araffic light;SCM;STC89C52 目录1 引言11.1 研究目的及意义11.2 研究背景现状和发展趋势11.3 主要内容22 设计方案22.1 总体设计分析及设计思路22.2 方案论证43 硬件设计53.1 设计框图53.2 电路功能介绍53.3 硬件电路74 软件设计74.1 计时设计与信号灯状态切换设计74.2 整体软件设计84.3 按键控制软件设计94.4 仿真结果94.5 作品说明115结语14致谢15参考文献16附录A 程序16 1

6、引言 单片机自70年代问世以来就以蓬勃的发展趋势遍及到各个领域,尤其近些年来随着科技的日益发展,单片机的集成度和性能大大的提升。越来越的检测与控制系统都用单片机来作为核心控制器件,根据具体情况加以适当的软件和硬件辅助,不断地将其应用到人们的日常生活中去,比如近些年来兴起的智能家居、多功能飞行器等,都是利用单片机为核心部件的典例1。 科技起源于生活,服务与生活,每一次的发明与创新都是为了解决日常生活中遇到的问题,更好的服务人类。那么问题来了,随着人类物质生活水平的提高,汽车作为人类出行必不可少的交通工具。这么庞然大物行驶在路上,没有一种规则制度去限定它们,那么街道上该是个什么样子?这样的情况下就

7、出现了交通灯控制系统。本文设计的系统采用MCS-51系列单片机中的STC89C52为核心器件,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。该系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景2。1.1 研究目的及意义 具不完全统计,我国民用车保有量已将近4亿,世界排名第一,中国的交通问题已经日益成为棘手的难题,城市交通事故、交通阻塞和交通污染问题愈加突出。为了解决车和路的矛盾,常用的有两种方法:一是控制需求,最直接的办法就是限制车辆的增加;二是增加供给,也就是修路。但是这两个办法都有其局限性,智能

8、交通灯系统正是解决这一矛盾的途径之一3。 交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。城市交通问题自人类进入21世纪以来,道路交通一直是困扰城市发展、制约城市经济建设的重要因素。而使用合理的交通灯可以合理的规划城市交通,从而为城市的快速运输和发展提供最优化的交通解决方案。 可以肯定的说,城市道路增长的有限与车辆增加的无限这一对矛盾是导致城市交通拥挤的根本原因。对于减轻交通拥塞及其副作用特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。在少数几个例子中,一些新的控

9、制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在.智能化和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。 车辆的不断增多,表明车辆对道路容量的要求仍然很高,短期内还不可能改变。自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际进展,交通控制领域的控制逻辑方面始终没能取得重大突破4。 因此,研究基于智能集成的城市交通灯控制系统具有相当的学术价值

10、和实用价值。把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。从长远来看该研究具有巨大的现实意义。1.2 研究背景现状和发展趋势 交通指挥信号已有100多年的历史了。它经历了从人工到自动,从点到线,从线到面的控制过程。第一盏名副其实的手控三色红绿灯于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 世界上第一个红绿灯是1868年在英国伦敦的威斯米斯特区使用的。当时的红绿灯只有红绿两色,是用煤气点燃发光的。由于使用煤气发生了爆炸,伤了警察,使研 究交通信号的兴趣被冲淡了。直到1914年,电开关的红绿灯才在

11、美国的俄亥俄州克利夫兰使用。这种装置奠定了现代交通指挥信号的基础。随着各种交通工具的 发展和交通指挥的需要,第一盏名副其实的手控三色红绿灯(红、黄、绿三种标志)于1918年在美国的纽约诞生。那时黄灯信号是为左右转变的车辆设置的。 进入20世纪70年代,随着计算机技术和自动控制技术的发展,以及交通流理论的不断完善,交通运输组织与优化理论和技术水平不断提高,控制手段越来越先进,形成了一批商水平有实效的城市道路交通灯控制系统。早在1977年,Pappis等人就将模糊控制运用到交通灯控制上,通过建立规则库或是专家系统对各种交通状况进行模糊控制,并取得了很好的效果。近年来,欧美日本等相继建立了智能交通灯

12、控制系统。在这些系统中,大部分都在路口附近安装磁性环路检测器,还使用了新型检测器等技术和设备。这些现代化设备技术加上控制理论和现代化科学管理技术,使得交通控制系统日益完善。随着一些研究控制理论的学者投身到交通控制的研究中,在交通信号控制领域提出了一些新方法、新思路。如静态多段配时控制、准动态多段配时控制、最优控制、大系统递阶控制、模糊控制、神经网络控制,网络路由控制等。模糊交通控制已经成为了交通信号控制的主流方向之一。国内外很多学者都进行了此类研究5-7。交通灯未来的发展趋势将会朝着太阳能交通灯,一体式交通灯,广告交通灯发展。这是未来交通灯发展的方向。而且交通信号灯控制逐渐朝智能化,无线化发展

13、。1.3 主要内容 本文主要介绍了四部分主要内容:第一部分主要介绍了本次设计的研究目的及意义,研究背景现状和发展趋势等;第二部分主要介绍了总体设计分析及设计思路,总体及各模块的方案论证;第三部分主要介绍了总体硬件设计及各模块硬件电路设计;第四部分主要介绍了总体软件设计及各模块软件设计,仿真及实物运行,作品说明等。2 设计方案2.1 总体设计分析及设计思路图2.1是我们日常所见的十字路口交通灯模型,一般由东西。南北两条干道相交组成。每个干道口都设有红黄绿三色指示灯,用于指挥路面上的交通状况,规范行人和车辆停止和通行。一般红灯亮时车辆禁止通行,红灯亮时提醒行人和车辆注意指示灯的切换,绿灯亮时表示可

14、以通行。并且一般各种灯的切换时间可以调节,根据路口的人车流量和通行高峰期期由相关人员设定,尽量保障人们的出行方便。本此设计系统的指示灯的切换时间方案如表2.1所示。S2S1 S4S3图2.1交通灯状态转换图表2.1 十字路口指示灯燃亮方案状态S1S2S3S4时间60s5s20s5s东西道红灯亮红灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮红灯亮 表2.1说明: (1)设定南北方向为主干道,东西方向为次干道。 (2)图2.1中的S1情况中,主干道绿灯亮时60s,车辆允许通行,此期间次干道红灯亮,车辆禁止通行。 (3)接着主干道切换为黄灯,黄灯闪烁5秒,提醒车辆行人注意指示灯状态即将切换。此期间次干道

15、依然是红灯闪烁5s正如图1.1中的S2情况。当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒。 东西方向车流大 通行时间长。 (4)再接着主干道红灯亮起,时间是25s,此时主干道车辆禁止通行,而此期间次干道绿灯闪烁,车辆允许通行,当主干道红灯闪到20s时,次干道指示灯切换为黄灯,闪烁时间5s, 提醒次干道车辆行人注意指示灯状态即将切换。 (5)此表中的时间切换只是设计测试用,各种间隔时间可具实际情况修改。以图2.1中的S1、S2、S3、S4四种状态为一个周期,由此四种状态切换就组成了交通灯系统的运作流程,循环执行此逻辑正如下图1.2交通灯状态循环图所示

16、:图2.2 交通灯状态循环图本系统的软件设计中的正常模式的程序就是根据此图逻辑设计。从开始执行后一个周期分为四中状态,一个周期总计时1分钟30秒。正是基于以上交通灯运转模型,我们给出以下的设计思路:(1)了解分析目前交通灯运行与控制方式,据此整理并确定出自己的交通灯控制方案。(2)设计交通灯系统总体方案和拥有的各项功能。比如控制模块,显示模块的选取。还有具体十字路口的通行情况,各模块功能等。(3)根据各模块的基本功能需求,细化硬件设计中各个模块的选取和连接方式,比如显示模块数码管的排布,信号灯的布局,每个路口运行时间即信号灯的亮灭时间等。(4)根据交通灯的运作原理,对系统进行软件设计,本系统总

17、体采用C语言编写,前期需对单片机做充分的了解,尤其是其内部的定时器,中断等。 根据十字路口交通灯的要求,可将本系统分为三个模块,第一模块是控制模块,主要负责整个系统的控制和运算,从而使各模块正常工作,第二个模块式显示模块包括LED灯和数码管;第三是电源模块,给各模块提供电源,让各模块工作。其系统设计结构如图:图2.3系统设计结构图2.2 方案论证 (一)控制模块选择方案方案一:由计数器74LS161级联组成,配合译码器和秒脉冲信号发生器等器件组成交通灯系统,整个系统简单,控制简单,调试容易等优点。 方案二:选择STC89C52单片机作为控制器,内部自带的定时器作为计时器。由于单片机的软件编程灵

18、活,自由度高且运算能力强,使用时容易控制;数码管同样采用S8550三极管驱动。采用STC89C52单片机便于有稳定可靠、应用广泛、通用性强等优点。方案论证:若采用方案一来实现本设计系统优点是简便易行,硬件电路的设计也非常简单,但会使得系统的稳定性大大降低,计时功能会失去准确性。电子产品的稳定性是设计的首要基础,况且系统中还要循环运行,切换模式等,此方案难以实现;如果采用方案二则完全能过达到要求,利用单片机的诸多优点例如IO口多、便于编程控制、外部电路扩张方便、成本低等。正是此系统设计的最佳方案。所以我们选择了第二种方案。 (二)电源模块方案根据之前的经验,数码管驱动需用三极管,如果电压不稳定或

19、电路虚焊会导致数码管某段或位不亮,其他模块亦是如此。为使整个系统稳定且正常工作,必须要有稳定可靠的电源作为基础。因此本设计供电考虑三种方案:方案一:采用自制稳压电源,此方案固然是稳定可行,并且现已有很多稳定成熟的稳压电路,可参考的资料也多。但若各模块都采用都用独立的稳压电源,势必会造成系统的复杂性,且可能会影响系统的正常电平。方案二:采用电池盒模块提供电源。该方案的操作简单方便,成本低,然而输出的功率低。方案二:采用电源适配器或USB线供电,此方案同样操作简单方便,成本低,而且电压稳定,实用性强。综上所述,我选择第三种方案中的USB供电。 (三)显示模块方案 (1)计时模块方案方案一:利用LE

20、D 点阵式模块计时显示。像街道上常见的广告牌,尽管显示中的交通灯计时也是用的LED点阵。这种方式功能确实好,可以显示各种汉字,字符,图像等;但成本较大且软件设计工作复杂,不适用与简单的设计。方案二:采用两位数码管。由于交通灯计时只用显示数字,所以两位数码管完全可以达到设计要求,且成本低,唯一的缺点是四个两位数码管同时在一个板子上焊接,线路多焊接复杂。综上所述,现实中的交通灯计时也只有两位数,所以我选择第二种方案,采用两位共阴极的数码管: (2)指示灯方案处于该系统功能的简单模式,省略了实际生活中十字路口的左右转通行方式,只考虑简单的直行。所以指示灯选用红黄绿三色led灯,并且每个路口各一组,也

21、就是红黄绿灯各四个。3 硬件设计3.1 设计框图控制模块STC89C52单片机电源模块显示模块计时模块 图3.1 总体设计框图经过上文方案论证与选择得出结论,本系统设计主要以51单片机为核心控制器件,采用分模块化的设计,共分为以下4个子模块:控制模块、电源模块、计时模块、显示模块。控制模块采用STC89C52及其各种辅助模块,如最小系统,复位电路等,它既是联系各个模块的控制器,又是处理各种运算的数据处理器,主要作用是完成系统的运算和控制各模块协调工作;电源模块采用USB线供电,保证各模块持续稳定供电;计时模块采用四个两位共阴7段数码管,完成路口计时显示工作,且要求计时稳定准确;显示模块采用红黄

22、绿三种颜色LED发光二极管,作为路口三色灯,用于指示通行状态。3.2 电路功能介绍 (一)复位电路 51单片机复位时高电平有效,当刚接上电源的瞬间,电容C1两端相当于短路,即相当于给RESET引脚一个高电平,等充电结束时(这个时间很短暂),电容相当于断开,这时已经完成了复位动作。 把左边的电路加上,就是带手动复位的复位电路,当按键按下去的时候,即给予一个高电平,同样可以完成复位动作9。 上电复位,顾名思义可以理解成加上电源就复位了,至于其他复位当然还有很多了,不同的系统对复位的准确性和可靠性要求不一样。图3.2 复位电路图 (二)震荡电路 振荡电路利用12M晶振连接两个电容,由于一个机器周期为

23、1/12时钟周期10,所以如果用12M的话,一个时钟周期为12us那么定时器计一次数就是1us了,电容范围在20-40pf之间。接在单片机X1与X2上电路原理图如下: 图3.3 振荡电路 (三)显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED数码管是现在最常用的显示器之一。发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8字型,每一段包

24、含一个发光二极管11。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。本系统采用的是两位共阴极数码管。 图3.4 两位共阴极数码管引脚图 (四)按键电路 图3.5 按键电路图 按键电路由四个四脚按键组成,主要用于设置交通灯的运行模式和加减计时时间。如图所示为按键电路图,第一个用来控制是否加调节时间,第二个是加时间,第三个是减时间,第四个是设置是否深夜模式。3.3 硬件电路 4 软件设计4.1 计时设计与信号灯状态切换设计 利用定时器中断,设置TH0=TH1(65536-50000)/256,即每0.05秒中断一次。每

25、到第20次中断即过了20*0.05秒1秒时,使时间的计数值减1,便实现了倒计时的功能。 状态灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒0.5秒时,使状态灯标志位反置,即可让状态灯1秒闪烁一次12。T0响应N南北灯标志位为1N东西灯标志位为1Y0.5s到Y1s到南北灯位置取反团里Y东西灯位置取反团里Y返回倒计时减1,计数值置0NN 图4.1 定时器0中断流程图4.2 整体软件设计图4.2 交通灯主程序流程图南北黄灯闪烁 闪烁5秒YNN 通行35秒东西直行通行南北禁止东西黄灯闪烁Y 闪烁5秒YN南北直行通行东西禁止 通行60秒YN开始STC89C52初始化由前文设计方案中

26、的状态转移模型分析可得出整体的软件设计流程,整体编程分为以下五个函数方法:(1) 函数1,单片机的初始化:此过程执行三秒,所有数码管于发光二极管闪烁;(2) 函数2,图2.1中的S1状态,也就是南北通行,东西禁止,此过程执行60S,南北绿灯亮,东西红灯亮;(3) 函数3,图2.1中的S2状态,也就是南北黄灯闪烁,此过程执行5S;(4) 函数4,图2.1中的S3状态,也就是东西通行,南北禁止,此过程执行30S,东西方向绿灯亮,南北方向红灯亮;(5) 函数5,图2.1中的S4状态,也就是东西红灯闪烁,此过程执行5S。 系统上电后,进入(1)方法,之后跳入死循环,死循环中顺序执行方法(2)、(3)、

27、(4)、(5)。4.3 按键控制软件设计 图4.3 按键中断流程图N “深夜”键按下 返回开中断INT0响应N “调节”键按下关中断加减时间设置Y深夜模式设置Y按键模块中共有四个按钮:K1:是否可进行时间设置按钮,此按钮判断是否可进行时间调节,当此按钮按下时,K2(时间加按钮),K3(时间减按钮)才可执行。软件设计中通过标志位去区分,单片机初始化时将K1的标志位置为0,当K1按下时就将标志位置为1,然后判断标志位为1时才可执行K2,K3的执行;K2:数码管时间加按钮,用于增加交通灯运行时间,在程序中将运行时间设为全局变量time,K2按下时让time+即可实现;K3:数码管时间减按钮,用于减少

28、交通灯运行时间,在程序中将运行时间设为全局变量time,K2按下时让time-即可实现;K4:深夜模式设置按钮,此按钮用于设置深夜运行模式,同K1原理,也是通过加标志位的方法去实现13。4.4 仿真结果 图4.2 仿真运行图主干道通行 图4.3 仿真运行图次干道通行 图3.5 交通灯电路图4.5 作品说明 图4.4 实物图 上图为实物图,左上角为USB供电接口,USB接口下面是开关,打开开关程序开始运行,所有灯闪烁3秒,主干道绿灯亮时60s,此期间次干道红灯亮,接着主干道切换为黄灯,黄灯闪烁5秒,此期间次干道依然是红灯闪烁5s;当东西方向为绿灯,南北方向为红灯,时间为80秒。再接着主干道红灯亮

29、起,时间是25s,而此期间次干道绿灯闪烁,车辆允许通行,当主干道红灯闪到20s时,次干道指示灯切换为黄灯,闪烁时间5s. 左边的四个按钮从上往下依次是时间调节选择按钮,时间加按钮,时间减按钮,深夜模式按钮。下面是不同状态事物运行图: 图4.5 程序初始化 图4.6 主干道运行 图4.7 次干道运行 图4.8 深夜模式 5结语经过多日的学习与实践终于毕设做完,通过此次毕设让我收获很多,首先编写程序前一定要有思路,复杂的地方的先画出流程图,在编写程序。再者我发现做实物里面会遇到很多仿真里面没有的问题,遇到问题应从硬件软件认真分析,找出原因。在此我特别感谢带我的指导老师-黄朝军老师还有专业的同学。做

30、实物的过程中遇到好多问题自己无法解决时,总是向他请教,让我在此过程中学习到好多知识。 致谢历时将近两个月时间终于把这篇论文写完了,在这段充满奋斗的历程中,我收获了学生生涯的无限激情。在论文的写作过程中遇到无数的困难和障碍,都在老师的帮助下度过了。他的严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,黄老师都始终给予我细心的指导和不懈的支持。在校图书馆找资料时候,图书馆的老师也给我很大的帮助,尤其感谢我的论文指导老师,没有他对我不厌其烦的指导和帮助,无私地为我进行论文的修改和改进,就没有我这篇论文的最终完成。在此,我向指导和帮助过我的老师们表

31、示衷心的感谢。同时我也要感谢本论文所引用的各位学者的专著,如果没有这些学者的研究成果的启发和帮助,我将会无法完成本篇论文的最终写作。参考文献1罗金玲.城市单交叉路口交通信号的控制方法研究J.电脑编程技巧与维护.2016.08:44-45+51.2齐博,陈强.城市智能交通运输系统中的智能技术应用J.科技与创新,2016,09:151.3谢智英.论交通灯两种控制方法的比较J.机械工程与自动化,2016,03:141-142.4郭强,刘志峰,张爱平,王建华.基于STC89C52单片机的智能交通灯控系统设计J.机电一体化,2008,11:85-88+92.5曹纯子,李业德.基于单片机的智能交通灯控制器

32、设计J.山东理工大学学报(自然科学版),2011,03:105-107.6苏玉萍.基于单片机的交通灯控制系统的设计与仿真J.甘肃科技,2011,19:32-34+5.7陈君.基于AT89S51单片机的智能交通灯设计J.电子技术与软件工程,2016,01:260-261.8王志刚.89C51单片机的硬件结构及发展探究J.黑龙江科技信息,2010,03:19.9徐小涛.基于MCS-51单片机的串行通信J.电脑编程技巧与维护,2010,15:60-62.10徐玮.51单片机综合学习系统快速入门J.电子制作,2006,11:15-17.11陈育华,宋宏远.MCS-51单片机开发过程中的数据传输J.测控

33、技术,1989,03:47-48.12J. Seifert,W.Brendel,R. Pichlmayr. Normale Verteilung 51 Cr-markierter Lymphocyten in der Ratte und ihre nderung nach AntilymphocytenserumJ. Zeitschrift fr Die Gesamte Experimentelle Medizin,1968,1463.13Yingxiang,Wang,Rong,Xiao,Haifeng,Wang,Zhihao,Cheng,Wuxing,Li,Genfeng,Zhu,Ying,

34、Wang,HongMa.TheA rabidopsis RAD 51 paralogs RAD 51B , RAD 51 D and XRCC 2 play partially redundant roles in somatic DNA repair and gene regulationJ. New Phytol,2014,2011.附录A 程序#include #defineuint unsigned int#define uchar unsigned charuchar night_flag=0;/深夜标志位uchar time_cl=0;/定义时间控制标志位 取0uchar flag

35、=0;/方向通行标志位uchar B_N_D_flag=1;/定义北南通灯行标志位uchar X_D_D_flag=1;/定义西东通灯行标志位uchar i,j;/定义变量iuchar t=3;/数码管动态扫描延时时间基数uchar num=0;/时间基数初始化为0/uchar num_night=0;/深夜模式时间基数为0uchar time=90;/time初始化定为30秒int bei,nan,xi,dong; /定义 北 南 西 东uchar code Data=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF;/定义数组 数

36、码管 0 1 2 3 4 5 6 7 8 9 -/*定义 红黄绿灯*/#define B_RP1_0/北面 红灯#define B_YP1_1/北面 黄灯#define B_GP1_2/北面绿灯#define N_RP1_3/南面红灯#define N_YP1_4/南面黄灯#defineN_GP1_5/南面绿灯#define X_RP1_6/西面红灯#define X_YP1_7/西面黄灯#defineX_GP3_2/西面绿灯#define D_RP3_3/东面 红灯#define D_YP3_4/东面黄灯#defineD_GP3_5/东面 绿灯/*定义 数码管*/#defineSMG_XSP

37、0/数码管数据显示#defineSMG_KZP2/数码管控制显示void delay(uint time)/扫描延时函数uint x,y;for(x=time;x0;x-)for(y=110;y0;y-);void disp_init()/显示初始化for(i=0;i3;i+)SMG_XS=Data10;/数码管显示-SMG_KZ=0x00;/允许数码管显示P1=0x00;/北,南,西,东 红黄绿灯亮P3=0x00;delay(300);/延时SMG_KZ=0xff;/关闭数码管显示P1=0xff;/关闭北,南,西,东 红黄绿灯P3=0xff;delay(300);/延时void disp(b

38、ei,nan,xi,dong) /显示(北 南 西 东)时间函数SMG_XS=Databei/10;/显示北的十位SMG_KZ=0xfd;/允许北十位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS=Databei%10;/显示北的个位SMG_KZ=0xfe;/允许北个位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS=Datanan/10;/显示南的十位SMG_KZ=0xf7;/允许南十位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xf

39、f;/关闭数码管显示(消隐)SMG_XS=Datanan%10;/显示南的个位SMG_KZ=0xfb;/允许南个位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS=Dataxi/10;/显示西的十位SMG_KZ=0xdf;/允许西十位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS=Dataxi%10;/显示西的个位SMG_KZ=0xef;/允许西个位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS

40、=Datadong/10;/显示东的十位SMG_KZ=0x7f;/允许东十位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)SMG_XS=Datadong%10;/显示东的个位SMG_KZ=0xbf;/允许东个位显示delay(t);/小延时一下,使数码管显示更清楚SMG_KZ=0xff;/关闭数码管显示(消隐)void Time0_init()/定时器0初始化函数TMOD=0x01;/定时器0为方式1TL0=(65536-50000)%256;TH0=(65536-50000)/256;/12M晶振 定时时间50msET0=1;/开定时器0中断EA=1;/开总中断TR0=1;/启动定时器0void night_mode()/深夜模式B_R=1;B_Y=B_Y;/北 黄灯取反B_G=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com