实验十三 可编程并行接口8255A芯片实验
8255并行口实验

JZ NEXT
MOV AL,00H
NEXT:MOVAL,0FFH
”
结果无论开关是否闭合,全都不亮,后来发现只需在中间加上个跳转语句就行了。
实验程序如下
附录
实验题1:
ASSUME CS:CODE学号
113200880200057
专业年级
电子信息工程2008级
实验题目
8255并行口实验
实验目的
1、掌握可编程并行接口8255的初始化及其应用
2、掌握汇编语言源程序的设计方法
实验内容
实验内容1:8255A的A口作为输入口,与逻辑电平开关K1~K8相连。8255A的B口作为输出口,与发光二极管LED1~LED8相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当开关ki置于L时,对应发光二极管LEDi点亮;置于H时熄灭。
TEST AL,01H;测试PA0的状态
JZ NEXT;PA0为0则跳转
MOV AL,00H;否则全亮
JMP LOOP2
NEXT:MOV AL,0FFH;置全灭
LOOP2:MOV DX,04A2H
OUT DX,AL;输出,控制灯的开关
JMP LOOP1
CODE ENDS
END START
CODE SEGMENT PUBLIC
ORG 100H
START:MOVAL,10010000B
MOV DX,04A6H
OUT DX,AL;送出8255的控制字
LOOP1:MOV DX,04A0H
IN AL,DX;读入A口的状态
实验三、8255A并行接口实验

实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。
微机实验三 8255A接口实验

实验三 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发光二极管模拟交通灯显示。
可编程并行IO接口8255案例

第 6 章可编程并行I/O接口8255A案例6.1:8255读取并显示开关状态1)要求:正确设定8255A并行端口的工作方式,设计电路并编制程序,实现将PB口的开关状态通过PA口的发光二极管显示出来。
2)目的:通过了解8255A芯片引脚的内部结构,掌握输入输出的实验方法,正确应用8255A的各个端口。
案例6.1实现——8255读取并显示开关状态1.实现过程设定8255A的PA口和PB口为方式0,并指定PB口所连接的开关为输入,PA口所连接的发光二极管为输出,通过编写程序,由8086CPU将PB口的开关状态读入并通过PA口输出,以显示开关的状态。
2.电路原理图的设计利用Proteus对本案例仿真连接如图 6.1所示。
该仿真电路以错误!未找到引用源。
作为基本的原理图。
采用74LS373作为地址锁存器保存端口地址,对于8255A的片选信号CS直接接地使其处于有效状态。
在程序中设定PB 为输入端口,PA为输出端口。
电路将8个开关的状态通过8255A的PB口送入CPU,经过处理后,将数据从8255A的PA送出到发光二极管进行显示。
例如,若开关k0处于闭合状态,则发光二极管D1应处于发光状态。
图 6.1 8255A读取开关状态并显示仿真效果图3.案例汇编程序设计该案例中所使用的程序代码如下所示。
CODE SEGMENT 'code'ASSUME CS:CODESTART: ;假设A口、B口、C口及控制端口地址分别为:20H, 22H, 24H, 26H MOV AL,82H ;控制字,1 0000 010,A口输出(初始输出全为0),B口输入OUT 26H,AL ;送控制端口N: IN AL,22H ;从B口读入OUT 20H,AL ;从A口输出JMP NCODE ENDS案例6.2:8255A实现键盘接口1)要求:正确设定8255A并行端口的工作方式,设计电路并编制程序,利用PC口的高4位和低4位实现键盘的扫描,并利用数码管显示对应键值。
8255并口实验

8255并口实验8255A并行口实验(一)目的1. 掌握8255A和微机接口方法。
2. 掌握8255A的工作方式和编程原理。
8255A并行口实验(一)内容1、实验原理如实验原理图5-8所示,PC口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。
拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。
图5-82、实验线路连接(1)8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3)8255A的CS插孔接译码输出070H-07FH插孔。
3、实验步骤(1) 按图5-8连好线路。
(2) 运行实验程序。
在系统显示"DVCC-86H"状态下,按任意键,显示器显示"-"。
按GO键,显示"1000 XX"输入F000 :B160再按EXEC键,在DVCC-8086H显示上显示器"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOCPT EQU 0072HIOBPT EQU 0071HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0500HSTART: JMP IOLEDIOLED: CALL FORMA TCALL LEDDISPMOV AL,89HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DA TA1]MOV DX,DA TAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMA T: MOV BX,0MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],6D6DHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BHRETCODE ENDSEND START8255A并行口实验(二)目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
8255实验-微机原理与接口技术

