C51单片机交通灯要点

C51单片机交通灯要点
C51单片机交通灯要点

单片机应用技术课程设计基于单片机的交通灯控制系统设计

院(系)名称

专业名称

学生姓名

指导教师

2012年月日

目录

1 设计任务与要求 (1)

2 系统硬件设计............ (3)

2.1硬件系统设计 (4)

2.1.1单片机模块 (4)

2.1.2 显示模块 (5)

2.1.3 按键模块 (6)

2.2 系统软件设计 (6)

2.2.1正常工作模式子程序 (8)

2.2.2 延时子程序 (9)

2.2.3 夜间模式子程序 (10)

2.2.4绿灯闪烁子程序 (12)

2.2.5显示倒计时子程序 (12)

3系统测试与实现 (14)

3.1 汇编源程序 (14)

3.2 Proteus仿真 (14)

4 课程设计总结 (17)

参考文献 (18)

1 设计任务与要求

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

本次课程设计需要完成的任务是用单片机实现交通灯的基本功能,该系统

除了可以实现基本交通灯功能外,也能实现紧急特殊模式等功能。

详细功能为:在白天正常东西方向和南北方向通车,通车时间均为45秒。正常通车情况下,可以对通车的时间进行倒计时计数,并通过显示器显示出来。如果遇到特殊情况,在处理特殊事件时,可使整个十字路口禁止通车。强制东西通行,适用某些需要只进行东西通车的情况。强制南北通行,适用某些需要只进行南北通车的情况。在夜间车流量较少的情况下,正常东西方向和南北方向通车,通车时间均为10秒,相对与白天通行模式,车辆等待时间减少,提高了通行效率。

2 系统设计

此次设计通过ATMEL公司的单片机AT89C52对整个交通灯电路进行控制。根据上面的功能要求,本次设计需要完成正常模式﹑计时功能﹑紧急特殊模式﹑夜间模式等四个功能。

在正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而LED显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。

本交通灯的设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。

此次设计运用了软件延时程序,这样不仅调整延时长短十分灵活,而且不占用内部定时/计数器的资源。设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时有以下时间周期:

震荡周期:1/12微秒;

状态周期:1/6微秒;

机器周期:1微秒;

指令周期:1~4微秒;(根据指令的不同而不同)

软件延时的优点是较为灵活,调整更为容易,且不受延时时间限制。但软件延时长时间占用系统资源,使得CPU工作效率不高,在中断频繁的系统中其定时精度也受到中断的影响。但本系统要求延时时间较长,且没有频繁申请的中断系统,所以选择软件延时配合外部申请中断模式切换较为合理。

2.1硬件系统设计

根据上面的功能要求,硬件系统主要模块有单片机模块﹑显示模块﹑按键模块,其硬件总电路图如附录二所示。

2.1.1 单片机模块

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。本设计中AT89C52使用12MHz晶振。

XTAL1(19脚)和XTAL2(18脚):外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端;RST:即为RESET,该引脚为单片机的上电复位或掉电保护端。在此设计中接正常模式按扭;P3.7:使用第二功能,接强制南北通行按扭;P3.6:使用第二功能,接强制东西通行按扭;P3.3:使用第二功能INT1,接紧急工作模式按扭;P3.2:使用第二功能INT0,接夜间工作模式按扭;P1.0~P1.7:输出BCD码,用来控制LED显示器的显示控制;P2.7、P2.6、P2.5:输出高低电平,用来控制南北交通信号灯;P2.1、P2.2、P2.3:输出高低电平,用来控制东西交通信号灯;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS。

单片机与其他模块的连接如下图1所示:

图2-1 单片机与其它模块的连接

2.1.2 显示模块

传统的共阳极或共阴极的数码管其显示输入需要为段码,这样就使得电路相对复杂和繁琐。对于相同的功能在成本相差不大的情况下,此处运用了带BCD 译码电路的LED显示器。这样既可使线路简化,又可使可靠性提高本设计中使用的自带BCD译码电路的LED显示器,其主要特点是采用四线BCD码输入,可显示0-F十六进制数。使用时直接输入BCD码即可显示相应的数字,使得电路大大简化。设计时,把P1.0~P1.7当做BCD码输出端口,连接到LED显示器上,这样可把BCD码直接转换成可显示的数字,显示模块的连接如图2所示:

