微机原理十字路口红绿灯闪烁实验

合集下载

微机原理课程设计报告交通灯

微机原理课程设计报告交通灯
IN AL,DX
ANDAL,0FH
MOV AH,AL
MOV DX,PTCON8255
MOV AL,88H
OUTDX,AL
MOV DX,PORTC
IN AL,DX
ANDAL,0FH
XORAL,AH
ADD CL,AL
CMP CL,9
JNZ TEST2;闪烁5次
CODE ENDS
END STA
连接实验箱电路,上机调试并对实验现象进行分析,完成实验报告。
MOV DX,PORTA
MOVAL,0
OUTDX,AL
MOV DX,PORTB
MOVAL,0FH
OUTDX,AL
MOV DX,PORTC
MOVAL,0FH
OUT DX,AL;灯初始化完成
STA:MOV DX,PORTA
MOVAL,0A0H
OUTDX,AL
MOV DX,PORTB
MOVAL,0F0H
OUTDX,AL
电路图如下所示:
程序流程图
初始化8255,8253
红灯全亮
绿灯黄灯全灭
南北绿灯亮
东西红灯亮
等待8253延时30s时间是否到?
Y
N
南北绿灯灭
东西红灯不变
南北黄灯闪烁
等待黄灯闪烁5次?
Y
N
南北红灯亮
东西绿灯亮
8253延时30s
东西绿灯灭
黄灯闪烁5次
程序清单
DATA SEGMENT;设置数据段,以及端口地址分配
MOV CX,0
TEST1:MOV DX,PTCON8255 ;检测PB7
MOV AL,82HOUTX,ALMOV DX,PORTB
IN AL,DX

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

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

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

设有一个十字路口,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位的数据输入缓冲器。

3十字路口红绿灯闪烁实验(微机原理)

3十字路口红绿灯闪烁实验(微机原理)

本科实验报告课程名称:微机原理及接口技术实验项目:十字路口红绿灯闪烁实验实验地点:微机原理实验室专业班级:电信1001 学号:2010001207 学生姓名:吴清涛指导教师:任光龙2013年6 月5 日一、实验目的通过对红,绿,黄灯的控制,熟练掌握掌握8255A接口芯片的变成方法。

二、实验内容对8255A接口芯片进行编辑,是红,绿,黄灯发光二极管按照十字路口交通灯的形式点亮或熄灭。

三、线路连接发光二极管共8个,其中两组红、黄、绿灯用6个,L1,L2,L3为一组,L4,L5,L6为一组,实验台连接如图。

低电平“1”时,点亮。

四、程序流程图五、参考程序程序列表DA TA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU IOPORT+282HIO8255T EQU IOPORT+283HPB DB ?MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DA TA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,ES:DA TA,SS:STACKSTART: MOV AX,DA TAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESSINT 21HMOV DX,IO8255TMOV AL,81HOUT DX,ALMOV DX,IO8255CIN AL,DXMOV PB,ALMOV DX,IO8255TMOV AL,80HOUT DX,ALMOV DX,IO8255CMOV AL,PBOR AL,0CHOUT DX,ALMOV AL,30HOUT DX,ALCALL DELAY10LLL: MOV DX,IO8255CMOV AL,12HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,10HOUT DX,ALMOV CX,0040HTTT: MOV AL,0CH OUT DX,ALPUSH CXMOV CX,80HLOP1: CALL DELAY1 LOOP LOP1MOV AL,00HOUT DX,ALMOV CX,80HLOP2: CALL DELAY1 LOOP LOP2POP CXLOOP TTTMOV AL,30HOUT DX,ALCALL DELAY10MOV AL,21HCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,20HOUT DX,ALMOV CX,0040HGGG: MOV AL,0CH OUT DX,ALPUSH CXMOV CX,80HLOP3: CALL DELAY1 LOOP LOP3MOV AL,00HOUT DX,ALMOV CX,80HLOP4: CALL DELAY1 LOOP LOP4POP CXLOOP GGGMOV AL,30HOUT DX,ALCALL DELAY10MOV AH,06HMOV DL,0FFHINT 21HJNZ PPPJMP LLLPPP: MOV AX,4C00HINT 21HDELAY1 PROC NEARPUSH CXMOV CX,0FFFFHCCC: LOOP CCCPOP CXRETDELAY1 ENDPDELAY10 PROC NEARPUSH AXPUSH CXMOV CX,0F00HUUU: CALL DELAY1LOOP UUUPOP CXPOP AXRETDELAY10 ENDPCODE ENDSEND START六、实验结果七、思考题程序中红,绿,黄灯点亮和熄灭的延时时间是如何设定的?答:通过用延时子程序CALL DELAY 10的次数来设定。

微机原理红绿灯课程设计报告

微机原理红绿灯课程设计报告

微机原理红绿灯课程设计报告实验报告 2009-09-02 18:16:02 阅读1337 评论2 字号,大中小摘要,介绍了基于8255A的交通灯系统设计方案,重点论述了软件系统的编写方法。

实际结果表明该系统方案切实可行。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢,靠的就是交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用8255A芯片实现了A、B口设置红、绿灯点亮时间的功能,红绿灯循环点亮,红绿灯变换之间,黄灯闪烁5秒关键字,交通灯、软件系统设计内容本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯,如下图所示。

交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的A口和B口对灯的亮与灭进行控制。

由于实验室的仪器上只有16个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。

16个发光二级管,且从高到低依次为,D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。

在设计的过程中做了如下的规定,R表示红灯,G表示绿灯,Y表示黄灯,E表示方向东,W表示方向西,S表示方向南,N表示方向北,D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0 表示NY。

