8255A控制交通灯完整实验
- 格式:doc
- 大小:101.50 KB
- 文档页数:6
交通灯控制实验计算机实验班1001 赵训201026811130交通灯控制实验:设计一个十字路口的交通灯控制,设初始状态是4个路口红灯全亮,然后,南北方向绿灯亮,延时30秒,南北方向灯灭,黄灯闪3次后,红灯亮,东西方绿灯亮,延时30秒,东西方黄灯闪3次后红灯亮。
重复上述过程。
要求:作出实验流程图。
硬件连接图。
写出汇编语言程序。
1、实验目的:分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制(红,黄,绿三色灯)。
2、实验设备及材料:微机原理和接口技术实验室的实验箱和电脑设备等。
3、理论依据:此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
8255A是可编程的通用并行输入/输出接口芯片,因通用性强,使用灵活,可直接与CPU总线相连,应用非常广泛。
8255A芯片内部有3个8为的输入/输出端口,即A口,B口和C口。
从内部控制的角度来讲,可分为两组:A组合B组。
A 组控制模块管理A口和C口德高四位(PC7~PC4),B组控制模块管理B口和C口的低四位(PC3~PC0)。
如硬件连接图所示(在后),红灯(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口共同控制黄灯的闪烁。
实验一(2) 8255交通灯模拟实验1、实验要求: 编写程序,以8255的PA 口作为输出口,控制4个双色LED 灯(可发红、绿、黄光),模拟十字路口交通灯管理。
2、实验目的:(1)学习I /0口扩展方法;掌握8255的工作原理以及编程方法,了解软件与硬件的调试技术。
(2)学习模拟交通灯控制方法;(3)学习双色LED 灯的使用;3.8255的工作原理:8255有三个8位的并行口,端口既可以编程为普通I/O 口,也可以编程为选通I/O 口和双向传输口。
8255为总线兼容型,可以与CPU 的总线直接接口。
其中,口地址取决于片选CS 和A1、A0。
选择如下:8255方式字选择:工作方式字特征位本实验中8255编程为PB口、PC口、PA口均输出,根据8255状态控制字选择方法。
8255控制字应为80H。
4.实验器材:(1)G2010+实验平台 1台(2)G6W仿真器1台(3)连线若干根(4)8255芯片1片(5)G2002—8086板 l块5.接线方案:6、实验说明:(1) 把G2002—8086板上的8255的片选CS5孔连“译码器”的YC2(0A000H)孔。
因8255片选信号为0A000H,所以,A口为0A000H、口为0A001H、C口为0A002H、命令口为0A003H。
(2) 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,东西仍然红灯,延时儿秒。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
(3)双色LED是由一个红灯LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色端加高电平,绿色正端加低电平,红灯亮;当红色端加低电平,绿色正端加高电干,绿灯亮;两端都加高电平时,黄灯亮。
实验八 交通灯控制实验一、实验目的:1、学习并掌握并行接口8255A的内部结构,功能及编程。
2、通过并行接口8255A实现十字路口交通灯的模拟控制,进一步掌握对并行A、B、C端口能在以下三种方式下工作:方式0—基本输入/出方式方式1—选通输入/出方式方式2—双向选通输入/出方式8255A的工作方式控制字用来决定8255A端口的工作方式,方式控制字的格式如图2-2所示。
表2-1 8255端口地址L12、L11、L10作为东西路口的交通灯与PC0、PC1、PC2相连,编程使六个交通灯按如下变化规律燃灭。
十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮。
(2)南北路口的黄灯闪烁若干次,同时东西路口红灯继续亮。
(3)南北路口的红灯、东西路口的绿灯同时亮。
(4)南北路口的红灯继续亮,同时东西路口的黄灯亮闪烁若干次。
(5)转(1)重复。
四、实验步骤1、按图2-1连接实验线路,注意切断实验箱电源。
2、参考下面的实验流程编写实验程序。
实验流程如下:3、经汇编、链接后将程序装入系统。
4、运行程序,观察交通灯的变化。
交通灯控制实验程序1: data segmentprotc1 db 9bh,0bbh,0fbh,0bbh,0fbh,0bbh,0fbh db 7eh,7dh,7fh,7dh,7fh,7dh,7fhdb 0ffhdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,0e3hmov al,90hout dx,almov dx,0e2hloop1: mov bx,0000hloop2:mov al,protc1[bx]cmp al,0ffhjz loop1out dx,alcall delayinc bxjmp loop2delay:mov cx,01ffhde1: mov di,0ffhde0: dec dijnz de0loop de1retcode endsend start交通灯控制实验程序2:data segmentprotc1 db 0dbh,0bbh,0fbh,0bbh,0fbh,0bbh,0fbhdb 7eh,7dh,7fh,7dh,7fh,7dh,7fhdb 0ffhdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,0e3hmov al,90hout dx,almov dx,0e2hloop1: mov bx,0000hloop2:mov al,protc1[bx]cmp al,0ffhjz loop1out dx,aland al 21hcmp al,21hjz aamov cx,0effhjmp bbaa: mov cx,01dfhbb: call delayinc bxjmp loop2delay:de1: mov di,0ffhde0: dec dijnz de0loop de1retcode endsend startdata segmentportc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据 db 0ffh ;结束标志 data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8255bmov al,90hout dx,al ;设置8255为C口输出mov dx,io8255are_on: mov bx,0on: mov al,portc1[bx]cmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bxmov cx,20 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,5000 ;有,长延时de1: mov di,9000 ;di赋初值5000de0: dec di ;减1计数jnz de0 ;di不为0loop de1push dxmov ah,06hmov dl,0ffhint 21hpop dxjz on ;没有,转到onexit: mov ah,4ch ;返回int 21hcode endsend start。
实验三 8255A接口实验一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、程序框图四、实验电路五、编程提示①通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。
②要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
③程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。
④各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
六、实验步骤(1)按实验电路图连接线路:8255A PAO—L15 PA1—L14 PA2—L13 PA3—L11PA4—L10 PA5—L9 PA6—L7 PA7—L6PBO—L5 PB1—L3 PB2—L2 PB3—L1(2)运行实验程序L1~L12发光二极管模拟交通灯显示。
七、实验程序;----------------8255A并行口实验(3) 控制交通灯----------------CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0,MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1P30: MOV AL,75HMOV DX,PAOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08HP31: MOV DX,PAMOV AL,0F3HOUT DX,ALINC DXMOV AL,0CHOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0F7HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY2LOOP P31MOV DX,PAMOV AL,0AEHOUT DX,ALINC DXMOV AL,0BHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08H P32: MOV DX,PAMOV AL,9EHOUT DX,ALINC DXMOV AL,07HOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0BEHOUT DX,ALINC DXMOV AL,0FHOUT DX,ALCALL DELAY2LOOP P32JMP P30 DELAY1: PUSH AXPUSH CXMOV CX,0030H DELY2: CALL DELAY2LOOP DEL Y2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3运行实验程序:在系统“P.”状态时,输入32F0,按EXEC键,L1~L12发光二极管模拟交通灯显示。
..’. 实验四8255A并行口实验-----交通灯控制一、8255A并行口实验(二)目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、8255A并行口实验(二)内容1、实验原理实验原理图如图所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
2、实验线路连接(1) 8255CS插孔连译码输出070H-07FH插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC33、实验步骤(1) 按图5-9连好实验线路(2) 运行实验程序在系统显示"DVCC-86H"状态下,按任意键,系统显示命令提示符"-"。
按GO键,显示"1000 XX"输入F000 :B1B0按EXEC键,在DVCC-8086H上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOAPT EQU 0070HIOBPT EQU 0071HIOCPT EQU 0072HIOBDATA EQU 0500HCONTPORT EQU 00DFH DATAPORT EQU 00DEHDATA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOBPTMOV AL,DS:[0501H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY1IOLED0: MOV AL,10100101BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]AND AL,10101111BOUT DX,AL..’. CALL DELAY2OR AL,01010000B OUT DX,ALCALL DELAY2 LOOP IOLED1 MOV DX,IOCPT MOV AL,0F0H OUT DX,ALCALL DELAY2 MOV AL,01011010B OUT DX,ALCALL DELAY1 CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPT MOV AL,DS:[0501H]AND AL,01011111BOUT DX,ALCALL DELAY2OR AL,10100000BOUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2JMP IOLED0 DELAY1: PUSH AXPUSH CXMOV CX,0030H DELY2: CALL DELAY2 LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000H DELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00 LED1: CMP BYTE PTR DS:[0600H],07HJA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DA TA1]MOV DX,DA TAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DHADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START。
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。
同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。
交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。
整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。
主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
一、课程设计目的:综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高软硬件设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
二、课程设计内容及要求: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的状态。
实验三 8255控制交通灯实验一、本实验所编写程序二、实验流程图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WRRD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R118四、调试与总结1.调试(1)焊接时注意各个器件的引脚处,注意区分各个电阻与电容的数值要仔细看清楚,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
(2)在设计电路时为节省引线数目利用P1.3作为电源驱动led但是这样驱动的led 亮度有限尤其是绿灯几乎不亮,所以测了一下高电平下的P1.3得知为2V左右所以改为5V 电源。
(3)在编写延时程序时尤其当延时常数太大时仿真时程序易错,所以使用定时器定时中断的方法,然后对定时计数以次延时。
2.总结通过本次课程设计较系统地掌握有关单片机控制的设计思想和设计方法,主要对AT89C5的结构、功能、内部资源等了解并对其进行测试和加以应用的知识得到学习。
这个设计的一些内容是在网上找的,自己做了一些的改动,在上网找资料的同时也学到了许多东西,找到了很多学习单片机的网站,里面的内容都比较适合我们初学者去学,有些网站还专门介绍这种单片机的类型、用法、功能等等。
其实我们平时不懂就应该自己去学习去弄明白,通过这个课程设计,使我发现,原来小小的一片单片机有这么强大的功能,能应用于各种领域。
集美大学计算机工程学院实验报告课程名称单片机原理、接口及应用实验名称8255控制交通灯实验实验类型设计型姓名学号日期地点成绩教师评语:第1页共5页1.实验目的与要求1)了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2)熟悉8255内部结构与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3)认真预习本实验内容,尝试自行编写程序,填写实验报告。
2.实验设备STAR 系列实验仪一套,PC 机一台3.实验环境星研集成环境4.实验内容1.编写程序:使用8255的PA0..2、PA5..7控制LED 指示灯,实现交通灯功能。
2.连接线路验证8255的功能,熟悉它的使用方法。
1)实验原理图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WR RD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R1182)实验装置的连线说明B4区:CS 、A0、A1——A3区:CS1、A0、A1 B4区:JP56(PA 口)——G6区:JP655.实验扩展及思考1.如何对8255的PC口进行位操作?答:8255的控制字中,D7位为1时表示方式选择,D7位为0时,表示对C口进行置为/复位。
实验九可编程接口芯片8255应用(交通灯控制)双击自动滚屏发布者:admin 发布时间:2005-9-8 阅读:2151次一、实验目的1、学习扩展简单I/O接口的方法以及双色灯的使用。
2、进一步学习微处理器的编程技术。
二、实验要求编写程序,以8255作为输出口,控制4个双色LED灯(可发红、绿、黄光)红绿交替闪亮。
三、实验说明1、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
2、本实验要求8255工作于方式0,四个双色灯红绿交替闪亮。
四、实验电路及连线将DG1~DG4,DR1~DR4用导线连至8255的PC0~PC7,8255的CS片选接至138译码处的200H~207插孔。
芯片在实验机的位置五、实验参考程序D1 EQU 10HD2 EQU 200HDA TA SEGMENTPB DB ?DA TA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH CSPOP DSMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,202HOUT DX,AL ;清LEDMOV DX,202H ;全红MOV AL,0F0HOUT DX,ALMOV BX,7fHCALL DL YBG: MOV AL,01101001B ;南北绿,东西红OUT DX,ALMOV BX,D2CALL DL YMOV CX,03HXH1: AND AL,0F6H ;绿灭OUT DX,ALMOV BX,D1CALL DL YOR AL,09H ;绿亮OUT DX,ALMOV BX,D1CALL DL YLOOP XH1OR AL,90H ;南北黄OUT DX,ALMOV BX,D1CALL DL YMOV BX,D1CALL DL YMOV AL,10010110B ;南北红,东西绿OUT DX,ALMOV BX,D2CALL DL YMOV CX,03XH2: AND AL,0F9HOUT DX,ALMOV BX,D1CALL DL YOR AL,06HOUT DX,ALMOV BX,D1CALL DL YLOOP XH2OR AL,60HOUT DX,ALMOV BX,D1MOV BX,D1CALL DL YJMP BGDL Y PROC NEARPUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDL Y ENDPCODE ENDSEND START六、思考题有紧急车辆或紧急情况出现,如何处理?程序如何设计?七、实验报告要求1、实验内容为必做内容,其中,思考题须自行设计电路、连线及编写程序。
实验四并行口8255A应用程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU 0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHORG 10e0HSTART: MOV DX,IOCONPT ;写8255控制字,3个口均为方式0输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;灭黄灯MOV AL,00HOUT DX,ALMOV DX,IOCPT ;灭绿灯,亮4个红灯MOV AL,0FHOUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ; ;点亮1、3路口绿灯亮,2、4路口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1 ;延时CALL DELAY1MOV AL,00001010B ; 灭1、3路口绿灯OUT DX,ALMOV CX,8H ;置计数值为8IOLED1: MOV DX,IOBPTMOV AL,50H ;点亮1、3路口黄灯OUT DX,ALCALL DELAY2 ;延时较短时间MOV AL,00H ;熄灭1、3路口黄灯OUT DX,ALCALL DELAY2 ;延时较短时间LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,10100101B ;点亮2、4路口绿灯亮,1、3路口红灯亮OUT DX,ALCALL DELAY1 ;延时CALL DELAY1MOV AL,00000101B ; 灭2、4路口绿灯OUT DX,ALMOV CX,8H ;置计数值为8IOLED2: MOV DX,IOBPTMOV AL,0A0H ;点亮2、4路口黄灯OUT DX,ALCALL DELAY2 ;延时较短时间MOV AL,00H ;黄灯闪烁8次OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个红灯路灭4个绿灯OUT DX,ALCALL DELAY2 ;延时较短时JMP IOLED0 ;循环DELAY1: PUSH AX ;延时子程序PUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START实验五定时计数器8253A应用CODE SEGMENTASSUME CS:CODEORG 1180HSTART: JMP TCONT ;定义起始地址TCONTRO EQU 0043H ;定义8253A控制口和0通道地址TCON0 EQU 0040HTCONT: MOV DX,TCONTRO ;写控制字,0通道输出方波MOV AL,36HOUT DX,ALMOV DX,TCON0 ;计数初值送0通道寄存器MOV AL,00H ;先写低8位00HOUT DX,ALMOV AL,10H ;后写高8位10HOUT DX,ALJMP $ ;结束CODE ENDSEND START实验十步进电机控制实验步进电机型号为20BY-0,+5V直流工作电源,步距角为18度,电机线圈由四相组成。