图2-2 显示模块

图中的总线接至单片机的P1.0~P1.7端口。

2.1.3 按键模块

在此系统中,按键模块是实现各项功能的关键,按键通过电阻与单片机相连接,可以对单片机进行控制,低电平信号对相应的单片机引脚有效,可使按键的另一端接地。本设计中有强制东西通行按键﹑强制南北通行按键﹑夜间模式按键﹑正常模式按键﹑紧急模式按键五个按键,分别对应着相应的子模式。如图3所示:

图2-3 按键模块

各按键与单片机相对应的接口见上面的单片机模块。

2.2 系统软件设计

根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。为了实现上述要求,软件部分应包括正常模式﹑夜间模式﹑紧急模式﹑强制通行等子程序。主程序流程图如图4所示:

图2-4 主程序流程图

开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。

在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。

N

总程序见附录一。

2.2.1正常工作模式子程序

正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行,其流程图如图5所示。

其主要程序为:

MOV R6,#03H ;绿灯闪烁次数

MOV R0,#00H ;

MOV P2,R0 ;灯全灭

SETB P2.7 ;南北绿灯亮

SETB P2.1 ;东西红灯亮

ACALL DISPLAY ;显示倒计时

ACALL FLASHN ;南北方向绿灯闪烁

CLR P2.7 ;南北绿灯灭

SETB p2.6 ;南北黄灯亮

ACALL DELAY2 ;短延时2

CLR P2.6 ;南北黄灯灭

CLR P2.1 ;东西红灯灭

SETB P2.3 ;东西绿灯亮

SETB P2.5 ;南北红灯亮

ACALL DISPLAY ;显示倒计时

ACALL FLASHS ;东西方向绿灯闪烁

CLR P2.3 ;东西绿灯灭

SETB P2.2 ;东西黄灯亮

ACALL DELAY2 ;短延时2

CLR P2.2 ;东西黄灯灭

图2-5 正常工作模式流程图

2.2.2 延时子程序

设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条DJNZ 指令是两个机器周期,所以可写出如下的1秒延时子程序:

DELAY: MOV R2,#33

DEL3: MOV R3,#100

DEL2: MOV R4,#75

DEL1: NOP

NOP

DJNZ R4,DEL1

DJNZ R3,DEL2

DJNZ R2,DEL3

其流程图如6所示:

图2-6 1秒延时子程序流程图

2.2.3 夜间模式子程序

系统在主程序中已经完成中断初始化,在正常模式下,其随时可通过中断0进入夜间模式,不受当时通行方向的影响。夜间模式中,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。其流程图如图7。其程序为:YEJIAN: MOV R0,#00H ;夜间模式

MOV P2,R0 ;灯全灭

SETB P2.7 ;南北绿灯亮SETB P2.1 ;东西红灯亮ACALL DISPLAY1 ;显示倒计时ACALL FLASHN ;南北方向绿灯闪烁CLR P2.7 ;南北绿灯灭

SETB P2.6 ;南北黄灯亮ACALL DELAY2 ;短延时2

CLR P2.6 ;南北黄灯灭

CLR P2.1 ;东西红灯灭

SETB P2.3 ;东西绿灯亮

SETB P2.5 ;南北红灯亮ACALL DISPLAY1 ;显示倒计时ACALL FLASHS ;东西方向绿灯闪烁CLR P2.3 ;东西绿灯灭SETB P2.2 ;东西黄灯亮ACALL DELAY2 ;短延时2

CLR P2.2 ;东西黄灯灭

LJMP YEJIAN

图2-7 夜间工作模式

2.2.4绿灯闪烁子程序

每到同行方向转换时,绿灯闪烁,提醒司机注意通行方向的改变,避免不必要的危险。绿灯闪烁的程序分南北方向和东西方向,以南北方向为例,流程图如图8所示,其程序为:

