8255并口实验详解
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口的状态
8255并口实验详解

xxxx大学计算机学院实验报告一、实验内容与要求1.1 实验内容(1)8255方式0实验从8255端口C输入数据,再从端口A输出(2)8255方式1输出实验编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。
(3)8255方式1输入实验编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
1.2 实验要求(1)8255方式0实验实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。
改变开关的状态,灯的亮暗也随之改变。
(2)8255方式1输出实验实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。
中断8次结束。
(3)8255方式1输入实验实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
二、实验原理与硬件连线2.1 实验原理CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。
8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择先A1A0=11)8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。
方向选择控制字用于设置各端口的工作方式。
方式0称为基本输入/输出方式。
该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。
在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。
采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。
方式1称为选通输入/输出方式。
综合实验七 8255并口扩展实验

实验七 8255并口扩展实验一、实验目的1.理解单片机并口编程方法; 2.掌握8255编程方法; 二、实验原理及内容1.实验原理8255资料读者可以参考微机原理相关内容或者参考光盘中的器件资料中的相关文档。
下图是8255在该实验系统的应用。
如图8-9所示,读写信号与单片机的接口如图所示。
A11通过跳线J408作为8255A 的片选信号。
实验系统工作原理:任意按下PA 口的键,对应的PB 发光二极管会亮,直到放下按键,PC 口在该实验系统中没有使用。
RESTRD WR A0A1D0D1D2D3D4D5D6D7A11PB0PB1PB2PB3PB4PB5PB6PB7PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5PC6PC711223344556677Vss 899101011111212131314141515Vdd 16s w 8K401SW8AD0AD1AD2AD3AD4AD5AD6AD7D0D1D2D3D4D5D6D7D03D14D27D38D413D514D617D718OE 1CP 11Q02Q15Q26Q39Q412Q515Q616Q719VCC 20GND 10U40874LS373R4081K R4091K R4101K R4111K R4121K R4131K R4141K R4151KR4161K R4171K R4181K R4191K R4201K R4211K R4221K R4231KVCCPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7D0D1A0A1GND ALE V401LED V402LED V403LED V404LED V405LED V406LED V407LED V408LED VCCC404104C405104+C40610u R42410KVCCGND D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS6GND 7VCC26U4078255AS405SW-PB S406SW-PB S407SW-PB S408SW-PB S409SW-PB S410SW-PB S411SW-PB S412SW-PB GNDGND VCCVCCGNDGND612J408CON2R4274.7KVCC图8-9 8255应用原理图2.实验内容1)将扩展板的电源J501与主板的电源接口J2或J14连接起来;将扩展板的信号接口J500与主板的信号接口J15或J13连接起来。
实验七 8255并行IO接口

实验七8255并行I/O口一、实验目的8255可编程并行I/O接口有三个通道和三种工作方式.其中A,B通道和外设交换数据,C 通道和外设交换状态信息。
8255并行I/O接口与外设交换的方式由软件预先设置,该过程称为初始化.1.学会正确使用8255和CPU及外设的接口方法,2.掌握8255的编程原理,3.熟悉外设的信息通过8255和CPU的交换过程二、实验内容1.用8255的A端口控制8个LED发光二极管的循环亮灭.其硬件线路连接如图4.2所示2.编程:要求通过软件延时程序控制8个指示灯周而复始的循环点亮.3.编程提示8255的控制字如下:Array三、程序框图略四、程序清单;FILENAME:8255.ASM;THIS PROGRAM IS USED FOR TEST OUTPUT OF 8255'S A PORT;NOTICE:;CHIP:8255;CS--Y2(74LS138):210H--217H;PA0--PA7==LEDPORT_8255_A EQU 210HPORT_8255_B EQU 211HPORT_8255_C EQU 212HCONTROL_PORT_8255 EQU 213HDA TA SEGMENT PARA 'DATA'BUFFER DB 100 DUP(?)DA TA ENDSSTACK SEGMENT PARA STACK 'STACK'STA DB 1024 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENT PARA 'CODE'ASSUME CS:CODE,DS:DA TA,SS:STACK,ES:DATA MAIN PROC FARBEGIN:MOV AX,DA TAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,TOPMOV DX,CONTROL_PORT_8255MOV AL,10000000B ;A PORT:MODE 0,OUTPUTOUT DX,ALMOV DX,PORT_8255_AMOV AL,0FFHOUT DX,ALMOV AL,0FEHMOV CX,0A0HAGAIN3:OUT DX,ALMOV BX,0A0H ;DELAY TIMEAGAIN2:MOV SI,2FFFHAGAIN1:NOPNOPDEC SIJNZ AGAIN1DEC BXJNZ AGAIN2 ;DELAY TIME ENDSROL AL,1DEC CXJNZ AGAIN3MOV DX,PORT_8255_AMOV AL,0FFH ;CLOSE LEDOUT DX,ALMOV AX,4C00H ;RETURNINT 21H MAIN ENDP CODE ENDSEND BEGIN。
微机实验 可编程并行接口8255

