基于8253和8255的模拟交通灯控制系统.doc

上传人:小** 文档编号:89999479 上传时间:2019-06-05 格式:DOC 页数:12 大小:724.69KB
返回 下载 相关 举报
基于8253和8255的模拟交通灯控制系统.doc_第1页
第1页 / 共12页
基于8253和8255的模拟交通灯控制系统.doc_第2页
第2页 / 共12页
基于8253和8255的模拟交通灯控制系统.doc_第3页
第3页 / 共12页
基于8253和8255的模拟交通灯控制系统.doc_第4页
第4页 / 共12页
基于8253和8255的模拟交通灯控制系统.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于8253和8255的模拟交通灯控制系统.doc》由会员分享,可在线阅读,更多相关《基于8253和8255的模拟交通灯控制系统.doc(12页珍藏版)》请在金锄头文库上搜索。

1、微型计算机接口技术大作业设计报告 基于8255,8253的发声人性化交通灯控制设计日期:2011-1-7摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。井然秩序的实现,靠的是交通信号灯的自动指挥系统。交通信号灯控制方式有很多。本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示功能。整个系统具有固定的“红灯黄灯绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制

2、。但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。关键字:8255 交通灯控制 8253 发声 人性化第一部分 概论1.1设计任务: 交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换 。(3)通过8255并口控制,人工进行交通灯的转换。1.2

3、 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。(5) 转(1)重复。紧急情况可以手动控制红绿灯的变换。1.3设计原理本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯。交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的C口对灯的亮与灭进行控制,用8253对扬声器的发声进行控制。装有定时计数器 8253芯片和可编程接口 8255芯片,研究了扬声器发声的软件控制

4、过程,利用软件编程给定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、烁,南北方向黄灯闪烁,扬声器鸣叫,时间约5秒是否有按任意键退出?结束程序,退出3.2程序清单data segmentio8255a equ 28ahio8255aa equ 288hio8255b equ 28bhio8253a equ 280hio8253b equ 283hportc1 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,

6、$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 524data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax MOV AH,0FH ; 清屏 I

7、NT 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 21HKEY:MOV AH,01H INT 21H CMP AL,1 JNZ KEY MOV AH,0FH ; 清屏 INT 10H MOV

8、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,io8255are_on: mov bx,0on: mov al,portc1bx push ax push Bx push Cx push Dx test al , 42h jz contsin: call singcont: pop DX POP

9、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,2000 ;有,长延时de1: mov di,9000 ;di赋初值9000de0: dec di ;减1计数 jnz de0 ;di不为0 loop de1 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz on ;没有,转到onexit: mov ah,4ch ;返回 int 21

10、h 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 ptrtable+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 endpdelay proc near ;延时子程序 push cx push ax mov ax,15x1: mov cx,0ffffhx2: dec cx jnz x2 dec ax jnz x1 pop ax pop cx retdelay endp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号