SETB P2.7 ;南北方向绿灯闪烁子程序

ACALL DELAY1 ;短延时1

CLR P2.7 ;灭南北方向绿灯

ACALL DELAY1 ;短延时1

DJNZ R6,FLASHN ;循环3次

MOV R6,#3 ;重装循环次数

RET

图2-8 绿灯闪烁子程序流程图

2.2.5显示倒计时子程序

通过LED显示器显示距离换向时间还剩多少,利于司机调整车辆状况,其程序为:

DISPLAY:MOV R0,#44 ;显示子程序

MOV R7,#45 ;循环次数

L1: MOV DPTR,#TABLE ;表地址送DPTR

MOV A,R0 ;秒数送A

MOVC A,@A+DPTR ;查表

MOV P1,A ;查表得BCD送P1

DEC R0 ;秒数减一

ACALL DELAY ;延时一秒

DJNZ R7,L1 ;循环

RET ;返回

9所示:

图2-9 显示子程序流程图

3系统测试与实现

根据上面的设计,此次课程设计使用WAVE 2000和Proteus软件仿真,其中使用WAVE2000软件汇编源程序,使用Proteus软件对硬件电路进行模拟。

3.1汇编源程序

输入源程序后,对源程序进行编译,经调试源程序可以运行。汇编结果如图10所示:

图3-1 汇编结果

3.2Proteus仿真

在此次设计中,用Proteus对硬件部分进行模式。在Proteus中输入原理图后,在单片机中载入上面汇编的hex文件,运行仿真,结果如下:

按下正常模式按键后,系统开始工作,南北方向和东西方向交替通行45秒。仿真结果如图11所示:

图3-2 正常工作模式模拟结果

按下夜间模式按键后,系统进入夜间工作模式,南北先通行10秒,然后东西通行10秒,如此交替运行,模拟结果如图12所示:

图3-3 夜间工作模式模拟结果

无论系统处于那种工作模式,按下紧急模式键后,系统便进入紧急工作状态,在紧急状态下,各方向禁止通行,模拟结果如图13所示:

图3-4 紧急工作模式模拟结果

在紧急工作模式下,可以实现强制东西通行或强制南北通行,例如按下强制东西通行后,只可以东西通行,显示器显示在45秒,如图14所示:

交通灯控制模拟程序

交通灯控制模拟程序设计 ;*************定义数据段*********************************************** data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ;数据保存区 yellow db ? ;黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ;************************主程序段********************************************** data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ;初始化标题 q0: call mode1 ;模式选择自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间

基于单片机交通灯课程设计报告书

三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED 显示等等组成交通灯演示系统。系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 引言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。 一、方案比较、设计与论证

(1) 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2) 显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3) 输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM已经够用,故选择方案二。 (4) 系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统.

基于单片机的交通灯设计课程设计论文(桂电二院)

题目:基于单片机的交通灯控 制器设计 院(系):信息与通信学院 专业:微电子学 摘要 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。本系统由单片机系统、四位数码管显示、彩色LED交通灯演示系统组成。设计一个用于东西、南北走向的交通管理。南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为45秒、支干道每次通行间为30秒。本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。 关键词:交通灯;单片机;数码管

Abstract Shuttle crossroads vehicles, pedestrians bustling, car dealers lane pavements people, methodical. Rely on to achieve orderly order it? Is automated command system of traffic lights. The system consists of a microcontroller system, four digital display color LED traffic lights demo system. The design for the east and west, north-south traffic management. Lane of the north-south direction (the main road) and east-west direction (branch roads) lanes on two cross-road vehicles run alternately main road every passage time is set to 45 seconds, the branch roads between each passage 30 seconds. The system is simple in structure, easy to operate; achieve automatic control, smart has a certain significance; optimize urban traffic. The design of each task segments packaging, remain relatively independent of each task; effective to improve the structure of the program to facilitate modular treatment program readability, maintainability and portability have been further improved. With the rapid development of science and technology in recent years, the application of SCM is the deepening of the traditional control while driving detection technology is increasingly updates. Real-time detection and automatic control of microcomputer application system, the microcontroller is often as a core component to use microcontroller knowledge alone is not enough, should be based on the specific hardware structure of hardware and software combination, to be improved. This article come mainly from the application of SCM crossroads traffic lights intelligent management to control the normal functioning of the passing vehicles. Key words:traffic lights; microcontroller; digital tube

