收藏 分销(赏)

基于单片机的数显交通灯的设计.doc

上传人:天**** 文档编号:4344025 上传时间:2024-09-08 格式:DOC 页数:29 大小:744.50KB
下载 相关 举报
基于单片机的数显交通灯的设计.doc_第1页
第1页 / 共29页
基于单片机的数显交通灯的设计.doc_第2页
第2页 / 共29页
基于单片机的数显交通灯的设计.doc_第3页
第3页 / 共29页
基于单片机的数显交通灯的设计.doc_第4页
第4页 / 共29页
基于单片机的数显交通灯的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、单片机原理与接口技术课程设计题目:基于51单片机得数显交通灯院 系:工学院 专 业:电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 二一七年十二月基于51单片机得数显交通灯摘 要近年来随着科技得飞速发展,一个以微电子技术、计算机技术与通信技术为先导得信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效得结合并发挥其作用。单片机作为计算机技术得一个分支,正在不断得应用到实际生活中,同时带动传统控制检测得更新。在实时检测与自动控制得应用系统中,单片机往往就是作为一个核心部件使用,针对具体应用对象得特点,配以其它器件来加以完美。十字路口车辆穿梭,行人熙攘,车行车道,人行人

2、道,有条不紊。那么靠什么来实现交通得井然秩序呢?靠得就是交通信号灯得自动指挥系统,来实现交通得井然有序。交通信号灯控制方式很多。本系统采用美ATMEL公司生产得单片机AT80S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片得P1口设置红、绿灯点亮得功能,输出设置显示时间。交通灯得点亮采用发光二极管实现,时间得显示采用七段数码管实现。单片机系统采用得直流供电。关键词:AT89S51单片机 智能交通灯控制系统Digital display traffic lights based on 51 single chip microputerABSTRACTIn recent year

3、s, an information revolution with the leading of microelectronics, puter technology and munication technology is booming、 puter technology as one of the three, how to effectively integrate with the practical application and play its role、 As a branch of puter technology, SCM is being applied to real

4、 life, and it also drives the update of traditional control detection、 In the realtime detection and automatic control application system, SCM is often used as a core ponent, aiming at the specific application of the characteristics of the object, with other devices to be perfect、 Crossroads Vehicle

5、 Shuttle, pedestrian bustling, car lane, pedestrian walkway, methodical、 So what is the orderly order to achieve traffic? Rely on the automatic mand system of traffic lights to achieve orderly traffic、 There are many ways to control traffic lights、 The system uses the United States Atmel pany produc

6、tion of Singlechip microputer At80s51, as well as other chips to design traffic light control、 It realizes the function of setting red and green light light through the P1 port of SCM chip, and the output setting shows the time、 Light of traffic lights using lightemitting diode to achieve, the displ

7、ay of time using sevensegment digital tube、 The single chip microputer system uses the direct current power supply key word: SCM singlechip microputer Intelligent traffic light control system目录第一章 概述 4 1、1 交通灯设计方案选择与论证: 4 1、2设计要求及目得: 4 1、2、1基本要求: 4 1、2、2提高要求: 5 1、2、3设计目得: 5 1、3交通灯控制系统得简单说明: 5 第二章 系统

8、总体方案及硬件设计 6 2、1 硬件电路各元件介绍: 6 2、1、1核心芯片AT89C51单片机得说明 6 2、1、2两位八段式数码管 8 2、1、3其它元件得说明 10 2、2总电路得设计及过程说明 11 2、2、1设计基本框架图: 11 2、2、2总体电路得工作原理: 11 2、2、4复位与时钟电路: 12 2、3设计思想: 13 第三章 软件设计 15 3、1交通灯状态得分析: 15 3、2主程序流程图: 16 3、3中断程序流程图: 18 第四章 Proteus软件仿真 19 4、1仿真过程: 19 4、2检测与调试: 22 第五章 课程设计体会 23 5、1心得体会: 23 参考文献

9、 24 附1:源程序代码 25 附2:系统原理图 31 第一章 概述 1、1 交通灯设计方案选择与论证:交通灯控制系统,可由多种电路来构成,我们这里提供三种方案供选择:(1)方案一:由普通得数字电路集成芯片组成这种方案得特点就是:硬件设计思路简单,但用元器件多,电路比较复杂,焊接调试容易出错,而且不利于智能控制,调时电路复杂。(2)方案二:用VHDL语言编程控制这种方案得特点就是:硬件设计简单,电路结构清晰,电路比较复杂 ,VHDL语言编程控制硬件,可方便得进行仿真,调试。(3)方案三:单片机控制采用单片机控制,可提高电路得可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,