交通灯控制示意图具体时间的分配和控制如下,东西方向绿灯亮,南北方向红灯亮,时间20秒东西方向黄灯闪烁,南北方向红灯亮,时间5秒东西方向红灯亮,南北方向绿灯亮,时间20秒东西方向红灯亮,南北方向黄灯闪烁,时间5秒设计器材设备微机、TD-PIT++实验箱实验电路图设计流程图总体设计过程1. 根据选择题目的要求,结合所参考的资料,选择8255单元芯片以及LED显示单元电路。

微机交通灯实验报告

微机交通灯实验报告

微机交通灯实验报告微机交通灯实验报告摘要:本实验旨在通过设计和实现一个微机交通灯系统,探索微机控制在交通管理中的应用。

通过实验,我们成功地搭建了一个基于微机的交通灯控制系统,并对其进行了功能测试和性能评估。

实验结果表明,微机交通灯系统能够有效地提高交通流量的控制和管理效果,为城市交通运输提供了更高效、更安全的解决方案。

一、引言交通管理一直是城市发展中的重要问题之一。

为了提高交通效率和确保交通安全,交通灯作为一种重要的交通管理设施,被广泛应用于城市道路。

然而,传统的交通灯控制系统存在一些问题,如无法根据实际交通情况进行动态调整,容易导致交通堵塞和拥堵。

因此,设计一个基于微机的交通灯控制系统,能够更好地适应不同交通状况,提高交通流量的控制效果,具有重要的研究和应用价值。

二、实验设计本实验采用了基于微机的交通灯控制系统。

该系统由红灯、黄灯和绿灯三个信号灯组成,通过微机控制器实现对交通灯的控制。

系统根据预设的时间间隔,按照红-黄-绿的顺序进行信号灯切换。

同时,系统还可以根据交通流量和优先级设置进行动态调整,以提高交通效率。

三、实验过程1. 硬件搭建我们首先搭建了一个简单的电路,包括红灯、黄灯和绿灯的LED灯,以及与微机控制器相连的开关和传感器。

通过这些硬件设备,我们可以实现对交通灯的控制和监测。

2. 软件编程为了实现交通灯的控制,我们使用了C语言对微机控制器进行编程。

通过编写程序,我们可以根据预设的时间间隔和交通流量等参数,实现对交通灯的自动切换和调整。

同时,我们还可以通过传感器获取实时的交通流量数据,以便更好地进行交通管理。

3. 功能测试在完成硬件搭建和软件编程后,我们进行了功能测试。

通过模拟不同的交通情况,我们验证了交通灯系统的正常工作和切换效果。

实验结果表明,系统能够准确地按照预设的时间间隔进行信号灯切换,适应不同交通状况。

四、实验结果与讨论通过实验,我们得出了以下结论:1. 微机交通灯系统能够有效地提高交通流量的控制效果。

微机原理实验交通灯控制实验(DOC)

微机原理实验交通灯控制实验(DOC)

课程设计课程设计名称:交通灯控制实验专业班级:学生姓名:学号:指导教师:课程设计时间:2014.12.22---2015.1.2微机原理专业课程设计任务书学生姓名专业班级学号题目交通灯控制实验课题性质工程设计课题来源自拟课题指导教师同组姓名主要内容L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

任务要求1:掌握并理解芯片8255和8253计时器工作原理2:掌握并理解源程序和程序中的函数3:熟悉8255内部结构和与单片机的接口逻辑,掌握8255芯片的3种工作方式。

4:了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法参考文献《微型计算机原理及运用》谭浩强清华大学出版社《16/32位微机原理、汇编语言及接口技术》陈涛机械工业出版社《微机接口技术应用》审查意见指导教师签字:教研室主任签字:年月日一:设计的目的和内容1 目的:通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

2 内容:如图1.L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

图1二:设计思想:在选择循环的时间上.老师上课时说过.长延时可以采用双层嵌套.外层嵌套为0FFFFH.内层嵌套为4000H.我在编程时外层送进了0.相当于初值为65536.内层送进了4000H。

为了达到闪烁和延时的区别.我在编闪烁的程序时.给外层嵌套送入初值3000H.内层0100H(这是我通过实验的结果)。

人眼感觉闪烁的效果只是短延时的结果此方案是通过并行接口芯片8255A和8086计算机的硬件连接.以及通过8253延时的方法.来实现十字路口交通灯的模拟控制。

如上图所示.红灯(RLED).黄灯(YLEDD)和绿灯(GLED)分别接在8255的A.B.C口的低四位端口.PA0.PA1.PA2.PA3分别接南.东.北.西路口的红灯.B.C口类推。

实验二 十字路口交通灯实验

实验二 十字路口交通灯实验

期,如此循环进行。试编写PLC控制程序,并给出I/O分配
表和梯形图。
二、实验内容
二、实验内容
南北方向: 红灯亮25秒 黄灯亮2秒 绿灯亮25秒 绿灯闪烁3秒
东西方向:
绿灯亮20秒 红灯亮30秒 绿灯闪烁3 秒 黄灯亮2秒
二、实验内容
I/0分配:
输入点:
X0—启动按钮 X1—停止按钮
二Байду номын сангаас实验内容
输出点:
Y0—南北红灯
Y2—东西黄灯 Y4—南北绿灯
Y1—东西绿灯
Y3—东西红灯 Y5—南北黄灯
二、实验内容
ON OFF 启动: 25s 20s 3s
南北红灯Y0:
东西绿灯Y1: 东西黄灯Y2:
东西红灯Y3: 南北绿灯Y4:
2s 2s 30s 25s 3s
南北黄灯Y5: 时间轴:
T0 T1 T2 T3 T4 T5 T0
二、实验内容
实验要求: 将指令表转换为相应的梯形图并输入梯形 图,运行程序,观察实验现象并记录结果。
三、实验报告
1、写出I/O分配表、程序梯形图清单。 2、仔细观察实验现象,认真记录实验中发现的 问题、错误、故障及解决方法。
二、实验内容
连线指导: OUTPUT00 接交通灯插孔 TL1:绿灯 OUTPUT01 接交通灯插孔 TL2:黄灯 OUTPUT02 接交通灯插孔 TL3:红灯
二、实验内容
连线指导: OUTPUT03 接交通灯插孔 TL4:绿灯 OUTPUT04 接交通灯插孔 TL5:黄灯 OUTPUT05 接交通灯插孔 TL6:红灯
实验二
一、实验目的
交通灯控制实验
1. 进一步熟悉编程软件及编程方法,掌握可编 程控制器基本指令。 2. 熟悉时序控制程序的设计和调试方法。

