微机原理课程设计-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.通过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路口方向。

之后,重复上述过程。

二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。

30秒延时及闪烁由8253控制,由闪烁的实现:方案:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。

黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。

由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。

1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA口,8255将A口数据输入到8086,8086检测7到高电平既完成30s定时。

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

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

微机原理课程设计 8255控制交通灯微机原理课程设计-8255控制交通灯微机原理课程设计: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管芯PCB在一起,公用负端。

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

(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。

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

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

交通信号灯的控制课程设计报告书姓名:学号:班级:课程名称:微机原理与应用课程设计指导教师:一.设计题目:交通信号灯的控制二.课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。

三.设计要求: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路口方向。

之后,重复上述过程。

四.主要设计思路及工作原理:1.设计思路流程图:开始程序初使化调用显示主程序东西绿灯亮,南北红灯亮,进入倒计时,打开数码管显示东西和南北黄灯亮,进入倒计时,打开数码管显示东西红灯亮,南北绿灯亮,进入倒计时,打开数码管显示结束2.工作原理说明:此方案是通过并行接口芯片8255A和8088计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。

硬件连接参考方案:红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。

8088工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,A8~A15通过地址锁存器,接到3—8译码器,译码后分别连到8255和8253的CS片选端。

8255交通灯课程设计

8255交通灯课程设计

8255交通灯课程设计一、教学目标本课程旨在让学生了解和掌握交通灯系统的基本原理和设计方法。

知识目标要求学生掌握交通灯系统的组成部分、工作原理和设计流程。

技能目标要求学生能够运用所学知识,独立设计并实现一个简单的交通灯系统。

情感态度价值观目标则是培养学生的创新意识,提高他们对交通安全的重视。

二、教学内容本课程的教学内容主要包括交通灯系统的组成、工作原理、设计方法和实施步骤。

具体包括以下几个部分:1.交通灯系统的组成:介绍交通灯系统的各个部分,如信号灯、控制器、传感器等。

2.工作原理:讲解交通灯系统各部分的工作原理及其相互作用。

3.设计方法:教授如何根据实际需求设计交通灯系统,包括硬件选型、软件编程等。

4.实施步骤:详细讲解如何将设计方案转化为实际运行的交通灯系统。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,如讲授法、讨论法、案例分析法和实验法等。

1.讲授法:用于讲解交通灯系统的组成、工作原理和设计方法等基本知识。

2.讨论法:学生针对实际案例进行分析讨论,提高他们的解决问题的能力。

3.案例分析法:通过分析典型交通灯系统案例,使学生更好地理解交通灯系统的设计和实施。

4.实验法:让学生动手搭建和调试交通灯系统,培养他们的实际操作能力。

四、教学资源为了支持教学内容的传授和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的交通灯系统设计教材,为学生提供系统性的学习资料。

2.参考书:推荐学生阅读相关的交通灯系统设计书籍,丰富他们的知识储备。

3.多媒体资料:制作精美的PPT、教学视频等,提高学生的学习兴趣。

4.实验设备:准备齐全的实验设备和器材,确保学生能够顺利进行实验操作。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。

平时表现主要评估学生在课堂上的参与程度和表现,作业则是对学生学习成果的一种检验,考试则是全面考察学生对课程内容的掌握情况。

评估方式应客观、公正,能够全面反映学生的学习成果。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

微机原理课程设计交通灯

微机原理课程设计交通灯

一、课程设计题目交通灯控制二、课程设计目的●综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力与实现系统、绘制系统电路图的能力,为实际应用奠定一定的根底。

●掌握8255A方式0的使用与编程方法●PC机与配套的接口电路实验装置●IC芯片:8255A应用和8253三、课程设计内容●采用8255A设计交通灯控制的接口方案●采用8253设计延时电路●插接电路●编写控制程序四、课程设计过程1、设计原理●82558255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片〔40引脚〕。

其内部与引脚图如下图:8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。

8253intel8253是NMOS工艺制成的可编程计数器/定时器,其内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全一样,如下图:每个计数器的输入和输出都决定于设置在控制存放器中的控制字,互相之间工作完全独立,采用减1计数方式。

控制字如下图:在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。

当计数脉冲是周期的时钟信号时,计数就成为定时。

各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。

在这里我们主要采用方式0:计数完毕产生中断(由低电平变为高电平)。

其波形图如下图:a. 写CW后:OUT=0,直到计数到0b. 写N后:下1个CLK脉冲下降沿开始计数c. 计数过程中,可重写N,重写N后,同b.d. GATE的作用:GATE=1计数、=0暂停计数e. 计数到0:OUT=1,直到再写CW或N2、方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进展交通管理,所以本方案要点是至少对六个交通灯进展控制。

微机原理交通灯

微机原理交通灯

摘要在实际生活中,交通信号灯控制着交通的秩序安全。

本微机原理课程设计就是模拟实际十字路口交通灯的运行规则,用汇编语言来设计交通信号灯。

本次设计主要是实现对十字路口交通信号灯的控制而进行的编程,用8255A 的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。

当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯亮,通过延时程序进行一段延时后,东西方向的绿灯灭后东西方向的黄灯闪3次,随后东西方向的红灯和南北方向的绿灯亮并进行延时,延时后,南北方向的黄灯闪3次,之后同理往复循环。

用8255A的C口控制紧急情况时东西、南北方向的红、黄、绿灯的亮灭,通过读C口输入的数据并进行测试查询,从而对紧急情况进行及时处理。

十字路口交通信号灯设计充分利用了可编程的并行接口芯片8255A各引脚的功能,选定工作方式0,通过改变控制字来实现交通信号灯的状态转换。

另外,通过调用延时子程序来实现交通信号灯某一状态的持续,调用循环子程序来实现对交通信号灯状态循环的控制,通过控制开关来实现紧急情况下各路口红灯全亮的功能。

综合各部分功能来实现较为完善的程序,运行程序来模拟十字路口交通信号灯。

关键词:可编程的并行接口8255A,延时,循环,测试,1 设计任务描述1.1 设计目的(1) 查阅可编程并行芯片8255或其他相关资料;(2)用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。

1.2 设计要求(1) 利用微机原理试用箱,采用两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号控制;(2) 按实际交通灯控制规程控制。

1.3 增加功能(1) 延时程序。

(2) 中断程序。

(3) 当路口发生事故时,强行A,B路口红灯全亮。

2 设计思路本次微机原理设计的题目是交通信号灯,它是通过对8255芯片和LED发光二极管的连接设置来模拟交通信号灯的控制,使红黄绿三色灯按照正常交通规则亮灭;并应用中断控制器8259对交通灯在发生事故情况下进行强制控制。

8255a交通灯控制

8255a交通灯控制

一、课程设计目的:综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高软硬件设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。

二、课程设计内容及要求:8255A 应用——交通灯控制 1)、设计目的● 掌握8255A 方式0的使用与编程方法● PC 机及配套的接口电路实验装置 ● IC 芯片:8255A 应用 2)、内容与原理 交通灯原理方框图8086介绍概念8086引脚图在学习8086 CPU 的引脚信号前,必须弄清CPU 最小模式和最大模式的概念。

