51单片机设计交通灯.doc
文本预览下载声明
班 级:玩具101班
姓 名:林典江
学 号:1013238107
指导教师:王贵恩
任务:设计并制作一个城市交道口交通灯控制糸统
交通灯控制规则如下:
1)每个街口有左拐、右拐、直行及行人四种指示灯。每个灯有红、绿两种颜色。自行车与汽车共用左拐、右拐和直行灯。
2)共有四种通行方式:
① 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
② 南北向左拐、各路右拐,行人禁行。通行时间为1分钟。
③ 东西向直行、各路右拐,东西向行人通行。东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
④ 东西向左拐、各路右拐。行人禁行。通行时间为1分钟。
3)在通行结束前10秒钟,绿灯闪烁直至结束。
1, 基本部分:按照上述控制要求,用发光二极管代替交通灯,有倒计时时间显示。
2若交道口出现紧急情况,交警可将糸统设置成手动:全路口车辆禁行、行人通行。紧急情况结束后再转成自动状态。
3当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。特种车辆通过15秒钟后,糸统自动恢复。
4其它自选措施。
城市交道口交通灯控制系统
控制目标:
功能一:可以实现红绿灯的转换以及控制路口的基本功能。
功能二:有倒计时功能和最后十秒绿灯闪烁的功能。
功能三:出现紧急情况时,可以警察手动控制特殊状态,并维持交通。
功能四:119或120等特种车经过时,可转换成为特种车道行驶状态,并在情况消除后15秒,恢复原状。
电路原理
主要运用到的硬件是:一块AT89C51单片机,段共LED显示器,个晶振MHz。4.3两个中断程序的设计
两个中断程序分别靠双掷开关SW1和SW2控制高低电位而实现,中断程序START0和中断程序START1为了实现功能三和四。流程图如下:
4.4显示程序的设计
流程图如下所示:
该显示程序主要是为了实现倒计时的显示,先将存在SECOND内的数值从十六进制数转化为十进制,并存在DBUF,DBUF+1(即50H,51H)单元中,然后通过LEDMAP取出字形,并选通每个两段共阴LED的显示管的高,低位显示出来。
5.系统调试
5.1硬件调试
设计小程序让发光二极管导通,点亮二极管,并向两段共阴LED显示管赋值,观察是否显示,调试到所有硬件设备均可正常即可。
5.2软件调试
主要是编程,以下是实现本次实验功能的程序:SECOND EQU 30H
DBUF EQU 50H
ORG 0000H
LJMP START
ORG 0003H
LJMP START0
ORG 0013H
LJMP START1
START: MOV R7,#5
MOV SP,#60H
SETB EA
SETB EX0
SETB EX1
SETB IT0
SETB IT1
MOV TCON,#00H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
CLR TF0
SETB TR0
MOV A,#0FFH
MOV P2,A
MOV P0,A
(以上程序主要是一些赋值程序,和定时器,中断等的开启,以及初始化红绿灯等)
;************************************
LOOPM: SETB P3.7
LJMP LOOP
LOOPK: CLR P3.7
LOOP: MOV R2,#20
MOV R3,#10
MOV SECOND,#60
JNB P3.7,LP1
LCALL STATE1
LJMP Z1
LP1: LCALL STATE4
Z1: LCALL DISPLAY
JNB TF0,Z1
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2,Z1
MOV R2,#20
DEC SECOND
LCALL DISPLAY
DJNZ R3,Z1
(以上程序主要是通过对P3.7电位的高低来选择红绿灯的状态,状态一和四的选择)
;************************************
MOV R2,#20
MOV R3,#40
MOV SECOND,#50
JNB P3.7,LP2
LCALL STATE2
LJMP Z2
LP2: LCALL STATE5
Z2: LCALL
显示全部