实验6.1_8255并行接口与交通灯控制
8255控制交通灯实验总结
8255控制交通灯实验总结
8255控制
交通灯实验总结
一、实验目的
1. 掌握8255控制器的控制原理和编程过程;
2. 学习8255控制器的编程、基本操作;
3. 通过实验指导的方式,掌握控制交通灯的基本原理;
4. 通过编程,实现交通灯控制系统的实现。
二、实验过程
1. 首先要对8255的编程进行编程,这就需要根据8255的控制字节和模式的要求进行操作;
2. 然后用它来控制交通灯,这需要根据交通灯的运行原理和总线接线的方式来编程控制它;
3. 然后对所做程序进行测试,以验证其控制的可靠性。
三、实验结果
通过本次实验,我们学会了怎样编程控制8255,并且学会了8255控制交通灯的方式,本次实验编程操作也顺利完成,经测试验证,程序实现的正确,交通灯可以根据8255控制运行。
四、总结
本次实验主要是让我们学习掌握8255模块的操作,实现8255控制交通灯的运行,实验结果证明,程序实现正确,交通灯可以根据8255控制运行。
今后,如果能继续拓展,可以把8255用来控制更复
杂的系统,这将有助于我们深入了解和掌握8255控制器的操作技术。
8255交通灯控制实验
交通灯控制实验计算机实验班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口共同控制黄灯的闪烁。
交通灯控制实验(TPC-USB 微机接口实验系统集成开发环境)
实验八 交通灯控制实验一、实验目的: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 并行口实验(二)一、实验目的掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255 做输出口,控制十二个发光管亮灭,模拟交通灯管理。
三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BH;8255控制口IOAPT EQU 0FF28H;PA口IOBPT EQU 0FF29H;PB口IOCPT EQU 0FF2AH;PC口ORG 11E0HSTART: MOV AL,82H;PB输入,PA,PC输出MOV DX,IOCONPTOUT DX,AL;写命令字MOV DX,IOBPT;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL;保存PBMOV DX,IOCONPT;8255控制口MOV AL,80HOUT DX,AL;写命令字,PA,PB,PC输出MOV DX,IOBPTMOV AL,DS:[0601H]OR AL,0F0HOUT DX,AL;将读入的PB状态重新置到PB上MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮CALL DELAY1;延时IOLED0:MOV AL,10100101BMOV DX,IOCPTOUT DX,AL;南北绿灯亮,东西红灯亮;-----------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时;------------------------此处为南北绿灯亮的时间-------------OR AL,0F0HOUT DX,AL;南北绿灯灭,东西红灯亮MOV CX,8IOLED1:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL;南北黄灯亮,东西黄灯亮CALL DELAY2;延时 --------------南北黄灯闪烁时间OR AL,01010000BOUT DX,AL;南北黄灯灭,东西黄灯灭CALL DELAY2;延时LOOP IOLED1;南北黄灯闪烁8次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;----------------------------------------------------------CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间---------------- MOV AL,01011010BOUT DX,AL;东西绿灯亮,南北红灯亮;---------------------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时;----------------------此处为东西绿灯亮的时间-----------------------------------OR AL,0F0HOUT DX,AL;东西绿灯灭MOV CX,8IOLED2:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL;东西黄灯亮,CALL DELAY2;延时 --------------东西黄灯闪烁时间OR AL,10100000BOUT DX,AL;东西黄灯灭,CALL DELAY2;延时LOOP IOLED2;东西黄灯闪烁8次,南北黄灯亦然MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;---------------------------------------------------------- CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间------------ JMP IOLED0;循环继续DELAY1:PUSH AXPUSH CXMOV CX,0030HDELY2:CALL DELAY2;延时,DELAY1延时是DELAY2的48倍LOOP DELY2POP CXPOP AXRETDELAY2:PUSH CXMOV CX,8000HDELA1:LOOP DELA1POP CXRETCODE ENDSEND START四、实验结果本实验实现了双路口的,交通灯循环。
微机原理实验交通灯控制实验(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口类推。
微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口..
目录一.内容 (2)二、技术资料 (2)三.原理 (7)四、电路图 (8)五、详细设计 (9)六.流程图 (11)七.代码 (11)八.调试过程及结果 (16)九.总结: (19)十、答辩 (20)十一、参考资料 (22)一.内容利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制。
设计要求如下:设有一个十字路口,东西南北方向,初始态为4个路口的红灯全亮。
之后,直行车道东西路口的绿灯亮,南北路口的红灯亮,转向灯东西路口的红灯亮,南北路口的绿灯亮。
延迟一段时间后,直行道东西路口黄灯亮,南北路口红灯亮,转向灯保持不变。
闪烁一段时间后,直行车道东西路口的红灯亮,南北路口的绿灯亮,转向灯东西路口的绿灯亮,南北路口的红灯亮。
延迟一段时间后,东西路口绿灯亮,南北路口黄灯亮,转向灯保持不变,之后,重复上述过程。
二、技术资料1、74LS1381)、74138译码器在本实验中的作用:由于在对8255A写控制字时只有C口可以实现高四位输入,低四位输出,然而集成箱中的接口不够多,因此通过74138译码器实现动态的设置到计时2)、74138译码器的功能分析:Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7S3二进制译码器74138 S2S1A2 A1 A0图一、74138译码器的引脚排列图和逻辑符号表1-3:74138译码器真值表输入输出S1 S1+S3 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 1 0 1 1 1 1 1 1 00 d d d d 1 1 1 1 1 1 1 1d 1 0 d d 1 1 1 1 1 1 1 12、8255A1)简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
并行接口8255实验报告
并行接口8255实验一、实验目的1.掌握可编程并行接口电路8255的工作原理及初始化方法2.掌握8255在实际应用中的硬件连接及编程应用二、实验要求根据实验室现有条件,针对实验任务,设计实验方案并进行实现三、实验内容通过使用8255,8253实现一个倒计时设备,具体的方法是,用户逐个打开开关,然后8255定时读取开关状态并输出给二极管,当所有灯都亮起时,输出一个高电平给Gate0,对8253而言,要求每1s查看一次用户是否摁下了所有开关,一旦是这样蜂鸣器就会响起来,然后给8253送一个锁存命令,查看计数器1和计数器0当前的计数值,锁存两个计数值,便于后期的计算和数据处理。
四、实验线路图其中,8255的各个端口分别是:F0H,F2H,F4H,F6H 8253的各个端口分别是:F8H,F9H,FAH,FBH 五、实验程序清单CSEG SEGMENTASSUME CS:CSEGSTART:;初始化8255和8253MOV DX,F6HMOV AL,1001000BOUT DX,ALMOV DX,FBHMOV AL,01110110BOUT DX,ALMOV AL,00110110B;选择8253计数器1MOV DX,F8HMOV AL,0OUT DX,ALMOV AL,10OUT DX,AL;选择8253计数器0MOV DX,FGHMOV AL,0OUT DX,ALMOV AL,10MOV CX,2000H;用CX延时,读取开关状态 NEXT:OUT DX,ALMOV DX,F2HIN DX,AL;输出开关状态,此时亮起灯,如果灯全亮起,蜂鸣器响起MOV DX,F4HOUT DX,ALLOOP NEXT;锁存两个计数器的计数值MOV AL,00110110BMOV DX,F8HOUT DX,ALMOV AL,01110110BMOV DX,F9HOUT DX,ALCSEG ENDSEND START六、实验总结及体会1.实验总结:本次实验中我设计了8086连接8253和8255的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。
四 8255A并行口实验-----交通灯控制
..’. 实验四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。
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秒,时间控制都是固泄的。
交通灯的时间控制显示,以固定时间值预先"固化”在单片机中,每次只是以一泄周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的, 是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,苴最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
实验五交通灯控制
实验五 8255A控制交通灯
一、实验目的
掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容
用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、程序框图
四、实验电路
五、编程提示
(1)通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、 PA0对应红灯,PB2、PA7、PA4、PAl对应绿灯,以模拟交通路灯的管理。
(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路口方向,之后,重复上述过程。
(3)程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。
(4)各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
六、实验步骤
(1)按实验电路图连接线路:
8255A PA0-L15 PA1-L14 PA2-L13 PA3-L11
PA4-L10 PA5-L9 PA6-L7 PA7-L6
PB0-L5 PB1-L3 PB2-L2 PB3-L1
(2)编写并运行实验程序
(3)按复位键RESET返回“P.”或按暂停键STOP+MON键返回“P”。
8255并行接口实验(精)
六. 编程提示
(1) 通过8255控制发光二极管PB3 PB0 PA5 PA2 对应黄灯,PB1 PA6 PA3 PA0对应红灯,PB2 PA7 PA4 PA1对应绿灯,以模拟交通灯的管理. (2) 程序中设定好8255A的工作方式,三个端口 均工作在方式0处于输出状态。 (3) 各发光二极管共阳极,使其点亮应使对应的 端口输出低电平。
实验一
8255并行接口实验
--------控制交通灯一.验目的掌握通过8255A并行口传输数据的方法, 以控制发光二极管的亮与灭.
二.实验目的
用8255作为输出口,控制十二个发光二极 管熄灭,模拟交通灯管理.
三 .程序框图
四 .实验电路
五 .实验步骤
(1)电路连线如下: 8255A PA0-L12 PA1-L11 PA2-L10 PA3-L9 PA4-L8 PA5-L7 PA6-L6 PA7-L5 PB0-L4 PB1-L3 PB2-L2 PB3-L1 (2)运行实验程序 在系统“P.”状态时,输入32F0,按EXEC键, L1~L12发光二极管模拟交通灯显示。
微机原理接口与技术实验四、控制交通灯
姓名
学号
实验组
实验时间
指导教师
成绩
实验名称
实验四、控制交通灯
实验目的
1.掌握通过8255A并行口传输数据的方法,以控制发光二级管的亮与灭。
实验内容
用8255A作输出口,控制十二个发光二级管然灭,模拟交通灯管理
实验环境
1.硬件:PC一台、8255A实验箱
2.软件:32位的Windows操作系统、Masm50、emu8086
OUT DX,AL
CALL DELAY1
MOV DX, 0ffd8h
MOV AL, 10101110b//1,3红灯,2、4绿灯
OUT DX,AL
INC DX
MOV AL,00001011b
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV CX,0008H
P2: MOV DX, 0ffd8h
MOV CX,0030H
DELAY2: CALL DELAY3
LOOP DELAY2
POP CX
POP AX
RET
DELAY3: PUSH CX
MOV CX,8000H
LOOP $
POP CX
RET
CODE ENDS
END START
实验总结
本次实验达到了实验目的,通过汇编语言模拟了交通灯的工作过程。对汇编语言有了更进一步的认识,基本掌握了通过8255A并行口传输数据的方法。
(3)按复位键RESET返回“P”或按暂停键STOP+MON键返回“P”
(4)代码
CODE SEGMENT
ASSUME CS:CODE
ORG 32F0H
8255A控制交通灯
一、实验内容
用8255A做输出口,控制十二 个发光二极管燃灭,模拟交通灯管 理。
二、实验目的
了解8255A芯片的结构及编程方法 学习模拟交通灯控制的实现方法
三、实验原理
硬件连接: 8255A作为连接红绿灯的接口,8255A 工作于方式0,B口、C口的各位与红绿 灯连接(如图); 实验程序 : 建立8255A的B口和C口的状态表。
8255A状态表
四、实验步骤
单片机实验箱加电前,按图连接好电路 对照8255A状态表编写程序
输入编写好的程序,执行程序,观察交通灯
(一)硬件连接图
并行接口芯片8255A
具有3个8位的数据口(A口、B口、C口) 具有3种工作方式:方式0、方式1、方式2 可以通过编程设置和改变功能
74LS240 8位反相三态输出驱动器
有8个输入口,8个输出口 数据输出可以锁存 输入与输出之间的关系: Y=A
_
ቤተ መጻሕፍቲ ባይዱ
(二)实验程序流程图
微机课程设计_应用8255A实现交通灯控制
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。
同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。
交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。
整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。
主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
汇编语言 8255并行接口实验
实验7 8255并行接口实验实验目的1.学习8255 芯片的使用方法;2.学习模拟交通灯控制的方法;实验设备PC机一台,THTWK-2实验箱一台实验要求1.编写程序,以8255 的C 口作为输出口,控制4 个双色LED 灯(可发红,绿,黄光),模拟十字路口交通灯管理。
2. 编写程序,以8255的C口作为输出口,用开关控制控制一排发光二极管的亮灭。
实验内容1及实验原理双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
使用8255的端口C 控制双色灯。
8255的CS由CPLD输出,决定了8255的起始地址为40H。
8255的A0,A1地址线分别接了32位总线A2,A3,决定了A、B、C和状态口地址分别为40H、44H、48H和4CH。
假设一个十字路口为东西南北走向。
初始状态0 为东西红灯,南北红灯。
然后转状态1 南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
注意:LED灯亮灭的间隔时间是由延时程序来控制的,如果计算机的速度过快,LED灯亮灭的间隔时间就比较短,实验现象就不明显。
可通过调整延时程序使实验现象更明显。
实验步骤1.接线:用8位数据线将8255模块的JD3D连接到32位LED显示模块的JD4B。
2.把D盘“程序”文件夹中Traffic.asm文件复制到BIN 路径下。
3.重起计算机进入MAXDOS,然后进入纯DOS环境。
使用cd命令到BIN 路径下,输入下面命令后回车。
4.编译:tasm /zi Traffic.ASM5.连接:tlink /v/3 Traffic.OBJ6.运行:Traffic.EXE运行结果如下图所示:按PC键盘(任意键),启动交通灯,再按PC键盘任意键,则程序退出。
交通灯控制实验(8255)
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的
掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式
二、实验内容
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的 掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式 二、实验内容 通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。如图,L7、L6、L5作为南 灯的模拟控制。如图,L7、L6、L5作为南 北路口的交通灯与PC7 PC6、PC5相连 PC7、 相连, 北路口的交通灯与PC7、PC6、PC5相连, L2、L1、L0作为东西路口的交通灯与 作为东西路口的交通灯与PC2 L2、L1、L0作为东西路口的交通灯与PC2 PC1、PC0相连 相连。 、PC1、PC0相连。编程使六个灯按交通灯 变化规律燃灭。 变化规律燃灭。
交通灯控制
二、实验内容
通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。 L7、L6、L5作为 灯的模拟控制。如下图,L7、L6、L5作为 南北路口的交通灯与PC7 PC6、PC5相连 PC7、 南北路口的交通灯与PC7、PC6、PC5相连 L2、L1、L0作为东西路口的交通灯与 ,L2、L1、L0作为东西路口的交通灯与 PC2、PC1、PC0相连 相连。 PC2、PC1、PC0相连。编程使六个灯按交 通灯变化规律燃灭。 通灯变化规律燃灭。
交通灯控制
三、实验电路
8255 地址: 地址:
控制寄存器: 控制寄存器: C口地址: 口地址: 28BH 28BH 288H 288H
8255控制交通灯的设计与实现
INT0: MOV MOV SETB
LOOP: JBC SJMP
LOOP1: RET
TH1,#0BH TL1,#0DCH TR1 TF1,LOOP1 LOOP
8255控制交通灯的设计与实现
——2200050231 廉海涛
课题要求:
用8255做输出口,控制十二个发光二 极管亮灭,模拟交通灯管理。十字路口东 西南北走向。初始状态0为东西红灯,南 北红灯。状态1(10s),东西绿灯通车, 南北红灯;状态2(3s),东西绿灯灭, 黄灯闪几次,南北红灯;状态3(10s), 东西红灯,南北绿灯通车;状态4(3s), 东西红灯,南北绿灯灭,黄灯闪几次。依 次循环
ZT4: MOV MOV MOVX MOV MOV
AGAIN: MOV MOVX LCALL MOV MOVX LCALL DJNZ LJMP
DPTR,#0FF7DH A,#0A0H @DPTR,A DPTR,#0FF7EH R2,#30H A,#03H @DPTR,A INT0 A,#00H @DPTR,A INT0 R2,AGAIN ZT1
软件设计:
▪ 1/4秒钟的设定
延时方法可以有两种一种是利用MCS-51内部定时器才 产生溢出中断来确定1/4秒的时间,另一种是采用软延时 的方法。 假设cpu晶振周期为12MHZ。 1.查询中断: 1/4s=250ms=250 000us=4×62 500个机器周期。 62 500=F424H=1111 0100 0010 0100B 对(1111 0100 0010 0100B)求补
MOVX LCALL MOV MOVX LCALL DJNZ ZT3: MOV MOV MOV MOV MOV MOV MOV DELAY: LCALL
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8255端口地址:
控制寄存器地址28BH
A口的地址288H
B口的地址289H
C口的地址28AH
实验程序:
DATA SEGMENT
BUF1 EQU 00100100B ;南北绿灯亮东西红灯亮BUF2 EQU 01000100B ;南北黄灯亮东西红灯亮BUF3 EQU 00000100B ;南北灯灭东西红灯亮BUF4 EQU 10000001B ;南北红灯亮东西绿灯亮BUF5 EQU 10000010B ;南北红灯亮东西黄灯亮BUF6 EQU 10000000B ;南北红灯亮东西灯灭DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,80H
MOV DX,28BH
OUT AX,AL
ALL: MOV AL,BUF1
MOV DX,28AH
OUT DX,AL
CALL DELAYL
MOV CX,5
YEL1: MOV AL,BUF2
MOV DX,28AH
OUT DX,AL
CALL DELAYS
MOV AL,BUF3
MOV DX,28AH
OUT DX,AL
CALL DELAYS
LOOP YEL1
MOV AL,BUF4
MOV DX,28AH
OUT DX,AL
CALL DELAYL
MOV CX,4
YEL21: MOV AL,BUF5
MOV DX,28AH
OUT DX,AL
CALL DELAYS
MOV AL,BUF6
MOV DX,28AH
OUT DX,AL
CALL DELAYS
LOOP YEL2
JMP ALL
MOV AH,4CH
INT 21H
DELAYL PROC NEAR ;长延时
PUSH CX
PUSH DI
Y1:MOV CX,2000H
X1:MOV DI,2000H
DEC DI
JNE X1
LOOP Y1
POP DI
POP CX
RET
DELAYL ENDP
DELAYS PROC NEAR ;短延时
PUSH CX
PUSH DI
Y2:MOV CX,500H
X2:MOV DI,1000H
DEC DI
JNE X2
LOOP Y2
POP DI
POP CX
RET
DELAYS ENDP
CODE ENDS
END START
桂林电子科技大学信息与通信学院。