2022年微机课程方案交通灯控制系统方案 .pdf
个人资料整理仅限学习使用交通灯控制系统设计一、设计目的 了解交通灯管理的基本工作原理 熟悉 8259中断控制器的工作原理和应用编程 熟悉 8255并行接口的各种工作方式和应用 熟悉 8253计数器/ 定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法 掌握多位 LED显示问题的解决二、设计要求1东西方向车辆放行60 秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1 分钟; 2 1 分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2 位数码管上显示计数值 每秒减 1),从 65减为 0。 3 东西方向的黄灯闪烁5 秒钟后,转为南北方向放行20 秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20 秒钟; 4 南北方向放行 20 秒钟后,转为南北方向的黄灯闪烁5 秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 5 南北方向的黄灯闪烁5 秒钟后,再转为东西方向车辆放行1 分钟。如此循环重复。三、电路及连线设计在本次课程设计当中,本次设计采用的是软件定时即通过汇编指令)实现的。而灯的亮与灭以及闪烁是用8255 的 A口和 B口控制的,工作在方式0,A口和 B口均为输出。并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有 A、B、C三个并行接口,用 +5V单电源供电,能在以下三种方式下工作:方式 0- 基本输入 / 出方式、方式 1- 选通输入 / 出方式、方式 2- 双向选通工作方式。 8255的内部结构及引脚如图1 所示, 8255 工作方式控制字和 C口按位置位/ 复位控制字格式如图2 所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页个人资料整理仅限学习使用图 18255 的内部结构及引脚图 28255 工作方式控制字和C口按位置位 / 复位控制字格式2.3 电路接线图图 3 红绿灯模拟设计总电路图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页个人资料整理仅限学习使用上电路图为红绿灯模拟设计总电路图,通过8086CPU 系统总线来控制 8255 的 A端口、 B端口,而 A、B端口分别接 LED发光二极管来控制十字路口红绿灯。红、黄、绿灯的表示情况如下:由于仪器上面只有16 个发光二级管,且从高到低依次为: 15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定: R表示红灯, G表示绿灯, Y表示黄灯; E表示方向东, W表示方向西, S表示方向南, N表示方向北,例如: ER表示东方向为红灯, WG 表示西方向为绿灯, SY表示南方向为黄灯,其余的类似。所以在设计中采用如下的规定:D15D14 表示 ER ,D13D12 表示 SR ,D11D10 表示 EG ,D9D8表示 SG ,D7D6表示 WR ,D5D4表示 NR ,D3D2表示 WG ,D1D0表示 NG ,D15D14D11D10 表示 EY ,D7D6D3D2 表示 WY ,D13D12D9D8 表示 SY ,D5D4D1D0 表示 NY 。具体连线及表示如下图所示 STACK1 ENDS DATA SEGMENT LA DB ? 。定义数据变量芯片初始化东西方向绿灯亮,南北方向红灯亮20秒东西方向黄灯闪烁,南北方向红灯亮5秒东西方向红灯亮,南北方向绿灯亮20秒东西方向红灯亮,南北方向黄灯闪烁5秒有键按下?返回到 DOS 结束否是精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 8 页个人资料整理仅限学习使用LB DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE 。定义 8255 工作方式 MOV AL,80H 。工作方式 0,A口和 B口为输出 OUT DX,AL LOOP1: MOV DX,MY8255_A 。写 A口发出的数据,东方向绿灯亮, 南方向红灯亮 MOV AL,3CH OUT DX,AL MOV DX,MY8255_B 。写 B口发出的数据,西方向绿灯亮, 北方向红灯亮 MOV AL,3CH OUT DX,AL CALL DALLY1 MOV CX,08H L1: MOV DX,MY8255_A 。写 A口发出的数据,东方向黄灯亮, 南方向红灯亮 MOV AL,0FCH OUT DX,AL MOV DX,MY8255_B 。写 A口发出的数据,西方向黄灯亮, 北方向红灯亮 MOV AL,0FCH OUT DX,AL CALL DALLY2 MOV DX,MY8255_A 。写 A口发出的数据,东方向黄灯灭, 南北方向红灯亮 MOV AL,30H OUT DX,AL MOV DX,MY8255_B 。写 B口发出的数据,西方向黄灯灭, 南北方向红灯亮精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页个人资料整理仅限学习使用 MOV AL,30H OUT DX,AL CALL DALLY2 LOOP L1 MOV DX,MY8255_A 。写 A口发出的数据,东方向红灯亮, 南方向绿灯亮 MOV AL,0C3H OUT DX,AL MOV DX,MY8255_B 。写 B口发出的数据,西方向红灯亮, 北方向绿灯亮 MOV AL,0C3H OUT DX,AL CALL DALLY1 MOV CX,08H L2: MOV DX,MY8255_A 。写 A口发出的数据,南方向黄灯亮, 东方向红灯亮 MOV AL,0F3H OUT DX,AL MOV DX,MY8255_B 。写 B口发出的数据,北方向黄灯亮, 西方向红灯亮 MOV AL,0F3H OUT DX,AL CALL DALLY2 MOV DX,MY8255_A 。写 A口发出的数据,南北方向黄灯灭, 东方向红灯亮 MOV AL,0C0H OUT DX,AL MOV DX,MY8255_B 。写 B口发出的数据,南北方向黄灯灭, 西方向红灯亮 MOV AL,0C0H OUT DX,AL CALL DALLY2 LOOP L2 MOV AH,1 。判断是否有按键按下,调用功能号1 INT 16H 。ROM BIOS 功能调用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页个人资料整理仅限学习使用 JZ LOOP1 。无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H 。结束程序退出 INT 21H。DOS 系统功能调用DALLY PROC NEAR 。软件延时子程序 PUSH CX PUSH AX MOV CX,0FFFH D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP DALLY1 PROC NEAR 。软件延时子程序,东西方向红灯亮,南北方向绿灯亮 PUSH CX PUSH AX MOV CX,1EH D3: CALL DALLY LOOP D3 POP AX POP CX RET DALLY1 ENDP DALLY2 PROC NEAR 。软件延时子程序,黄灯闪烁 ,2004,(022 舒贞权 ,任伟利微机计算机原理M 西安:西安交通大学出版社,1997 3 顾元刚 ,韩燕汇编语言与微机原理教程M 北京:电子工业出版社,2000 4 楼顺天 ,周社佳 .微机原理与接口技术M 北京:科学出版社,2006 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页