实验线路连接
(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3) 8255A的CS插孔CS-8255接译码输出Y7插
孔。
要求: ① 读懂系统程序中有关 8255A 的部分。
包括:端口地址、初始化编程、 二极管发光情况与开关状态间的对应关系
并使其根据开关 K1~ K8 的状态发光。 · 以 K8 作为总开关,
若 K8打开(0),则 L1~ L8同时熄灭; 若 K8闭和(1),则 L1~ L7由K1~ K7控 制。
IOCONPT EQU 0073H IOCPT EQU 0072H IOBPT EQU 0071H IOAPT EQU 0070H
② 执行程序,并进行观察,记录。 PC 口 8 位接 8 个开关 K1~ K8 , PB 口 8 位接 8 个 LED 发光二极管 L1~ L8 , 并使其根据开关 K1~ K8 的状态发光。
③ 改变电路接法并修改程序,要求实现:
· PA 口 8 位接 8 个开关 K1~ K8 ,
PB 口 8 位接 8 个发光二极管 L1~ L8
IOLED: CALL FORMAT CALL LEDDISP
MOV AL,90H B口输出
;10010000 写方式控制字 方式0 A口输入
MOV DX,IOCONPT
OUT P
IOLED1: MOV DX,IOAPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
并行接口 8255 的应用
1、实验目的 掌握8255A和微机接口方法。 掌握8255A的工作方式和编程原理。
2、实验内容
8255A并行口实验

