微机原理课程设计-8255控制交通灯

合集下载

微机原理课程设计交通信号灯

微机原理课程设计交通信号灯

设计任务及要求交通信号灯的亮灭规律。

设有一个十字路口,1、3位南北方向,2、4位东西方向。

初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:(1)1、3路口绿灯亮,2、4路口红灯亮;(2)延时10秒后,1、3路口绿灯灭;(3)1、3路口黄灯闪烁(闪烁3次);(4)2、4路口绿灯亮,同时1、3路口红灯亮;(5)延时10秒后,2、4路口绿灯灭;(6)2、4路口黄灯闪烁(闪烁3次);(7)转向(1)循环执行。

要求:1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控制黄灯,C口控制绿灯。

红灯(RLED),黄灯(YLED)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。

2.发光二极管通过电阻接+5V,输出为0则亮,输出为1则灭。

3.通过软件延时,设CPU晶振频率为8M。

4.闪烁功能采用灯亮1秒后马上熄灭来实现。

硬件连接图(可打印)、设计说明8255共有40个引脚,其功能分别如下:D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

8255控制交通灯实验原理

8255控制交通灯实验原理

8255控制交通灯实验原理我们需要了解交通灯的工作原理。

一般来说,交通灯是通过控制红、黄、绿三个灯的亮灭来指示交通的状态。

红灯表示停车,黄灯表示准备行车,绿灯表示可以行车。

交通灯的亮灭是通过控制电流的开关来实现的。

在实验中,我们将使用8255芯片的三个I/O端口来控制交通灯的红、黄、绿三个灯。

具体来说,我们将把红灯连接到8255芯片的一个I/O端口,黄灯连接到另一个I/O端口,绿灯连接到第三个I/O端口。

通过编程控制这三个I/O端口的输出电平,我们就可以控制交通灯的亮灭。

在编程方面,我们需要使用汇编语言来编写控制程序。

首先,我们需要初始化8255芯片的工作模式。

通过将控制字写入控制寄存器,我们可以将8255芯片设置为输出模式,同时设置输出的电平。

然后,我们需要编写一个循环程序,不断改变输出的电平,从而实现交通灯灯光的变换。

具体来说,我们可以通过改变红、黄、绿三个灯的输出电平的组合来控制交通灯的亮灭。

在实验中,我们可以通过按下开关来触发交通灯的变换。

当按下开关时,控制程序将会执行一次循环,改变交通灯的亮灭状态。

这样,我们就可以通过按下开关来模拟交通灯的工作过程。

通过这个实验,我们可以更好地理解8255芯片的工作原理,并且掌握使用8255芯片来控制外部设备的方法。

在实际应用中,我们可以利用8255芯片来控制各种外部设备,如LED灯、电机等。

这样,我们可以通过编程来实现对外部设备的控制,从而实现各种功能。

使用8255芯片来控制交通灯是一种简单而有效的方法。

通过编程控制8255芯片的输出电平,我们可以实现交通灯的亮灭变换。

这个实验不仅可以帮助我们更好地理解8255芯片的工作原理,还可以培养我们的编程能力。

希望通过这个实验,我们可以更好地掌握8255芯片的使用,为以后的学习和工作打下良好的基础。

8255A控制交通灯完整实验

8255A控制交通灯完整实验

8255A控制交通灯完整实验二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书课程名称:微机原理课程设计班级:电子信息工程2009级 6 班学号:200904135150姓名:张强指导教师:徐守明二○一二年二月二十日8255A控制交通灯实验一、实验流程图如下:1、主程序流程图2、中断服务程序(以外部中断0为例)1、2、的设计延时程序,需要知道时钟周期,状态周期,机器周期的概念以及循环程序设计的基本思路。

3、8255A编程,实验中应该先写控制字后写方式字。

这里需要指出的是,硬件连线时一定要严格按照8255A的控制字连线,也就是地址分配问题。

AT89S52的P2口在实验中做地址线,充当地址高8位,P0口既做地址线也做数据线,做地址线时充当地址低8位。

4、8255A选择A口时,不能直接把A0,A1接地,而应该用地址赋值语句给A0,A1赋值,使其同时为低电平,选中A口。

四、实验程序如下:;*********8255PA口的次低三位是南北路口。

