收藏 分销(赏)

基于单片机交通控制灯的设计与实现含有程序.doc

上传人:天**** 文档编号:3326178 上传时间:2024-07-02 格式:DOC 页数:47 大小:956.54KB
下载 相关 举报
基于单片机交通控制灯的设计与实现含有程序.doc_第1页
第1页 / 共47页
基于单片机交通控制灯的设计与实现含有程序.doc_第2页
第2页 / 共47页
基于单片机交通控制灯的设计与实现含有程序.doc_第3页
第3页 / 共47页
基于单片机交通控制灯的设计与实现含有程序.doc_第4页
第4页 / 共47页
基于单片机交通控制灯的设计与实现含有程序.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、 毕业论文(设计) 题 目 单片机交通控制灯设计与实现 院 系 电子信息学院 单片机交通控制灯设计与实现电力系统及其自动化专业 【摘 要】交通红绿灯是建设在各个要塞路口的系统,用于指挥人和车安全有序的通过十字路口,是保证道路畅通的重要手段;随着我经济的快速发展,物流业的快速发展,车流量不断增长;导致交通堵塞成为人们畅通出行的重要问题。因此开发出智能、可靠、便宜的控制系统成为当前的重要问题。 随着科技的快速发展,单片的测控地位不断加深。根据目前的需求,提出以单片机为控制核心的红绿灯系统。单片机的交通灯控制系统重要由STC89C51单片机、LED红绿灯指示、8段数码管倒计时、紧急情况按键解决模块组

2、成。本系统除了基本交通灯功能外,还具有通行时间手动设立、可倒计时显示、夜间模式、发生紧急事件车辆绿色通道等相关功能。通过电路仿真证明该系统可以简朴、经济、有效地疏导交通,提高交通路口的通行能力。 【关键词】单片机 交通红绿灯 LED 定期计数 数码管Microcontroller Design And Implementation Of Traffic Control Lights【Abstract】traffic lights building fortress junction system for command and the car safe and orderly through

3、the crossroadsis an important means to ensure that the roads are wider; With the rapid economic development of the logistics industry rapid development,the traffic volume is increasing; cause traffic jams, smooth travel. Therefore developed a smart, reliable, low-cost control system become the main

4、problem.With the rapid development of science and technology, measurement and control of the monolithic status continues to deepen. According to the current demand, a microcontroller as the core control traffic lights system. The the microcontroller traffic light control system mainly by the STC89C5

5、1 microcontroller, LED traffic light indicator, LED countdown, an emergency button processing module. In addition to basic traffic lights, the system also has the access time manually set the countdown display, night mode, the occurrence of the green channel of the emergency vehicles and other relat

6、ed functions. Simulation results show that the system can be simple, economic, effectively ease traffic congestion, improve traffic junction capacity. 【Key Words】 single-chip traffic lights LED Timer counter Digital tube目录1 绪论11.1 交通灯历史背景11.1.1交通灯的定义11.1.2 交通灯的发展历史11.2 研究交通灯的意义21.3 研究内容22系统的方案与论证32.

7、1 设计任务32.2系统总体设计方案52.2.1 系统控制模块52.2.2 系统显示模块52.2.3 系统按键模块62.2.4 显示驱动模块62.2.5 系统电源模块63 原理简介63.1 STC89C51单片机简介63.1.1 STC89C51单片机引脚功能73.1.2 控制引脚83.1.3 输入/输出引脚83.2 单片机最小系统93.2.1 时钟电路93.2.2.复位电路103.2.3 显示原理103.3 74HC245简介114 系统硬件设计134.1 系统的总构成134.2 系统总电路145 系统软件设计155.1 主函数流程图155.2 子函数程序流程图155.2.1 外部中断155

