微机原理实验 可编程并行接口 8255 实验
- 格式:doc
- 大小:148.50 KB
- 文档页数:6
实验二 8255A并行接口实验(一)一实验目的1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一步熟悉软件编程环境。
二实验设备1、微机系统一套;2、TPC-3型微机接口实验系统一台;3、导线若干。
三实验内容1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口输出为1则亮,输出为0则灭)。
其中L0―L2为东西方向,L5―L7为南北方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端为1时发光二极管亮。
接线如图4-5所示。
图4-5编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。
2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求为:K0K1灯控制00正常运行01南北路口绿灯亮、东西路口红灯亮10东西路口绿灯亮、南北路口红灯亮3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。
如果能解决请加以解释并编程调试。
四、编程提示:1.要完成本实验,首先必须了解交通灯的亮灭规律。
设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。
之后,南北路口的绿灯亮,东西路口的红灯亮,南北路口方向通车。
延迟一段时间后,南北路口的绿灯熄灭,而南北路口的黄灯开始闪烁。
闪烁8次后,南北路口的红灯亮,同时东西路口的绿灯亮,东西路口方向开始通车。
延迟一段时间后,东西路口的绿灯熄灭,而黄灯开始闪烁。
闪烁苦干次后,再切换到南北路口方向。
之后,重复上述过程。
2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态3.8255A的A端口地址为:288HB端口地址为:289HC端口地址为:28AH控制口地址为:28BH五、实验要求:1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。
2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。
微机原理与汇编语言实验报告姓名x x x学号xxxxxx专业班级计科x班课程名称微机原理与汇编语言实验日期实验名称8255并行接口实验成绩一、实验目的掌握8255A的编程原理。
二、实验内容1、实验原理本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。
实验中,8255A工作于基本输入输出方式(方式0)。
2、实验步骤1)实验接线CS0CS8255;PA0~PA7平推开关的输出K1~K8;PB0~PB7发光二极管的输入LED1~LED8。
2)编程并全速或单步运行。
3)全速运行时拨动开关,观察发光二极管的变化。
当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。
3、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
三、实验源码及框图assume cs:codecode segment publicorg 100hstart: mov dx,04a6h ;控制寄存器地址mov ax,90h ;设置为A口输入,B口输出out dx,axstart1: mov dx,04a0h ;A口地址in ax,dx ;输入mov dx,04a2h ;B口地址out dx,ax ;输出jmp start1code endsend start四、练习键盘接口实验。
请阅读实验指导手册,根据实验台键盘电路结构,设计实验,编制程序实现键盘的按键识别,并将其代码通过Led指示灯显示。
练习键盘框图:实验源码:assume cs:codecode segment publicorg 100hTimer = 10;延时常量;设置行线接输出端口,列线接输入端口start:mov dx,04a6h;控制端写控制字,设置为A口输入,B口输出mov al,90hout dx,alWait:mov al,00hmov dx,04a2hout dx,al ; 往所有行线上输出低电平movin al,dx ; 读取列值cmp al,0ffh ;是否有列线为低电平jz wait ;否,则循环等待done: call delay ;是,则延迟去抖动mov cx,8 ;行数送CXkey2:mov al,0mov dx,04a2h ;B口作为输出out dx,al ;设置行线全为低mov dx,04a0h ;A口作为输入in al,dx ;读取列值cmp al,0ffhjz key2 ;无闭合键,循环等待push ax ;有闭合键,保存列值push ax;设置行线接输入端口,列线接输出端,A口输出,B口输入mov dx,04a6hmov al,82hout dx,almov dx,04a0h ;A口输出pop axout dx,al;输出列值mov dx,04a2h ;B口输入in al,dx ;读取行值pop bx ;组合行列值mov ah,bl ;此时,al=行值,ah=列值mov si,offset table ;table保存键盘行列值mov di,offset char ;char保存键代码值mov cx,24 ;cx=键的个数key3:cmp ax,[si];与键值比较jz key4 ;相同,说明查到inc si ;不相同,继续比较inc siinc diloop key3jmp start ;全部比较完无相同则再进行扫描一遍jmp wait ;全部比较完,仍无相同,说明是重键key4:mov al,[di];获取键代码送ALpush ax;判断按键是否释放,没有则等待call delay ;按键释放,延时消除抖动;后续处理;将代码值输给小灯mov dx,04a6h;控制寄存器地址mov ax,0080h ;设置C口输出out dx,axmov dx,04a4h ;将键代码从C口输出送给小灯pop axout dx,aldelay procpush bxpush cxmov bx,timer;外循环次数由timer确定delay1: xor cx,cxdelay2: loop delay2 ;内循环dec bxjnz delay1pop cxpop bxretdelay endp;键盘的行列值表table dw 0fefeh ;键1的行列值(键值)dw 0fefdh ;键2的行列值dw 0fefbh ;键3的行列值dw 0fe07h ;键4的行列值dw 0fedfh ;键6的行列值dw 0febfh ;键7的行列值dw 0fe7fh ;键8的行列值dw 0fdfeh ;键9的行列值dw 0fdfdh ;键10的行列值dw 0fdfbh ;键11的行列值dw 0fd07h ;键12的行列值dw 0fdefh ;键13的行列值dw 0fddfh ;键14的行列值dw 0fdbfh ;键15的行列值dw 0fd7fh ;键16的行列值dw 0fbfeh ;键17的行列值dw 0fbfdh ;键18的行列值dw 0fbfbh ;键19的行列值dw 0fb07h ;键20的行列值dw 0fbefh ;键21的行列值dw 0fbdfh ;键22的行列值dw 0fbbfh ;键23的行列值dw 0fb7fh ;键24的行列值……;S25、S26其他键的行列值;键盘的键代码表char db 30h ;键1的代码值db 31h ;键2的代码值db 32h ;键2的代码值db 33h ;键3的代码值db 35h ;键5的代码值db 36h ;键6的代码值db 37h ;键7的代码值db 38h ;键8的代码值db 39h ;键9的代码值db 41h ;键A的代码值db 42h ;键B的代码值db 43h ;键C的代码值db 44h ;键D的代码值db 45h ;键E的代码值db 46h ;键F的代码值db 61h ;键a的代码值db 62h ;键b的代码值db 63h ;键c的代码值db 64h ;键d的代码值db 65h ;键e的代码值db 66h ;键f的代码值db 67h ;键g的代码值db 68h ;键h的代码值……;S25、S26其他键的代码值code endsend start实验现象:按相应的键,LED灯会显示相应的代码。
实验六8255并行输入输出一、实验目的1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示。
2)掌握8段数码管的动态刷新显示控制。
3)分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二、实验内容(1)8255方式0:简单的输入输出按图连接好电路,8255C口输入接逻辑电平开关K0~K7,编程A口输出接LED 显示电路L0~L7;用指令从C口输入数据,再从A口输出。
程序为:ioport equ 0b800h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhio8255c equ ioport+28ahstacks segment stackdb 100 dup(?)stacks endscode segmentassume cs:code,ss:stacks main proc farstart: mov ax,stacksmov ss,axmov dx,io8255bmov al,8bh out dx,al inout: mov dx,io8255c in al,dxmov dx,io8255a out dx,almov dl,0ffhmov ah,06hint 21hjz inoutmov ah,4chint 21hmain endpcode endsend start运行结果为:用逻辑电平开关可以控制LED灯的亮灭。
(2)电路图如(1)图,编程将A口L0~L7控制成流水灯,流水间隔由软件产生,流水方向由K0键产生,流水间隔时间也可由K4~K7键编码控制。
程序为:data segmentioport equ 0b800h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh io8255c equ ioport+28ah data endsstacks segment stackdb 100 dup (?)stacks endscode segmentassumecs:code,ds:data,ss:stacks start: mov ax,stacksmov ss,axmov dx,io8255bmov al,8bhout dx,alinout: mov cl,01hmov dx,io8255cin al,dxtest al,01jne rightjmp leftright: mov dx,io8255cin al,dxand al,11110000b cmp al,00h je rightmov al,clcall delay1 rol cl,1 mov dx,io8255c in al,dx test al,01 jne right jmp left left: mov dx,io8255c in al,dx and al,11110000b cmp al,00h je left mov al,cl call delay1 ror cl,1 mov dx,io8255c in al,dx test al,01 jne right jmp left delay1 proc near mov dx,io8255aout dx,alcall delaymov al,0out dx,alcall delayretdelay1 endpdelay proc near push cxpush bxmov bx,0fffhcc: mov cx,0ffffhccc: loop cccdec bxjnz ccpop bxpop cxretdelay endpcode endsend start运行结果为:K0控制流水方向,K4~K7为0000时停止,0001时为1秒。
微机原理实验报告实验题目:可编程并行接口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并行接口实验实验目的: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)运行程序,拨动开关组,观察发光二极管与开关组状态的对应关系。
深圳大学实验报告课程名称:微型计算机技术实验项目名称:8255并行接口实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一,实验目的1,学习并掌握8255 的工作方式及其应用。
2,掌握8255 典型应用电路的接法。
3,掌握程序固化及脱机运行程序的方法。
二,实验设备PC机器一台,TD-PITE实验装置一套,导线若干,另外PC与TD-PITE实验装置连接线。
三,实验内容1,基本输入输出实验。
编写程序,使8255 的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2,流水灯显示实验。
编写程序,使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
四实验内容及步骤1. 基本输入输出实验本实验使8255 端口A 工作在方式0 并作为输入口,端口 B 工作在方式0并作为输出口。
实验接线图如图6 所示,按图连接实验线路图。
用一组开关信号接入端口A,端口 B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。
2. 流水灯显示实验:使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如下图所示。
大理大学
实验报告
课程名称:微机原理与接口技术
学院:工程学院
专业:
年级:班级:
姓名:羽卒兰cl 学号:
指导教师:
2016 年 6 月2 日
大理大学教务处制
图 3-2
源代码:
L8255_CMD EQU 2A3H ;8255A的控制器的地址
L8255_PA EQU 2A0H ;8255A的A端口的地址
L8255_PB EQU 2A1H ;8255A的B端口的地址
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:CODE
START:MOV DX,L8255_CMD ;8255A初始化
MOV AL,90H ;8255A方式0,A端口输入,B端口输出,根据条件在8255A的控制字找出对
3.8255A的基本性能:
可编程通用并行输入/输出接口电路
通用性强,使用灵活,通过它CPU可直接与外设相连
具有三个相互独立的输入/输出端口
A端口、B端口、C端口
三个端口可联合使用,构成具有握手联络信号的并行接口
端口有多种工作方式可供选择
A口有三种工作方式:方式0、1、2
B口有二种工作方式:方式0、方式1
C口有一种工作方式:方式0
A口和B口工作方式是由写入控制寄存器的工作方式控制字决定的;
A口和B口的工作方式的设置是相互独立的。
微机实验报告书学号: XXXXX 姓名: XXXXX 班级: XXXXX同组名单: XXXXXXXXX 实验日期: 5实验题目: 8255可编程并行接口实验目标: 1、掌握8255方式0的工作原理及使用方法。
2、进一步掌握中断处理程序的编写。
3、掌握数码管显示数字的基本原理。
4、了解微机化竞赛抢答器的基本原理。
实验步骤:实验一、 8255A的基本输入输出图1. 8255A的基本输入输出接线图实验步骤如下:(1)实验电路如图1,8255A的C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
(2)编程从8255A的C口输入数据,再从A口输出。
实验二、七段数码管图2. 七段数码管接线图实验步骤如下:(1)静态显示:按图2(a)连接好电路,将8255A的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dP接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
(2)动态显示:按图2(b)连接好电路,七段数码管段码连接不变,位码驱动输入端S1接+5V(选中),S0接8255A的C口的PC1。
编程在两个数码管上显示“56”。
实验三、竞赛抢答器图3. 竞赛抢答器电路图实验步骤如下:图3位竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来。
程序框图:实验一:实验二:实验三:程序清单:;*************************;;* 8255A的基本输入输出 *;;*************************;IOPORT EQU0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHCODE SEGMENTASSUME CS:CODESTART:MOV DX,IO8255K ;对8255进行设定,A输出,C输入MOV AL,10001001BOUT DX,ALINPUT:MOV DX,IO8255C ;从C输入IN AL,DXMOV DX,IO8255A ;从A输出OUT DX,ALMOV DL,0FFH ;判断是否有按键MOV AH,06HINT21HJZ INPUT ;若无,则继续C输入,A输出MOV AH,4CH ;否则,返回DOSINT21HCODE ENDSEND START;************************************;;*键盘输入数据(0-9)控制LED数码管显示*;;************************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG1 DB 0DH,0AH,'Input a num (0--9),other key is exit:',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DA TAMOV DS,AXMOV DX,IO8255K ;使8255的A口为输出方式MOV AX,10000000BOUT DX,ALSSS: MOV DX,OFFSET MESG1 ;显示提示信息MOV AH,09HINT 21HMOV AH,01 ;从键盘接收字符INT 21HCMP AL,'0' ;是否小于0JL EXIT ;若是则退出CMP AL,'9' ;是否大于9JG EXIT ;若是则退出SUB AL,30H ;将所得字符的ASCII码减30HMOV BX,OFFSET LED ;BX为数码表的起始地址XLAT ;求出相应的段码MOV DX,IO8255A ;从8255的A口输出OUT DX,ALJMP SSS ;转SSSEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START;******************************;;* LED数码管实验动态显示“56”*;;******************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码BUFFER1 DB 6,5 ;存放要显示的个位和十位BZ DW ? ;位码DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;将8255设为A口输出MOV AL,80HOUT DX,ALMOV DI,OFFSET BUFFER1 ;设di为显示缓冲区LOOP2: MOV BH,02LLL: MOV BYTE PTR BZ,BHPUSH DIDEC DIADD DI, BZMOV BL,[DI] ;bl为要显示的数POP DIMOV AL,0MOV DX,IO8255COUT DX,ALMOV BH,0MOV SI,OFFSET LED ;置led数码表偏移地址为SIADD SI,BX ;求出对应的led数码MOV AL,BYTE PTR [SI]MOV DX,IO8255A ;自8255A的口输出OUT DX,ALMOV AL,BYTE PTR BZ ;使相应的数码管亮MOV DX,IO8255COUT DX,ALMOV CX,3000DELAY: LOOP DELAY ;延时MOV BH,BYTE PTR BZSHR BH,1JNZ LLLMOV DX,0FFHMOV AH,06INT 21HJE LOOP2 ;有键按下则退出MOV DX,IO8255CMOV AL,0 ;关掉数码管显示OUT DX,ALMOV AH,4CH ;返回INT 21HCODE ENDSEND START;***************;;* 模拟抢答器 *;;***************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码表DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;设8255为A口输出,C口输入MOV AL,10001001BOUT DX,ALMOV BX,OFFSET LED ;使BX指向段码管首址SSS: MOV DX,IO8255CIN AL,DX ;从8255的C口输入数据OR AL,AL ;比较是否为0JE SSS ;若为0,则表明无键按下,转sssMOV CL,0FFH ;cl作计数器,初值为-1 RR: SHR AL,1INC CLJNC RRMOV AL,CLXLATMOV DX,IO8255AOUT DX,ALMOV DL,7 ;响铃ASCII码为07MOV AH,2INT 21HWAI: MOV AH,1INT 21HCMP AL,20H ;是否为空格JNE EEE ;不是,转eeeMOV AL,0 ;是,关灭灯MOV DX,IO8255AOUT DX,ALJMP SSSEEE: MOV AH,4CH ;返回INT 21HCODE ENDSEND START运行结果:实验一:当逻辑开关K0~K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。
深圳大学实验报告课程名称:微型计算机技术实验项目名称:8255并行接口实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一,实验目的1,学习并掌握8255 的工作方式及其应用。
2,掌握8255 典型应用电路的接法。
3,掌握程序固化及脱机运行程序的方法。
二,实验设备PC机器一台,TD-PITE实验装置一套,导线若干,另外PC与TD-PITE实验装置连接线。
三,实验内容1,基本输入输出实验。
编写程序,使8255 的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2,流水灯显示实验。
编写程序,使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
四实验内容及步骤1. 基本输入输出实验本实验使8255 端口A 工作在方式0 并作为输入口,端口 B 工作在方式0并作为输出口。
实验接线图如图6 所示,按图连接实验线路图。
用一组开关信号接入端口A,端口 B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。
2. 流水灯显示实验:使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如下图所示。