微机原理交通灯控制实验及其详细

微机原理交通灯控制实验及其详细

开始设置8255C口输出南北路口的绿灯、东西路口的红灯亮长延时南北路口的黄灯闪烁,东西路口红灯亮南北路口的红灯、东西路口的绿灯亮长延时南北路口红灯亮、东西路口黄灯亮闪烁是否有键按下N交通灯信号控制实验一、实验目的1、掌握并行接口8253的基本原理2、掌握8253的编程方法二、实验内容如图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通变化规律亮灭。

三、编程提示1、8255控制寄存器地址:28BH—0C40BHA口地址:288H—04C408HC口地址:28AH—04C40AH2、十字路口交通灯的变化规律要求(1)南北路口的绿灯、东西路口的红灯同时亮三秒;(2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮三秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次;(5)转(1)重复。

3、程序设计流程四、程序设计及实验调试程序设计的思想及注意事项:1.首先是在选择程序时是选用软件延时还是硬件延时。

我采用的是C口方式0输入,所以选用了软件延时。

2.在选择循环的时间上,老师上课时说过,长延时可以采用双层嵌套,外层嵌套为0FFFFH,内层嵌套为4000H,我在编程时外层送进了0,相当于初值为65536,内层送进了4000H。

为了达到闪烁和延时的区别,我在编闪烁的程序时,给外层嵌套送入初值3000H,内层0100H (这是我通过实验的结果)。

人眼感觉闪烁的效果只是短延时的结果。

实验程序:CODE SEGMENTASSUME CS:CODESTART: MOV DX,0C40BHMOV AL,10010000B ;C口方式0输入OUT DX,ALFIRST: MOV DX,0C40AHMOV AL,00100100BOUT DX,AL ;南北绿,东西红写入C口MOV CX,0 ;送入初值65536MOV AX,4000H ;软件长延时,由经验值确定DELAY1: DEC AXJNZ DELAY1LOOP DELAY1MOV BL,4 ;控制黄灯亮的次数SECOND:MOV DX,0C40AHMOV AL,01000100BOUT DX,AL ;南北黄,东西红MOV CX,3000HMOV AX,0100HLI1:DEC AXJNZ LI1LOOP LI1MOV DX,0C40AH ;软件短延时MOV AL,00000100B ;南北黄灭OUT DX,ALMOV CX,3000HMOV AX,0100HWEN1:DEC AXJNZ WEN1 ;软件短延时LOOP WEN1DEC BLJNZ SECOND ;黄灯闪烁4次THIRD: MOV DX,0C40AH ;写入C口MOV AL,10000001BOUT DX,AL ;南北红,东西绿MOV CX,0MOV AX,4000HDELAY2: DEC AX ;软件长延时JNZ DELAY2LOOP DELAY2MOV BL,4 ;控制黄灯亮的次数FORTH: MOV DX,0C40AH ;写入C口MOV AL,10000010BOUT DX,AL ;南北红,东西黄MOV CX,3000HMOV AX,0100HLI2:DEC AXJNZ LI2 ;软件短延时LOOP LI2MOV DX,0C40AHMOV AL,10000000BOUT DX,AL ;东西黄灭MOV CX,3000HMOV AX,0100HWEN2:DEC AXJNZ WEN2LOOP WEN2DEC BL步编程下来的,但是在调试结果时,仍发现了红灯错亮的问题,最后发现时写程序时的粗心所致。

微机原理红绿灯设计

微机原理红绿灯设计

微机原理课程设计报告书课题名称 红绿灯设计姓 名学 号 院、系、部 电气系 专 业 电子信息工程 指导教师孙秀婷、马丽2011年 1 月12日红绿灯设计一、设计目的※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2008级微机原理 课程设计查阅可编程并行芯片8255或其他相关资料,用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。

通过对红、绿、黄LED(发光二极管)的控制熟练掌握8255A可编程并行接口的编程方法。

二、设计要求编写程序控制8255A可编程并行接口芯片,使红、绿、黄发光二极管按照十字路口交通信号灯的规律交替发光。

当按下任意键则停止运行,返回DOS。

1、红绿灯亮灭规律:a:初态为东西南北4个红灯全亮,禁止通行;b:经过一定时间南北路口绿灯亮东西路口红灯亮;c:经过一定时间,南北路口绿灯灭;d:南北路口黄灯闪烁;e:经过一定时间,4个路口红灯全亮。

f:经过一定时间,东西路口绿灯亮,南北路口红灯亮;g:东西路口绿灯灭;h:东西路口黄灯闪烁.i:转向步骤a循环执行。

三、电路及连线设计四、使用说明本次微机原理设计的题目为交通灯,它是通过对8255芯片和LED发光二极管的连接设计来模拟交通信号灯的控制,使红黄绿三色灯按照正常交通规则亮灭;十字路口交通信号灯的工作原理是在正常情况下以8086/8088的CPU与8255芯片相连接来实现的。

8255芯片包括四个口,即A口、B口、C口和控制口。

通过对其控制端口写入控制字,来设定8255的工作方式,在本设计中,使8255工作于方式0,将B口和C口都设计为输出,A口设计成输入。

其中B口控制东西方向的交通灯,C口控制南北方向的交通灯。

当程序正常运行时,依次为东西南北方向都是红灯,延时后,南北方向的绿灯和东西方向红灯亮,延时后南北方向的黄灯闪3次,随后南北方向的红灯和东西方向的绿灯亮,延时后,东西方向的黄灯闪3次,之后同理进行循环。

五、流程图设计六、程序设计如下:SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,SS:SSTACKSTART:MOV AL,90HMOV DX,9003HOUT DX,AL ;将8255控制字设置为10010000; B、C口输出 A口输入 工作方式0 RED: MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮MOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAY ;调用延时程序DELAY NORMAL:STIMOV AL,88HMOV DX,9002HOUT DX,AL ;南北方向绿灯亮MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮CALL DELAY ;调用演示程序DELAYMOV AL,00HMOV DX,9002HOUT DX,AL ;南北方向绿灯灭CALL DELAY1 ;调用演示程序DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5 RECALL1:MOV AL,44HMOV DX,9002HOUT DX,AL ;南北方向黄灯亮CALL DELAY2XOR AL,ALOUT DX,AL ;南北方向黄灯灭CALL DELAY2 ;调用演示程序DELAY2LOOP RECALL1MOV AL,88HMOV DX,9001HOUT DX,AL ;东西方向绿灯亮MOV AL,22HMOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAYCALL DELAY ;两次调用演示程序DELAY,东西方向设为主干道 MOV AL,00HMOV DX,9001HOUT DX,AL ;东西方向绿灯灭CALL DELAY1 ;调用延时程序 DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5RECALL2:MOV AL,44HMOV DX,9001HOUT DX,AL ;东西方向黄灯亮CALL DELAY2 ;调用延时程序DELAY2 XOR AL,ALOUT DX,AL ;东西方向黄灯灭CALL DELAY2 ;调用延时程序DELAY2LOOP RECALL2JMP NORMAL ;无条件跳转到NORMAL,实现循环 DELAY: PUSH CX ;延时程序 DELAYMOV BX,008FHT1:MOV CX,1000HT2:NOPNOPLOOP T2DEC BXCMP BX,0000HJNZ T1POP CXRETDELAY1: PUSH CX ;延时程序 DELAY1MOV CX,0FFFFHT3:NOPNOPLOOP T3POP CXRETDELAY2: PUSH CX ;延时程序 DELAY2MOV CX,0F900HT4:PUSH AXPOP AXLOOP T4POP CXRETCODE ENDSEND START七、设计总结:短短一周的微机原理课程设计已经过去了。

微机实验 交通灯实验报告

微机实验 交通灯实验报告

微机实验交通灯实验报告微机实验交通灯实验报告引言交通灯作为城市交通管理的重要组成部分,对于保障交通安全和顺畅起着至关重要的作用。

本次实验旨在通过微机控制,模拟交通灯的工作原理,并实现交通灯的自动控制。

一、实验目的本次实验的主要目的是通过搭建一套微机控制系统,实现交通灯的自动控制,并通过实验验证交通灯在不同道路情况下的工作原理和效果。

二、实验原理1. 交通灯的工作原理交通灯通常由红、黄、绿三个信号灯组成。

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

交通灯通过不同颜色的灯光变化,指示车辆和行人何时可以通行,以保障交通的有序进行。

2. 微机控制系统微机控制系统是利用计算机和相应的软硬件实现对设备、机器等的控制和管理。

在交通灯实验中,我们可以通过编程控制计算机输出不同的信号,从而实现交通灯的自动控制。

三、实验器材和步骤1. 实验器材- 微机控制系统:包括计算机、编程软件和控制接口等。

- 交通灯模型:模拟真实的交通灯,包括红、黄、绿三个信号灯。

2. 实验步骤- 连接交通灯模型和微机控制系统。

- 编写程序,设置交通灯的工作时间和信号灯变化规律。

- 运行程序,观察交通灯的工作状态和变化过程。

四、实验结果和分析通过实验,我们成功地实现了交通灯的自动控制。

在程序中,我们设置了红灯亮10秒,黄灯亮3秒,绿灯亮15秒的时间间隔,模拟了真实交通灯的工作规律。

在实验过程中,我们观察到交通灯按照预设的时间间隔循环变化,红灯亮起时车辆停止,绿灯亮起时车辆可以通行。

这样的交通灯控制方式可以有效地维持交通的有序进行,减少交通事故的发生。

五、实验总结通过本次实验,我们深入了解了交通灯的工作原理和微机控制系统的应用。

微机控制系统作为一种高效、精确的控制手段,可以广泛应用于各个领域,提高设备的自动化程度和工作效率。

在今后的学习和工作中,我们将继续深入学习微机控制系统的原理和应用,掌握更多的编程技巧和控制方法,为实现更多实际问题的自动化解决方案做出贡献。

微机原理十字路口交通灯实验报告1

微机原理十字路口交通灯实验报告1

一、课程设计(论文)题目十字路口交通灯模拟二、本次课程设计(论文)应达到的目的通过本次课程设计,使学生不仅更加深刻领会微型计算机从硬件组成到软件编程的基本原理和知识,而且更要学会应用,务必做到理论和实践相结合,掌握硬件分析、软件设计的基本思想和方法,提高分析问题、解决问题和工程实践的能力。

三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)本课程设计题目的主要内容是模拟十字路口交通灯(红、黄、绿三色)的显示控制。

