资源描述
《微型计算机接口技术》大作业设计报告
基于8255,8253
发声人性化交通灯控制设计
日期:-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)南北路口红灯闪烁、同步东西路口黄灯亮闪烁若干次,扬声器鸣叫。
(5) 转(1)重复。紧急状况可以手动控制红绿灯变换。
1.3设计原理
本次课程设计是交通灯实时控制器,重要是用发光二极管模仿十字路口红绿灯。交通灯控制器设计与实现重要是通过编写汇编语言程序运用8255C口对灯亮与灭进行控制,用8253对扬声器发声进行控制。装有定期计数器 8253芯片和可编程接口 8255芯片,研究了扬声器发声软件控制过程,运用软件编程给定8253芯片某一频率方波信号,并且设定8255芯片门控信号PA0 =1和PA1 =1 ,则可控制扬声器发声。
第二某些 硬件设计
2.1线路示意图
8255连接图:
8253连接图:
2.2硬件连接图:
第三某些 软件设计
3.1流程如下
主程序中重要是通过初始化8255,然后将PC口设立成为输出口,将PC口与LED灯连接起来。
开始
芯片初始化,写8255,8253方式字
延时(通过设立指令循环次数实现)
输入数字“1”,开始运营
东西方向绿灯亮,南北方向红灯亮,时间约5秒
东西方向黄灯闪烁,南北方向红灯闪烁,扬声器鸣叫,时间约5秒
东西方向红灯亮,南北方向绿灯亮,时间约5秒
东西方向红灯闪烁,南北方向黄灯闪烁,扬声器鸣叫,时间约5秒
与否有按任意键退出?
结束程序,退出
3.2程序清单
data segment
io8255a equ 28ah
io8255aa equ 288h
io8255b equ 28bh
io8253a equ 280h
io8253b equ 283h
portc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯也许
db 81h,82h,80h,82h,80h,82h,80h ;状态数据
db 0ffh ;结束标志
string1 db '************************************',0ah,0dh,'$'
string2 db '* auto traffic lights *',0ah,0dh,'$'
string3 db '************************************',0ah,0dh,'$'
string4 db '************************************',0ah,0dh,'$'
stringstart db ' PRESS 1 TO START ',0AH,0DH,'$'
string5 db '************************************',0ah,0dh,'$'
string6 db '************************************',0ah,0dh,'$'
STRINGEND DB ' PRESS ANY KEY TO EXIT ',0AH,0DH,'$'
string7 db '************************************',0ah,0dh,'$'
table dw 524
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
MOV AH,0FH ;清屏
INT 10H
MOV AH,0h
INT 10H
LEA DX,string1
MOV AH,09H
INT 21H
LEA DX,string2
MOV AH,09H
INT 21H
LEA DX,string3
MOV AH,09H
INT 21H
LEA DX,string4
MOV AH,09H
INT 21H
LEA DX,STRINGSTART
MOV AH,09H
INT 21H
LEA DX,string5
MOV AH,09H
INT 21H
KEY:MOV AH,01H
INT 21H
CMP AL,"1"
JNZ KEY
MOV AH,0FH ;清屏
INT 10H
MOV AH,0h
INT 10H
LEA DX,string6
MOV AH,09H
INT 21H
LEA DX,STRINGEND
MOV AH,09H
INT 21H
LEA DX,string7
MOV AH,09H
INT 21H
mov dx,io8255b
mov al,80h
out dx,al ;设立8255为C口输出
mov dx,io8255a
re_on: mov bx,0
on: mov al,portc1[bx]
push ax
push Bx
push Cx
push Dx
test al ,42h
jz cont
sin: call sing
cont: pop DX
POP CX
POP BX
POP AX
out dx,al
cmp al,0ffh
jz re_on
out dx,al ;点亮相应灯
inc bx
mov cx,250 ;参数赋初值
test al,21h ;与否有绿灯亮
jz de1 ;没有,短延时
mov cx, ;有,长延时
de1: mov di,9000 ;di赋初值9000
de0: dec di ;减1计数
jnz de0 ;di不为0
loop de1
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz on ;没有,转到on
exit: mov ah,4ch ;返回
int 21h
sing proc near
mov al,31h
sub al,31h
shl al,1 ;转为查表偏移量
mov bl,al ;保存偏移到bx
mov bh,0
mov ax,4240H ;计数初值 = 1000000 / 频率,保存到AX
mov dx,0FH
div word ptr[table+bx]
mov bx,ax
mov dx,io8253b ;设立8253计时器0方式3
mov al,00110110B
out dx,al
mov dx,io8253a
mov ax,bx
out dx,al ;写计数初值低字节
mov al,ah
out dx,al ;写计数初值高字节
mov dx,io8255b ;设立8255 A口输出
mov al,10000000B
out dx,al
mov dx,io8255aa
mov al,03h
out dx,al ;置PA1PA0 = 11(开扬声器)
call delay ;延时
mov al,0h
out dx,al ;置PA1PA0 = 00(关扬声器
sing endp
delay proc near ;延时子程序
push cx
push ax
mov ax,15
x1:mov cx,0ffffh
x2:dec cx
jnz x2
dec ax
jnz x1
pop ax
pop cx
ret
delay endp
code ends
end start
第四某些 系统测试与性能分析
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教师实验指引书》
《微机原理与单片机课程设计》教学大纲
《扬声器发声原理》清华大学出版社
(2)元件清单
TPC通用微机接口实验箱
(8255芯片一片,8253芯片一片,扬声器(喇叭))
展开阅读全文