基于新型规则的可编程交通控制系统.docx

上传人:b****5 文档编号:5702629 上传时间:2022-12-31 格式:DOCX 页数:51 大小:893.07KB
下载 相关 举报
基于新型规则的可编程交通控制系统.docx_第1页
第1页 / 共51页
基于新型规则的可编程交通控制系统.docx_第2页
第2页 / 共51页
基于新型规则的可编程交通控制系统.docx_第3页
第3页 / 共51页
基于新型规则的可编程交通控制系统.docx_第4页
第4页 / 共51页
基于新型规则的可编程交通控制系统.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

基于新型规则的可编程交通控制系统.docx

《基于新型规则的可编程交通控制系统.docx》由会员分享,可在线阅读,更多相关《基于新型规则的可编程交通控制系统.docx(51页珍藏版)》请在冰豆网上搜索。

基于新型规则的可编程交通控制系统.docx

基于新型规则的可编程交通控制系统

题目:

基于新型规则的可编程交通控制系统设计

 

学校:

山东大学

编号:

A甲1007

作者:

鲁振兴亓磊张义家

赛前辅导及文稿整理辅导教师:

姚福安万鹏

2004年9月13号

 

基于新型规则的可编程交通控制系统设计

摘要

本系统由单片机系统、键盘、LCD显示、交通灯演示系统组成。

系统包括人行道、左转、右转、以及基本的交通灯的功能。

系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、语音提示、LCD信息显示、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

一方案设计与论证:

1电源提供方案

为使模块稳定工作,须有可靠电源。

我们考虑了两种电源方案

方案一:

采用独立的稳压电源。

此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:

采用单片机控制模块提供电源。

改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,我们选择第二种方案。

2显示界面方案

该系统要求完成倒计时、信息提示等功能。

基于上述原因,我们考虑了三种方案:

方案一:

完全采用LCD显示。

这种方案只显示有限的符号和数码字苻,无法胜任题目要求。

方案二:

完全采用点阵式LCD显示。

这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。

方案三:

采用LED与点阵LCD相结合的方法因为设计既要求倒计时数字输出,又要求有汉字信息提示及图形输出等,为方便观看并考虑到现实情况,用LED与LCD分别显示时间与提示信息。

这种方案既满足系统功能要求,又减少了系统实现的复杂度。

权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。

3输入方案:

题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:

方案一:

采用8155扩展I/O口及键盘,显示等。

该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

采用ZLG7289来控制键盘及数码管显示。

由于7289是串行控制方式,有专用的命令字,控制起来简单,且占用较少口线。

其电路图如图

(1)。

由于该系统对于交通灯及LCD的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

8155与单片机接口

4交通灯演示方案:

采用在面板上焊接三色发光二极管模拟交通红绿灯,以发光二极管拼出小人状(并闪烁)/箭头状作为人行提示/左右转提示,简单明了;且实现简单,清晰明了。

二.系统设计

1总体设计

系统总框图如下:

 

模块说明

※1键盘控制电路:

2×8键盘,由单片机外接ZLG7289控制。

※2单片机最小系统:

系统的主控制器,用以控制其他模块协调工作。

※3LCD显示模块:

用以显示提示信息,如天气、路况等,接口电路简单,由单片机控制。

※4LED显示(倒计时)模块:

由单片机外接ZLG7289控制,经排线与交通灯演示模块相连,用以显示交通灯倒计时时间。

※5控制接口电路:

用于连接单片机系统与交通灯演示模块,该电路含74ls139(二四译码器)、74ls373(数据锁存器),可使交通灯正常工作。

※6交通灯演示模块:

演示系统的工作情况。

该模块主要由发光二极管构成

※7语音提示模块:

采用现成的2532-120单段录放板(可录音及重复播放),用以完成语音提示。

交通灯各状态说明:

交通灯在通常工作条件中有五种状态:

绿灯+人行道(S1);绿灯+右转(S2);黄灯(S3);红灯+左转(S4);红灯(S5)五种状态。

*状态说明:

(S1)绿灯+人行道:

车辆前行;行人可通过人行道;

(S2)绿灯+右转:

车辆可向前、向右行驶。

(S3)黄灯:

过渡状态。

(S4)红灯+左转:

车辆向左行驶;但不能前行。

(S5)红灯:

禁止通行与转弯。

注:

红黄绿等均为前行方向的信号指示灯,济南较大路口均为此种设计,只是左转、人行无红灯指示。

*状态图:

*真值表:

(注:

R、G、Y、L、Rt、M分别表示红灯、绿灯、黄灯、左转、右转、人行道灯)

S

R1G1Y1L1Rt1M1

R2G2Y2L2Rt2M2