10、能满足不同情况得控制,可利用中断等方式通过程序来方便得实现调时。综合以上三种方案得特点,结合我们自身得知识结构,我们采用方案三,选择常用得51系列单片机构成。1、2设计要求及目得:1、2、1基本要求:(1)采用AT89C51单片机控制交通信号灯;(2)以南北方向得交通灯为例,结合实际情况,控制红、黄、绿交通灯得亮与灭;(3)红、黄、绿交通灯得亮与灭得时间可调节。1、2、2提高要求:(1)采用LED数码管显示红或绿交通信号灯亮得剩余时间;(2)可由拨盘开关强制设置为东西红,南北绿/东西绿,南北红/东西南北都为红;(3)控制东西方向与南北方向得红、黄、绿交通灯得亮与灭;(4)控制系统得原理图与接线

11、图采用PROTEL等专用绘图软件绘制。1、2、3设计目得:在该设计中通过学生自主地设计与调试某一简单实际系统,综合应用单片机原理、微机原理、微机接口技术等课程方面得知识,熟练掌握单片机仿真系统得使用方法,达到提高综合应用相关知识得能力,掌握单片机系统设计全部设计过程得目得。 1、3交通灯控制系统得简单说明: 此系统核心元件为单片机AT89C51,对其编写相关程序来控制交通信号灯与数码管得时间显示,并采用外部中断来控制紧急情况。系统共采用12个发光二极管来模拟各路交通信号灯,2个LED七段数码管以倒计时得方式显示各个方向上允许通行或禁止通行得信号灯剩余得时间。停10S,准备3S,之后通行10S,

12、在东西与南北两个方向上这两种状态不断循环。源程序采用C语言编写,并通过keil软件进行编译,最后倒入AT89C51单片机中,运行系统。设计好后通过PROTUES软件仿真,并调试。第二章 系统总体方案及硬件设计 2、1 硬件电路各元件介绍: 2、1、1核心芯片AT89C51单片机得说明 (1).主要特性: 与MCS51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗得闲置与掉电模式片内振荡器与时钟电路 (2).管脚说明: VCC

13、:供电电压。 GND:接地。 图1:AT89C51 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口得管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址得第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口就是一个内部提供上拉电阻得8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这就是由于内部上拉得缘故。在FLASH编程与校验时,P1口作为第八位地址

14、接收。 P2口:P2口为一个内部上拉电阻得8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口得管脚被外部拉低,将输出电流。这就是由于内部上拉得缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址得高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器得内容。P2口在FLASH编程与校验时接收高八位地址信号与控制信号。 P3口:P3口管脚就是8个带内部上拉电阻得双向I/O口,可接收输出4个TTL门电流。当P3口写入

15、“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这就是由于上拉得缘故。P3口也可作为AT89C51得一些特殊功能口,如下表所示:口管脚 备选功能P3、0 RXD(串行输入口)P3、1 TXD(串行输出口)P3、2 /INT0(外部中断0)P3、3 /INT1(外部中断1)P3、4 T0(记时器0外部输入)P3、5 T1(记时器1外部输入)P3、6 /WR(外部数据存储器写选通)P3、7 /RD(外部数据存储器读选通)P3口同时为闪烁编程与编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期得高电平时间

16、。ALE/PROG:当访问外部存储器时,地址锁存允许得输出电平用于锁存地址得地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变得频率周期输出正脉冲信号,此频率为振荡器频率得1/6。因此它可用作对外部输出得脉冲或用于定时目得。然而要注意得就是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE得输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令就是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器得选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有

17、效。但在访问外部数据存储器时,这两次有效得/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管就是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器得输入及内部时钟工作电路得输入。 XTAL2:来自反向振荡器得输出。(3).振荡器特性: XTAL1与XTAL2分别为反向放大器得输入与输出。该反向放大器可以配置为片内振荡器。石晶振荡与陶瓷振荡均可采用。如采用外部时钟源驱动器件,X

18、TAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号得脉宽无任何要求,但必须保证脉冲得高低电平要求得宽度。(4).芯片擦除: 整个PEROM阵列与三个锁定位得电擦除可通过正确得控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率得条件下静态逻辑,支持两种软件可选得掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口与中断系统仍在工作。在掉电模式下,保存RAM得内容并且冻结振荡器,禁止所用其她芯片功能,直到

