8255作为打印机接口与8088连接例题

8255作为打印机接口与8088连接例题
8255作为打印机接口与8088连接例题

例1.8088通过8255芯片控制打印机的工作,8255的PA口连接打印机数据线,PA口为输出方式,PB口、PC口输入方式,A组工作于模式1,B组工作于模式0,其逻辑框图如下所示。片选信号的地址是80H,中断类型号是0BH,写出8255四个口(PA口、PB口、

PC口、命令/

开始的单元中,

编程实现之。

D0~

WR

RD

答:四个口(PA、PB、PC、命令/状态口)的地址分别是: 80H、81H、82H、83H;将8255的PA口为输出方式,PB口、PC口输入方式, A组工作于模式1,B组工作于模式0。方式的命令字是0ABH,编程段如下:

I N I T;M O V A L,0A B H;初始化程序

O U T83H,A L;设置8255A的控制字

M O V D S,A X;D S指到0段,中断向量表在0段

L E A A X,I N T P R

M O V W O R D P T R [0B H*4],A X;中断类型号为0B H,写入的表地址为0B H×4 M O V A X,S E G I N T P R

M O V W O R D P T R[0B H*4+2],A X;把向量高字写入高地址

M O V A L,0D H;使I N T E为l,允许8255A请求中断

O U T82H,A L

S T I;使I F为1,开放中断

M O V C X,0031H

M O V B X,2000H

M O V A L,[B X]

O U T80H,A L

S J M P$

中断处理子程序的主要程序段如下:

I N T P R:I N C B X;D I为打印字符缓冲区指针,字符送A端口

M O V A L,[B X]

O U T8O H,A L

L O O P A B C

C L I

A B C:I R E T;中断返回

例2.8088通过8255芯片控制打印机的工作,8255的PB口连接打印机数据线,PB口为输出方式,PA口、PC口输入方式,A组工作于模式0,B组工作于模式1,其逻辑框图如下所示。片选信号的地址是80H,中断类型号是0BH,写出8255四个口(PA口、PB口、

PC口、命令/

开始的单元中,

编程实现之。

D0~

WR

RD

答:四个口(PA、PB、PC、命令/状态口)的地址分别是: 80H、81H、82H、83H;将8255的PB口为输出方式,PA口、PC口输入方式,A组工作于模式0,B组工作于模式1,方式的命令字是0A8H,编程段如下:

I N I T;M O V A L,0A8H;初始化程序

O U T83H,A L;设置8255A的控制字

M O V D S,A X;D S指到0段,中断向量表在0段

L E A A X,I N T P R

M O V W O R D P T R [0B H*4],A X;中断类型号为0B H,写入的表地址为0B H×4 M O V A X,S E G I N T P R

M O V W O R D P T R[0B H*4+2],A X;把向量高字写入高地址

M O V A L,0D H;使I N T E为l,允许8255A请求中断

O U T82H,A L

S T I;使I F为1,开放中断

M O V C X,0031H

M O V B X,2000H

M O V A L,[B X]

O U T80H,A L

S J M P$

中断处理子程序的主要程序段如下:

I N T P R:I N C B X;D I为打印字符缓冲区指针,字符送A端口

M O V A L,[B X]

O U T8O H,A L

L O O P A B C

C L I

A B C:I R E T;中断返回

(完整版)8255练习题及答案

8255练习题及答案 一、填空题 1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。 答案:D3、D2和D1 2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 4、8255A的每个端口的数据寄存器的长度为____位。 答案:8 5、Intel 8255A是一个________________________接口芯片。 答案:可编程的通用并行输入输出 6、了般I/O接口的编址方式可分为________________两种方式。 答案:I/O接口单独编,与存储器统一编址 7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置. 答案:D3,D2和D1 8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。 答案:A0和Al 11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 答案:1 12、8255A的端口A的工作方式是由方式控制字的____位决定。 答案:D6和D5 13、8255A的端口B的工作方式由方式控制字的________位决定。 答案:D2 14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。 答案:0 15、8255A内部具有_____个输入输出接口。 答案:3 16、8255A内部具有_______个输入输出端口。 答案:3 17、8255A的三个端口中只有端口____没有输入锁存功能。 答案:C 18、Intel8255A是一个_________________接口芯片。 答案:可编程的通用并行输入输出 19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

8255A接口实验

西安邮电大学 微机原理与接口技术课内实验报告题目宏指令及子程序设计实验 院系名称:通信与信息工程学院 专业名称:信息对抗专业 班级:对抗1302 学生姓名: 班内序号: 指导教师: 实验日期:20**年**月**日

一.实验目的及实验环境 1、掌握8255A工作方式0的特点及其使用方法。 2、掌握8255A端口A和端口B同时作为输出端口的特点及使用方法。 二.实验内容 1、基本输入输出实验,编写程序,使8255A的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输,要求只要开关拨动,数据灯的显示就改变。 2、流水灯显示实验,编写程序,使8255A的A口和B口均为输出,实现16位数据灯的相对循环显示。 三.方案设计 1.文字描述题目的解决方案 2.功能模块图; 3.各个模块详细的功能描述。 4. 寄存器、存储单元、变量等资源的分配 5. 流程图 …… 四.实验结果 测试数据及运行结果; 五.总结 1.实验过程中遇到的问题及解决办法 2.编辑源程序文件时候出错,以及保存文件格式不对,文件名不对的问题;3.调试过程中不懂调试的方法和调试的步骤,在DOS环境下对用常用命令不熟悉; 4.对于调试结果不知道怎么记录以及查找问题; 5.程序错误是不知道如何纠错。

解决方法:仔细翻阅实验指导书,在实验指导书上会有详细的引导然后理解着一步一步练习,最终熟悉; 向周围同学寻求解决方法,互相讨论以及向老师提问,认真学习老师演示的方法并及时练习熟记; 在实验室也贴有实验步骤指导,仔细阅读并认真仔细实践; 在老师向其他同学演示时在一旁认真听讲寻找自己问题所在 2对设计及调试过程的心得体会。 在8255A并行接口电路实验中,掌握8255的工作方式,懂得如何对8255进行正确的操作,是我们利用这个芯片实现我们预定电路功能的最基本的要求。掌握经典型应用电路的接法,更是尤为重要。但要想在实验室第一次做就出现现象还是比较困难的,所以还需要我们不断的调试才能出现较为理想的结果。而在过程中,理论知识显得格外重要,所以还是要在上课时认真听讲,课后努力将其理解才能将其实践化。 六.附录:源代码 CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,10001001B MOV DX,1466H OUT DX,AL MOV BX,8001H GO:MOV AL,BH MOV DX,1460H OUT DX,AL ROR BH,1 MOV AL,BL MOV DX,1462H OUT DX,AL ROL BL,1 CALL DELAY MOV CX,50H DELAY:LOOP DELAY JMP GO

实验二 8255A并行接口实验

实验二 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端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

微机8255并行接口实验实验六

深圳大学实验报告课程名称:微型计算机技术 实验项目名称:8255并行接口实验 学院,专业:计算机科学与技术 指导教师:骆剑平 报告人:学号:班级:计科2班 同组人:无 实验时间:2014年6月11日 实验报告提交时间:2014年6月16日 教务处制

实验目的与要求: 实验目的: 1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。 实验设备 PC机一台,TD-PITE 实验装置一套。 实验方法、步骤: 实验内容: 1. 基本输入输出实验。编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 实验原理 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。

实验步骤: 1. 基本输入输出实验 本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来 实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图2-6-3所示,按图连接实验线路图; (2)编写实验程序,经编译、连接无误后装入系统; (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。

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称为选通输入/输出方式。该方式下,端口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~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

微机原理及接口第九章作业答案

“微机系统原理与接口技术”第九章习题解答(部分) 1. 什么是并行接口和串行接口?它们各有什么作用? 答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。 并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。 2. 试画出8255A与8086CPU连接图,并说明8255A的A0、A1地址线与8086CPU的A1、A2地址线连接的原因。 答:8255A与8086CPU的连线图如下图所示: 题9-2图 8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将8255的8条数据线与8086的低8位数据线相连。8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255的4个端口地址必须为偶地址,即8086在寻址8255时A0脚必须为低。实际使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。 4. 简述8255A工作在方式1时,A组端口和B组端口工作在不同状态(输入或输出)时,C端口各位的作用。 答:8255A 的A、B口工作在方式1时,C端口各位的使用情况如下表所示:

注:带*的各中断允许信号由C口内部置位/复位操作设置,非引脚电平。 5. 用8255A控制12位A/D转换器,电路连接如下图所示。设B口工作于方式1输入,C 口上半部输入,A口工作于方式0输入。试编写8255A的初始化程序段和中断服务程序(注:CPU采用中断方式从8255A中读取转换后的数据)。 题9-5图 答:设8255的A、B、C及控制端口的地址分别为PORTA、POA TB、PORTC和PCON,则一种可能的程序段实现如下: 主程序:; 初始化8255A …… MOV AL, 10011110B ; 设置8255A的工作方式控制字 OUT PCON, AL MOV AL, 00000101B ; 设置C口置位/复位控制字,使INTEA(PC2)为 OUT PCON, AL ; 高电平,允许B口中断 MOV AL, 00000010B ; 设置C口置位/复位控制字,使PC1(IBF B)输出 OUT PCON, AL ; 低电平,启动第一次A/D转换 …… 中断服务程序:; 取数,并自动启动下一次A/D转换 …… MOV AL, 00000011B ; PC1(IBF B)输出高电平,停止A/D转换 OUT PCON, AL IN AL, PORTC ; 先取高4位转换值 MOV AH, AL MOV CL, 4 SHR AH, CL ; 将高4位转换值放到AH的低端 IN AL, PORTB ; 取低8位转换值放到AL中 MOV AL, 00000010B ; PC1(IBF B)输出低电平,再次启动A/D转换 OUT PCON, AL …… IRET 6. 用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。8255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。

微机原理习题

1. 设8255A 的A 口、B 口、C 口和控制字寄存器的端口地址分别为80H 、82H 、84H 和86H 。 要求A 口工作在方式0 输出,B 口工作在方式0 输入,C 口高 4 位输入,低 4 位输出,试编写8255A 的初始化程序。 MOV AL ,B ;方式控制字 OUT 86H ,AL 2. 8255A 的A 口、B 口、C 口和控制字寄存器的端口地址分别为80H 、82H 、84H 和86H,要求 PC4 输出高电平,PC5 输出低电平,PC6 输出一个正脉冲,试写出完成这些功能的指令序列。 MOV AL ,00001001B ;PC4 输出高电平 OUT 86H ,AL MOV AL ,00001010B ;PC5 输出低电平 OUT 86H ,AL MOV AL ,000001100B ;PC6 先输出低电平 OUT 86H ,AL MOV AL ,00001101B ;PC6 再输出高电平 OUT 86H ,AL MOV AL ,00001100B ;PC6 再输出低电平,形成一个正脉冲 OUT 86H ,AL 3. 8255A 的口地址为 80H~83H ,8253 的口地址为 84H~87H , (1 )若A 口接8 个开关K7~K0,B 口接8 个指示灯LED 7~LED0,当开关合上时相应的 指示灯亮,断开时灯灭,要求每隔检测一次开关状态,并在LED上显示出来,试画出 硬件连线图,编写实现这种功能的程序。 (2 )若把接在端口 A 上的开关去掉,要求接在端口 B 上的指示灯轮流熄灭,每只灯熄灭 1

秒钟,请编程实现这种功能。 答:(1 )8255A :A 口输入,B 口输出 8253:2MHz/2Hz=1000000 通道0 工作于方式 2 ,取N0=1000 通道1 工作于方式 0 ,取N1=999,即得OUT1 每秒中断一次。 本题用 8253 定时中断,中断处理时检测开关状态,并点亮相应的 LED 。假设8259A 已初始化,主程序如下: MOV AX, SEG INTR ;形成中断矢量表 MOV DS, AX MOV DX, OFFSET INTR MOV AL, N MOV AH, 25H INT 21H MOV AL, B ;8255初始化 OUT 83H, AL MOV AL, 00110101B ;通道0 方式 2 ,BCD计数 OUT 87H, AL MOV AL, 00H ;置初值1000 OUT 84H, AL MOV AL, 10H OUT 84H, AL MOV AL, 01110001B ;通道1 方式 0 ,BCD计数 OUT 87H, AL MOV AL, 99H ;置初值999 OUT 85H, AL MOV AL, 09H OUT 85H, AL STI AGAIN:HLT

Protues8255实验报告Word版

华北电力大学 实验报告| | 实验名称8255应用实验 课程名称微机原理及应用 老师 | 专业班级 姓名 学号

一.实验要求 1、当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;当K1为高电平时,LED全灭且程序结束 (扩展:当K1为高电平时,LED全灭但程序不结束,等K1再次为低电平时灯又开始循环)。 2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,……第8次中断,LED7亮,中断8次后结束。 3、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使7段数码管亮,第1次中断,显示0,第2次中断,显示1,…… 第10次中断,显示9,程序结束。 【8255的片选地址为8000H,8259的片选地址为9000H,8253的片选地址为A000H】 二思路 1.硬件 (1)74HC138译码电路如图所示,A15为1,E2、E3接地保证74HC138正常工作,此时Y0、Y1、Y2对应地址分别为8000H、9000H、0A000H. 此芯片实验1.2.3都需用到

(2)8259的片选地址为9000H,所以CS接Y1 8086有16位数据总线,其低8位作为偶存储体来传输数据,8086的A0要一直为0,所以8259的A0要接8086的A1 IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz),所以8259的IR2端与8253的OUT1端相连。 此芯片实验2,3要用到 (3)8253的片选地址为A000H,所以CS接Y2。 CLK0接入1MHz信号,GATE0与GATE1同时接电源,OUT0输入到CLK1,OUT1经分频输出1HZ的信号。 此芯片实验2,3要用到

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

习题9-并接口8255

习题9 并行接口 主要内容:8255的外部特性、内部结构,初始化编程,应用。 9.1 8255A的3个端口在使用时有什么差别? 【答】(1)端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。所以,用端口A作为输入或输出时,数据均受到锁存(与工作方式有关)。(2)端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(3)端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为端口A和端口B提供控制信号和状态信号。 9.2 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎 么办? 【答】方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A端口B作为数据端口,把端口C的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口C来配合端口A和端口B 的输入/输出操作。 9.3当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS、A1、A0、RD、WR 分别是什么? 【答】 CS0、A11、A00、RD1 、WR0。 9.4 8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来 区分的? 【答]】当8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/置0控制来处理。 9.5 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入; 端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。(口地址为80H~83H) 【答】控制字:10110001=B1H MOV AL ,B1H OUT 83H ,AL 9.6 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式对PC6 置1,对PC4置0。 【答】MOV AL,00001101H ;对PC6置1的控制字 MOV DX,00C6H ;控制地址DX OUT DX,AL ;对PC6置1操作 MOV AL,00001000H ;对PC4置0的控制字 OUT DX,AL 9.7 编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲则 初始化程序又是什么情况? 【答】初始化程序: MOV AL,0000 1011 H ;PC5置“1”控制字→AL

8255红绿灯实验

集美大学 计算机工程学院实验报告 课程名称微机系统与接口技术 实验名称8255可编程并行接口实验 实验类型设计型 姓名翁龙学号2010810117 日期11.1 地点克立楼 成绩教师傅永钢洪玉玲 第1页共6页

1. 实验目的及内容 1.1实验目的 1)了解8255芯片工作原理。学会使用8255并行接口芯片实现数据的I/O操作或各种控制技术。 2)熟悉8255内部结构和与8088的接口逻辑。 3)掌握8255的初始化。 1.2实验内容 设计8255与8086CPU的硬件连接图,分配8255的基地址为0F000H。 1)8255控制交通灯 本设计用LED来模拟交通灯。 交通灯的过程: 东西向的绿灯、南北向的红灯亮5秒。 东西向的绿灯灭、南北向的红灯亮,在此时间段中东西向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒. 南北向的绿灯、东西向的红灯亮点秒 南北向的绿灯灭,东西向的红灯亮,在此时间段中南北向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒。 按此规则重复 2. 实验环境 星研环境 3. 实验方法 通过对端口的定义来实现数据的输入输出

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