交通灯控制模拟程序

交通灯控制模拟程序设计 data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ; 数据保存区 yellow db ? ; 黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ?************************ J data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ; 初始化标题 q0: call mode1 ; 模式选择 自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间 ?************* 定义数据段 *********************************************** 主程序段 **********************************************

单片机交通灯课程设计

单片机原理及应用课程设计报告 系别:物理系 专业:电子信息工程 指导教师: 班级:1504 学号: 姓名: 2018.5

课程设计任务书 目录

一、绪言 (1) 二、方案比较与论证 (1) 2.1 系统整体流程图 (1) 2.2 单片机的选择方案论证 (1) 2.3 89C51单片机引脚功能说明 (2) 2.4单片机最小系统 (5) 三、硬件电路设计 (6) 3.1 交通灯控制系统电路图 (6) 3.2 晶振电路的设计 (7) 3.3 LED灯电路的设计 (7) 3.4 主要元器件选择 (8) 四、程序设计 (8) 五、交通灯控制系统仿真 (10) 六、结束语 (11) 七、参考文献 (11)

一、绪言 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 二、方案比较与论证 2.1 系统整体流程图 2.2 单片机的选择方案论证 方案一:采用可编程逻辑期间CPLD 作为控制器。CPLD可以实现

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。 源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序{ while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1;

基于单片机交通灯课程设计

重庆三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED显示等等组成交通灯演示系统。 系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 弓I 言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。

一、方案比较、设计与论证

(1)电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2)显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3)输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO 口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM E经够用,故选择方案二。 (4)系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统? 单 片 机

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 设计任务 (1) 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 设计思路 (1) 设计思路 (1) 功能设计 (2) 总体设计 (2) 通行方案设计 (2) } 硬件设计方案 (4) 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 系统硬件框图 (5) 单元电路设计 (5) 单片机最小系统 (5) 信号灯显示电路 (7) 倒计时显示电路 (8) 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) - 理论基础知识 (8) 定时器原理 (8) 软件延时原理 (9) 中断原理 (9) 主程序框图 (9) 5 调试分析及所用器件 (10) 调试环境 (10) 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) | 8 附录 (13) 附件1 程序清单 (13)

附件2 系统仿真图 (16) 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 \ 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:AT89C52 交通灯PROTUES 中断程序

单片机课程设计——交通灯控制系统设计

本科课程设计报告 单片机课程设计报告交通灯控制系统设计

摘要 本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。 本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。 对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒,B道放行20秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

目录 1引言.......................................................................................................................................... - 1 - 1.1交通灯的重要作用........................................................................................................... - 1 -1.2该交通灯系统的特点....................................................................................................... - 1 -2系统总体方案及硬件设计 ......................................................................................................... - 2 - 2.1原理框图........................................................................................................................... - 2 -2.2设计功能........................................................................................................................... - 2 - 2.3交通灯控制系统各部分硬件组成................................................................................... - 2 - 2.3.1复位部分.................................................................................................................... - 2 - 2.3.2时钟电路部分............................................................................................................ - 3 - 2.3.3路口指示灯部分........................................................................................................ - 3 - 2.3.4显示部分.................................................................................................................... - 3 -2.4元器件清单....................................................................................................................... - 4 -3软件设计..................................................................................................................................... - 5 - 3.1交通灯控制系统软件流程图及程序分析....................................................................... - 5 - 3.1.1主程序流程图及程序模设计.................................................................................... - 5 - 3.1.2INT0中断服务程序流程图及程序模设计.............................................................. - 6 -3.2路口指示灯部分............................................................................................................... - 7 - 3.3显示部分........................................................................................................................... - 7 - 4. Proteus软件仿真 ..................................................................................................................... - 8 - 5 课程设计体会......................................................................................................................... - 10 -参考文献....................................................................................................................................... - 10 -附1:源程序代码 (13) 附2:系统原理图 (20)