0

010001

100000

1

010010

100000

2

001000

100000

3

100100

100000

4

100000

010001

5

100000

010010

6

100000

001000

7

100000

100100

本系统还设计了应急况处理;在紧急情况下,设置交通灯状态为:

※全红:

东南西北所有方向禁止通行。

※南北红、东西绿:

南北方向禁行;东西方向通行。

※东西红、南北绿:

东西方向禁行;南北方向通行。

2各模块设计:

(1).单片机及键盘控制模块

单片机采用89C52,其中有8K程存可用。

对交通灯的控制主要用其中的计数器定时来完成。

一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。

键盘采用7289串行控制,其电路图如图

(1)所示。

共采用8个按键:

数字键0-9,时间设置键,回车键,紧急情况控制键,模式转换键,手动控制键及恢复键。

时间设置可分别设计各方向的通行时间,其设置的时间应符合以下公式:

Tr1=Tg2+Ty2+Tl2+Tl1

Tg1=Tm1+Trt1

Tr2=Tg1+Ty1+Tl1+Tl2

Tg2=Tm2+Trt2

模式转换功能为根据交通状况切换到预先设定好的通行时间模式,或切换回原来模式。

手动控制为手动控制各个方向的通行时间,具有灵活的特性。

恢复键是从紧急状态或手动控制状态返回正常状态。

(1)

(2).LCD和LED显示模块

LED用来实现倒计时功能,可直接从7289的接口上接过来。

其控制较为简单。

LCD用来显示提示信息及在时间设置时的提示功能。

其电路图如图

(2)所示。

(2)

(3).交通灯演示模块

交通灯用发光二极管代替,因为P2口过一段时间后其值会发生变化,故采用P2口加锁存器和P3口一起来控制。

其电路图如图(3)。

图3

3软件系统:

※流程图

如图所示

三.调试

根据方案设计的要求,调试过程共分三大部分:

硬件调试、软件调试和软硬联调。

1硬件调试:

⑴交通灯演示电路的调试:

交通灯模块由多个发光二极管组成,接线繁琐,极易出错。

检查二极管无故障、导线无断线、连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向的指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错。

根据灯的亮灭情况依次查找直到电路正常工作为止。

⑵倒计时电路调试:

倒计时电路主要有数码管组成。

当交通灯程序写好后,倒计时的显示可与最小系统板上两组数码管显示比较(系统板上的这两组数码管用以检查倒计时工作情况)。

若倒计时电路中有数码管不亮,检查数码管是否良好、数码管连线是否良好。

依次检查,直至倒计时电路正常工作。

⑶语音提示电路的调试:

本系统采用现成的语音板。

语音板上电后若不能工作,可将录音板首先复位,然后录音,再重放。

依上操作,直到语音板正常工作。

⑷其它电路的调试主要看接口以及连线是否正确。

依次检查,直到正常工作。

2软件调试

本系统的软件系统很大,全部采用汇编语言编写,除语法与逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。

采取自下到上的方法,单独调好每一个模块,最后完成一个完整的系统调试。

3软硬联调

系统做好后,进行系统的完整调试。

(1).初始化后,两个方向通行时间完全相等。

Tr1=Tr2=19s

Tg1=Tg2=12s,Ty1=Ty2=2s,Tl1=Tl2=5s,Trt1=Trt2=4s,Tm1=Tm2=8s

各灯运行及倒计时情况良好。

(2).按模式转换键后,按预先装入的模式2进行工作:

Tr1

Tg1

Ty1

Tl1

Trt1

Tm1

27

22

4

8

7

15

Tr2

Tg2

Ty2

Tl2

Trt2

Tm2

39

12

2

5

4

8

(3).按设置键后,进行时间设置:

Tr1

Tg1

Ty1

Tl1

Trt1

Tm1

21

6

2

3

2

4

Tr2

Tg2

Ty2

Tl2

Trt2

Tm2

14

9

2

5

3

6

完成后,会按重新设置的时间进行。

(4).按紧急预案键后,先出现全红状态,再按一下该键,又出现一方通行状态,再按,则另一方通行。

如此循环。

按手动控制键后,进行手动控制,每按一次,灯会转到下一个状态。

按恢复键对上两者进行恢复到正常状态。

Abstract

Thissystemismadeupofsingle-chipmicrocomputer,keyboard,lcddisplayingmoduleand

Trafficlightssystem.Thesystemincludespavement,

lefttruning,righttruning,andthebasictrafficlightsfunction.Exceptingthebasictrafficlightsfunction,it

alsoincludescouting,timeinstalling,emergencydisposaling,speechcluing,lcdinformationdisplaying,

