交通灯8253-8255-8259
8255,8253交通灯模拟实验
微机原理课程设计——8255,8253交通灯模拟实验文档介绍:交通信号灯的控制: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路口方向。
之后,重复上述过程。
系统原理工作原理说明:此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。
8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。
OUT2产生1MHZ 方波通过或门和8255的B口共同控制黄。
汇编语言与微型计算机技术课设十字交通灯
2024/6/10
7
七、时间安排:
➢ 时间:2013/12/23~2014/1/9
➢ 1.根据要求,设计出正确的电路原理图,并用 PROTEUS软件绘制电路图2天;
➢ 2.正确布线2天; ➢ 3.编制程序2天; ➢ 4.调试、排错、验收3天; ➢ 5.编写课设报告1天。 ➢ 注:具体时间可自己调整,上交报告为第10天17:
A7
B7
B6
A6
74LS245
A0 DIR
E
B0
2024/6/10
D7
PA7
D6
PA6
8255A
D0PA0Fra bibliotekD7 D6
8253
D0
15
(2)74LS06
2024/6/10
16
8255-RES-74LS06连线实例
2024/6/10
17
(3)74LS138
2024/6/10
18
地址译码电路表
2024/6/10
19
标准地址译码电路
8255CS对应的地址为300H~303H, 8253CS对应的地址为304H~307H。
8255CS 8253CS
2024/6/10
20
简化后的非标准地址译码电路 (本次课程设计采用)
8255CS 8253CS
2024/6/10
21
4.8253定时/计数器
2024/6/10
➢ 6.每个发光二极管的正极接排电阻的从2到9的一个引脚, 排电阻的1脚接VCC(+5V)。
2024/6/10
5
五、设计步骤
➢ 1.设计电路原理图,要求用PROTEUS绘图软件 绘制电路图,电路中应包括地址译码电路。
单片机实验8255控制交通灯
delay(20);
pa8255=0xf7;
pb8255=0x0d;
delay(20);
}
pa8255=0xae;
pb8255=0x0b;
delay(400);
while(d2--)
{
pa8255=0x9e;
pb8255=0x07;
delay(20);
pa8255=0xbe;
题目:实验四8255控制交通灯
硬件实验
实验类别:【设计】
班级:
学号:
姓名:
1、实验内容或题目
题目:8255控制交通灯
实验内容:用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
2、实验目的与要求
实验目的:
(1)掌握8051系统中,扩展8255做输出口的方法;
(2)了解芯片8255编程方法。
void delay(unsigned int i)
{
unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<1000;j++);
}
void main(void)
{ com8255=0x88;
pa8255=0xb6;
pb8255=0x0d;
delay(400); //all red lamp light
pb8255=0x0f;
delay(20);
}
}
}
while(1)
{ uchar d1=5,d2=5;
pa8255=0x75; //west and east green lamp light
pb8255=0x0d; //south and north red lamp light
8253、8259、8255综合设计题
1.键盘中断(8255,8259),设计一程序当按下任意键或任意组合键时从8255的A口读出按键扫描码并显示,按“ESC”键退出。
2.交通灯控制系统:按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。
可利用8255、8253、8259等接口电路。
(可到实验室完成)
3.键盘电子乐器:利用并行接口8255作为键盘接口,设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。
利用8253、8255芯片设计7位彩灯
第1章.需求分析1.1课程设计题目循环彩灯控制系统设计1.2设计任务及要求任务:设计一个循环彩灯控制系统,能输出四种花型,参考花型如下:1)00000001 左循环(1时亮,0时灭)2)10000000右循环3)按00011000,00100100,01000010,10000001规律变化,然后彩灯全亮后,再循环不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;3)彩灯亮与灭的时间由8253提供1.3 软硬件运行环境及开发工具1、软硬件运行环境利用TDN86/88实验平台进行硬件连接,利用TDN集成开发环境进行循环彩灯系统的程序设计(采用汇编语言),调试,直到满足设计要求。
2、开发工具实验所使用的实验开发设备是TDN86/88型多功能微机实验平台,它的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。
第2章.概要设计2.1总体方案与说明1. 8255A可编程并行接口芯片。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。
(1)数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的(2) 三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入锁存器和一个8位数据输入/输出,锁存/缓冲器;端口C(PC口):有一个8位数据输入锁存器和一个8位数据锁存/缓冲器。
简易交通灯报告(附源程序——汇编语言)
题目:简易交通灯一、设计目的利用TDN微机原理试验箱及单元电路,实现对一道路交通灯的控制。
当通过车辆计数达到50时,绿灯灭,红灯亮,同时数码块倒计时若干秒(此次设计中设为9秒)。
此时,车辆停止,行人可以通过。
二、参加人员及分工李——试验报告霍——调试程序洪——编写程序三、技术要求1、设计完成交通灯的电路2、采用TDN试验箱上的8255、8259、8253完成3、程序设计中采用软件延时四、试验器材TDN-MD86/51实验箱一台,8253一片,8255一片,8259一片,数码管一组,发光二极管一组。
五、设计和调试环境TDN-MD86/51教学试验系统六、题目分析、工作原理、设计思想题目分析我们所做的交通灯是控制单路口处车辆和行人的通过及停止的简易交通灯。
因此需要两个灯和一块用于显示倒计时的数码块来控制车辆和行人的通行、停留问题。
其中两个灯分为红绿色,主要根据两只灯的亮灭情况来控制车辆,当红灯灭绿灯亮的时候车辆可以通过,而红灯亮绿灯灭时车辆就要停止通行。
数码块用于显示倒计时的时间以控制人,当倒计时开始时人通行,倒计时结束后行人就要等待。
根据题目分析得出以下设计思想及工作原理:设计思想在一开始启动交通灯时设置为红灯灭绿灯亮,让车辆先通行,行人等待,当通过50辆车后,红绿灯都同时灭然后红灯亮绿灯灭且数码快开始倒计时,此时为行人通行时间。
然后当数码块倒计时到0时行人通行的时间结束。
转而红灯灭绿灯亮又改为车辆通行时间。
红绿灯和数码块如此反复工作就构成的交通灯。
工作原理通过向8259写入程序来控制其他器件的工作。
在程序一开始写入中断向量和各芯片的控制方式字,以确保发生中断是正确的响应中断及芯片正确的工作状态。
接下来的程序就是控制8255和8253,8255选择工作方式1,A、B、C、口都做基本的输入输出。
通过8255A 口先让红灯灭绿灯亮。
8253选择工作方式2:计数停止中断,通过8253对车辆的计数达到50辆车是就发出中断请求。
微机实验报告 交通灯实验
电子信息工程学系实验报告课程名称:微型计算机技术成绩:实验项目名称:交通灯实验实验时间:2011-12-16指导教师(签名):班级:通信091 姓名:Jxairy 学号:910705131实验目的:1、进一步熟悉掌握8255的控制。
2、进一步熟悉掌握8088/86对8259的控制方法。
3、进一步熟悉掌握8253的控制。
实验环境:Windows XP操作系统、ZY15MicInt12BB微机原理及接口实验箱一台、湖北众友微机原理与接口技术软件。
原理说明:本实验主要用到的实验模块:系统模块、8253模块、8255模块、8259模块、0-1指示模块、实验译码单元等。
(一)、8253模块简介:8253/8254是可编程的定时器芯片。
它们都是包含三个独立的16位通道。
每个通道可作定时器也可作计数器使用,可通过软件编程选定6种工作方式之任一种。
它们都用N沟道MOS工艺制成,只需要一组+5V电源。
8253的每个计数器通道都有6种工作方式可供选用。
区分这6种工作方式的主要标志有3点:一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GA TE对计数操作的控制不同。
8253方式控制字设定,如图7.1所示。
图7.1 方式控制字设定8253和系统相连的信号线在实验箱内部都已经连好,实验过程中只需要连接信号到8253模块通道2的OUT2、CLK2和GATE2即可。
(二)、8255模块简介:8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。
它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。
这24根端口线全部为双向三态。
三个端口可分二组来使用,可分别工作于三种不同的工作方式。
8255方式选择控制字分析,如图7.2所示:8255端口C置1/置0控制字分析(A1、A0 =11),如图7.3所示:8255基本操作与端口地址,如下表所示:图7.2 8255方式选择控制字图7.3 8255端口C置1/置0控制字表8255基本操作与端口地址图7.4 8259初始化流程(三)、8259模块简介:8086的INTR中断请求信号来自中断控制器8259A,可以是电平触发方式,也可以边沿触发。
交通灯设计-8255-8254(附连线图和源代码)
西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:王晶晶学号(8位): 04085047指导教师:刘军设计起止时间:2011年05月23日~2011年05月27日[一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。
二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
'5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。
交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。
⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。
(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。
(“南北紧急键”可是键盘键,亦可是逻辑开关键)"⑧按 <ESC>键退出程序。
备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。
2、8253定时到可以通过8259,用中断的方式实现定时器。
电子时钟,汇编,8253+8255+8259
目录一、课程设计目的 (2)二、课程设计任务 ·····································································错误!未定义书签。
1、内容 (2)2、要求 (3)3、设计环境 (3)4、设计所用设备 (3)三、设计所用芯片结构 (4)1、8259A芯片的内部结构及引脚 (4)2、8254芯片的内部结构及引脚 (5)3、8255芯片的内部结构及引脚 (5)四、具体模块设计 (7)1、概述 (7)2、主程序模块 (7)3、小键盘模块 (8)4、显示模块 (9)5、定时模块 (9)五、程序流程图 (10)主程序流程图: (10)键盘扫描程序流程图:(KEY) (12)中断处理程序流程图: (12)六、心得体会 (13)附录一:参考书目 (14)附录二:部分源代码 (14)一、课程设计目的和意义通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
微机原理课程设计-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管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
(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。
北京工业大学-微机原理-实验十二-交通灯控制实验-实验报告
微机原理实验报告——实验九交通灯控制实验姓名:学号:一、实验要求用8255、8253芯片模拟实现交通灯控制,要求亮灯时间用8253控制二、延时置数设计提供的时钟频率为1MHz,而8253最大工作频率为2MHz,所以无需分频。
延时5秒对应的计数初值为N=5秒/1MHz=5000000,因为8253有3个16位计数器,每个计数器最大计数初值为:65535<5000000,所以将两个计数器串联使用。
计数器0计数初值为1000,计数器1计数初值为5000。
三、实验内容1.实验电路原理图2.实际电路图2.实验流程图3.实验代码IOPORT EQU 5400H-280H ;定义CPU输出地址CODE SEGMENTASSUME CS:CODESTART: MOV AL, 00100101B ;设置8253用计数器0,只读高字节,方式2(自动重复),10进制MOV DX, IOPORT+293HOUT DX, ALMOV AL, 10H ;给计数器0置数1000(0001 0000 0000 0000)MOV DX, IOPORT+290HOUT DX, ALMOV AL, 10010000B ;初始化8255,1--控制字,A口方式0输入,C口输出,B口输出MOV DX, IOPORT+28BHOUT DX, ALINOUT: MOV AL, 00100100B ;南北路口绿灯亮,东西路口红灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道1,只读高字节,方式0(不自动重复),10进制MOV DX, IOPORT+293HOUT DX, ALMOV AL, 50H ;置数5000,与计数器0串联即:延时5秒MOV DX, IOPORT+291HOUT DX, ALLOP1: MOV DX, IOPORT+288H ;A口查询,判断延时是否结束IN AL, DXCMP AL, 0JE LOP1 ;延时结束,顺序执行,否则继续查询MOV AL, 01000100B ;南北路口黄灯亮,东西路口红灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道MOV DX, IOPORT+293HOUT DX, ALMOV AL, 30H ;延时3秒(1000*3000),原理与延时5秒一致MOV DX, IOPORT+291HOUT DX, ALLOP2: MOV DX, IOPORT+288H ;A口查询,判断延时是否结束IN AL, DXCMP AL, 0JE LOP2 ;延时结束,顺序执行,否则继续查询MOV AL, 10000001B ;南北路口红灯亮,东西路口绿灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道1MOV DX, IOPORT+293HOUT DX, ALMOV AL, 50H ;延时5秒MOV DX, IOPORT+291HOUT DX, ALLOP3: MOV DX, IOPORT+288HIN AL, DXCMP AL, 0JE LOP3MOV AL, 10000010B ;南北路口红灯亮,东西路口黄灯亮MOV DX, IOPORT+28AHOUT DX, ALMOV AL, 01100001B ;设置8253通道1MOV DX, IOPORT+293HOUT DX, ALMOV AL, 30H ;延时3秒MOV DX, IOPORT+291HOUT DX, ALLOP4: MOV DX, IOPORT+288HIN AL, DXCMP AL, 0JE LOP4MOV AH, 0BH ;检查键盘状态(不等待),AL=FFH 表示有键入,AL=00H表示无键入INT 21HCMP AL,0FFH ;有键入,程序退出JNZ INOUTMOV AH, 4CHINT 21HCODE ENDSEND START四、实验中遇到的问题地址书上要求定义的范围是从280H开始的,而我们在编写程序的时候是从288H开始使用的,再连线的时候,忘记了这一点,而致使结果一直出不来,后来再检查连线的时候发现了这个问题,即使进行了改正,出现了预计效果,试验成功。
8253,8259,8255中断延时跑马灯
实验名称 8253,8259,8255中断延时跑马灯实验时间 2019 年 6 月 10 日专业 17电信教师评语:姓名何明星成绩教师签名一、实验目的1.掌握8255,8259和8253的编程方法;2.利用8259和8253中断延时,8255并行输出实现跑马灯控制。
二、实验原理中断控制器的功能就是在有多个中断源的系统中,接收外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU响应中断并进入中断子程序后,中断控制器仍然负责对外部中断请求的管理,当某个外部中断请求的优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套,反之,对他级别较低的中断则禁止。
可编程中断控制器8259的控制部分有7个8为寄存器,这些寄存器都是可编程的,即可用指令对其进行设置。
7个寄存器可分为两组,第一组寄存器为4个,它们用来存放初始化命令字ICW,分别为ICW1—ICW4;第二组寄存器为3个,它们用来存放操作命令字OCW,分别为OCW1—OCW3。
初始化命令字往往是计算机系统启动时由初始化程序来设置的,一旦设定,一般在系统工作中不再改变。
操作命令字则是由应用程序设定的,用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可被的多次设置。
8259对外部中断请求的处理过程和工作原理如下:首先,一个外部中断请求信号通过中断请求线IRQ,传输到IMR(中断屏蔽寄存器),IMR根据所设定的中断屏蔽字(OCW1),决定是将其丢弃还是接受。
如果可以接受,则8259A将IRR(中断请求暂存寄存器)中代表此IRQ的位置位,以表示此IRQ有中断请求信号,并同时向CPU的INTR(中断请求)管脚发送一个信号,但CPU这时可能正在执行一条指令,因此CPU不会立即响应,而当这CPU正忙着执行某条指令时,还有可能有其余的IRQ线送来中断请求,这些请求都会接受IMR的挑选,如果没有被屏蔽,那么这些请求也会被放到IRR中,也即IRR中代表它们的IRQ的相应位会被置1。
8255,8253交通灯模拟实验报告
(-)课题简介 (2)(二)设计方案 (2)(三)具体设计 (4)1.电路原理 (4)2. ........................................................ 程序原理: 63.系统原理 (8)1)....................................................................... 8259, 8255A, 8254 工作原理:84.关键技术分析 (13)1)实时控制和管理设计 (13)2)发光二极管闪烁程序 (14)3)源程序 (15)(四)测试 (21)1.在测试中遇到的问题记录 (21)2.测试结果 (22)(五)....................... 总结22 (六)........................... 设计体会23 (七)........................... 参考文献24(一)课题简介十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国大多数城市正在采用“自动”红绿交通灯,它具有固左的“红灯一绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向务50秒:要么根拯交通规律,东四方向60秒,南北方向40秒,时间控制都是固泄的。
交通灯的时间控制显示,以固定时间值预先"固化”在单片机中,每次只是以一泄周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的, 是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,苴最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
基于8253和8255的模拟交通灯控制系统
摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
第一部分概论1.1设计任务:交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。
(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。
(5)转(1)重复。
紧急情况可以手动控制红绿灯的变换。
1.3设计原理本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯。
交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的C 口对灯的亮与灭进行控制,用8253对扬声器的发声进行控制。
装有定时计数器8253芯片和可编程接口 8255芯片,研究了扬声器发声的软件控制过程,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PA0 =1和PA1 =1 ,则可控制扬声器发声。
交通灯设计-8255-8254(附连线图和源代码)doc资料
LED显示数NUM:
MOV BX, OFFSET TABLE1;取八段数码管表的首地址
MOV AL, NUM
XLAT;查表,找出NUM对应的共阴极字形代码
MOV DX, 1461H
OUT DX, AL;将该代码送到B口
打开试验箱电源,进入纯DOS环境运行程序,观察LED数码管显示情况。
数据流程图为:
图4-1流水灯数据流程图
2、用8255与LED KEYBOARD UNIT相连实现八段数码管的静态显示。
实验线路图如下图4-2所示:
图4-2静态显示实验的连线图
共阴极LED数码管字形代码如下表4-2所示:
表4-3共阴极LED数码管字形显示
字形
共阴极字形代码
字形
共阴极字形代码
字形
共阴极字形代码
5Hale Waihona Puke 用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。交通灯变化规律要求:
① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
二、设计内容
1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
功能模块图:
图3-1流水灯功能模块
微机系统接口课程设计——交通灯
微机系统接口课程设计题目:交通灯系部名称:计算机系班级:学号:指导教师:学生姓名:时间2009-6-1—2009-6-12微机系统接口课程设计一实习的目的本次实习是基于微机原理与微机接口技术的实践课程设计。
1,通过实习熟悉并掌握接口芯片8253、8255、8259的原理、功能和应用2,对微机原理知识的熟悉和巩固,了解微机工作基本原理。
二硬件课程设计题目1,十字路口交通信号灯控制系统设计三对题目的简单分析(用到哪些芯片及作用)(1)十字路口交通信号灯控制系统设计8253 计数控制,用于交通信号灯的时间控制8255 数码管显示,用于倒计时时间的显示8259 突发事件的控制及信号灯的切换四以下是三个题目分别的实习报告(一)十字路口交通信号灯控制系统设计一硬件课程设计题目交叉路口交通信号灯控制系统设计二设计任务编写一个交通灯控制程序,实现东西路口与南北路口状态灯的转换,并设置紧急键,能使交通灯实现紧急处理。
利用中断程序实现多次循环调用电风扇工作子程序,并在显示器上提示进入中断服务程序的信息。
具体实现如下:1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
如图:D7,D5,D3作为南北路口的交通灯与A7,A5,A3相连,D6,D4,D2作为东西路口的交通灯与A6,A4,A2相连。
编程使六个灯按交通灯变化规律燃灭B7 B6 B5 B4 B3 B2 B1 B0A7 A6 A5 A4 A3 A2 A1 A0C3C2C1C0C4C58255AA B C D E F G DP X2X1LED OUT0 CLK0GATE0 CSCS8254红 红 绿 绿 黄 黄 白 白D7 D6 D5 D4 D3 D2 D1 D0二极管K3(东西紧急)K1(夜间紧急)K2(南北紧急)IOY01KHZ +5V IOY2硬件连接图:2.用可编程并行接口芯片8255A 控制模拟交通灯的亮与灭和数码管的倒计时显示。
交通灯8253-8255-8259
2.21 8259的工作原理:一、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
二、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
三、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
四、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。
五、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。
六、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。
该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
七、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
八、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
2.22 8255A的工作原理:一、8255A的内部结构:1、数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2、三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3、A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
微机原理课程设计——交通灯控制系统
设计要求:设计要求:(1) 利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2) 实现能自动控制和手动控制。
实现能自动控制和手动控制。
(3) 实现能随时可以调整自动模式的绿灯和红灯时间和红灯时间1 1 设计目的设计目的电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
交通灯能保证行人过马路的安全交通灯能保证行人过马路的安全,,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口广泛用于十字路口,,车站车站, , , 码头等公共场所码头等公共场所码头等公共场所,,成为人们出行生活中不可少的必需品成为人们出行生活中不可少的必需品,,由于计算机技术的成熟与广泛应用计算机技术的成熟与广泛应用,,使得交通灯的功能多样化的功能多样化,,远远超过老式交通灯远远超过老式交通灯, , , 交通交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
义。
2 2 设计内容设计内容交通灯控制系统交通灯控制系统利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
8253、8255、8259综合实验
8253、8255、8259 综合实验医电61刘晶061210058253、8255、8259综合实验一、实验目的1.掌握8259、8253、8255芯片结构及工作方式;2.熟悉8259、8252、8259的初始化和操作编程;3.掌握各芯片之间或与CPU间的连接方法。
二、实验设备b6000p实验教学系统;2.IBM-PC机三、实验内容1.8255A口为输出口,接8个发光二极管,B口为输入口,接8个拨动开关,“0”或“1”,从而实现把开关的状态显示出来。
2.用8253计数器0对外部事件进行计数,每发生5次外部事件,用发光二极管亮做提示。
3.用8253计数器0输出一个1S为周期的方波,并用发光二极管显示其周期。
4.8个LED二级管循环点亮,每个亮1秒钟,用8253定时1秒,通过8259中断实现1S 循坏显示四、实验结果1.8255程序如下:DATA SEGMENTCOUNT DB 1DATA ENDSSTACK SEGMENTDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,DA TAMOV DS,AXMOV DX,8003H ;8255控制口MOV AL,10000010B ;控制字:A口方式0输出,B口方式0输入OUT DX,AL ;写入控制字TESTI:MOV DX,8001H ;指向B口IN AL,DX ;从B口读入开关状态MOV DX,8000H ;指向A 口OUT DX,AL ;A 口用LED 指示开关状态 JMP TESTI ;循环检测 CODE ENDSEND START 实验结果:程序运行后,波动开关,可以控制其对应二极管的亮、灭。
2.8253对外部事件计数 程序如下:DATA SEGMENT COUNT DB 1 DATA ENDSSTACK SEGMENT DB 100 DUP(?) STACK ENDSCODE SEGMENT MAIN PROC FARASSUME CS:CODE,DS:DA TA,SS:STACK START:MOV AX,DA TA MOV DS,AX JISHU:MOV AL,00010001BMOV DX,9003HOUT DX,ALMOV AL,3MOV DX,9000H OUT DX,ALDUHUI: MOV AL,00000000B MOV DX,9003H OUT DX,AL MOV DX,9000H IN AL,DX SUB AL,0 JZ JISHU JMP DUHUI MAIN ENDP CODE ENDS END START 实验结果:程序运行后,每发生5次外部事件(单脉冲电路产生),二极管亮1次作为MOV CX,0FFFFHDELAY: DEC CXCMP CX,00HJNZ DELAY3.8253输出周期为1s的方波程序如下:DATA SEGMENTCOUNT DB 1DATA ENDSSTACK SEGMENTDB 100 DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,DA TAMOV DS,AXMOV AL,00110110BMOV DX,9003HOUT DX,ALMOV BX,62500MOV AL,BLMOV DX,9000HOUT DX,ALMOV AL,BHOUT DX,ALMAIN ENDPCODE ENDSEND START实验结果:二极管以1s为周期闪烁,即得到了1s为周期的脉冲波,并用二极管显示出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二○○九~二○一○学年第二学期信息科学与工程学院课程设计报告书课程名称:微机原理课程设计班级:电子信息工程2009级6 班学号:*************名:**指导教师:***二○一二年二月二十日2.21 8259的工作原理:一、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
二、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
三、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
四、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。
五、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。
六、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。
该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
七、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
八、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
2.22 8255A的工作原理:一、8255A的内部结构:1、数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2、三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3、A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。
对C口按位复位命令字可对C口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
4、读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
二、8255A的工作方式:方式0---基本输入输出方式;方式1---选通输入输出方式;方式2---双向选通输入输出方式。
2.23 8253的工作原理:8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。
其CLK0~CLK2是计数器0~2的时钟脉冲输入端, GATE0~GATE2是门控脉冲输入端, OUT0~OUT2是输出端。
3、总体设计和方案论证:3.1交通信号灯实时控制和管理的总体设计芯片选择及端口选择1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。
2. 用实验系统8235的计数器0定时向实验系统主片8259A的IRQ7请求中断,以实现要求的20秒、5秒钟的定时。
实验系统8253的计数器0的CLK2接OPCLK,频率为1.19318MHZ;GATE0已接 +5V;定时采用软硬件相结合的方式实现。
⒊用实验系统的发光二极管模拟红绿灯。
注:8259A的端口地址为:218H、219H8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H8253的端口地址为:计数器0-208H、计数器1-209H、计数器0-20AH、控制寄存器0-20BH。
本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
定时模块采用硬件定时和软件定时相结合的方法,用8253定时/计数器定时1s,再用软件计时实现所需的定时。
发光二极管模块由8255控制发光二极管来实现。
数码管显示模块由实验平台上的LED显示模块实现。
紧急中断模块是由单脉冲发生单元和8259中断控制器组成。
程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序组成。
包括对8253、8255以及8259等可编程器件的编程。
3.2 方案论证:软件延时,设计简单,使用方便,本次设计采用了,定时器0进行计时,每1s产生一次中断,可以准确的计时并方便8段数码管进行显示。
在本设计中程序每1秒请求一次中断,实现精确定时与数码管显示刷新。
4、硬件设计:本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接如图所示。
硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
图1图2时模块是由8253的计数器0来实现定时1s。
由8255输出来控制计数器的起停。
OUT0接8259的IRQ7,定时完成申请中断,进入中断服务程序。
发光二极管显示模块由8255输出来控制发光二极管的亮灭。
8255输出为低电平时,对应的发光二极管就点亮,否则就熄灭。
交通灯的对应关系如下:(1,3代表东,西;2,4代表南、北)L7 L6 L5 L2 L1 L013红灯13黄灯13绿灯24红灯24黄灯24绿灯实验平台上提供一组六个LED数码管。
本设计用2个数码管来倒计时。
中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来请求中断,然后做出情况处理。
5、软件设计思路:设计数器0的计数初值为3000,由于CLK0接脉冲信号,频率为1.288MHZ,所以每1s中断一次。
利用TIME对不同的状态时间计数,用来实现计数器0对20秒钟,5秒钟的定时。
中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。
每进入中断即刷新LED显示。
交通灯按正常状态切换工作,8253开始计数后每1s发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。
主程序的流程图如图所示。
3 主程序流程图图4、定时中断服务子程序定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。
中断子程序包括数码管输出数据刷新程序和各状态处理程序。
数码管输出数据刷新子程序是实现倒计时20s,用LED OUT表示输出的数据,TIME 用来软件计时1s,就是计数10个100ms。
LED输出是要将输出的数据转化为段选码。
根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。
状态0、1、2、3、4、5的流程是一样的,先点亮对应的交通灯,再判断定时到了就可以切换了。
状态0用于实现东西红、南北绿;状态1用来实现东西黄、南北绿;状态2用于实现东西绿、南北黄;状态3用于实现东西绿、南北红;状态4用于实现东西黄、南北红;状态5用于实现东西红、南北黄,间隔点亮和熄灭就可以了。
状态0处理程序的流程图如图所示。
图5 状态0处理程序6、源程序清单:⒈本次设计中,选用8235的计数器0定时向实验系统主片8259A的IRQ7请求中断。
设置8253的计数器0每1s请求一次中断,工作于模式3;8255的A端口控制交通灯;数码管驱动程序采用指导老师提供的程序。
初始化程序:DA TA SEGMENTLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表DB 7FH,6FHTIME DB 19D2 EQU 200H ;8255A端口AEA EQU 200H ;8255端口地址EE EQU 203HCONTROL EQU 20BH ;8253端口地址COUNT0 EQU 208HCOUNT1 EQU 209HCOUNT2 EQU 20AHDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATACODE SEGMENTASSUME CS:CODESTART:MOV AX,0MOV DS,AXMOV AX,OFFSET IRQ7 ;填中断矢量表ADD AX,2000HMOV SI,0FH*4MOV [SI],AXMOV AX,0MOV [SI+2],AXCLIMOV BX,0109H ;BH表示要显示数的十位,BL 表示要显示数的个位MOV CX,0MOV DX,0000HMOV AL,80H ;初始化8255OUT EE,ALMOV AL,00 ;对PC0口置0OUT EE,ALMOV AL,02 ;对PC1口置0OUT EE,ALMOV DX,218H ;8259初始化MOV AL,00010010bOUT DX,ALMOV AL,0FHMOV DX,219HOUT DX,ALMOV DX,200H ;交通灯初始状态为全黄MOV AL,0BBHOUT DX,ALMOV AL,00110110b ;初始化 8253OUT CONTROL,ALNEXT:MOV AX,3000 ;定时1秒MOV DX,COUNT0OUT DX,ALMOV AL,AHOUT COUNT0 ,ALJMP NEXTMOV AX,DA TA ;置DS用数据段首址MOV DS,AX中断服务程序:A1: STIHLTJMP A1IRQ7:数码管显示程序CMP CX,99JZ DISPINC CXIRETDISP:MOV CX,0PUSH AXPUSH BXPUSH SIMOV DX,BXMOV BX OFFSET LEDADD BX,2000HMOV AH,00MOV AL,DLMOV SI,AXMOV AL,00HOUT EE,ALMOV AL,03H ;选通用来显示个位的数码显示管OUT EE,ALMOV AL,[BX+SI] ;把十进制数所表示的个位数转换成对应的段码OUT 201H,ALMOV AL,DHMOV SI,AXMOV AL,01H ;选通用来显示十位的数码显示管OUT EE,ALMOV AL,02HOUT EE,ALMOV AH,[BX+SI] ;把十进制数所表示的十位数转换成对应的段码OUT 201H,AHPOP SIPOP BXPOP AXCMP BL,00H ;比较个位数是否为0 JNZ L1CMP BH,00H ;比较十位数是否为0 JZ COMPAREMOV BX,0009H :十位为0,各为变为9 JMP COMPAREL1:DEC BXCOMPARE:CMP DL,0JZ STA TE0CMP DL 1JZ STA TE1CMP DL,2JZ STA TE2CMP DL,3JZ STA TE3CMP DL,4JZ STA TE4CMP DL 5JZ STA TE5STATE0:MOV AL,7DH ;东西红,南北绿OUT D2,ALJMP CHANG1STATE1:MOV AL,BDH ;东西黄,南北绿OUT D2,ALJMP CHANGE1STATE2:MOV AL,DBH ;东西绿,南北黄OUT D2,ALJMP CHANGE1STATE3:MOV AL,D7H ;东西绿,南北红OUT D2 ,ALJMP CHANGE1STATE4:MOV AL,B7H ;东西黄,南北红OUT D2,ALJMP CHANGE1STATE5:MOV AL,7BH ;东西红,南北黄OUT D2,ALCHANGE1:CMP TIME,0JZ A2DEC TIME JMP EXITA2:INC DXCMP DL,6JNZ A3MOV DL,0A3:CMP DL,5JZ M5CMP DL,4JZ M4CMP DL,3JZ M3CMP DL,2JZ M2CMP DL,1JZ M1CMP DL,0JZ M0M0:MOV BX,O109H MOV TIME,19 JMP EXITM1: MOV BX,0004H MOV TIME,4 JMP EXITM2:MOV BX,0004H MOV TIME,4 JMP EXITM3:MOV BX,O109H MOV TIME,19 JMP EXITM4:MOV BX,0004H MOV TIME,4 JMP EXITM5:MOV BX,0004H MOV TIME,4 JMP EXIT EXIT:MOV AL,20H OUT 218H,AL IRETCODE ENDS END START7、程序运行结果:1.东西方向的红灯和南北方向的绿灯同时点亮20秒钟;2.20秒钟后,东西方向的黄灯闪烁5秒钟。