“智能”交通信号灯模拟控制系统设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.在DVCC实验箱上,学习模拟交通灯控制的实现方法。
2.熟练掌握用定时器来控制时间。
3.掌握数码管的显示
“智能”交通信号灯模拟控制系统设计报告
一、课程设计的目的:
1.在DVCC实验箱上,学习模拟交通灯控制的实现方法。
2.熟练掌握用定时器来控制时间。
3.掌握数码管的显示
二、元件、器件
1. DVCC系列单片机防真实验系统
2. PC机
3. WD-5V稳压电源
三、内容描述
1. 分析交通管理
十字路口为南北走向与东西走向。需用到4组灯,每组要有红黄绿各一盏。初状态0为东西红灯,南北红灯。然后状态1东西绿灯通车,同时南北红灯暂停。延时一段时间之后,东西红灯、南北绿灯灭,同时黄灯闪几下。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯、东西红灯灭,黄灯闪几秒。最后循环到状态1。(但由于实验箱上的端口有限,本实验只用了两组灯——东、南方向)
2.本实验同时用了数码管显示红灯的时间倒计时。在红黄绿灯转换是用了黄灯闪烁来提示。
3.智能控制
为了实现智能控制,本实验这增加了一个功能,即在任何时候有外部环境影响一定时间时(本程序设计成5秒)时东西方向自动切换成红灯,而南北方向则切换成绿灯,或者反
之。而这里的外部环境是如果南北方向绿灯,但没人通过‘1’,而此时东西为红灯但等待通过的人很多‘0’,如果这种状态保持一定时间(本程序设计成5秒)则两通行方向状态自动转换,由于实验设备有限本实验用两个开关来作为外不状态的控制。
3.资源的分配
东、南方向的绿黄红灯分别接单片机的p1.0~p1.5。显示部分是串行输出,所以接单片机的串行口p3.0、p3.1。另外外部影响的开关接p3.2、p3.2。
四、硬件电路设计及描述:
硬件部分直接利用DVCC仿真系统实现,本设计应用电路如下:
五、软件设计流程及描述:
六、实验程序:
;=======================================================
;作者:郭晶荣.何文烨
;时间:2006.03.22
;项目:交通灯智能控制
;功能简介:包括显示倒计绿灯和黄灯的时间,时间的延时完
; 全应用了定时器控制,还有自动切换红绿灯的功能
; r0控制绿灯时间,r6控制黄灯闪烁的次数及时间
; 闪一次为1秒,默认的r0为20秒,r6为3秒
;应用的端口:p1.0~~p1.6(控制交通灯)
; p3.0,p3.1 (串行口数据传送口)
; p3.2,p3.3 (外部干扰,一高一低时自动切换状态)
; ========================================================
org 0000h
ajmp start
org 000bh
ajmp tt0
org 0030h
start:
mov scon, #00h ;设定串行通信的模式为0
mov tmod,#01h ;设定定时器为工做方式1
setb ea ;打开中断
setb et0
mov th0,#3ch ;设定时器初直,定时0。1秒 mov tl0,#0afh
mov r2,#01h ;r2标志位,用于定时
mov p1,#0e4h ; 全部红灯
mov r0,#01h ;r0是绿灯的时间
acall yanxian ;延时1秒
main:
;状态1
mov p1,#0e1h ;东边绿灯
mov 65h,#01h ; 65h是判断是否有人的标志位 mov r0,#014h ;r0是设置绿灯亮的时间
acall yanxian ;保持绿灯亮,及显示倒计时
mov r6,#03h ;60h 为设置黄灯闪的次数
san1:
mov p1,#0d2h ;黄灯亮
mov 69h,#05h ;控制定时器时间 mov r2,#01h
acall huang ;黄灯闪次数的显示 acall ding ;闪烁的时间
mov p1,#00h ;黄灯灭
mov 69h,#05h
mov r2,#01h
acall ding
djnz r6, san1
;状态2
mov p1,#0cch ;南边绿灯
mov 65h,#00h ;标志位
mov r0,#14h
acall yanxian
mov r6,#03h
san3: mov p1,#0d2h
mov 69h,#05h
mov r2,#01h
acall huang
acall ding
mov p1,#00h
mov 69h,#05h
mov r2,#01h
acall ding
djnz r6,san3
ljmp main
;*************************************
;延时和显示程序
;*************************************
yanxian:
clr ti ;清t0益处标志
mov a,r0 ;进行BCD码的转化
mov 64h,#00h
mov r1,a
inc r1
loopp: mov r4,#00h
mov r3,#00h
mov r5,#08h
mov a,r0
loop: mov 69h,#10
clr c
rlc a
mov r3,a
mov a,r4
addc a,r4
da a
mov r4,a ;转化后的数据放入r4 mov a,r3