微机原理实验报告实验题目:可编程并行接口8255一、实验目的1、掌握8255的基本输入输出和PC端口位控的工作方式及应用编程。
2、掌握8255的典型应用电路接法。
二、实验知识回顾8255控制字1、控制方式2、C端口置位复位控制字三、实验内容1、 8255流水灯显示,首先用逻辑电平开关预置一个数字,从A口读入,写入01H到C端口上,左移一次在进行输出,A口读入数据作为左移次数,这样循环下去,从而实现流水灯的显示。
2、用PC端口位控制法控制LED灯,依次点亮LED灯。
四、实验器材微机原理实验箱1个电脑(带TPC-USB软件)1台插线若干五、实现过程1、8255流水灯显示(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,90h ;方式0A口输入C口输出out dx,al ;mov dx,io8255a ;A口的地址存入dxin al,dx ;从dx也就是A口读入数据mov la,al ;读入的数据暂存在la变量mov dx,io8255c ;C口的地址存入dxmov al,01h ;将寄存器最低位置零out dx,al ;置位后的值输入给dx,也就是C口mov lb,al ;置位后的值暂存于变量lbloop1:call delaymov al,la ;将A口数据写入CX用以计数mov ch,00hmov cl,laloop2:call delaymov al,lbrol al,1 ;在寄存器内进行位移操作mov lb,al ;将操作后的结果重新写入变量al,为后面调用做准备mov dx,io8255c ;dx代表C口的地址out dx,al ;将al中存储的值写入dx,即C口mov ah,1 ;选择dos的模式为从键盘读取数据int 16h ;进入中断jnz quit ;ZF为0则跳到quitdec cx ;计数器减一jnz loop2 ;若cx!=0,跳到loop2quit:mov ax,4c00h ;结束程序并退出int 21hdelay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start2、位控设置C口输出点亮LED(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,00001111b ;位控设置C口最高位为1out dx,almov cx,7 ;剩余未点亮灯数为7 loop1:call delaydec aldec alout dx,aldec cxjnz loop1delay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start(3)实验结果图六、小结通过本次试验,我进一步了解了8255的可编程性,以及如何正确的通过程序控制8255,也更加熟悉了8255 C 端口的位控输出。
微机接口实验报告8255并口控制器实验

微机接口实验报告8255并口控制器实验8255并口控制器实验一.实验目的:1,掌控8255的工作方式和应用领域编程;2,掌控8255的典型应用领域电路三相。
二.实验设备pc微机一台,td―pit+实验系统一套。
三.实验内容:编写程序,并使8255的a口味输入b口为输出,顺利完成敲击控制器至数据等的数据传输。
建议:只要敲击控制器,数据灯的现实就可以发生改变。
四.实验原理:并行接口就是以数据的字节为单位与i/o设备或被掌控对象之间传输信息。
cpu和USB之间的数据传输总是循序的。
8255并行控制器具有abc三个并行接口,用+5v但电源供电,能在一下三种方式下工作:方式一:基本输出|出来方式方式二:选道输出|出来方式方式三:双向选项工作方式五.实验步骤:1.证实从pc着急带出的两根扁平电缆已经相连接在实验平台上。
2.相连接实验先例参照右图:3.运行check成功内需,查看i/o空间始地址。
4.利用查出的地址编写程序,然后便于链接。
5.运行程序,拨动开关,看数据灯显示是否正确。
六.编程与调试:1.使用ckeck程序找到ioyo空间始址:dcooh2.编写程序:ioyoequodcoohaaequioyo+0*4bbequioyo+1*4ccequioyo+2*4modeequioyo+1*4stack1seqme ntstackdw256dup(?)stack1endscodeseqmentassumecs:code,ss:stack1stack:movbx,odcoohnext:movdx,bbinal,dxoutdx,almovah,1in t16hjznextmovah,40hint21hcodeendsendsstart3.编程,链接,运转程序七.实验结果:运转程序后,数据灯随着控制器的变化而变化,即为控制器拨打时,数据灯亮,控制器断裂时,数据灯攻灭。
八.实验总结:通过本次实验,对8255并口控制器存有了一定的介绍,掌控了掌控8255的工作方式和应用领域编程,掌控8255的典型应用领域电路三相。
实验九 可编程并行口8255

实验九可编程并行口8255
一.实验目的
掌握可编程并行口芯片8255的原理与应用。
二.硬件连线
PA0~PA7接发光二极管L0R~L7R,
PB0~PB7接开关K0~K7,
CS8255 接地址译码器Y1(288~28FH)。
输出实验中,PC6接单正脉冲;输入实验中,PC2接单正脉冲;
PC3接PC总线的IRQ7。
PC0接PC总线的IRQ7。
三.实验原理
8255是可编程并行口接口芯片,,它是三个8位并行口,有0、1、2三种工作方式。
按本实验连线,A、B、C口及控制口的端口号分别为288H、289H、28AH、28BH。
8255工作于方式1或2时,PC口的一些引脚作为A和B口的联络信号线,如下表:
四.实验编程及实验内容
1.输出:每接一次正脉冲使发光二极管显示由右向左显示移动一位,初始状态是最右边的发光二极管,其余灭。
PC机键盘按任意键结束。
2.输入:每按一次正脉冲使CPU读入拨动开关设置值,当成ASCII在屏幕上显示。
PC 机键盘按任意键结束。
3.将实验十三改为用8255实现,PA作为位型口,PB作为字型口,PC作为键盘输入口,请自行考虑如何连线,及修改程序。
实验五 8255并行接口实验

实验五 8255并行接口实验实验目的:1、学习并掌握8255的各种工作方式及其应用。
2、学习在系统接口实验单元上构造实验电路。
相关理论知识:一、8255可编程并行接口芯片介绍8255是Intel 公司生产的通用并行IO 接口芯片,它具有ABC 三个并行接口,能在以下三种方式下工作:方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式8255工作方式控制字及C 口置位/复位控制字如下图所示:ABC 三60H~63H 。
8765432121222319208.50 8255A 工作方式控制字格式A 组控制B 口方式选择输出01010101X输入输出输入方式0方式1方式2B 组控制C 口(低4位)B 口方式选择输出010100输入输出输入方式0方式1C 口(高4位)D 7D 6D 5D 4D 3D 2D 1D 0A 组控制B 口方式选择输出010100101X 输入输出输入方式0方式1方式2B 组控制C 口(低4位)B 口方式选择输出010100输入输出输入方式0方式1C 口(高4位)实验内容及实验步骤:一、8255接口应用实验(1)按图所示实验线路编写程序,使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/输出功能。
STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART: MOV AL, 82HOUT 63H ,ALA1:IN AL,61HOUT 60H,ALJMP A1CODE ENDSEND START实验步骤:(1)按图接线,接通电源。
(2)输入程序并检查无误,经汇编、连接后装入系统。
(3)运行程序,拨动开关组,观察发光二极管与开关组状态的对应关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xxxx大学计算机学院实验报告一、实验内容与要求1.1 实验内容(1)8255方式0实验从8255端口C输入数据,再从端口A输出(2)8255方式1输出实验编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。
(3)8255方式1输入实验编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
1.2 实验要求(1)8255方式0实验实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。
改变开关的状态,灯的亮暗也随之改变。
(2)8255方式1输出实验实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。
中断8次结束。
(3)8255方式1输入实验实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
二、实验原理与硬件连线2.1 实验原理CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。
8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择先A1A0=11)8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。
方向选择控制字用于设置各端口的工作方式。
方式0称为基本输入/输出方式。
该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。
在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。
采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。
方式1称为选通输入/输出方式。
该方式下,端口A、端口B可作为数据传输口,而端口C 的一些引脚规定作为端口A、端口B的联络控制信号,有固定的搭配规定。
在方式1时,CPU和8255A之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。
当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。
当端口A作为方式1输出时,端口C的PC7、PC6、PC3作为端口A的联络控制信号。
状态字通过读端口C获得。
需要强调,从端口C读出的状态字与端口C的外部引脚的状态无关。
2.2 硬件连线(1)8255方式0实验1连接实验电路,8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路L0~L7U18 8255K0 K1K5L0L1L2L3L4L5L6L7图2-2-1 实验一接线(2)8255方式1输出实验变成实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断请求,让CPU进行一次中断服务:一次输出01H、02H、04H、08H、10H、20H、40H、80H使L0~L7依次发光,中断8次结束。
图2-2-2 8255方式1输出实验电路连接图(3)8255方式1输入实验每按一次按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,执行中断8次结束程序。
图2-2-3 8255方式1输入实验三、设计思路、步骤和程序流程图3.1 设计思路芯片:8253A(1)8255方式0实验为了传递外部信息,可以把C口作为输入端,接逻辑电平开关,用控制逻辑电平开关的方法来改变输入的数据。
端口A作为数据的输出端,控制LED灯的亮暗。
高电平输出时,LED灯亮起;输出低电平时,LED灯暗灭。
每次循环判断键盘有无键按下,若有,结束程序;若没有,继续输入输出数据。
(2)8255方式1输出实验用PC3、PC6作为端口A的联络信号,INTE的设置是通过端口C的置位/复位命令字来实现的。
将PC6置1,则INTEA置1,端口A允许发出中断请求信号。
PC3,PC6清0,则禁止中断。
为了实现LED灯依次发光的特效,可以这样控制数据端:对控制值每一次循环逻辑左移一位,表示该位置高电平,其余位置零。
送至相应端口,即可实现依次亮起LED灯的效果。
(3)8255方式1输入实验INTE的设置是通过端口C的置位/复位命令字来实现的。
将PC4置1,则INTEA置1,端口A允许发出中断请求信号。
PC4,PC2清0,则禁止中断。
中断服务程序:通过A口读取逻辑电平预置的二进制码,进行输出处理。
若该数大于9,则需除以10,输出高位后再输出低位。
若该数小于10,则可以直接输出(加30H)显示。
判断计数器的值,若为0,结束该程序。
若不是,中断返回。
3.2 实验步骤(1)8255方式0实验1.连接实验电路图。
8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路L0~L7。
2.写方式控制字10001001B:A口方式0输出,C口输入3.读取C口预置的数据,送A口输出4.判断是否有键按下,若有,终止程序。
若无,继续。
(2)8255方式1输出实验1.按照电路图连线。
2.设置中断向量,写中断屏蔽字,PC6置1,开中断。
3.设置方式控制字10100000B:设置A口方式1输出4.等待硬中断。
A口中断输出,BL左移一位。
5.判断CF是否位1。
若是,关中断,结束程序。
若不是,中断返回。
(3)8255方式1输入实验1.按照电路图连线。
2. 设置中断向量,写中断屏蔽字,PC4置1,开中断3.设置方式控制字10110000B ;设置A口方式1输入4.等待硬中断。
A口中断输入,送输出处理5.判断。
若数据大于10,除以10后,输出高位再输出低位。
否则,直接输出。
6.判断。
计数器若大于0,中断返回。
否则,关中断,结束程序。
3.3 程序流程图图3-3-1 8255方式0实验图3-3-2 8255方式1输出实验(主程序)图3-3-3 8255方式1输出实验(中断服务程序)图3-3-4 8255方式1输入实验(主程序)图3-3-5 8255方式1输入实验(中断服务程序)四、程序清单与执行结果4.1 程序清单(1)8255方式0实验DA TA SEGMENTDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,28BHMOV AL,10001001B ;A口方式0输出,C口输入OUT DX,AL ;方式字送控制端口LIGHT:MOV AH,6MOV DL,0FFHINT 21HMOV DX,28AHIN AL,DX ;读取C口数据MOV DX,288HOUT DX,AL ;输出数据至A口JMP LIGHTCODE ENDSEND START(2)8255方式1输出实验DA TAS SEGMENTDA TAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKSSTART:CLIMOV AX,SEG LIGHT ;设置中断向量段地址MOV DS,AXMOV DX,OFFSET LIGHT ;设置中断向量偏移地址MOV AX,250BH ;中断入口地址送中断向量表INT 21HIN AL,21H ;读中断屏蔽字AND AL,0F7H ;开放8259A的IR3中断OUT 21H,ALMOV AL,10100000B ;设置A口方式1输出MOV DX,28BHOUT DX,ALMOV AL,0DH ;置位使PC6=1OUT DX,ALMOV BL,1STI ;开中断WIN:JMP WIN ;等待硬中断LIGHT:MOV DX,288HMOV AL,BLOUT DX,AL ;将A口的数据输出MOV AL,20H ;关中断OUT 20H,ALSHL BL,1 ;计数器左移JNC NEXT ;未进位就继续中断IN AL,21H ;关闭中断OR AL,0F7HOUT 21H,ALMOV AH,4CHINT 21NEXT:IRETCODES ENDSEND START(3)8255方式1输入实验DA TAS SEGMENTDA TAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKS START:CLIMOV AX,SEG LIGHT ;设置中断向量段地址MOV DS,AXMOV DX,OFFSET LIGHT ;设置中断向量偏移地址MOV AX,250BH ;中断入口地址送中断向量表INT 21HIN AL,21H ;读中断屏蔽字AND AL,0F7H ;开放8259A的IR3中断OUT 21H,ALMOV AL,10110000B ;设置A口方式1输入MOV DX,28BHOUT DX,ALMOV AL,09 ;置位使PC4=1OUT DX,ALMOV CX,8STI ;开中断WIN:JMP WIN ;等待硬中断LIGHT:MOV DX,288HIN AL,DX ;将A口的数据输入MOV DL,ALMOV AH,2INT 21HMOV AH,2MOV DL,0AHINT 21HMOV AH,2MOV DL,0DHINT 21HMOV AL,20H ;关中断OUT 20H,ALDEC CX ;计数器减一JNZ NEXT ;不为零就继续IN AL,21H ;关闭中断OR AL,8OUT 21H,ALMOV DX,28BHOUT DX,ALMOV AH,4CHINT 21HNEXT:IRETCODES ENDSEND START4.2 执行结果(1)8255方式0实验拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。
改变开关的状态,灯的亮暗也随之改变。
图4-1 8255方式0实验连线图(2)8255方式1输出实验按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。
中断8次结束。
图4-2-1 8255方式1输出实验连线图(3)8255方式1输入实验每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
图4-3-1 8255方式1输入实验连线图图4-3-2 屏幕输出结果五、程序调试说明和实验感想5.1 调试说明5.2 实验感想与收获5.3 实验特色5.4 展望。