8、.2.2 定期器中断166 调试186.1 软件调试186.2 硬件调试18参考文献19附录20程序20系统实物图30致谢311 绪论1.1 交通灯历史背景1.1.1交通灯的定义交通信号指示灯一般由红灯、黄灯、绿灯组成;红灯表达严禁通行;绿灯表达允许通行、黄灯表达警示的含义。依据其形式、用途不同分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路交叉道口信号灯等。1.1.2 交通灯的发展历史十九世纪中叶,当时涉及英国在内的部分欧洲国家已经普及了马车,但却并没有指导行人与马车通行的信号指示设备,因此无论是在山间小路还是市中心的繁华大道上,马车轧

9、人的事故经常出现,这不仅对行人的安全导致了危害,更会经常导致交通混乱、拥堵的现象。1868年12月10日,历史上第一盏交通信号灯出现,在这盏灯下必须要站立一名手持长杆的警察,通过皮带拉拽提灯进行颜色的转换,后来还在这盏信号灯的中间加装了红、绿两色的灯罩,前面有红、绿两块玻璃交替进行遮挡,白天不点亮煤气灯,仅以红、绿灯罩的切换引导人们前进或停止,夜晚则将煤气灯点燃,照亮红、绿两色灯罩。1869年1月2日,仅仅诞生23天的第一盏交通信号灯便忽然爆炸损毁了,但这个仅有23天生命的信号灯却点燃了整个欧洲乃至整个世界开发交通信号灯的激情,不久之后,各式各样的交通信号灯便如雨后春笋般出现了。在“后煤气信号

10、灯”时代,有些欧洲国家开始在道路上设立执勤警察以及可翻转的标记。192023,美国盐湖城一名叫做Lester Wire的警员发明了第一盏电动交通信号灯。1920238月5日,美国交通信号灯公司在Lester Wire发明的交通信号灯基础上进行了改善,并在顶部安装了一个蜂鸣器。192023,美国盐湖城街道上初次出现了互相关联的交通信号系统,由一个岗亭内的警员统一控制颜色的转换。192023,美国密歇根州底特律一位名叫William Potts的警官在当时交通信号灯的基础上再次进行了改善,研制出了一种四周三灯的多功能交通信号灯,这种信号灯共分为四周,每面均竖立排列三盏灯,当时它的排列形式与功能已经

11、与我们现在所熟知的信号灯大同小异,红灯与绿灯表达停止与通过,黄灯则表达“谨慎”。1920233月,Garrett Morgan发明了一种完全独立的手摇式交通信号系统。 1936年,在澳大利亚墨尔本的道路上出现了一种名为Marshalite的交通信号指示系统。1963年,加拿大多伦多市的街道上第一次出现了一套用计算机芯片控制的完整交通信号系统。上世纪90年代,美国部分地区开始引进带有计时器的交通信号灯。可以说,在近百年的发展中,道路交通信号控制系统经历了无感应控制到有感应控制、手动控制到自动控制再到智能控制、单点控制(点控)到干线控制(线控)再到区域控制和网络控制(面控)的过程,现在正出现基于物

12、联网的智能交通控制系统1。1.2 研究交通灯的意义2023年1月1日,我国开始实行最新的机动车驾驶証申领和使用规定,有关部门对于新规定的解释中明确提到:“抢黄灯属于违反道路交通信号灯通行的行为,将对驾驶人处20元以上200元以下罚款,并记6分。”新规定一经出台便触动了机动车驾驶员们的神经,许多司机在路口恰好碰到黄灯时往往不知所措,以往为司机们“提醒儿”的黄灯如今成了人见人畏的“违章陷阱”。由于不少司机纷纷“中招”,新规定也因此引发了许多争议,直到公安部近日称将暂时不对闯黄灯的行为做出处罚之后,这次由黄灯引发的风波才算逐渐平息。当前,大量的交通信号灯电路正向着数字化、小功率化、多样化、多值化的方