设计要求为:1.主干道计时60秒,次干道计时45秒,时间到则切换红绿灯;2.红绿灯不变期间,在七段数码管上显示每秒倒计时;3.计时到最后5秒时,两个方向的黄灯同时闪烁直至计时到0。

四、应收集的资料及主要参考文献:1.《微型计算机基本原理与接口技术》陈红卫,科学出版社 2003.22.《8086实验指导书》张维琪、张晓群,信控学院实验中心3.其他与本课程设计题目相关的资料五、审核批准意见教研室主任(签字)摘要本设计以TDN86/51实验箱为载体,结合中断控制器8259A、并行接口8255、中断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编程实现了十字路口交通灯模拟的实验。

8255A的两个端口在本次实验中均有用处,A口为方式0用作输出,与七段数码管LED连接,用于向七段数码管输入数据的。

B 口为方式0用作输出,与八个发光二极管连接,用于向发光二极管输入数据。

C口低四位在本实验中做输出与LED数码管相连,高四位没有用到,但在初始化中将C口均初始化为输出。

8253A芯片在本实验中用了计数器2工作在方式3下,计数初值赋为59500,工作箱的时钟频率为1.19MHz,即计时50ms,它的OUT2接到8259A的IRQ7上,让IRQ7每隔50ms发一次中断,这样就可以通过控制发中断的次数来得到想要的时间。