单片机8255交通灯程序

单片机8255交通灯程序

交通灯程序 /*********************************************************** 十字路口交通灯控制 C 程序 ***********************************************************/ #include #define uchar unsigned char #define uint unsigned int /*****定义控制位*******************************************/ sbit Time_Show_LED2=P2^5; //Time_Show_LED2(直行时间显示)控制位 sbit Time_Show_LED1=P2^4; //Time_Show_LED1(直行时间显示)控制位 sbit EW_LED2=P2^3; //EW_LED2控制位 sbit EW_LED1=P2^2; //EW_LED1控制位 sbit SN_LED2=P2^1; //SN_LED2控制位 sbit SN_LED1=P2^0; //SN_LED1控制位 sbit SN_Yellow=P1^6; //SN黄灯 sbit EW_Yellow=P1^2; //EW黄灯 sbit EW_ManGreen=P3^0; //EW人行道绿灯 sbit SN_ManGreen=P3^1; //SN人行道绿灯 sbit Special_LED=P2^6; //交通特殊指示灯 sbit Busy_LED=P2^7; //交通繁忙指示灯 sbit Nomor_Button=P3^5; //交通正常按键 sbit Busy_Btton=P3^6; //交通繁忙按键 sbit Special_Btton=P3^7; //交通特殊按键

交通灯控制程序

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 创建一个可供日常交通灯使用的程序,目标读者为交通灯控制人员。 1.2背景 说明: a.交通路口复杂交通信号灯的设计 b.任务提出者,开发者:陈磊 用户:交通指挥系统 设计环境:使用Verilog HDL语言进行设计 使用Quartus 2编程环境进行开发。。 1.3定义 ORDER 选择信号 ROAD 亮灯控制信号 EN5 5秒延时使能信号 LIN5 5秒延时终止信号 EN25 25秒延时使能信号 LIN25 25秒延时终止信号 RST 系统复位信号 CLK 系统时钟信号 1.4参考资料 Verilog HDL数字系统设计与应用

2总体设计 2.1需求规定 输入项目: CLK 系统时钟信号 RST 系统复位信号 输出项目: ROAD 亮灯控制信号,ROAD=00,红灯亮;ROAD=01,黄灯亮;ROAD=10,绿灯亮;ROAD=11,黄灯亮。 处理要求: 根据ORDER的不同值,使相应的灯发亮。 2.2运行环境 运行环境:。Quartus II 9.0 2.3基本设计概念和处理流程

模拟交通灯单片机课程设计

模拟交通灯单片机课程设计

————————————————————————————————作者:————————————————————————————————日期: ?

目录 第一章概述?错误!未定义书签。 1.1设计目的?错误!未定义书签。 1.2 设计要求?错误!未定义书签。 1.3 实用价值与理论意义?错误!未定义书签。 第二章系统硬件设计?错误!未定义书签。 2.1系统电路设计框图?错误!未定义书签。 2. 2系统主要硬件需求介绍 ..................................... 错误!未定义书签。 2. 3系统电力模块图?错误!未定义书签。 2.4系统电路图?错误!未定义书签。 第三章系统软件设计 ................................ 错误!未定义书签。 3.1 在正常情况下交通灯控制程序流程 ....................... 错误!未定义书签。 3.2源程序清单与注释?错误!未定义书签。 第四章仿真结果?错误!未定义书签。 4.1正常情况的仿真图?错误!未定义书签。 第五章课程设计总结 ................................ 错误!未定义书签。 参考文献?错误!未定义书签。

第一章概述 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用必须重视。 伴随着社会的发展以及人类生活水平的提高,汽车数量在逐年递增,交通问题不得不引起人们的重视。早在1858年,英国伦敦在主要街头安装了以燃煤气为光源的红蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。信号灯的出现,是交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,紧单片机方面知识是不够的,还应根据具体结构软硬件结合,加以完善。 目前交通灯的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计单片机来完成这个需求就显得越加迫切了。本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使大家能在实践教学环节中,积累设计经验,开阔思维空间,全面提高个人的综合能力。 1.1 设计目的 通过对模拟交通灯控制系统的制作,掌握定时器应用。 1.2设计要求 利用AT89S51单片机控制交通灯,实现三种情况下的控制: 正常情况下双方向轮流点亮交通灯,如表所示。

