基于8253和8255的模拟交通灯控制系统.docx
《基于8253和8255的模拟交通灯控制系统.docx》由会员分享,可在线阅读,更多相关《基于8253和8255的模拟交通灯控制系统.docx(14页珍藏版)》请在冰豆网上搜索。
基于8253和8255的模拟交通灯控制系统
基于8253和8255的模拟交通灯控制系统
《微型计算机接口技术》大作业设计报告
基于8255,8253的
发声人性化交通灯控制设计
日期:
2011-1-7
摘要
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:
交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
关键字:
8255交通灯控制8253发声人性化
第一部分概论
1.1设计任务:
交通信号灯的控制
(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2任务要求
(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。
(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。
start:
movax,data
movds,ax
MOVAH,0FH;清屏
INT10H
MOVAH,0h
INT10H
LEADX,string1
MOVAH,09H
INT21H
LEADX,string2
MOVAH,09H
INT21H
LEADX,string3
MOVAH,09H
INT21H
LEADX,string4
MOVAH,09H
INT21H
LEADX,STRINGSTART
MOVAH,09H
INT21H
LEADX,string5
MOVAH,09H
INT21H
KEY:
MOVAH,01H
INT21H
CMPAL,"1"
JNZKEY
MOVAH,0FH;清屏
INT10H
MOVAH,0h
INT10H
LEADX,string6
MOVAH,09H
INT21H
LEADX,STRINGEND
MOVAH,09H
INT21H
LEADX,string7
MOVAH,09H
INT21H
movdx,io8255b
moval,80h
outdx,al;设置8255为C口输出
movdx,io8255a
re_on:
movbx,0
on:
moval,portc1[bx]
pushax
pushBx
pushCx
pushDx
testal,42h
jzcont
sin:
callsing
cont:
popDX
POPCX
POPBX
POPAX
outdx,al
cmpal,0ffh
jzre_on
outdx,al;点亮相应的灯
incbx
movcx,250;参数赋初值
testal,21h;是否有绿灯亮
jzde1;没有,短延时
movcx,2000;有,长延时
de1:
movdi,9000;di赋初值9000
de0:
decdi;减1计数
jnzde0;di不为0
loopde1
pushdx
movah,06h
movdl,0ffh
int21h
popdx
jzon;没有,转到on
exit:
movah,4ch;返回
int21h
singprocnear
moval,31h
subal,31h
shlal,1;转为查表偏移量
movbl,al;保存偏移到bx
movbh,0
movax,4240H;计数初值=1000000/频率,保存到AX
movdx,0FH
divwordptr[table+bx]
movbx,ax
movdx,io8253b;设置8253计时器0方式3
moval,00110110B
outdx,al
movdx,io8253a
movax,bx
outdx,al;写计数初值低字节
moval,ah
outdx,al;写计数初值高字节
movdx,io8255b;设置8255A口输出
moval,10000000B
outdx,al
movdx,io8255aa
moval,03h
outdx,al;置PA1PA0=11(开扬声器)
calldelay;延时
moval,0h
outdx,al;置PA1PA0=00(关扬声器
singendp
delayprocnear;延时子程序
pushcx
pushax
movax,15
x1:
movcx,0ffffh
x2:
deccx
jnzx2
decax
jnzx1
popax
popcx
ret
delayendp
codeends
endstart
第四部分系统测试与性能分析
4.1系统测试
利用微机实验箱上的8255A并行口、发光二级管以及扬声器,构成发声交通灯控制系统。
测试结果与预期相同,东西、南北方向的红、绿灯交错亮灭。
进入系统,根据菜单界面提示,按数字“1”开始执行程序;东西方向绿灯亮,南北方向红灯亮;5秒后东西方向绿灯灭,东西方向的黄灯和南北方向的红灯闪烁;5秒后东西方向红灯亮,南北方向绿灯亮;5秒后南北方向绿灯灭,东西方向的红灯和南北方向的黄灯闪烁;5秒后东西方向绿灯亮,南北方向红灯亮;如此循环,知道按下任意键退出,程序结束。
4.2测试图示
图4-21
图4-22交通灯界面菜单:
按1后自动演示
图4-23交通灯界面菜单:
按任意键后退出
图4-24按任意键后退出后界面
4.3性能分析
本系统实现了交通灯自动变换的基本功能,并通过扬声器提醒灯的转换,使系统更人性化。
利用编程给定8253芯片某一频率的方波信号,控制扬声器发声。
但缺点是用8255递减的方法不能很精确地计算和控制灯亮的时间。
但本次试验的主要目的是通过灯闪速的同时,鸣叫扬声器提醒行人,以达到人性化的效果。
第五部分总结体会
5.1课程体会
(1)想法很重要。
设计的思想很大程度上决定了实验的高度。
根据亲身的考察和体验,红绿灯加入扬声器这一人性化的功能,提醒行人有很大的实际意义。
除了此项功能,我们也一直在寻找其他的新功能,例如加人行通道的红绿灯,绿灯时播放音乐,以及温馨提示。
但是由于条件资源的限制,我们只能通过8255和8253控制扬声器的鸣叫。
但是也达到了实验的目的。
(2)汇编语言知识和微机原理知识要扎实。
通过这次实验,我们小组三个成员受益匪浅。
实验的完成需要扎实的基础知识,于是我们回去复习了汇编语言的书籍,查阅了相关文献和资料。
这次实验不仅是对课程内容掌握程度的一次考验,而且是一次很好的训练机会,训练了我们查找资料的能力。
通过此次课程设计的锻炼,自己的动手能力有了很大的提高,查找问题、解决问题的能力也有了相应的进步。
(3)做实验,总要信。
在本次的实验过程中,遇到很多我们无法解决的问题。
经过我们小组成员间的相互讨论,寻求同学的指导,就把自己发觉不到的错误找出来了,从而继续进行实验。
过程中遇到很多困难,几天都呆在寒冷的实验室,途中也会遇到挫折,毫无头绪的时候。
毅力和坚持的勇气很重要,支撑我们走过实验的每一步。
本次试验虽然还存在不足的地方,但这是我们努力过的成果和结晶,红绿灯自动转换,扬声器鸣叫拿一刹那,我们都欣慰地尖叫了。
阳光总在风雨后,做实验,总要信。
附录:
(1)参考资料
《微型计算机原理与接口技术》吕林涛主编,科学出版社
《TPC-USB教师实验指导书》
《微机原理与单片机课程设计》教学大纲
《扬声器的发声原理》清华大学出版社
万一的Delphi博客
(2)元件清单
TPC通用微机接口实验箱
(8255芯片一片,8253芯片一片,扬声器(喇叭))