adjustingthelightingtimeoflightsbasedondifferenttimeandcontrollingwithhandinaccordancewithcircumstancesandsoon.

参考书目:

《单片机原理及接口技术》李朝青北京航空航天大学出版社

《电路设计与仿真》清源机算计工作室机械工业出版社

《电子系统设计与实践》杨刚周群电子工业出版社

《电子系统设计》何小艇浙江大学出版社

程序:

delaydata55h

BIT_CNTDATA54H

DELAY1DATA53H

DECIMALDATA52H

SEND_BUFDATA51H

REC_BUFDATA50H

CSBITP1.3

CLKBITP1.4

DIOBITP1.5

KEYBITP1.6

DIEQUP1.7;寄存器选择信号

RWEQUP1.2;读/写选择信号

comequ2ah

datequ2bh

org1000h

redt01:

db52h,65h,64h,20h,74h,69h,6dh,65h,31h,3ah

yellowt01:

db59h,65h,6ch,6ch,6fh,77h,20h,74h,69h,6dh,65h,31h,3ah

greent01:

db47h,72h,65h,65h,6eh,20h,74h,69h,6dh,65h,31h,3ah

leftt01:

db4ch,65h,66h,74h,20h,74h,69h,6dh,65h,31h,3ah

rightt01:

db52h,69h,67h,68h,74h,20h,74h,69h,6dh,65h,31h,3ah

mant01:

db4dh,61h,6eh,20h,74h,69h,6dh,65h,31h,3ah

redt02:

db52h,65h,64h,20h,74h,69h,6dh,65h,32h,3ah

yellowt02:

db59h,65h,6ch,6ch,6fh,77h,20h,74h,69h,6dh,65h,32h,3ah

greent02:

db47h,72h,65h,65h,6eh,20h,74h,69h,6dh,65h,32h,3ah

leftt02:

db4ch,65h,66h,74h,20h,74h,69h,6dh,65h,32h,3ah

rightt02:

db52h,69h,67h,68h,74h,20h,74h,69h,6dh,65h,32h,3ah

mant02:

db4dh,61h,6eh,20h,74h,69h,6dh,65h,32h,3ah

successt:

db53h,75h,63h,63h,65h,73h,73h,13h

tishi01:

db39h,20h,0d4h,0c2h,31h,31h,0c8h,0d5h,2ch,20h,0d0h,0c7h,0c6h,0dah,0c1h,0f9h

db0c4h,0fah,0cfh,0d6h,0d4h,0dah,0ceh,0bbh,'于山大路'

db0cch,0ech,0c6h,0f8h,0b6h,0e0h,0d4h,0c6h,2ch,32h,35h,2dh,33h,31h,0b6h,0c8h

db'与经十路路口。

'

tishi02:

db'东西方向车流量较'

db'全。

'

db'大,请注意行车安'

tishi03:

db'体育新闻:

意甲今'

db'均未获胜。

'

db'日开战,米兰双雄'

org0

ljmpmain

org000bh

ljmpds0

org001bh

ljmpds1

org0030h

main:

movr0,#3

MOVDELAY,#25;延时25MS

RST_DELAY5:

DJNZDELAY1,RST_DELAY5

DJNZDELAY,RST_DELAY5

 

movtmod,#11h

movsp,#60h

mov2ch,#3

mov2dh,#2

mov3bh,#3

mov20h,#19

mov21h,#12

mov22h,#2

mov23h,#5

mov24h,#4

mov25h,#8

mov035h,#19

mov036h,#12

mov037h,#2

mov038h,#5

mov039h,#4

mov03ah,#8

mov046h,035h

mov47h,36h

mov48h,37h

mov049h,038h

mov04ah,039h

mov04bh,03ah

mov056h,#34

mov057h,#25

mov058h,#4

mov059h,#8

mov05ah,#7

mov05bh,#15

mov33h,22h

mov34h,20h

movb,#0ah

movr2,22h

movr3,#8

movtl0,#0b0h

movth0,#3ch

setbtr0

setbet0

setbtr1

setbet1

setbea

;ljmpds0

MOVDELAY,#25;延时25MS

RST_DELAY1:

DJNZDELAY1,RST_DELAY1

DJNZDELAY,RST_DELAY1

MOVSEND_BUF,#10100100B;初始化命令

CALLSEND

SETBCS

MAIN_LP:

JBKEY,MAIN_LP

MOVSEND_BUF,#00010101B;有键按下,发送读键盘命令

CALLSEND

CALLRECEIVE;读键盘

SETBCS

MOVA,REC_BUF

cjnea,#0fh,shuzi1

cplet0

cplet1

mov5ch,r2

mov10h,#55

jbet0,exit1