8259A芯片在本实验中被用到了5个中断,作为计时或在特殊情况下的特殊功能。

微机原理红绿灯实训报告

微机原理红绿灯实训报告

一、实训目的通过本次实训,使学生掌握微机原理的基本知识,了解微机原理在交通信号灯控制中的应用,提高学生动手实践能力,培养团队协作精神。

二、实训内容1. 红绿灯控制系统硬件设计(1)硬件组成红绿灯控制系统主要由微控制器、LED灯、传感器、按键、电源等组成。

(2)硬件连接将微控制器与LED灯、传感器、按键等通过相应的接口连接起来。

2. 红绿灯控制系统软件设计(1)软件组成红绿灯控制系统软件主要由主程序、中断服务程序、延时函数、按键扫描函数等组成。

(2)软件设计①主程序:负责初始化系统,设置定时器中断,进入主循环,检测按键输入,根据按键输入和传感器输入,控制LED灯的亮灭。

②中断服务程序:当定时器中断发生时,调用中断服务程序,更新LED灯的亮灭状态。

③延时函数:实现软件延时功能,用于控制LED灯的亮灭时间。

④按键扫描函数:扫描按键输入,实现红绿灯控制模式的切换。

3. 红绿灯控制系统测试与调试(1)测试①硬件测试:检查硬件连接是否正确,LED灯、传感器、按键等是否正常工作。

②软件测试:通过按键输入,观察LED灯的亮灭状态,确保软件设计符合预期。

(2)调试根据测试结果,对软件进行调试,确保红绿灯控制系统正常运行。

三、实训过程1. 硬件设计(1)选择合适的微控制器:根据实训要求,选择一款具有丰富外设接口的微控制器。

(2)设计电路原理图:根据微控制器和所需外设的连接关系,绘制电路原理图。

(3)制作PCB板:根据电路原理图,制作PCB板。

2. 软件设计(1)编写程序:使用C语言或汇编语言编写程序,实现红绿灯控制功能。

(2)编译程序:将编写好的程序编译成机器码。

(3)烧录程序:将编译好的程序烧录到微控制器中。

3. 测试与调试(1)硬件测试:检查硬件连接是否正确,LED灯、传感器、按键等是否正常工作。

(2)软件测试:通过按键输入,观察LED灯的亮灭状态,确保软件设计符合预期。

(3)调试:根据测试结果,对软件进行调试,确保红绿灯控制系统正常运行。

十字路口交通灯PLC控制

十字路口交通灯PLC控制

开始下一个循环 的定时
定时到,输出ON ,随即自复位且 开始下一个循环的定

返回
I/O分配表
根据控制要求,PLC的I/O地址分配如表7-2所示。
输入
输出
控制 南北 南北 南北 东西 东西 东西

绿


绿









00000 01000 01001 01002 01003 01004 01005
这是一个典型的时序控制系统,因此可以用时序设计 法的编程思路。
返回
试验设备
PLC实验台、电脑(安装CX-P软件
返回
实验内容
⒈控制要求 ⒉I/O分配 ⒊实际接线图 ⒋梯形图程序设计 ⒌时序图设计法
返回
控制要求
分析PLC的输入和输出信 号。为满足控制要求,应尽量 减少占用PLC的I/O点。由控制 要求可见,由控制开关的启、 停信号是输入信号,由PLC的 输出信号控制各指示灯的亮、 灭。在图7-23中,南北方向的 三色灯共6盏,同颜色的灯同 一时间亮、灭,所以可将同色 灯进行并联,用同一输出信号 控制;东西方向的山色灯也照 此办理。
同时,01003 为ON使东西绿灯、南北红灯亮。 ⑸当TIM002定时时间到时,01003为OFF,使东西绿灯灭;01004为ON
使东西黄灯闪烁,南北红灯也闪烁。 ⑹TIM003记录一个循环的时间。当TIM003定时时间到时,01004为
OFF使东西黄灯、南北红灯灭;同时TIM000~TIM003全部复位,并开 始下一个循环过程。由于TIM000为OFF,所以南北绿灯亮、东西红灯 也亮。并重复上述过程。
则程序不执行。 ⑵程序启动后,4个定时器同时开始定时,且01000为ON,使南北绿灯

8086微机原理实验之十字路口交通灯

8086微机原理实验之十字路口交通灯

计算机硬件实验室实验报告课程名称:微机原理及应用
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
代码:
#start=Traffic_Lights.exe#
name "traffic"
mov ax, all_red
out 4, ax
mov si, offset situation
next: mov ax, [si]
out 4, ax
mov cx, 4Ch
mov dx, 4B40h
mov ah, 86h
int 15h
add si, 2
cmp si, sit_end
jb next
mov si, offset situation
jmp next
situation dw 0000_0011_0000_1100b
s1 dw 0000_0011_0000_1100b
s2 dw 0000_0110_1001_1010b
s3 dw 0000_1000_0110_0001b
s4 dw 0000_0100_1101_0011b
sit_end = $
all_red equ 0000_0010_0100_1001b
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)如图所示:即可实现对交通灯计时延时和控制。