次高三位是东西路口*********ORG 0000HLJMP STARTORG 0003H ;外部中断0的中断程序入口地址LJMP KEY1 ;转外部中断0中断服务程序ORG 0013H ;外部中断1的中断程序入口地址LJMP KEY2 ;转外部中断1中断服务程序START:SETB IT0 ;INTO为边沿触发SETB IT1SETB EX0 ;启动T0SETB EX1SETB EA ;开总中断MOV DPTR,#03FFHMOV A,#80HMOVX @DPTR,AS1: MOV A,#10111101BM OV DPTR,#00FFHM OVX @DPTR,A ;第一种状态:东西红灯亮,南北绿灯亮C ALL DELAY5S ;5秒延时西红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1S ; 0.2秒延时M OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第一次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#10111011B ;第二种状态:东西红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1SM OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第二次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1S红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1SM OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SS3: MOV A,#11100111B ;第三种状态:东西绿灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY5SS4: MOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第一次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第二次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第三次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SAJMP S1 ;跳转到状态S1状态,循环DELAY5S: ;延时5秒MOV R7,#100L0: MOV R6,#100L1: MOV R5,#248L2: DJNZ R5,L2DJNZ R6,L1D JNZ R7,L0RETDELAY1S: ;延时0.5秒MOV R4,#200L3: MOV R3,#248L4: DJNZ R3,L4D JNZ R4,L3R ET;*****************紧急处理1:东西红灯亮,南北绿灯亮***************************** KEY1:PUSH PSWMOV A,#10111101B ;紧急处理1:东西红灯亮,南北绿灯亮MOV DPTR,#00FFHMOVX @DPTR,AMOV R7,#100 ;延时5S LCALL L0;POP PSW ;注意这里不能把POP弹出堆栈段,弹出就不对RETI ;返回中断位置执行下一条指令;*****************紧急处理2:东西红灯亮,南北绿灯亮**************************** KEY2:PUSH PSWMOV A,#11100111B ;紧急处理2:东西红灯亮,南北绿灯亮MOV DPTR,#00FFHMOVX @DPTR,AMOV R7,#100 ;延时5SLCALL L0;POP PSWRETI ;返回中断位置执行下一条指令END。

微机原理课程设计_十字路口交通灯控制器

微机原理课程设计_十字路口交通灯控制器

一、设计题目:十字路口交通灯控制器二、设计要求:通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。

编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。

三、硬件方案:(一)设计原理:通过8255A并口来控制LED发光二极管的亮灭。

A口控制红灯,B口控制黄灯,C口控制绿灯。

输出为0则亮,输出为1则灭。

用8253定时来控制变换时间。

设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。

闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。

延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。

闪烁5次后,再切换到1、3路口方向。

之后,重复上述过程。

要求使用可编程并行接口8255,8088CPU,双色灯,PC机等实现。

(二).部分所使用的芯片极其原理:(1)8255的基本功能:Intel公司生产的可编程并行接口芯片8255A已广泛应用于实际工程中,例如8255A与A/D、D/A配合构成数据采集系统,通过8255A连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A交换信息,等等,所有这些系统都将8255A用作为并行接口。

8255A为一可编程的通用接口芯片。

它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异:端口A(PA0~PA7):8位数据输出锁存/缓冲器,8位数据输入锁存器;端口B(PB0~PB7):8位数据I/O锁存/缓冲器,8位数据输入缓冲器;端口C(PC0~PC7):8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存);在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。

微机原理实验四实验报告控制交通灯实验

