摘要
虽着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善.交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。绿灯亮时,准许车辆通行,黄灯亮时,警告,红灯亮时,禁止通行。本系统选用89C51单片机即外围器件构成最小控制系统,12个LED分成红黄绿三色灯构成信号指示模块。红色、绿色灯交替点亮,其中在绿灯亮12.5秒后,黄灯闪2.5秒(5次),红灯亮15秒,实现了十字路口交通灯的功能。
Abstract
With the development of various modes of transport and traffic control needs, the first light veritable three-color lights (red, yellow, and green flag) was born in 1918. It is a tri-color circular surrounded by projector, traffic lights usually refers to a tower on fifth Street in New York City, due to its birth, the city traffic greatly improved by the red, yellow, and green lights composition of the signal lights to direct traffic. When the green light, to allow vehicles to pass, when the yellow light, warning red light, closed to traffic. The system selected the 89C51 microcontroller peripheral devices constitute the minimum control system, 12 LEDs into a three-color light signal indication module. The red and green lights alternately lit, 12.5 seconds after the green light, yellow light flash 2.5 seconds (5 times), the red light 15 seconds crossroads traffic lights.
单片机原理及系统课程设计报告
1 引言
交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十
分重要的作用。随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
随着科技的飞速发展,单片机的应用不断深入,往往作为控制的核心部件。单片机可靠性高速度快低电压低功耗的特点使其成为工业领域的主导。而其中最突出的是89C51系列。89C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。89C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。本系统采用89C51为中心器件来设计交通灯控制器,系统适用性强、操作简单,包括了交通灯的所有作用,运用了中断系统与定时器功能,串行数据通讯等我们学过的知识。
2 设计方案及原理 2.1设计方案
用89C51单片机控制一个交通信号灯系统。设A(南北即上下)车道与B(东西即左
1
单片机原理及系统课程设计报告
右)车道交叉组成十字路口,通过三色LED的亮灭来控制各车道的通行。首先A、B两车道轮流放行。A车道放行12.5s(绿灯亮),然后2.5s(黄灯闪烁) ;此时B车道为禁止(红灯亮)。15s后A、B的状态进行对换,按这种方式往复进行。
2.2设计原理
系统组成框图如图1所示。从图1中可以看出,以红、黄、绿三支共四组发光二级管表示模拟灯。以89C51的P1(P1.0至P1.5)接12支发光二级管,每一接口接两个同颜色的二极管。由于二极管的阴极接地,阳极接各自接口,故当口线输出高电平则“信号灯”亮,口线输出地低电平则“信号灯”熄。控制要求P1口共输出四种控制码,P1.0至P1.5分别为红黄绿红黄绿。开始南北通行,控制码为001100H,用定时中断执行0.5秒程序,循环25次,共12.5秒。然后南北闪黄灯,P1.2变低电平,P1.1高低互变5次,共2.5秒。此后东西通行,P1.5和P1.0变高电平,控制码100001H,执行0.5秒程序,循环25次,共12.5秒。最后东西黄灯闪烁,P1.4变高低互换5次,共2.5秒,再反复进行。硬件运行图如附录一所示。
单片机主控电路驱动电路三色LED 图1 系统组成框图
3 硬件设计
3.1硬件连接图
2
单片机原理及系统课程设计报告
仿真硬件连接图如图2所示。从图2中可以看出,以红、黄、绿三支共四组发光二级管表示模拟灯。以89C51的P1(P1.0至P1.5)接12支发光二级管,每一接口接两个同颜色同路段(南北或东西)的二极管。由于二极管的阴极接地,阳极接各自接口,故当口线输出高电平则“信号灯”亮,当口线输出低电平则“信号灯”灭。
图2 仿真硬件连接图
4 软件设计
4.2设计流程图
程序流程图如图3所示。
3
单片机原理及系统课程设计报告
开始A路绿灯亮N判断25秒时间是否到YA路黄灯闪烁N判断5秒时间是否到YB路绿灯亮NY判断25秒时间是否到YB路黄灯闪烁N判断5秒时间是否到
图3 程序流程图
4
单片机原理及系统课程设计报告
程序代码如附录二所示。 5 总结
课程设计的目的是为了让我们对平时所学的理论知识与实际操作相结合,在上一学期的单片机课程及实验中,我了解了单片机知识,并初步会用keil和proteus。在编写软件过程中,使我相当于复习了一便汇编语言的知识,在keil软件上进行运行时,我是看着上学期的实验报告一步步来的,中间还是出现了错误,改进后将程序成功编译生成hex文件。在做proteus仿真时,选单片机和三种led灯好选,但比较麻烦的是连线,由于线段较多,我花了很长时间连完灯却没亮,在点击运行后通过每个灯的高低电位逐一排查每根线,才将线连好,仿真成功。
通过这次课程设计,我掌握了用单片机控制交通灯的原理,并会熟练运用keil和proteus的软硬件结合。我觉得这次设计还是比较理想的,交通灯原理清晰,构造相对简单。但是,在我此次设计中也存在着许多不足:我仅仅可以实现基本的红绿灯的控制,而没有倒计时数字牌、人行道的控制灯、左右转弯等等。在今后的学习中我要努力完善这些存在的问题。
参考文献
[1] 王思明.单片机原理及应用系统设计[M].北京:科学出版社.2012
[2] 房小翠.单片机实用系统设计技术[M].北京:国防工业出版社.1999
[3] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社.1990
5
单片机原理及系统课程设计报告
附录一
硬件仿真
A通车
A向警告
6
单片机原理及系统课程设计报告
附录二
程序代码
B向通车
B向警告
7
单片机原理及系统课程设计报告
ORG 0000H
START:AJMP MAIN
ORG 0100H
MAIN: MOV P1,#0CH MOV R7,#19H MAIN1:LCALL DELAY DJNZ R7,MAIN1 MOV P1,#0AH LCALL FBA MOV P1,#21H MOV R7,#19H MAIN2:LCALL DELAY DJNZ R7,MAIN2 ;A线绿灯亮B线红灯亮 ;循环25次
;调用1S的延时子程序
;A线黄灯闪烁B线红灯亮
;调用5S,1HZ的子程序
;B线绿灯亮A线红灯亮
;循环25次
;调用1S的延时子程序
;循环25次
8
单片机原理及系统课程设计报告
MOV P1,#11H ;B线黄灯闪烁A线红灯亮
LCALL FBB ;调用5S,1HZ的子程
LJMP START ;实现循环
A路黄灯的5S时间 频率1HZ子程序
FBA: MOV TMOD,#10H
MOV TH1,#03CH
MOV TL1,#0B0H
MOV IE,#00H
MOV R1,#05H
MOV R0,#0AH
SETB TR1
LOOP2:JBC TF1,LOOP3
JMP LOOP2
9
单片机原理及系统课程设计报告
LOOP3:MOV TH1,#03CH
MOV TL1,#0B0H
DJNZ R1,LOOP2
CPL P1.1
MOV R1,#05H
DJNZ R0,LOOP2
RET
B路黄灯的5S时间 频率1HZ子程序FBB: MOV TMOD,#10H
MOV TH1,#03CH
MOV TL1,#0B0H
MOV IE,#00H
MOV R1,#05H
10
单片机原理及系统课程设计报告
MOV R0,#0AH
SETB TR1
LOOP4:JBC TF1,LOOP5
JMP LOOP4
LOOP5:MOV TH1,#03CH
MOV TL1,#0B0H
DJNZ R1,LOOP4
CPL P1.4
MOV R1,#05H
DJNZ R0,LOOP4
RET
1秒的延时子程序
DELAY:MOV TMOD,#01H
11
单片机原理及系统课程设计报告
MOV TH0,#03CH
MOV TL0,#0B0H
MOV IE,#00H
MOV R3,#0AH
SETB TR0
LOOP: JBC TF0,LOOP1
JMP LOOP
LOOP1:MOV TH0,#03CH
MOV TL0,#0B0H
DJNZ R3 ,LOOP
RET
END
12
因篇幅问题不能全部显示,请点此查看更多更全内容