13、向发展。随着社会经济的发展,人们的生活水平不断提高,城市交通问题越来越引起人们的关注。人们越来越期待更加方便、畅通的出行环境;人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。1.3 研究内容本系统采用STC89C51单片机为控制核心,来设计交通灯控制器,进行交通灯路口的管理。它用简朴的硬件电路模拟交通灯信号灯的交替变换,实现红绿灯循环点亮。用LED数码管作为倒计时指示,通行指示灯采用发光二极管,LED显示动态扫描,以节省端口,特殊紧急车辆通行采用实时中断完毕。实时的控制当前交通灯时间使LED显示器进行倒计时工作并与状态灯保持同步;设计紧急绿色通道,严禁所有路口通行。使紧急车

14、辆如120、119等车辆安全快速通行;针对2023年新的交通规则,设计黄灯闪烁时,加蜂鸣器起到提醒路人和司机采用安全措施,在保持交通安全的同时最大限度的提高交通的顺畅交替运营;同时增长交通灯的夜间模式,使交通灯在夜间黄灯亮以警示司机和路人,关闭LED数码管。大大提高交通运送的运营效率,还可以减少交通事故,节省能源消耗。2系统的方案与论证2.1 设计任务在交通十字路口,分为东西方向和南北方向,在任一时刻最多只有一个方向通行,另一方向禁行,连续一定期间,通过短暂的过渡时间,将通行和禁行方向对换。其具体状态如下图所示。红色表达严禁通行,绿色表达通行,黄灯表达敬告车俩和行人注意安全。十字路口整体设计如

15、图2-1所示:图2-1 整体设计状态一:东西方绿灯亮,表达东西方向行人和车辆通行;倒计时30秒,东西方向绿灯灭,南北方向红灯亮,东西方向黄灯闪烁5秒。切换到下一状态。其状态图如下图2-2所示:图2-2 红绿灯东西通行状态图状态二:南北方向绿灯亮,表达南北方向行人和车辆通行;倒计时30秒,南北方向绿灯灭,东西方向仍为红灯亮,东西方向黄灯闪烁5秒。切换到下一状态。其状态图如下图2-3所示:图2-3 红绿灯南北通行状态图状态三:当为白天正常模式下,为上述四种状态循环切换。当为紧急状态时,需要为紧急车辆和路人提供绿色通道时,东西南北俩个方向均严禁通行;此外当为夜间模式时,使四个路口的交通灯为黄色,均通

16、行警示车辆和行人慢行注意安全。状态图如下图2-4所示:图2-4 红绿灯特殊状态状态图综上所述:整个交通灯的状态可由下表2.1图所示: 表2.1 交通灯状态表2.2系统总体设计方案根据整个系统的设计规定,本系统采用模块化设计。整个系统重要涉及控制模块、显示模块、电源模块、驱动模块组成。一方面是控制模块就是重要负责整个系统的控制和运算,从而使各模块正常工作,第二个模块式显示模块涉及LED灯和数码管;第三是电源模块,给各模块提供电源,让各模块工作;第四是按键模块,切换系统的工作状态;另一方面是系统的驱动模块,使系统的显示模块可以正常工作;其系统整体设计结构如图2-4所示:图2-4 系统整体框图2.2

17、.1 系统控制模块方案一:由上表2.1真值表可得,本系统可以根据数字电子技术搭建电路实现上述功能,使用数字计数器、译码器、数字脉冲发生器实现上述功能。电路简朴,成本低廉。方案二:采用单片机STC89C51最小系统作为控制器。单片机运算能力强,软件编程非常灵活,自由度大。使用时容易掌握;采用STC89C51单片机稳定可靠、应用广泛、通用性强。方案比较:采用方案一来实现十字路口交通灯控制系统非常方便,电路结构简朴,控制单一,但整个系统性能不是很高,倒计时不是很精确,假如规定系统能设立不同工作时间不容易,设计复杂。而方案二完全能实现设计规定,容易掌握,利于编程,易控制,I/O接口很多,易于扩展外围电