循环此步骤即可。

五.结论
在本次实验中,使用了IO接口实现了,对南北、东西方向交通的分别计时延迟、分别控制等功能,将实验跟理论相结合,加深了对知识的理解。

报告提交日期。

《微机原理与接口技术》交通灯控制实验

《微机原理与接口技术》交通灯控制实验

2.4实验详细步骤首先接线,8255C口的0、1、2、5、6、7号管脚接LED显示电路L0、L1、L2、L5、L6、L7,D0~D7接JD1,RD*、WR*、A0、A1、RESET、CS*接IOR、IOW、A0、A1、RST、Y1,各模块接电。

然后运行DVCC软件,替换I/O基址,汇编、链接、运行,查看结果。

2.5实验结果LED显示电路的L0、L1、L2、L5、L6、L7按照十字路口交通灯的变化规律显示。

2.6实验过程遇到的问题与解决方案当出现红绿灯交换闪烁时,老师说体现不了交叉路口的灯的感觉(灯的排布的问题),后来我们把两个控制线叠加连接,使相同的灯闪烁。

江西理工大学《微机原理与接口技术》课实验报告实验二交通灯控制实验专业班级实验人学号实验日期同组人2.1 实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

2.2实验内容1.如图16-1,L8、L7、L6作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

2.L0对应东西路口绿灯,L1对应东西路口黄灯,L2对应东西路口红灯;L6对应南北路口绿灯,L7对应南北路口黄灯,L8 对应南北路口红灯。

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710R D5W R36A09A18R ESET35C S6U18255D0D1D2D3D4D5D6D7/R D/W RA0A1R STPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7R14.7KVCCD0D1D2D3D4D5D6D7JD1IORIOWA0A1RST(288H)Y1L6L7L8L0L1L28255C S图2-12.3实验整体思路实验时,首先根据实验手册连线,待连好后检查无误时,打开电脑中的程序,修改其地址,然后运行程序。

微机原理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、学会延迟程序的调用方式以及书写方式。

微机原理实训报告交通指示灯

微机原理实训报告交通指示灯

一、设计目的学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、设计思路1、通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。

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

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

三、实验原理在设计中采用的是软件定时实现的。

而灯的亮与灭以及闪烁是用8255的B口和C口控制的,工作方式0,B口和C口均为输出。

并行接口是以数据的字节的单位与I/O设备或控制对象之间传递信息。

CPU和接口之间的数据传送是并行的,即可以同时传递8位、16位、32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5单电源供电,能在以下三种方式下工作:方式0——基本输入/输出方式。

方式1——选通输入/输出方式。

方式2——双向选通工作方式。

由于实验中所用到的发光二级管是共阳极的,如图2-1所示,所以在为8255的B口和C口写数据时,对应的每一位有:0代表灯亮,1代表灯灭。

将8255A的RE和WR非信号端分别与8086的两个端口相对应连接起来,8255A的数据线和8086的数据端口相连接,RE和WR非信号都是8086发出的控制信号,当进行读数据时,从8255A传送到8086,如果为写信号时,由8086写向8255A。

PLC十字路口交通灯控制模拟实验(打印)

PLC十字路口交通灯控制模拟实验(打印)

十字路口交通灯控制的模拟一、实验目的熟练使用各基本指令,根据控制要求,掌握PLC的编程方法和程序调试方法,使学生了解用PLC解决一个实际问题的全过程。

二、实验内容(1)交通灯模拟控制实验区中:南北方向的红、黄、绿灯R、Y、G分别接主机的输出点Y42、Y41、Y40;东西方向的红、黄、绿灯R、Y、G分别接主机的输出点Y45、Y44、Y43;模拟南北向行驶的灯接主机输出点Y46;模拟东西向行驶的灯接主机输出点Y47;SD接主机的输入端X0;(2)信号灯受一个启动开关控制,当启动开关接通时,信号灯系统开始工作。

(3)南北方向:启动开关接通,红灯先亮,维持25秒,25秒后红灯熄灭,绿灯亮,维持25秒,再闪亮3秒后熄灭,同时黄灯亮,维持2秒后熄灭,红灯亮,周而复始。

(4)东西方向:启动开关接通,绿灯亮,维持20秒,到20秒时,绿灯闪亮,3秒后熄灭,同时黄灯亮,维持2秒后熄灭,红灯亮,维持30秒后熄灭,绿灯亮,周而复始。

三、十字路口交通灯控制的实验面板图说明:横排的灯表示南北方向交通灯,竖排的灯表示东西方向交通灯。

四、程序设计步骤1、总开关:X0,南北向行驶Y46,南北红灯Y42、南北黄灯Y41、南北绿灯Y40,东西向行驶Y47,东西红灯Y45、东西黄灯Y44、东西绿灯Y43。