实验十三 8255A 并行接口实验

实验十三8255A 并行接口实验 一、实验目的 1、学习并掌握8255A的各种工作方式及其应用。 2、学习在接口实验单元上构造实验电路。 3、掌握8255A工作于中断方式的应用。 二、实验设备 1、EAT598实验教学系统一台。 2、连接线若干。 三、实验内容 8225A可编程并行接口芯片 8255A可编程外围接口芯片是Intel公司生产的通用可编程并行I/O接口芯片,它具有A、B、C三个8位并行接口,用+5V单电源供电,有三种工作方式: 方式0——基本输入/出方式 方式1——选通输入/出方式 方式2——双向选通工作方式 c82590 equ 200h c82591 equ 201h d8255a equ 210h d8255b equ 211h c8255 equ 213h stack segment stack dw 64 dup(?) stack ends code segment assume cs:code,ss:stack start: cli mov dx,c8255 mov al,86h out dx,al mov al,05h push ds mov ax,0000h ;修改中断向量表内容 mov ds,ax mov ax,offset ir0 mov si,0020h mov [si],ax

mov ax,8100h ;程序的加载段地址为8100h mov si,0022h mov [si],ax pop ds mov al,13h mov dx,c82590 out dx,al nop nop mov al,8 mov dx,c82591 out dx,al nop nop mov al,3 out dx,al nop nop mov al,0 out dx,al nop nop again: sti hlt jmp again ir0: mov dx,d8255b in al,dx mov dx,d8255a out dx,al iret code ends end start 四、报告要求 1、总结8255A可编程并行接口芯片的编程方法 (1)将DIP8开关SA9拨向ON系统状态,8255A的片选信号CS8255接译码器的输出210H,地址为210H~213H; (2)端口B输入线PB0~PB7接一组开关K0~K7; (3)端口A输出线PA0~PA7接至一组发光二极管L0~L7。. 编写程序,使8255A端口A工作在方式0并作为输出口,端口B工作于方式1并作为输入口,则端口C的PC2成为选通信号输入端 STB,PC0成为中断请求信号输出端INTRb。 B 当B口数据就绪后,通过发 STB信号来请求CPU读取端口B数据并送端口A输出显示。 B