微机原理实验四实验报告控制交通灯实验

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WRRD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R118.MODEL TINYCOM_ADD EQU 0F003HPA_ADD EQU 0F000HPB_ADD EQU 0F001HPC_ADD EQU 0F002H.STACK 100.DATALED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯DB 10111101B ;东西黄灯亮,南北红灯DB 11010111B ;东西红灯,南北绿灯DB 11011111B ;东西红灯,南北绿灯闪烁DB 11011011B ;东西红灯,南北黄灯亮.CODESTART: MOV AX,@DATAMOV DS,AXNOPMOV DX,COM_ADDMOV AL,80H ;PA、PB、PC为基本输出模式OUT DX,ALMOV DX,PA_ADD ;灯全熄灭MOV AL,0FFHOUT DX,ALLEA BX,LED_DataSTART1: MOV AL,0XLATOUT DX,AL ;东西绿灯,南北红灯CALL DL5SMOV CX,6START2: MOV AL,1XLATOUT DX,AL ;东西绿灯闪烁,南北红灯CALL DL500msMOV AL,0XLATOUT DX,ALCALL DL500msLOOP START2MOV AL,2 ;东西黄灯亮,南北红灯XLATOUT DX,ALCALL DL3SMOV AL,3 ;东西红灯,南北绿灯XLATOUT DX,ALCALL DL5SMOV CX,6START3: MOV AL,4 ;东西红灯,南北绿灯闪烁XLATOUT DX,ALCALL DL500msMOV AL,3XLATOUT DX,ALCALL DL500msLOOP START3MOV AL,5 ;东西红灯,南北黄灯亮XLATOUT DX,ALCALL DL3SJMP START1DL500ms PROC NEARPUSH CXMOV CX,60000DL500ms1: LOOP DL500ms1POP CXRETDL500ms ENDPDL3S PROC NEARPUSH CXMOV CX,6DL3S1: CALL DL500msLOOP DL3S1POP CXRETENDPDL5S PROC NEARPUSH CXMOV CX,10DL5S1: CALL DL500msLOOP DL5S1POP CXRETENDPEND START七、实验扩展及思考1、如何对8255的PC口进行位操作?控制字最高位写0,中间三位无关取0,接着三位是编码了对应的C口哪几位,最低一位为0是复位,为1是置位。

8255交通灯课程设计

8255交通灯课程设计

8255交通灯课程设计一、课程目标知识目标:1. 让学生掌握8255并行接口芯片的基本工作原理和功能特点。

2. 使学生了解交通灯控制系统的工作原理,并能运用8255芯片设计简单的交通灯控制电路。

3. 帮助学生理解并行接口在微机系统中的应用,培养他们对接口技术的兴趣。

技能目标:1. 培养学生运用8255芯片进行交通灯控制电路设计、编程和调试的能力。

2. 培养学生通过查阅资料、合作讨论等途径,解决实际问题的能力。

情感态度价值观目标:1. 培养学生热爱科学,严谨求实的科学态度。

2. 培养学生的团队协作精神,增强他们在实际项目中沟通、协调的能力。

3. 提高学生面对复杂问题的自信心,培养他们勇于克服困难的意志品质。

课程性质分析:本课程为电子信息类专业的实践课程,旨在通过8255交通灯控制系统的设计,帮助学生将理论知识与实际应用相结合,提高他们的动手能力和创新能力。

学生特点分析:本课程面向高年级学生,他们已经具备了一定的电子技术和编程基础,具有较强的学习能力和独立思考能力。

教学要求:1. 确保学生掌握8255芯片的基本知识和交通灯控制原理。

2. 注重培养学生的实际操作能力,鼓励他们自主学习和创新。

3. 结合实际项目,提高学生的团队协作能力和沟通能力。

二、教学内容1. 8255并行接口芯片的基本原理和功能特点:包括8255芯片的内部结构、工作模式、控制字等。

相关教材章节:第五章第二节“并行接口与8255芯片”2. 交通灯控制系统的设计与实现:介绍交通灯控制系统的工作原理,以及如何利用8255芯片设计交通灯控制电路。

相关教材章节:第五章第三节“8255芯片的应用实例”3. 编程与调试:指导学生使用汇编语言或C语言编写交通灯控制程序,并进行调试。

相关教材章节:第五章第四节“8255芯片的编程与应用”4. 实践操作:组织学生进行交通灯控制电路的搭建、编程和调试,培养他们的动手能力。

相关教材章节:第五章实验“8255交通灯控制系统设计与实现”5. 项目总结与评价:对学生的设计作品进行展示、讨论和评价,总结项目过程中的经验教训。

微机课程设计_应用8255A实现交通灯控制

微机课程设计_应用8255A实现交通灯控制

随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。

同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。

交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。

但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。

采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。

它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。

目前,有一种使用“模糊控制”技术控制交通灯的方法。

能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。

但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。

本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。

整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。

主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。

微机原理课程设计—交通灯控制

微机原理课程设计—交通灯控制

交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。

通过本课程设计,使学生初步了解微机系统的硬件设备,学会 8086 系列编程指令的基本功能。

二、设计要求1、通过 8255A 并口来控制 LED 发光二极管的亮灭。

2、A 口控制红灯,B 口控制黄灯,C 口控制绿灯。

3、输出为 0 则亮,输出为 1 则灭。

4、用8253 定时来控制变换时间。