18、路,价格便宜,故选择方案二。2.2.2 系统显示模块方案一:采用8段数码管显示。这种方案完全够用红绿灯的倒计时显示,且价格便宜。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种符号,但实现复杂,且须完毕大量的软件工作,价格昂贵。综上所述,我选择第一种方案,四个路口采用两个二位共阴极数码管。2.2.3 系统按键模块 方案一:矩阵键盘:编程简朴,但浪费i/o接口。方案二:独立键盘:需要较多按键设计时,占用接口较少,但编程相称复杂。 综上所述,虽然单片机接口有限,但是此交通灯按键较少,系统接口够用,故适宜采用2。我选用方案一。2.2.4 显示驱动模块 方案一:使用三极管驱动。

19、软件规定较低,由于本次设计需要的数码管数量较多,故需要较多三极管,硬件规定较高,电路复杂。方案二:采用74HC245,编程简朴;集成度较高,硬件简朴。综上所述,我选用第二种方案。2.2.5 系统电源模块方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺陷是各模块都采用独立电源,会使系统复杂,且也许影响电路电平;且成本较高。方案二:采用单片机控制模块提供电源,使用电池盒供电。该方案的优点是系统简明扼要,节约成本;缺陷是输出功率不高。综上所述,为使模块稳定工作,须有可靠电源,我选择第二种方案2。3 原理简介3.1 STC89C51单片机简介STC89C51是89C51

20、系列单片机中应用较为广泛的一种型号,它把所有控制所需功能集中到一个尺寸有限的集成电路芯片上。重要由CPU、RAM、4K FLASH ROM、四个8位可编程并行I/O口、一个全双工串行、2个16位定期/计数、中断系统、SFR3。其内部结构如下图3-1所示: 图3-1 51单片机的内部结构STC89C51单片机的40条引脚按功能来分,40个引脚可以分为三大类:(1) 电源及时钟引脚Vcc、Vss、XTAL1、XTAL2。(2) 控制引脚RESET(即RSR/VPD)、ALE、。(3) 和输入/输出引脚P0、P1、P2、P3,4个8位I/O外部引脚。单片机引脚如图3-2所示:图3-2 STC89C5

21、1单片机引脚3.1.1 STC89C51单片机引脚功能主电源及时钟引脚 (1)Vcc(40引脚):接+5V电源,为单片机芯片提供电能。 (2)Vss(20引脚)接地。 (3)XTAL1(19引脚)在单片机内部,它是一个片内振荡器反向放大器的输入端,该放大器构成了片内的振荡器,可提供单片机的时钟控制信号。当使用片内振荡器时,该脚接外部石英晶体和微调电容。当采用外接时钟电源时,引脚接外部时钟信号,XTAL2悬空。 (4)XTAL2(18引脚)在单片机内部,接至上述振荡器的反向输出端。当使用片内振荡器时,该角接外部石英晶体和微调电容。3.1.2 控制引脚控制引脚: (1)RST(9引脚):复位信号输

22、入端,高电平有效,当单片机运营时,在此引脚加上两个机器周期的(24个时钟振荡周期)高电平时,将使单片机复位。要使单片机正常工作,复位后应使此引脚电平保持为不大于0.5V的低电平3。 (2)ALE/(30引脚):ALE为低8位地址锁存允许信号。在系统扩展时,ALE的负跳沿将P0口发送出的低8位地址锁存在外接的地址锁存器中,然后P0口再作为数据端口,以实现P0口的低8位的地址和数据分时传送3。 (3)(29引脚):片外程序存储器的选通信号。在单片机读外部程序存储器时,此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号。此引脚接外部程序存储器端;在访问外部RAM时,信号无效3。 (4)(31脚):

23、功能为内外程序存储器选择控制端。当端保持高电平时,单片机读片内部程序存储器,但在PC值超过0FFFH时将自动转向访问外部程序存储器内的程序。当引脚为低电平时,对程序存储器只限定在外部程序存储器3。3.1.3 输入/输出引脚此类引脚涉及P0口、P1口、P2口和P3口。 (1)P0(P0.0-P0.7)是一个8位三态双向I/O口,在不访积压处部存储器时,做通用I/O口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负载4。 (2)P1(P1.0-P2.7)是一个8位准双向I/O口,带有内部上拉电阻,可带4个LSTTL负载4。