8255并行接口实验

8255并行接口实验 4.5.1 实验目的 1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。 3. 掌握程序固化及脱机运行程序的方法。 4.5.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 4.5.3 实验内容 1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4.5.4 实验原理 I/O I/O I/O I/O PA7-PA0 PC7-PC4 PC3-PC0 PB7-PB0 图4.31 8255内部结构及外部引脚图 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4.32所示。

位(a )工作方式控制字 (b )C 口按位置位/复位控制字 1 图4.32 8255控制字格式 8255实验单元电路图如图4.33所示: 图4.33 8255实验单元电路图 4.5.5 实验步骤 1. 基本输入输出实验 本实验使8255端口A 工作在方式0并作为输入口,端口B 工作在方式0并作为输出口。用一组开关信号接入端口A ,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图4.34所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。 (6)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。

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) CS-8255插孔连译码输出Y7插孔。 (2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7 L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7 L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3

三、实验框图 四、实验程序 CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH IOAPT EQU 0FF28H IOBPT EQU 0FF29H IOCPT EQU 0FF2AH ORG 10e0H START:MOV DX,IOCONPT MOV AL,80H

实验六---8255并行输入输出

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出

姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩: 一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验内容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识

图 八段式LED 数码管的符号和引脚 (2) 6-1流程图:

N Y 将对应段码输 结 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$';提示data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov ax,80h

实验二可编程并行接口(8255方式0).doc

实验二 一、实验题目:可编程并行接口(8255方式0) 二、实验目的 掌握8255方式0的工作原理及使用方法。 三、实验内容 1、按下图连线。 2、编程从8255C口输入数据,再从A口输出. 四、程序流程图 五、源程序 ioport equ 0d400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh io8255c equ ioport+28ah

code segment assume cs:code start: mov dx,io8255b ;设8255为C口输入,A口输出 mov al,8bh out dx,al inout: mov dx,io8255c ;从C口输入一数据 in al,dx mov dx,io8255a ;从A口输出刚才自C口 out dx,al ;所输入的数据 mov dl,0ffh ;判断是否有按键 mov ah,06h int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4ch ;否则返回DOS int 21h code ends end start 六、实验结果分析 按上述的代码执行,观察LED灯的状态,可以发现实验结果和预期的相同:打开K0,关闭K1、K2、K3、K4、K5、K6、K7,L0亮; 打开K1,关闭K0、K2、K3、K4、K5、K6、K7,L1亮; 打开K2,关闭K0、K1、K3、K4、K5、K6、K7,L2亮; 打开K3,关闭K0、K1、K2、K4、K5、K6、K7,L3亮; 打开K4,关闭K0、K1、K2、K3、K5、K6、K7,L4亮; 打开K5,关闭K0、K1、K2、K3、K4、K6、K7,L5亮; 打开K6,关闭K0、K1、K2、K3、K4、K5、K7,L6亮; 打开K7,关闭K0、K1、K2、K3、K4、K5、K6,L7亮; 按任意键,退出该实验。 七、实验心得 1、通过本次实验,了解了8255芯片的基本内部结构和它的管脚,掌握了8255方式0的工作原理及使用方法, 2、本次实验前,自己认真地做了预习,实验过程中,认真思考,积极探索,实验后,查阅资料,提炼总结。总的来说,基本完成了实验要求和任务。

实验四 8255输入、输出实验

2题:A口输出,B口读入Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al MOV dx ,8001h in al ,dx mov dx,8000h out dx ,al jmp start Code ends End start 1题:用A口控制小灯循环亮灭

Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al Mov al , 080h Mov cx , 08h OUTA: Mov dx , 8000h Out dx , al mov dx,8002h out dx,al shr al,1 mov ah,200 call delay Loop OUTA JMP start Delay proc near Push ax Mov al , 0

Push cx Mov cx , ax Loop $ Pop cx Pop ax Ret Delay endp Code ends End start 思考题:用C口控制小灯Code segment Assume cs:code Start proc near START: Mov al , 00000010h Mov dx , 8003h OUT DX,AL call delay Mov al , 00000011h

Mov dx , 8003h OUT DX,AL call delay JMP START Delay proc near MOV CX ,20000 Loop $ Ret Delay endp Code ends End start

8255并口控制器应用实验

实验一8255并口控制器应用实验 一、实验目的 1. 掌握8255 的工作方式及应用编程。 2. 掌握8255 典型应用电路接法。 二、实验内容 1. 基本输入输出实验。编写程序,使8255 的A 口为输出, B 口为输入, 完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2.流水灯显示实验。编写程序,使8255 的A 口和 B 口均为输出,实现16 位数据灯的相对循环显示。 三、实验所用仪表及设备 1. 要PC微机一台。 2. TD-PIT 实验系统一套。 四、实验原理与步骤 1.8255简介 并行接口是以字节或字为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。 Intel公司的可编程通用并行接口芯片8255具有 A 、B 、C 三个并行接口。提供以下三种工作方式:方式0—基本输入/出方式、方式1—选通输入/出方式、方式2—双向选通方式。8255的引脚如图10-1 所示,8255的工作方式控制字和 C 口按位置位/复位制字格式如图10-2(a)和(b)所示。

图10-1 8255的内部结构及引脚 图10-2(a)工作方式控制字 2.基本输入输出实验 让8255的端口A作为输出口工作在方式0,端口 B 作为输入口工作在方式0。用一组开关信号接入端口B ,端口A的输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。

图10-3 8255基本输入输出实验参考接线图 实验步骤如下: 1)确认从PC 机引出的两根扁平电缆已经连接在实验平台上。 2)参考图10-3 所示连接实验线路。 3)首先运行CHECK 程序,查看I / O空间始地址。 4)利用查出的地址编写程序,编写或修改参考程序,编译链接。 5)运行程序,拨动开关,看数据灯显示是否正确。 参考程序如下: ;***************根据CHECK配置信息修改下列符号值***************** PCI_INTCSR EQU 0CC38H ;PCI卡中断控制寄存器地址IOY0 EQU 0C400H ;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255计数器0端口地址 MY8255_B EQU IOY0+01H*4 ;8255计数器1端口地址

相关文档
最新文档