要求:设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初始态为 4 个路口的红灯全亮。

之后,1、3 路口的绿灯亮,2、4 路口的红灯亮,1、3 路口方向通车。

延迟 30 秒后,1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始闪烁(1HZ)。

闪烁 5 次后,1、3 路口的红灯亮,同时 2、4 路口的绿灯亮,2、4 路口方向开始通车。

延迟 30 秒时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁。

闪烁 5 次后,再切换到 1、3 路口方向。

之后,重复上述过程。

三、流程图:四、真值表:五、电路图:电路图中地址线连接在 A2,A3 上,用 74HC139 译码,故地址范围为00H~03H,04H~07H,08H~0BH,每个芯片的 A0、A1 均与8086 的A0、A1 相连,RD、WR 与8086 的RD、WR 相连,以控制芯片的读写。

8253 使用定时器 0,输出接 8259 的IR0,故中断向量为08H。

13 方向的绿灯同 PC0 相连,24 方向的绿灯同 PC1 相连,红灯、黄灯接 PA、PB,方式同上。

六、源程序:;-------------------------------------------------------------;模块作用:交通灯控制;编程语言:汇编;编程:孙逸痕,本程序无版权,欢迎使用;日期:2011-12-11;-------------------------------------------------------------;---------STACK------------------------------------------STACK SEGMENT STACK 'STACK'DW 32 DUP(0)STACK ENDS;---------DATA--------------------------------------------DATA SEGMENTCOUNT_L EQU 0H ;计数器初值COUNT_H EQU 0HADD_8253_T0 EQU 00H ;芯片地址ADD_8255 EQU 04HADD_8259 EQU 08HRED_ADD EQU ADD_8255 ;PAYELLOW_ADD EQU ADD_8255+1 ;PBGREEN_ADD EQU ADD_8255+2 ;PCLIGHT_ON EQU 01H ;Pi1/Pi0=01 (i=A,B)LIGHT_OFF EQU 03H ;Pi1/Pi0=11SYS_COUNTER DB 18 ;系统频率GREEN_COUNTER DB 30 ;绿灯30 秒计数YELLOW_COUNTER DB 5 ;黄灯5 秒计数DATA ENDS;----------CODE------------------------------------------CODE SEGMENTMAIN PROC FARASSUME SS:STACK,CS:CODE,DS:DATA;----系统初始化--------PUSH DSMOV AX,0PUSH AXMOV ES,AXMOV AX,DATAMOV DS,AX;----中断向量----------MOV AX,OFFSET TIMER ;装入中断向量表MOV ES:20H,AXMOV AX,SEG TIMERMOV ES:22H,AX;----8253 定时器 0 初始化---MOV AL,36HOUT ADD_8253_T0,AL ;16 位,方式 3MOV AL,COUNT_L ;装入初值OUT MOV OUT ADD_8253_T0,AL AL,COUNT_H ADD_8253_T0,AL;----8255 初始化--------MOV AL,80H ;方式0OUT ADD_8255+3,AL;----8259 初始化--------MOV AL,13H ;单片,边沿触发OUT ADD_8259,ALMOV AL,8H ;中断类型码为 08H~0FHOUT ADD_8259+1,ALMOV AL,0DHOUT ADD_8259+1,AL;-----系统运行---------SYS_ON:IN AL,ADD_8259+1 ;开中断IRQ0AND AL,0FEHOUT ADD_8259+1,ALMOV AL,LIGHT_ON ;开13 方向绿灯,24 方向红灯,关黄灯OUT GREEN_ADD,ALNEG ALOUT RED_ADD,ALMOV AL,LIGHT_OFFOUT YELLOW_ADD,ALGRE_30:JMP $ ;等待计时中断DEC GREEN_COUNTER ;等待绿灯亮30 秒JNZ GRE_30MOV BX,OFFSET GREEN_COUNTER ;复位计数器MOV [BX],30MOV AL,LIGHT_OFF ;关绿灯,开黄灯OUT GREEN_ADD,ALMOV AL,LIGHT_ONOUT YELLOW_ADD,ALYEL_5: JMP $ ;等待计时中断MOV AL,LIGHT_ONMOV AH,03H ;取辅助值(用于黄灯状态取反)放在AH 中SUB AH,ALXOR AL,AH ;黄灯状态取反OUT YELLOW_ADD,ALDEC YELLOW_COUNTER ;计时值,每一秒改变一次状态,共5 秒JNZ YEL_5MOV BX,OFFSET YELLOW_COUNTER ;复位计数器MOV [BX],5MOV AL,LIGHT_ON ;点亮红灯OUT RED_ADD ,ALMOV BX,OFFSET LIGHT_ON ;将13 边换位 24 边MOV [BX],AHMOV AL,LIGHT_OFF ;熄灭黄灯OUT YELLOW_ADD,ALMOV AL,LIGHT_ON ;24 边绿灯亮UT GREEN_ADD,ALJMP SYS_ON ;循环RET;----中断函数------------TIMER: DEC SYS_COUNTER ; 是否计数18 次JNZ OVERMOV BX,OFFSET SYS_COUNTER ;复位计数器MOV [BX],18POP AXINC AXINC AXPUSH AXOVER: IRETMAIN ENDPCODE ENDSEND MAIN。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课程设计:8255模拟交通灯
1、目的:学习8255使用方法,学习模拟交通灯控制的方法,学习双色灯的使用。