8255A并行口实验㈠方波硬件实验一8255A并行口实验(1) 方波CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODEORG 32C0HH1: JMP STARTP1PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBH STARTP1:MOV DX, PCTLMOV AL, 80HOUT DX , ALMOV AL, 55HP11: MOV DX, PAOUT DX, ALINC DXOUT DX, ALINC DXOUT DX, ALMOV CX, 0800HLOOP $NOT ALJMP P11CODE ENDSEND H1实验目的掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件的设计方法。
实验内容在8255A.B.C口用示波器测出波形。
实验步骤⑴在系统处于“P.”状态时,输入程序入口地址32C0,按EXEC 键,系统显示执行提示符“「”。
⑵用示波器观察8255 A.B.C口波形。
8255A并行口实验㈡PA输入、PB输出实验目的⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
实验内容用8255 PA作开关量输入口,PB作输出口。
编程提示8255A芯片简介8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作:方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向选通工作方式使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB口显示。
PB口工作在方式0作为输出口。
实验步骤⑴按实验电路图连接线路:①8255A芯片A口的PA0~PA7依次和开关量输入插孔K1~K8相连。
②8255A芯片B口的PB0~PB7依次接L1~L8⑵运行实验程序。
并行接口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的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十三可编程并行接口8255芯片实验
一、实验目的
1、了解8255芯片的结构和功能。
2、掌握8255初始化程序的设计方法。
3、学会8255和CPU信号的连接方法。
二、电路逻辑图
三、实验内容
第一题:
由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,每个状态保持1秒钟。
源程序:
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,283H;向8255送控制字MOV AL,80H
OUT DX,AL
MOV CX,16;设置计数次数
MOV AL,00H;设置初始显示值L1:MOV DX,280H;A口输出
OUT DX,AL
CALL DELAY;延时1秒
INC AL;显示状态加1
LOOP L1;16次循环
MOV AH,4CH
INT 21H
DELAY PROC NEAR;1秒延时子程序PUSH CX
MOV BX,299H
FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
第二题:
用8255方式1将4位开关量设置的二进制数由B口选通输入CPU,3秒钟后由A口选通输出送LED显示。
要求通过对状态字IBFB和OBFA的测试来控制程序运行。
STBB和ACKA 由消抖电路产生。
源程序:
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,283H;向8255送控制字
MOV AL,0A6H
OUT DX,AL
MOV DX,282H;读C口状态字,检测IBF
L1: IN AL,DX
AND AL,02H;和02H相与
JZ L1;为高时数据已锁存,向下继续
MOV DX,281H;读B口数据AGAIN:IN AL,DX
CALL DELAY;延时3秒
MOV DX,280H;通过A口输出
OUT DX,AL
MOV DX,282H;读C口状态
L2: IN AL,DX
AND AL,80H;检测OBF,为高说明ACK 信号已有,可返回主程序
JZ L2
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时3秒程序
PUSH CX
MOV BX,399H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET DELAY ENDP CODE ENDS
END START
选做题一:
用8255A芯片设计一个输出接口,从键盘输入0~F的任意一个字符后,LED显示相应的值。
源程序:
CODE SEGMENT
ASSUME CS:CODE
START:MOV CX,16;设置循环次数
L1: MOV AH,01H;调用1号功能
INT 21H
CMP AL,39H;输入的数和39H比较
JBE NEXT;不大于则跳转
SUB AL,07H;大于要减去7H NEXT: SUB AL,30H;减去30H得到对应的数MOV BL,AL;存到BL中
MOV DX,283H;向8255送控制字
MOV AL,80H
OUT DX,AL
MOV AL,BL
MOV DX,280H;A口输出
OUT DX,AL
CALL DELAY;延时1秒
LOOP L1;16次循环
MOV AH,4CH
INT 21H
DELAY PROC NEAR;1秒延时子程序PUSH CX
MOV BX,299H
FOR1:MOV CX,0FFFFH
FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
选做题二:
用8255A芯片设计一个输入接口,将四位开关量的值显示在屏幕上。
源程序;
DATA SEGMENT
TABLE DB '0','1','2','3','4','5','6','7'
DB '8','9','A','B','C','D','E','F'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,5;设置循环次数
NEXT:MOV DX,283H;向8255送控制字
MOV AL,0A6H
OUT DX,AL
MOV DX,282H;读C口状态字,检测IBF L1: IN AL,DX
AND AL,02H;和02H相与
JZ L1;为高时数据已锁存,向下继续
MOV DX,281H;读B口数据
IN AL,DX
CALL DELAY;延时3秒
MOV AH,0;屏蔽高四位
MOV SI,AX;送入SI中
MOV DL,[SI];把对应数值存入DL
MOV AH,02H;调用2号功能
INT 21H
LOOP NEXT
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时3秒程序
PUSH CX
MOV BX,199H
FOR1:MOV CX,0FFFFH
FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
选做题三:
用8255A芯片设计一个输入接口,当开关来回扳动一次后在屏幕上显示“1”,下一次来回扳动后在屏幕上显示“2”,……。
源程序:
CODE SEGMENT ASSUME CS:CODESTART:
MOV CX,5;设置循环次数
MOV BL,31H
NEXT: MOV DX,283H;向8255送控制字
MOV AL,0A6H
OUT DX,AL
MOV DX,282H;读C口状态字,检测IBF
L1: IN AL,DX
AND AL,02H;和02H相与
JZ L1;为高时数据已锁存,向下继续
MOV DX,281H;读B口数据
IN AL,DX
CALL DELAY;延时3秒
MOV DL,BL;把对应数值存入DL
MOV AH,02H;调用2号功能
INT 21H
INC BL;BL加1
LOOP NEXT
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时3秒程序
PUSH CX
PUSH BX
MOV BX,199H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP BX
POP CX
RET DELAY ENDP CODE ENDS
END START
四、实验总结
本次实验我们主要学习了8255A芯片的相关知识,,首先要弄清楚它的内部构造,各个端口的作用,以及8255A的几种方式选择控制字的功能,接下来是实验电路的连接。
在编写程序时积极动脑,根据题目要求,适当利用前面所学内容,如调用DOS功能等,编写起来还是挺简单的,关键是出现问题要细心耐心调试,有时候一个小小的分号就能导致整个程序不能成功运行。