所谓最小模式,就是在系统中只有一个8086微处理器,所有的总线控制信号都直接由8086 CPU8255 A8086LED 灯显示产生,因此,系统中的总线控制电路被减到最少。

最大模式是相对最小模式而言的。

在最大模式系统中,总是包含两个或多个微处理器,其中一个主处理器就是8086,其他的处理器称为协处理器,它们是协助主处理器工作的。

如数学运算协处理器8087,输入/输出协处理器8089。

8086 CPU到底工作在最大模式还是最小模式,完全由硬件决定。

当CPU处于不同工作模式时,其部分引脚的功能是不同的。

1.两种工作方式功能相同的引脚(1)AD15 ~AD0(address data bus):地址/数据总线,双向,三态。

这是一组采用分时的方法传送地址或数据的复用引脚。

根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。

(2)A19/S6~A16/S3(address/status):地址/状态信号,输出,三态。

这是采用分时的方法传送地址或状态的复用引脚。

其中A19~A16为20位地址总线的高4位地址,S6~S3是状态信号。

S6表示CPU与总线连接的情况,S5指示当前中断允许标志IF的状态。

微机原理8255A模拟交通信号灯

微机原理8255A模拟交通信号灯

微机原理8255A模拟交通信号灯实验三 8255A模拟交通灯一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255做输出口,控制12个发光二极管亮灭,模拟交通灯管理三、实验要求1.通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,模拟交通灯的管理。