2、要求:控制4个双色LED灯(可发红,绿,黄光),模拟十字路口交通灯管理。

3、电路及连线
PC0-PC3连DG1-DG4,PC4-PC7连DR1-DR4。

8255片选CS8255连138译码处210H。

4、说明
(1)因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。

再转状态3,东西绿灯通车,南北红灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

(2)双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

(3)74LS240为8输入输出的反向驱动器。

5、完成的任务
(1)利用计算机和微机原理试验箱,将实验6的程序Tlamp_88.asm在试验箱运行和调试。

全速运行,观察整体效果。

单步运行,观察程序每条语句额执行效果,理解语句含义。

(2)修改实验连线为,PC7-PC4连DG1-DG4,PC3-PC0连DR1-DR4。

8255片选CS8255连138译码处210H孔。

将Tlamp_88.asm另存为jiaotong.asm。

修改jiaotong.asm,实现交通灯原有功能。

(3)修改实验连线为,PB7-PB4连DG1-DG4,PB3-PB0连DR1-DR4。

8255片选CS8255连138译码处210H孔。

将jiaotong.asm另存为jiaotong2.asm。

修改jiaotong2.asm,实现交通灯原有功能。

(4)将jiaotong2.asm另存为jiaotong3.asm。

修改jiaotong3.asm,实现交通灯各个灯亮和灭的时间是原有时间的3倍。

6、实验程序框图
7、源程序: Tlamp_88.asm
;FOR EAT 598
PC55 EQU 212H 211
P55CTL EQU 213H
D1 EQU 10H 30
D2 EQU 50H 3
DA TA SEGMENT
PB DB ?
DA TA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START:
PUSH CS
POP DS
MOV DX,P55CTL ;设置为全输出
MOV AL,80H
OUT DX,AL
MOV DX,204H
MOV AL,00H
OUT DX,AL ;清LED
MOV DX,PC55 ;全红
MOV AL,0FH
OUT DX,AL
MOV BX,7fH
CALL DL Y
BG: MOV AL,96H ;南北绿,东西红OUT DX,AL
MOV BX,D2
CALL DL Y
MOV CX,03H
XH1: MOV AL,9FH ; 南北绿灭
OUT DX,AL
MOV BX,D1
CALL DL Y
MOV AL,96H ; 南北绿亮
OUT DX,AL
MOV BX,D1
CALL DL Y
LOOP XH1
MOV AL,06H ;南北黄
OUT DX,AL
MOV BX,D1
CALL DL Y
MOV BX,D1
CALL DL Y
MOV AL,69H ;南北红,东西绿
OUT DX,AL
MOV BX,D2
CALL DL Y
MOV CX,03
XH2: MOV AL,6FH ; 东西绿灭
OUT DX,AL
MOV BX,D1
CALL DL Y
MOV AL,69H ; 东西绿亮
OUT DX,AL
MOV BX,D1
CALL DL Y
LOOP XH2
MOV AL,09H ; 东西黄
OUT DX,AL
MOV BX,D1
CALL DL Y
MOV BX,D1
CALL DL Y
JMP BG
DL Y PROC NEAR
PUSH CX
DDD: MOV CX,0FFFH
CCC: LOOP CCC
DEC BX
CMP BX,0
JNE DDD
POP CX
RET
DL Y ENDP
CODE ENDS
END START。

相关文档
最新文档