用单片机控制交通灯源程序代码及流程图

用单片机控制交通灯 传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。 一、硬件硬件电路如附图。AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。 二、软件交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮60秒,绿灯亮55秒,黄灯亮5秒。每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。 源程序清单如下: ORG0000H START:MOVDRTR,#TAB MOVSCON,#00H MOVP1,#6CH;点亮红、绿灯 MOVR0,#0;R0清零 LEFT:INCR0 CJNER0,#55,LP0;R0<55,转LP0 MOVP1,#6AH;R0=55,点亮红、黄灯 LJMPLP1 LP0:CJNER0,#60,LP1;R0<60,转LP1 MOVP1,#0C6H;R0=60,点亮绿、红灯 LJMPRIGHT LP1:LCALLDBDB LCALLDISP LJMPLEFT;20H为1,转LEFT RIGHT:DECR0 CJNER0,#5,LP2;R0>0,转LP2 MOVP1,#0A6H;R0=5,点亮黄、红灯 LJMPLP3 LP2:CJNER0,#0,LP3 MOVP1,#6CH;R0=0,点亮红、绿灯 LJMPLEFT LP3:LCALLDBDB

十字路口交通灯控制 C 程序

/************************************ ***************** 十字路口交通灯控制C 程序 ************************************* *****************/ #define uchar unsigned char #define uint unsigned int #include /*****定义控制位**********************/ sbit Time_Show_LED2=P2^5;//Time_Show_LED 2控制位 sbit Time_Show_LED1=P2^4;//Time_Show_LED 1控制位 sbit EW_LED2=P2^3; //EW_LED2控制位sbit EW_LED1=P2^2; //EW_LED1控制位sbit SN_LED2=P2^1; //SN_LED2控制位sbit SN_LED1=P2^0; //SN_LED1控制位sbit SN_Yellow=P1^6;//SN黄灯 sbit EW_Yellow=P1^2;//EW黄灯 sbit EW_Red=P1^3;//EW红灯 sbit SN_Red=P1^7;//SN红灯 sbit EW_ManGreen=P3^0;//EW人行道绿灯 sbit SN_ManGreen=P3^1;//SN人行道绿灯 sbit Special_LED=P2^6;//交通正常指示灯 sbit Busy_LED=P2^7;//交通繁忙指示灯sbit Nomor_Button=P3^5;//交通正常按键 sbit Busy_Btton=P3^6;//交通繁忙按键sbit Special_Btton=P3^7;//交通特殊按键sbit Add_Button=P3^3;//时间加 sbit Reduces_Button=P3^4;//时间减 bit Flag_SN_Yellow; //SN黄灯标志位bit Flag_EW_Yellow;//EW黄灯标志位char Time_EW;//东西方向倒计时单元 char Time_SN;//南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式 uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D, 0x7D,0x07,0x7F,0x6F};//1~~~~9段选码uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0 X81,0X84};//交通信号灯控制代码 /**********************延时子程序************************/ void Delay(uchar a) { uchar i; i=a; while(i--){;} } /*****************显示子函数**************************/ void Display(void) { char h,l; h=Time_EW/10; l=Time_EW%10; P0=table[l]; EW_LED2=1; Delay(2); EW_LED2=0; P0=table[h]; EW_LED1=1; Delay(2); EW_LED1=0; h=Time_SN/10; l=Time_SN%10; P0=table[l]; SN_LED2=1; Delay(2); SN_LED2=0; P0=table[h]; SN_LED1=1; Delay(2); SN_LED1=0;

交通灯单片机课程设计

1 序言 交通灯的形成 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。我们设计的单片机控制交通灯就是基于信号灯。 技术指示 设计一个十字路口(方向为东西南北四个方向)的交通灯控制电路,每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示

相关文档
最新文档