2.交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2和4为东西方向。

初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3方向通车。

延时一段时间后,1、3路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次后1、3路口红灯亮,同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到1、3路口方向,之后,重复上述过程。

3.程序中设定8255A的工作模式及三个端口均工作在方式0,并处于输出状态。

8255A端口地址为0FF28H-0FF2BH。

4.各发光二极管共阳极,使其点亮应使8255A相应端口输出为0。

四、实验步骤1.根据实验要求连接好实验线路2.编写实验程序,编写的程序如下:;CODE SEGMENTASSUME CS:CODESTART:MOV DX,0FF2BHMOV AL,80HOUT DX,ALMOV DX,0FF2AHMOV AL,11110000BOUT DX,AL %初始化,红灯全亮,绿灯全亮MOV DX,0FF29HMOV AL,0FFHOUT DX,AL %初始化,黄灯全不亮AGAIN: MOV DX,0FF2AHMOV AL,10100101BOUT DX,AL %1、3路口绿灯亮,2、4路口红灯亮CALL DELAYX1:MOV DX,0FF29HMOV AL,01010000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BMOV CX,0FFFFHDEC CXJNZ X1MOV DX,0FF2AHMOV AL,01011010BOUT DX,AL %1、3路口红灯亮,2、4路口绿灯亮CALL DELAYX2:MOV DX,0FF29HMOV AL,10100000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BOUT DX,ALMOV CX,0FFFFHDEC CXJNZ X2JMP AGAINDELAY PROCMOV BX,0FFFFHX4: MOV CX,OFFFFHX3:DEC CXJNZ X3DEC BXJNZ X4DELAY ENDPHLTCODE ENDSEND START3.编译装载后运行程序,观察结果五、实验总结1、学会延迟程序的调用方式以及书写方式。

8255微机原理交通灯

8255微机原理交通灯

微机原理及汇编语言课程设计说明书学生姓名:学号:06060341X38 学院:专业: 计算机科学与技术题目: 交通灯成绩指导教师李顺增,井超2009 年 7月 10 日1. 引言十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

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

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

在交通灯的通行与禁止时间控制显示中,通常东西、南北两方向各30秒。

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

2.需求分析使用了8255可编程并行接口实现了,对南北、东西方向交通的分别计时,设计采用定时控制的方式进行,对两个方向车辆的通行时间分别计时。

城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时。

3.概要设计1.东西方向的绿灯和南北方向的红灯同时点亮29秒钟;2.29秒钟后,东西方向的左转灯点亮10秒钟,。

此时南北方向仍维持红灯点亮。

3.10秒钟后,东西方向黄灯闪烁8次,此时南北方向仍维持红灯点亮。

4.东西方向的黄灯闪烁8次后,转为红灯,此时南北方向转为绿灯29秒钟。

5.29秒钟后,南北方向转为左转灯点亮10秒钟,此时东西方向仍维持红灯点亮。

6.10秒钟后,南北方向黄灯闪烁8次,此时东西方向仍维持红灯点亮。