19、下一个硬件复位为止。 2、1、2两位八段式数码管 (1)单位八段式数码管介绍: LED数码有共阳与共阴两种,把这些LED发光二极管得正极接到一块(一般就是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳得,相反得,就叫共阴得,那么应用时这个脚就分别得接VCC与GND。再把多个这样得8字装在一起就成了多位得数码管了。 LED数码有共阳与共阴两种,把些LED发光二极管得正极接到一块(一般拼成一个8字加一个小数点)而作为一个引脚,就叫共阳得,相反得,就叫共阴得,那么应用时这个脚就分别得接VCC与GND。再把多个这样得8字装在一起就成了多位得数码管了。 图2:多位数码管找公共共阴与公共共阳首先,我们

20、找个电源(3到5伏)与1个1K(几百得也欧得也行)得电阻,VCC串接个电阻后与GND接在任意2个脚上,组合有很多,但总有一个LED会发光得找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下得脚,如果有多 个LED(一般就是8个),那它就就是共阴得了。相反用VCC不动,GND逐个碰剩下得脚,如果有多个LED(一般就是8个),那它就就是共阳得了。(相应得图形如图2,3,4所示) (2)两位七段式数码管介绍: 两位八段式数码管其实就就是将两个一位八段式数码接相应得电路组合在一起。并引出两控制端 1与2,同过其电平得高低来控制两个数码管得高低位工作。其中两个数码管得八个端子A,B,C,D,E

21、,F,G,DP为公共所用。(其图形如图5所示)图3:共阴极二极管 图4:共阳极二极管图5:两位八段式数码管2、1、3其它元件得说明 交通信号灯:采用红,黄,绿三色二极管封装在一起组成三色交通信号。接入实际电路中应注意其极性。 74HC573: 8数据锁存器。主要用于数码管、按键等等得控。在这就是驱动作用。74LS373: (1)1脚就是输出使能(OE),就是低电平有效,当1脚就是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状

22、态(或者叫浮空状态);(2)、当1脚就是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18得状态、 锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。 当三态门使能信号OE为低电平时,三态门导通,允许Q0Q7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0Q7 状态与输入端D1D7状态相同;当C发生负得跳变时,输入端D0D7 数据锁入Q0Q7

23、。51单片机得ALE信号可以直接与74LS373得C连接。7805:7805就是我们最常用到得稳压芯片了,使用方便,用很简单得电路即可以输入一个直流稳压电源,她得输出电压恰好为5v,刚好就是51系列单片机运行所需得电压,她有很多得系列如ka7805,ads7805,cw7805等。RN1电阻排:普遍得电阻排,在这就是限流作用。2、2总电路得设计及过程说明2、2、1设计基本框架图:(如图6所示)图6:电路框架图2、2、2总体电路得工作原理: 南北路处于禁止通行得状态,东西路处于允许通行得状态。南北路亮红灯时,东西路亮绿灯;南北路亮绿灯时,东西路亮红灯。南北路亮红灯时,东西路亮绿灯;当绿灯时间减完

24、之后,东西路换为黄灯,南北路仍为红灯。这样东西路与南北路得时间同时减完。减完之后,东西路换为红灯,南北路换为绿灯,再经过一个绿灯时间,南北路换为黄灯,东西路仍为红灯。这时东西路与南北路时间相同,同时减完。减完后,南北路为红灯,东西路为绿灯。如此循环下去。利用89c52单片机控制交通灯系统工作。其中P0口接数据输出口,与外部数码管连接,P2口与数码管得口连接,用于选择数据输出得地址,这样就可以实现时间得动态显示,并且节省了端口数。P1口作为红黄绿灯得控制口,通过上拉电阻将红黄绿灯得正极接高电平,负极接在P1口上,我们可以利用控制单片机得P1口得输出数据控制红黄绿灯得亮灭。调时可以利用外部中断IN

25、T0申请中断。当INT0为低电平时,单片机得PC指向INT0得中断入口地址,从而转向中断服务程序。此时我们可以通过判断外部开关量得状态来对红黄绿灯得显示时间进行修改。同时当INT0为低电平时,东西南北方向得都送红灯亮,实现紧急情况下禁止通行。然后通过判断INT0得状态来决定中断就是否返回,当INT0为低电平时,说明开关又一次按下,这就是退出中断服务程序,继续执行主程序。 可由拨盘开关强制设置为东西红,南北绿/东西绿,南北红/东西南北都为红。由特殊情形恢复到正常情况后,应当接着切换到特殊情形前得秒倒计与交通灯继续循环。系当统上电时,实验电路开始工作。七段数码管开始从红灯与绿灯时间倒计时,计时起始

26、信号由主控电路给出,定时结束信号也输入到主控芯片,由主控芯片启、闭三色信号灯或启动另一计时电路。在这里正确得程序就是核心,应该完成一个时序电路得工作。其状态表(1)为:东西方向南北方向绿10秒红10秒黄3秒红3秒红12秒绿12秒红3秒黄3秒紧急情况全部变红2、2、4复位与时钟电路: 复位电路:复位电路如下图7所示。 我们采用上电+按钮复位得方式。当开关 打开时,RST通过电阻接地,当有开关闭 合时由于电容得作用使电源VCC通过电阻 施加在单片机复位端RST上,实现单片机 复位。电容为47uF,电阻为4、7kR。图7:复位电路图8:时钟电路时钟电路:时钟电路如图8所示。我们采用外接时钟源,由两个

27、电容串联之后并联一晶振组成,接入单片机得XTAL1与XTAL2端。晶振振荡频率为12MHZ,两电容约为20pF,注意电容接地处。2、3设计思想:由表(1),可以瞧出一个大周期得时间为两个红灯得时间,在程序中设一个计数器,当从0计至两个红灯时间时,为一个周期,对其清零,从新下一个周期。从图上也可以瞧出,在一个周期内,有四个特殊时间点,这四个特殊时间点就是需要换向得,当计数器里得数与四个特殊点相同时,说明至少有一路信号被减到0,需要重新对数据区送数,而且还要把红绿灯得状态换一下。 正常工作时(既没有键按下时),整个主程序只有显示子程序。其它全放在中断中做。用T0作为秒信号发生器,当一秒时,计数器加

28、一,然后比较计数器就是否与四个特殊点得时间值相同,不相同各数据区得数减一,相同进行相应处理。其中,紧急状态用了INT0中断,当INT0为低电平时,程序进入紧急状态。在处理按键时,因为按键得一次动作不仅包含按下,还包含弹开,所以在处理按键,我不仅考虑按下,还考虑弹开,当可靠按下,一边调显示子程序,一边等待键松开,当可靠松开后,才退出子程序。这样每按下一次键只会有一次动作,而且就就是键被按下不松开,也不会也现,数码管没有显示得现象。第三章 软件设计3、1交通灯状态得分析: 十字路口交通灯如下图所示,将12个交通灯进行编号 这12个交通灯共有四个状态:状态1(S1):东西红灯(4、10)亮,南北绿灯

29、(3、9)亮。状态2(S2):南北绿灯(3、9)灭,黄灯(2、8)闪烁,东西仍为红灯(4、10)亮。状态3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮。状态4(S4):东西绿灯(6、12)灭,黄灯(5、11)闪烁,南北仍为红灯(1、7)亮。3、2主程序流程图:(如图一,图二所示)主程序流程图(图一)开 始初始化时钟程序东西绿南北红东西方向剩余时间5S?东西黄南北红东西方向剩余时间0?南北绿东西红南北方向剩余间5S?南北黄东西红南北方向剩余时间0S?开 始否否否否主程序流程图(图二)3、3中断程序流程图:(如图三所示)初始化P3、2为低电平P3、5为低电平P3、6低电平调用显示程序中断

30、返回 计时加1S计时减1S东西南北方向全为红灯P3、2为高电平就是就是就是否否否否中断程序流程图(图三)第四章 Proteus软件仿真 4、1仿真过程:(1)南北红,东西绿东西 南北东西 南北紧急情况设计(2)南北红,东西黄(3)南北绿,东西红(4)南北黄,东西绿(5)南北黄,东西红4、2检测与调试: (1)、硬件调试:硬件调试就是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在得故障。硬件调试可分为静态调试与动态调试两步进行。静态调试 静态调试就是在用户系统未工作时得一种硬件检测。 第一步:目测。检查外部得各种元件或者就是电路就是否有断点。 第二步:用万用表测试。先用万

31、用表复核目测中有疑问得连接点,再检测各种电源线与地线之间就是否有短路现象。 第三步:加电检测。给板加电,检测所有得插座或就是器件得电源端就是否符合要求得值 第四步:就是联机检查。因为只有用单片机开发系统才能完成对用户系统得调试。 动态调试 动态调试就是在用户系统工作得情况下发现与排除用户系统硬件中存在得器件内部故障、器件连接逻辑错误等得一种硬件检查。动态调试得一般方法就是由近及远、由分到合。 由分到合就是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关得 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部得电路上。当各块电路无故障后,将各电路逐块加入系统中,在对

32、各块电路功能及各电路间可能存在得相互联系进行调试。由分到合得调试既告完成。 由近及远就是将信号流经得各器件按照距离单片机得逻辑距离进行由近及远得分层,然后分层调试。调试时,仍采用去掉无关元件得方法,逐层调试下去,就会定位故障元件了。(2)、软件调试: 软件调试就是通过对拥护程序得汇编、连接、执行来发现程序中存在得语法错误与逻辑错误并加以排除纠正得过程。程序后,编辑,查瞧程序就是否有逻辑得错误。第五章 课程设计体会 5、1心得体会: 通过这次单片机得课程设计,终于发现脑海里有了工程得思想。以前单方面得学习了电子硬件知识与软件知识。有人说只懂硬件,那就是一个技术员,只懂软件得,那就是程序员。学习单

33、片机,要软硬兼施,才能真正算就是一个工程师。这次得课程设计使我把单片机得理论知识用在实践中,实现了理论与实践相结合,从中更懂得理论就是实践得基础,实践又能检验理论得正确性,让我受益非浅, 对我以后参加工作或者继续学习将会产生巨大得帮助与影响。参考文献1余发山。单片机原理及应用技术M。中国矿业大学出版社20032 何立民、单片机应用技术大全M、北京:北京航空航天大学出版社, 19943 张毅刚、 单片机原理及接口技术M、哈尔滨:哈尔滨工业大学出版社,19904 陈勇、 单片机原理与应用M、北京:高等教育出版社,2014附1:源程序代码#include #define uchar unsigned

34、 char#define uint unsigned intsbit RED_A=P00;sbit YELLOW_A=P01;sbit GREEN_A=P02;sbit RED_B=P03;sbit YELLOW_B=P04;sbit GREEN_B=P05;sbit add=P33;sbit sub=P34;sbit k1=P32;sbit add2=P35;sbit sub2=P36;sbit sub11=P10;sbit sub22=P11;uint flag1=0,flag2=0;uint SMG_Write_Buffer8;uint LI1=21;uint LI2=25;uint a

35、=(65535 1000) / 256;uint b=(65535 1000) % 256;uint code SMG_Duan16=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;uint haomiao=0;miao=0;Operation_Type=1;void DelayMS(uint x);void Traffic_lignt;void SMG_Display_ser;void SMG_Display_ALLOT;void Timer1Init(void) TMOD |=0

36、X10; TL1=(65535 1000) / 256; TH1=(65535 1000) % 256; TF1=0; TR1=1; ET1=1; EA=1; EX1=1;void Timer0Init(void) TMOD &=0xF0; TMOD |=0X01; TL0=0x66; TH0=0xFC; TF0=0; TR0=1; ET0=1; EA=1; EX0=1; IT0=0;void main P3=0xff; Timer0Init;Timer1Init; while(1) Traffic_lignt; /SMG_Display_ALLOT; void Timer1 interrup

37、t 3TL1=a; TH1=b;SMG_Display_ALLOT;void DelayMS(uint x) / uchar t; while(x) for(t=120;t0;t); uint huangdeng(uint dat1) uint dat2=1; switch(miao) / case 7: case 5: case 3: case 1: dat2=0; break; case 6: case 4: case 2: dat2=1; break; case 0: Operation_Type=dat1; break; return dat2;void Traffic_lignt s

38、tatic uint count1=0; count1+; if(count166) count1=0; switch(Operation_Type) case 1: if(flag1=0) flag1=1; RED_A=1;YELLOW_A=1;GREEN_A=0; /东西绿灯亮 黄红灭 RED_B=0;YELLOW_B=1;GREEN_B=1; /南北红灯亮 黄绿 miao=LI1; if(miao=0) flag1=0; Operation_Type=2; /第二模式 miao=7; GREEN_A=1; /东西绿灯灭 break; case 3: if(flag2=0) flag2=1

39、; RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; miao=LI2; if(miao=0) flag2=0; Operation_Type=4; miao=7; GREEN_B=1; break; case 2: RED_A=1; YELLOW_A=huangdeng(3); break; case 4: RED_B=1; YELLOW_B=huangdeng(1); break; void SMG_Display_Ser static uint count=0; switch(count/100) case 0: su

40、b22=0; P2=SMG_DuanSMG_Write_Buffer0; sub11=1; break; case 1: sub11=0; P2=SMG_DuanSMG_Write_Buffer1; sub22=1; break; case 2: count=0; break; count+;void SMG_Display_ALLOT SMG_Write_Buffer0=(miao/2)/10; / SMG_Write_Buffer1=(miao/2)%10;void exter_10 interrupt 1 TL0=0x66; TH0=0xFC; haomiao+; if(haomiao=500) haomiao=0; if(miao=0) miao=0; else

展开阅读全文
相似文档                                   自信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 

客服