4、定时器:T0延时20秒; T1延时23秒; T2延时25秒;T4延时50秒; T5延时53秒; T6延时55秒;2、南北方向:Y42亮(0~25秒)→Y40亮(25~50秒)→Y40闪(50~53秒)→Y41亮(53~55秒)→Y42亮(0~25秒)······3、东西方向:Y43亮(0~20秒)→Y43闪(20~23秒)→Y44亮(23~25秒)→Y45亮(25~55秒)→Y43亮(0~20秒)······五、编制梯形图实验程序如下图最终确定的十字路口交通灯控制系统梯形图的分析如下:闭合启动开关SD时,X0触点接通, T0、T1、T2、T4、T5、T6开始计时;T0常闭,故东西绿灯(Y43)亮,维持20s后,T0翻转,通过系统计数器(SM412),绿灯闪亮,到第23秒时,T1翻转,绿灯熄灭,同时常开触点T1闭合且常闭触点T2保持不变,故东西黄灯(Y44)亮,经2秒都,T2翻转,常闭触点T2打开,东西黄灯熄灭,此时,与Y45(东西红灯)连接的常开触点T2闭合,东西红灯亮,维持到第55秒,定时器T6翻转,与Y45连接的常闭触点断开,东西红灯灭。

交通灯微机原理实验报告

交通灯微机原理实验报告

交通灯微机原理实验报告交通灯微机原理实验报告一、引言交通灯是城市交通管理中不可或缺的一部分。

它们通过指示灯的变化来引导车辆和行人的通行,确保交通的有序进行。

在这个实验报告中,我们将探讨交通灯背后的微机原理,并介绍我们的实验过程和结果。

二、实验目的本次实验的目的是通过使用微机原理,设计和实现一个交通灯控制系统。

我们将使用微机芯片和相应的电路,以及适当的编程来模拟交通灯的工作原理。

通过这个实验,我们可以更好地理解交通灯的工作原理,并学习如何应用微机技术来实现交通管理。

三、实验设备和材料本次实验使用的设备和材料包括:1. 微机芯片:我们选择了一款功能强大的微机芯片,具有高性能和稳定性。

2. 电路板:用于连接微机芯片和其他电子元件。

3. LED灯:用于模拟交通灯的红、黄、绿灯。

4. 电阻、电容和其他电子元件:用于构建电路和实现功能。

四、实验步骤1. 设计电路:我们首先根据交通灯的工作原理,设计了相应的电路。

电路包括微机芯片、LED灯、电阻和电容等元件。

我们根据电路图,将这些元件连接在一起,确保电路的正常工作。

2. 编程:接下来,我们使用C语言编写程序,实现交通灯的控制逻辑。

我们将编程代码烧录到微机芯片中,并通过连接电路板和计算机,将程序加载到芯片中。

3. 调试和测试:完成编程后,我们进行了一系列的调试和测试。

我们通过观察LED灯的亮灭情况,来验证程序的正确性。

如果灯光按照预期的顺序变化,我们就可以确认程序的正确性。

4. 优化和改进:在测试过程中,我们发现了一些问题和改进的空间。

我们根据实际情况,对程序进行了优化和改进,以提高交通灯系统的性能和稳定性。

五、实验结果经过一系列的实验和测试,我们成功地实现了一个交通灯控制系统。

我们的交通灯系统能够按照预定的时间间隔和顺序,控制红、黄、绿灯的变化。

通过观察LED灯的亮灭情况,我们可以清晰地看到交通灯的状态变化,模拟真实的交通场景。

六、实验总结通过这个实验,我们深入了解了交通灯背后的微机原理。

微机原理十字路口红绿灯闪烁实验

微机原理十字路口红绿灯闪烁实验

实验三 十字路口红绿灯闪烁实验实验目的通过对红绿黄灯的控制,熟练掌握 8255A 接口芯片的编程方法实验内容对8255A 接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的 形式点亮或者熄灭。

三、线路连接发光二级管共8个,其中两组红黄绿灯用六个,L2、L3、L4为一组,L5、L7、为一组;试验台连接如图所示。

高电平时,灯点亮8255A四、编程提示1、 红、黄、绿灯变化规律设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化 规律为:(1) 两个路口红灯全亮(2) 南北路口绿灯亮,东西路口红灯亮(3) 南北路口绿灯灭,东西路口红灯亮(4) 两个路口黄灯闪烁(5) 两个路口红灯全亮(6) 东西路口绿灯亮,南北路口红灯亮(7) 东西路口绿灯灭,南北路口红灯亮 L6、 DO --- JD1 ---- —D2—計 D D5——— net 烦 D7——J IQR ——— IOT 孙A0 ---- ^― A1 ---- ^―RESET 坊280IT287H 一--亠 RESRTPGOPC1 PC2PC3 PC415(8)两个路口黄灯闪烁(9)转向(2)循环执行2.设置8255A方式控制字设置8255A的端口C工作在方式0,为输出。

DO、D1控制绿灯,D2、D3 控制黄灯,D4、D5控制红灯。

需要点亮哪一位指示灯时,8255A相应端口对应为就输出“ 1”。