7.南北方向的黄灯闪烁8次后,转为红灯,此时东西方向绿灯点亮29秒钟。

如此循环下去。

4. 详细设计STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 6FH,7FH,07H,7CH,6DH,66H,4FH,5BH,06H,3FHTABLE DB 5BH,06H,3FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,80HOUT 63H,ALZH: CALL CPMOV DX,1MOV AL,01111110B OUT 63H,ALMOV CX,8 NEXT: CMP DX,1JE IHCMP DX,2JE HSCMP DX,3JE HZCMP DX,4JE HIJMP SHIH: MOV DX,2MOV AL,10111110BOUT 60H,ALJMP B1HS: MOV CX,8HS1: MOV AL,11011110BOUT 60H,ALCALL T2SMOV AL,11111110BOUT 60H,ALCALL T2SLOOP HS1MOV DX,3JMP HZHZ: MOV DX,4MOV AL,11100111BOUT 60H,ALCALL NUM4MOV CX,30JMP B1HI: MOV DX,4MOV AL,11100111BOUT 60H,ALCALL NUM4MOV CX,30JMP B1SH: MOV DX,5MOV AL,11101011BOUT 60H,ALJMP B1SH: MOV CX,8SH1: MOV AL,11101101B OUT 60H,ALCALL T2SLOOP SH1MOV CX,8MOV DX,6JMP ZHP1: JMP K1P2: JMP K2P3: JMP K3P4: JMP K4B1: CALL NUM5LOOP B1CALL CPMOV CX,30MOV AX,0009HCMP AX,BXJE B2CALL NUM2JMP B1B2: MOV BX,OFFSET TABLE MOV AL,3FHMOV AH,00HCMP AX,[SI]JE NEXTCALL NUM3JMP B1CP:IN AL,62HAND AL,0F0HCMP AL,10HJE P1CMP AL,20HJE P2CMP AL,40HJE P3CMP AL,80HJE P4RETK1:MOV CX,300K11: MOV AL,11101110B OUT 60H,ALMOV AL,OFHOUT 62H,ALLOOP K11MOV CX,300CALL ZHK2:MOV CX,2K22: MOV AL,0FHOUT 62H,ALMOV AL,11011101BOUT 60H,ALCALL T2SMOV 60H,ALCALL T2SMOV AL,11111111BOUT 60H,ALCALL T2SLOOP K22MOV CX,2CALL ZHK3:MOV CX,300K33: MOV AL,11111111BOUT 60H,ALMOV AL,0FHOUT 62H,ALLOOP K33MOV CX,300CALL ZHK4:MOV CX,300K44: MOV AL,00000000BOUT 60H,ALMOV AL,00HOUT 62H,ALMOV AL,7FHOUT 61H,ALLOOP K44MOV CX,300CALL ZHT1S PROC NEARPUSH CXMOV CX,4000T1S1: LOOP T1S1POP CXRETT1S ENDPT2S PROC NEARPUSH CXMOV CX,50T2S1: CALL T1SLOOP T2S1POP CXRETT2S ENDPNUM PROC NEAR MOV AL,ODH OUT 62H,AL MOV AL,[SI] OUT 61H,AL CALL T1SRETNUM ENDPNUM1 PROC NEAR MOV AL,0BH OUT 62H,AL MOV AL,[BX] OUT 61H,AL CALL T1SRETNUM1 ENDPNUM2 PROC NEAR INC BXRETNUM2 ENDPNUM3 PROC NEAR INC SIRETNUM3 ENDP NUM4 PROC NEARMOV SI,OFFSET TABLEAMOV BX,OFFSET TABLERETNUM4 ENDPNUM5 PROC NEARCALL NUMCALL NUM1RETNUM5 ENDPCODE ENDSEND START5. 软件测试系统上电,写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,默认140秒)灯的显示状态是否正常,同时观察倒计的计数是否正常。

  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。

相关文档
最新文档