lcallred1

mov29h,#0fh

movr1,#20h

ljmpMAIN_LP2

exit1:

lcallint

ljmpMAIN_LP2

shuzi1:

cjnea,#10,shuzi10

shuzi10:

jncenter

mov1bh,a

mova,10h

cjnea,#55,shuzi22

mov31h,30h

mova,1bh

mov30h,a

lcallshuzi

mova,29h

inca

mov29h,a

shuzi22:

ljmpMAIN_LP2

enter:

cjnea,#14,jjya1

mova,29h

mov5ch,r2

cjnea,#10h,two

one:

cjner1,#26h,one1

one1:

jncone2

mov@r1,30h

ljmpexit

one2:

mov@r0,30h

incr0

ljmpexit

jjya1:

ljmpjjya

two:

mova,31h

movb,#10

mulab

adda,30h

cjner1,#26h,two1

two1:

jnctwo2

mov@r1,a

ljmpexit

two2:

mov@r0,a

incr0

exit:

mov29h,#0fh

incr1

yellow:

cjner1,#22h,green

lcallyellow1

ljmpMAIN_LP2

green:

cjner1,#21h,left

lcallgreen1

ljmpMAIN_LP2

left:

cjner1,#23h,right

lcallleft1

ljmpMAIN_LP2

right:

cjner1,#24h,man

lcallright1

ljmpMAIN_LP2

man:

cjner1,#25h,red0

lcallman1

ljmpmain_lp2

red0:

cjner1,#26h,yellow0

lcallred2

movr0,#35h

ljmpmain_lp2

yellow0:

cjner1,#28h,green0

lcallyellow2

ljmpMAIN_LP2

green0:

cjner1,#27h,left0

lcallgreen2

ljmpMAIN_LP2

left0:

cjner1,#29h,right0

lcallleft2

ljmpMAIN_LP2

right0:

cjner1,#2ah,man0

lcallright2

ljmpMAIN_LP2

man0:

cjner1,#2bh,sucsess

lcallman2

ljmpmain_lp2

sucsess:

cjner1,#2ch,go1

lcallsucsess1

mov26h,20h

mova,23h

;rla

adda,24h

adda,25h

adda,22h

mov35h,a

mova,37h

;rla

adda,38h

adda,39h

adda,3ah

mov20h,a

mov2bh,#33

setbet0

setbtr0

setbtr1

setbet1

mova,33h

cjnea,34h,hf110

hf110:

jchf120

movr2,34h

ljmphf130

hf120:

movr2,33h

hf130:

ljmpMAIN_LP2

go1:

ljmpMAIN_LP2

jjya:

mov5ch,r2

cjnea,#13,moshi

dec2ch

clrtr0

mova,2ch

cjnea,#3,j1

j1:

jcj2

mov2ch,#2

mova,2ch

j2:

 

cjnea,#2,jj1

movp2,#0

setbp3.6

nop

clrp3.6

setbp3.0

setbp3.1

setbp3.2

setbp3.3

setbp3.4

setbp3.5

ljmpmain_lp2

jj1:

cjnea,#1,jj2

movp2,#03h

setbp3.6

nop

clrp3.6

setbp3.0

setbp3.1

clrp3.2

clrp3.3

setbp3.4

setbp3.5

ljmpMAIN_LP2

jj2:

cjnea,#0,main_lp3

mov2ch,#3

movp2,#0ch

setbp3.6

nop

clrp3.6

clrp3.4

clrp3.5

setbp3.2

setbp3.3

setbp3.0

setbp3.1

ljmpMAIN_LP2

main_lp3:

ljmpmain_lp1

moshi:

cjnea,#12,tz

cpl7fh

jb7fh,m1

mov035h,056h

mov036h,057h

mov037h,058h

mov038h,059h

mov039h,05ah

mov03ah,05bh

mova,3ah

adda,39h

adda,38h

adda,37h

mov20h,a

mova,23h

adda,22h

adda,24h

adda,25h

mov35h,a

ljmpmain_lp2

m1:

mov035h,046h

mov036h,047h

mov037h,048h

mov038h,049h

mov039h,04ah

mov03ah,04bh

mova,3ah

adda,39h

adda,38h

adda,37h

mov20h,a

mova,23h

adda,22h

adda,24h

adda,25h

mov35h,a

ljmpmain_lp2

 

go:

lcallint

ljmpMAIN_LP2

tz:

cjnea,#11,main_lp1

ljmptz1

main_lp1:

ljmphf1

tz1:

decr3

clret0

clret1

cjner3,#2,tn1

movp2,#33h

setbp3.6

nop

clrp3.6

setbp3.0

setbp3.1

clrp3.2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1