24、 (3)P2(P2.0-P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载4。 (4)P3(P3.0-P3.7)是一个8位准双向I/O口,除此之外每位还具有第二功能4。P3口功能表如下表3.1所示:表3.1 P3口第二功能定义3.2 单片机最小系统图3-4 单片机最小系统电路图3.2.1 时钟电路 STC89C51单片机个功能部件运营都已时钟控制信号为基准,使系统有条不絮的工作。直接关系到系统的稳定和工作速度,因此时钟是系统的重要组成部分;时钟电路有两种方式,内部时钟和外部时钟方式,本系统选用内部时钟。内部时钟电路如下图3-5所示:图3-5 时钟电路 电路中的

25、电容C1、C2的典型值通常选择30pF左右,该电容的大小会影响震荡频率的高低,震荡的快速性此系统选择30pF;晶振的频率范围在1.2-12MHZ晶体的频率越高,系统频率越高,运营速度越快。此系统选用12MHZ;晶体振荡器和电容应尽也许安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作5。3.2.2.复位电路 最小系统复位是由外部电路来实现的,复位操作不会对内部RAM有所影响。片内复位引脚RST通过一个斯密特触发器与复位电路相连,施密特触发器可用来克制噪声,在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,按键电平复位电路如下图3

26、-6所示:图3-6 复位电路 此复位电路采用的是按钮复位电路。时钟频率选用12MHz,C取10F,Rs选取电阻值为2.2K,Rk电阻值为10K。3.2.3 显示原理 LED是Light Emitting Diode的缩写,中文意思是发光二极管,是一种可以将电能转化为可见光的固态的半导体器件,LED的特点非常明显,具有寿命长、光效高、辐射低、功耗低等优点。LED因其高亮度、低热量、长寿命、无毒、可回收再运用等优点, 交通灯运用发光二极管来显示不同颜色的信号指示灯。电路图如下图3-7所示:图3-7 LED灯 数码管是一种半导体发光器件,其基本单元是发光二极管;按发光二极管单元点亮方式可以分为共阴极

27、数码管和共阳数码管。共阳极就是将所有的发光二级管的阳级接到一个公共端,公共端接高电压,常用+5V;同理共阴极就是讲所有的发光二级管阴极接到一起,公共端接地。本系统采用俩位共阴极八段数码管。其管脚电路如下图3-8所示:图3-8 数码管显示引脚图 由如上管脚图可知,该数码管有十个管脚G1为公共端,该引脚接地AG和dp分别相应数码管的各段被点亮,S1、S2为选通位,分别相应数码管的第一、二位。其显示的数字和编码相应如下表3.2所示:表3.2 共阴极数码管显示编码3.3 74HC245简介 74HC24,总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路。用于提高单片机数据总

28、线、地址总线、控制总线端口的负载能力7。其引脚图如下图3-9所示:图3-9 74HC245引脚图管脚定义如下表3.3所示:表3.3 245管脚定义功能真值表如下表3.4所示:表3.4 功能真值4 系统硬件设计4.1 系统的总构成 本系统拟采用STC89C51单片机为控制核心的最小系统、74HC245驱动电路、以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定期进行设立。本系统实用性强、操作简朴、扩展功能强。在相同的时间里提高通车的质量、效率。并能在高峰期根据实际状况结合方程式控制按钮来调整主次干道的通车时间,减少交通拥挤堵塞现象

29、。并使交通控制系统具有紧急控制,使救护车、救护车通过时, 使两个方向均亮红灯,救护车和消防车通过后,恢复本来状态,增长对出现特殊情况的解决能力。键盘设立模块对系统输入模式选择及具体通行时间设立的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕获违规检测和紧急按键信号,以达成对异常状态进行实时控制的目的。急停按违规检测随时调用中断。本单片机控制交通灯系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,单片机对此进行具体解决

30、,及时调整控制指挥。如图4.1所示:图4.1 系统整体结构图 由上图可得,本系统以单片机最小系统为核心,组成一个解决、自动控制为一身的闭环控制系统。系统硬件电路由单片机最小系统、LED红绿灯、LED8段数码管显示、驱动电路、按键等组成。 实现本设计规定的具体功能,可以用STC89C51单片机及外围器件构成最小控制系统,12个发光二极管提成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设立和模式选择按钮和紧急按钮等。其中P0,P1,用于送显LED数码管的型和位,P2用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上

31、复位电路,P3用于口按键控制。 4.2 系统总电路 根据上述原理将各个部分用电路联系在一起,构成整个系统的电路如下图4.2所示:图4-2 系统电路原理图5 系统软件设计5.1 主函数流程图将系统分解为若干模块;按键模块程序,显示模块程序,LED红绿灯程序。最后主函数调用各个模块。主函数程序流程图如图5-1所示:图5-1 主函数流程图5.2 子函数程序流程图5.2.1 外部中断 本系统存在两个外部中断;外部中断有两种触发方式:即为电平触发方式和跳沿触发方式。电平触发方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源的情况;外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求1

32、1。本系统采用跳沿触发方式。外部中断的管脚为P3.2和P3.3,分别相应外部中断0的输入和外部中断1的输入;当P3.2或P3.3存在按键时,故触发外部中断。其程序流程如图5-2所示:图5-2 外部中断程序流程图当存在P3.2或P3.3存在按键时,即存在外部中断外部中断的响应程序流程图如下图5-3所示:图5-3 外部中断响应程序流程图5.2.2 定期器中断 本设计单片机定期器的设立直接关系到系统的精确度,单片机定期器时间的计算方法可以有两种:一种是单片机内部定期器溢出中断,另一种是采用软延时的方法。STC89C51单片机的定期/计数有4种工作方式;工作方式的选择如下表5.1所示: 表5.1 工作

33、方式M0M1工作方式0013位定期/计数器0116位定期/计数器108位常数自动装载定期/计数器11仅合用T0 当且仅当方式1时,最大计数为:216*1=65.535ms;TMOD=0X11;选择T0,方式1;TH0=3C,TL0=B0,计时50ms; 因此1秒钟已经远远的超过了计数器方式一的最大定期间,我们定期中断中设定一个初值count为0;并设立T0定期50ms每次中断服务子程序。计数器count加1,然后判断它是否等于20。等于20表达1秒已到可以返回到输出时间显示程序。程序流程图5-4如下所示: 图5-4 定期一秒流程图6 调试6.1 软件调试使用keil 编译、运营程序结果如下图所

34、示:图6-1 keil编译、运营结果6.2 硬件调试使用protus电路仿真结果如下图6-2所示:图6-2 protus硬件仿真结果在硬件实物调试中出现如下问题:一、 系统不能正常工作问题因素:供电电源局限性;解决办法:采用USB电源供电。二、3个LED指示灯不亮、电源灯不亮。 问题因素:出现虚焊,漏焊,腐蚀电路出现漏焊。电源指示灯上拉电阻焊错,本来焊接2.2K,焊成22K; 解决办法:用万用表检查电路最终找到源头,重焊,用焊锡连接断路处。将22k换成2.2k。参考文献1 Laisheng Xiao.Internet of Things: a New Application for Intel

35、ligent Traffic Monitoring System,Journal Of Networks,2023。2 严雨,廉洁。单片机c语言100应用例,电子工业出版社,2023。3 张毅刚、彭喜元。单片机原理与应用设计,电子工业出版社,2023。4 孙宝元、杨宝清。传感器及其应用手册,2023。5 聂典、丁伟。基于Multisim 10的51单片机仿真教程,电子工业出版社,2023。6 张志勇、何东健、肖军利、王顺。单片机在胶订机智能控制系统中的应用期刊论文-包装工程,2023。7 王为青、邱文勋。 51单片机开发案例精选J,人民邮电出版社,2023。8张鑫,华臻,陈书谦。单片机原理及应

36、用J,电子工业出版社,2023。9张洪润,张亚凡。单片机原理及应用J,清华大学出版社,2023。10蒋辉平,周国雄。基于Proteus的单片机系统设计与仿真实例M,机械工业出版社,2023。11 张萌。单片机应用系统开发综合实例,清华大学出版社,2023。附录程序整个系统的软件程序如下所示:#include #define uchar unsigned char#define uint unsigned intuchar data buf4;uchar data sec_dx=20; /东西数默认uchar data sec_nb=30; /南北默认值uchar data set_timedx

37、=20; /设立东西方向的时间uchar data set_timenb=30; /设立南北方向的时间int n;uchar data countt0; /定期器0中断次数sbit k4=P37; /切换方向sbit k1=P35; /时间加sbit k2=P36; /时间减sbit k3=P34; /确认sbit k5=P31; /严禁sbit k6=P15; /夜间模式sbit Red_nb=P26; /南北红灯标志sbit Yellow_nb=P25; /南北黄灯标志sbit Green_nb=P24; /南北绿灯标志sbit Red_dx=P23; /东西红灯标志sbit Yellow

38、_dx=P22; /东西黄灯标志sbit Green_dx=P21; /东西绿灯标志sbit Buzz=P30;bit Buzzer_Indicate;bit set=0; /调时方向切换键标志 =1时,南北,=0时,东西bit dx_nb=0; /东西南北控制位bit shanruo=0;uchar code table11=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00 ; /共阴极数码管显示数字编码void delay(int ms); /声明延声时子程序void key(); /声明按键扫描子程序void

39、 key_to1(); /声明键解决子程序void key_to2();void key_to3();void display(); /显声明示子程序void logo(); /声明开机LOGOvoid Buzzer();void main() /主程序TMOD=0X11; /定期器设立TH0=0X3C; /定期器0置初值 0.05STL0=0XB0;EA=1; /开总中断ET0=1; /定期器0中断启动TR0=1; /启动定期0EX0=1; /开外部中断0EX1=1; /开外部中断1 logo();P2=0Xc3; / 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5; /默

40、认南北通行时间比东西多5秒while(1) key(); /调用按键扫描程序display(); /调用显示程序Buzzer();void key(void) /按键扫描子程序 if(k1!=1) /当K1(时间加)按下时display(); /调用显示,用于延时消抖if(k1!=1) TR0=0; /关定期器shanruo=0;P2=0x00;if(set=0)set_timedx+; /南北加1Selseset_timenb+; /东西加1Sif(set_timenb=100)set_timenb=1;if(set_timedx=100)set_timedx=1; /加到100置1sec_

41、nb=set_timenb ; /设立的数值赋给东西南北sec_dx=set_timedx; do display();while(k1!=1);if(k2!=1) /当K2(时间减)按键按下时display(); /调用显示,用于延时消抖 if(k2!=1) TR0=0; /关定期器shanruo=0;P2=0x00;if(set=0) set_timedx-; /南北减1Selseset_timenb-; /东西减1Sif(set_timenb=0)set_timenb=99;if(set_timedx=0 )set_timedx=99; /减到1重置99sec_nb=set_timenb ; /设立的数值赋给东西南北sec_dx=set_timedx; do display(); /调用显示,用于延时while(k2!=1);if(k3!=1) /当K3(确认)键按下时display(); /调用显示,用于延时消抖if(k3!=1)TR0=1; /启动定期器Buzzer_Indicate=0;sec_nb=set_timenb;/从中断回复,仍显示设立过的数值sec_dx=set_timedx;/显示设立过的时间if(set=0)/时间倒时到0时 P2=0X00;/东西绿灯,南北红灯Green_dx=1;Red_nb=1;sec_nb=sec_dx+5;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服