五、流程图六、实验程序DATA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU IOPORT+282HIO8255T EQU IOPORT+283HPB DB ?MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS STACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESSINT 21HMOV DX,IO8255TMOV AL,81HOUT DX,ALMOV DX,IO8255CIN AL,DXMOV PB,ALMOV DX,IO8255TMOV AL,80HOUT DX,ALMOV DX,IO8255CMOV AL,PBOR AL,0CHOUT DX,ALMOV AL,30HOUT DX,ALCALL DELAY10LLL: MOV DX,IO8255CMOV AL,12HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,10HOUT DX,ALMOV CX,0040H TTT: MOV AL,0CHOUT DX,ALPUSH CXMOV CX,80HLOP1: CALL DELAY1 LOOP LOP1MOV AL,00HOUT DX,ALMOV CX,80HLOP2: CALL DELAY1 LOOP LOP2POP CXLOOP TTTMOV AL,30HOUT DX,ALCALL DELAY10MOV AL,21HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,20HOUT DX,ALMOV CX,0040H GGG: MOV AL,0CH OUT DX,ALPUSH CXMOV CX,80HLOP3: CALL DELAY1 LOOP LOP3MOV AL,00HOUT DX,ALMOV CX,80HLOP4: CALL DELAY1 LOOP LOP4POP CXLOOP GGGMOV AL,30HOUT DX,ALCALL DELAY10 MOV AH,06HMOV DL,0FFHINT 21HJNZ PPPJMP LLLPPP: MOV AX,4C00HINT 21HDELAY1 PROC NEARPUSH CXMOV CX,0FFFFHCCC: LOOP CCCPOP CXRETDELAY1 ENDPDELAY10 PROC NEARPUSH AXPUSH CXMOV CX,0F00HUUU: CALL DELAY1LOOP UUUPOP CXPOP AXRETDELAY10 ENDPCODE ENDSEND START七、实验步骤1、在windows 环境下,打开“开始”菜单,选择“运行”项,然后输入” CMD” , 按“确定”进去DOS^境。

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

实验三十字路口红绿灯闪烁实验
一、实验目的
通过对红绿黄灯的控制,熟练掌握8255A接口芯片的编程方法
二、实验内容
对8255A接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的形式点亮或者熄灭。

三、线路连接
发光二级管共8个,其中两组红黄绿灯用六个,L2、L3、L4为一组,L5、L6、L7、为一组;试验台连接如图所示。

高电平时,灯点亮。

四、编程提示
1、红、黄、绿灯变化规律
设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化规律为:
(1)两个路口红灯全亮
(2)南北路口绿灯亮,东西路口红灯亮
(3)南北路口绿灯灭,东西路口红灯亮
(4)两个路口黄灯闪烁
(5)两个路口红灯全亮
(6)东西路口绿灯亮,南北路口红灯亮
(7)东西路口绿灯灭,南北路口红灯亮
(8)两个路口黄灯闪烁
(9)转向(2)循环执行
2. 设置8255A方式控制字
设置8255A的端口C工作在方式0,为输出。

D0、D1控制绿灯,D2、D3控制黄灯,D4、D5控制红灯。

需要点亮哪一位指示灯时,8255A相应端口对应为就输出“1”。

五、流程图
六、实验程序
DATA SEGMENT
IOPORT EQU 0D880H-280H
IO8255C EQU IOPORT+282H
IO8255T EQU IOPORT+283H
PB DB ?
MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,09H
MOV DX,OFFSET MESS
INT 21H
MOV DX,IO8255T
MOV AL,81H
OUT DX,AL
MOV DX,IO8255C
IN AL,DX
MOV PB,AL
MOV DX,IO8255T
MOV AL,80H
OUT DX,AL
MOV DX,IO8255C
MOV AL,PB
OR AL,0CH
OUT DX,AL
MOV AL,30H
OUT DX,AL
CALL DELAY10
LLL: MOV DX,IO8255C
MOV AL,12H
OUT DX,AL
CALL DELAY10
CALL DELAY10
CALL DELAY10
CALL DELAY10
OUT DX,AL
MOV CX,0040H TTT: MOV AL,0CH
OUT DX,AL
PUSH CX
MOV CX,80H
LOP1: CALL DELAY1
LOOP LOP1
MOV AL,00H
OUT DX,AL
MOV CX,80H
LOP2: CALL DELAY1
LOOP LOP2
POP CX
LOOP TTT
MOV AL,30H
OUT DX,AL
CALL DELAY10 MOV AL,21H
OUT DX,AL
CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,20H
OUT DX,AL
MOV CX,0040H GGG: MOV AL,0CH OUT DX,AL
PUSH CX
MOV CX,80H LOP3: CALL DELAY1 LOOP LOP3
MOV AL,00H
OUT DX,AL
MOV CX,80H
LOP4: CALL DELAY1
LOOP LOP4
POP CX
LOOP GGG
MOV AL,30H
OUT DX,AL
CALL DELAY10
MOV DL,0FFH
INT 21H
JNZ PPP
JMP LLL
PPP: MOV AX,4C00H
INT 21H
DELAY1 PROC NEAR
PUSH CX
MOV CX,0FFFFH
CCC: LOOP CCC
POP CX
RET
DELAY1 ENDP
DELAY10 PROC NEAR
PUSH AX
PUSH CX
MOV CX,0F00H
UUU: CALL DELAY1
LOOP UUU
POP CX
POP AX
RET
DELAY10 ENDP
CODE ENDS
END START
七、实验步骤
1、在windows环境下,打开“开始”菜单,选择“运行”项,然后输入”CMD”,按“确定”进去DOS环境。

2、输入“E:”回车,输入“CD MASM”回车。

3、输入“EDIT ZF1.ASM”回车,进入编辑状态,将以上源程序写入,完成后,如下图,按“Alt+F”打开文件菜单,选“Save”存盘,选“Exit”退出编辑状态。

4、对原程序进行汇编连接,输入“ML ZF1.ASM”回车
5、打开扩展卡I/O端口地址,用ALLOWIO命令打开I/O端口地址:
输入“RUN”回车。

6、按实验电路图1接好线,给实验箱通电。

输入“NT”回车,即可看到按一定规律变化的红黄绿灯。

八、思考题
程序中红.绿.黄灯点亮和熄灭的延时时间是如何设定的?
答:通过CALL指令调用子程序DELAY10,DELAY10的功能是通过执行循环执行压入堆栈和弹出堆栈来实现延时,改变循环次数即CX的设定值即可改变延时时间。

相关文档
最新文档