微机原理实验_第1页
微机原理实验_第2页
微机原理实验_第3页
微机原理实验_第4页
微机原理实验_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 8255A是Intel系列的并行接口芯片。它是可编 程的,可以通过软件来设置芯片的工作方式。 数据端口A、B、C A组控制和B组控制 读/写控制逻辑电路 数据总线缓冲器 5.读写控制信号 RESET:复位信号,高电平有效。 D7D0 :和数据线相连。 CS :芯片选择信号,低电平有效。 RD :芯片读出信号,低电平有效。 WR :芯片写入信号,低电平有效。 A1、A0:端口选择信号。 A1、A0=00,选中端口A; A1、A0=01,选中端口B; A1、A0=10,选中端口C; A1、A0=11,选中控制端口; 提问1: 并行接口芯片8255与CPU接口有哪些信号线,每个 信号的用途是什么?

2、 8255占用几个端口地址?各个端口分别对应什么? 端口C可以分为两组吗? 8255A的控制字 控制字:分为两类 端口的方式选择控制字,可使8255A的3个数据端口 工作在不同的方式。 C端口按位置1/0控制字,它可使C端口中的任何一位 进行置位或复位。 8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式 例101:设A端口工作方式0,输出, B端口工作于方式0,输入。 方式选择控制字: 1 0 0 0 1/0 0 1 1/0 = 82H 方方 式式 选选 择择 A 口口 方方 式式 0 A 口口 输输 出出 C 口口 高高 位位

3、 不不 用用 B 口口 方方 式式 0 B 口口 输输 入入 C 口口 低低 位位 不不 用用 注意: 端口A可以工作在方式0、方式1或方式2;端口 B只能工作在方式0或方式1;端口C则常常配合 端口A和端口B工作。 归为同一组的两个端口可以分别工作在输入方 式和输出方式,并不要求同为输入方式或同为 输出方式,而具体工作在那 个端口,由方式控 制字来决定。 1=置置1 0=置置0 0 D7 D6 D5 D4 D3 D2 D1 D0 端口端口C 置置1/0 控制字控制字 标志标志 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC

4、5 1 1 0 PC6 1 1 1 PC7 图、端口图、端口C置置1/0控制字控制字 注意: C端口置1/0控制字尽管是对端口C进行操作,但此 控制字必须写入控制口,而不是写入C端口。 置1/0控制字的D0决定了是置1操作还是置0操作。 置1/0控制字的D3、D2、D1位决定了对C端口的那 一位进行操作。 :设8255A的控制口地址为00EEH,要求对 端口C的PC7置1,则控制字00001111B=0FH,要求 对端口C的PC3置0,控制字为00000110B=06H。 下面的程序可以实现上述要求: MOV AL , 0FH ;对PC7置1的控制字 MOV DX , 00EEH ;控制口地址

5、送DX OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作 提问2: 8255A的方式选择控制字和置1/置0控制字都是写入 控制端口的,那么,它们是由什么来区分的? 10.3 8255A的工作方式 8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式 任何一个端口可以作为输入口,也可以作为 输出口。 各个端口输入或输出,可以有16种不同的组 合,所以可以适用于多种使用场合。 方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。 例1

6、03:用8255A控制三个发光二极管依秩序循环显示。 8255A A0 A1 CS +5V 200 译译 码码 器器 D7 D0 地地 址址 线线 8088 CPU A0 A2 A0 PA0 PA1 PA2 用8255A控制三个发光二极管显示。8255A的端 口地址为: A 端口:340H B 端口:341H C 端口:342H 控制口:344H 试编写8255初始化程序段和控制三个发光 二极管显示程序段。 开始开始 8255A初始化初始化 延时延时 BX显示代码地址显示代码地址 CX=0? Y N BX=BX+1 CX=CX-1 CX 3 输出到输出到A口口 1、程序框图:、程序框图: 2、

7、软件设计 1)设A口为输出口,方式0。B口输入,方式0,则 方式选择控制字为82H。 2)A口输出代码: 0000 0110 06H ,1号发光二极管亮 0000 0101 05H ,2号发光二极管亮 0000 0011 03H ,3号发光二极管亮 3)软件延时 (1).1ms的软件延时参考程序: 设系统的CPU的频率为8MHZ,则时钟节拍为: 0.125微秒。执行PUSHF、POPF、LOOP指令需29个 节拍。延迟1毫秒要循环的次数: 参考程序: DATA SEGMENT COTR EQU 346H ;8255A控制口地址 PB_A EQU 340H ;8255A的A口地址 LED DB

8、06H,05H,03H;LED显示值 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA . MOV DX,COTR MOV AL,82H ;方式0 OUT DX, AL ;A口为输出,B口为输入 MOV DX, PB_A ;A口地址 LP: MOV CX,3 LEA BX, LED ; 1号灯代码地址 DON: MOV AL, BX OUT DX, AL ;1,2,3循环点亮 CALL DELAY ;调延时程序 INC BX DEC CX JNZ DON JMP LP DEALY PROC NEAR ;软件延时 . DEALY ENDP CODE EN

9、DS END PA0 PA1 PA2 8255A A0 A1 PB0 CS +5V 200 +5V 2K 译译 码码 器器 D7 D0 地地 址址 线线 8088 CPU A0 A1 思考题:思考题:用用8255A8255A控制三个发光二极管依秩序循控制三个发光二极管依秩序循 环显示环显示。假设开关闭合时,点亮发光二极管,开。假设开关闭合时,点亮发光二极管,开 关断开时熄灭二极管。关断开时熄灭二极管。 提问3: 8255A的方式0一般使用在什么场合?在方式0时, 如要使用应答信号进行联络,应该怎么办? 、 8255A作为连接打印的查询式接口,工作于 方式0,如图5-37所示。设8255A的端口

10、地址为: A端口:00D0H C端口:00D4H B端口:00D2H 控制口:00D6H 工作过程:当主机要往打印机输出字符时,先查 询打印机忙信号,如果打印机正在处理一个字符或 在打印一行字符,则忙信号为1,否则为0。 PC2作为打印机忙信号,PC6作为数据选通信号, 将数据线上的数据打入打印机缓冲器。 打印机驱动流程图:打印机驱动流程图: 开始开始 8255A初始化初始化 BUSY=0? 送数送数 送送STB 内存内存+1 字节字节-1 送完?送完? 结束 PP: MOV AL ,81H ;8255工作方式字 OUT D6H , AL ;A口方式0,输出, C47输出,C03输入 MOV

11、AL , 0DH ;PC6置1 OUT D6H ,AL MOV S I , 200H ;打印字符内存地址 MOV CX, 0FFH ;打印字符个数 LPST : IN AL , D4H ;读C口 AND AL , 04H ;查PC2=0? JNZ LPST ;忙,等待;不忙,送数 MOV AL,SI ;从内存取数 OUT 0D0H , AL ;送数到A口 MOV AL , 00001100B ;将PC6置0(STB为低) OUT 0D6H , AL ;AL 0000 1100 B NOP NOP ; 延时 INC AL ;AL0000 1101 B OUT 0D6H , AL ;再使STB(P

12、C6)为1 INC SI ;内存地址+1 DEC CX ;字符数 - 1 JNZ LPST HLT 10.4 方式1选通的输入输出方式 数据输入输出要在选通信号控制下工作. 端口A和端口B可以分别作为两个数据口工作于 方式1,并且,任何一个端口可以为输入口或输 出口。 10 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0 PC6.PC7 1=输入输入 0=输出输出 A口方式口方式1 输输 入入 10 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0 方式方式1 PC6.PC7 1=输入输入 0=输出输出 端口端口A输入输入 11 1 D7 D6 D5 D4 D3 D2

13、 D1 D0 端口端口B输入输入 方式方式1 图图10-8 方式方式1输入有关信号的规定输入有关信号的规定 PA7PA0 INTE A PC4 PC5 PC3 I O INTRA IBFA STBA RD PC6.PC7 STBB RD INTE B PC2 PC1 PC0 PC7PC0 IBFB INTRB 选通信号输入端,低电平有效选通信号输入端,低电平有效 输入缓冲区满信号,输入缓冲区满信号, 它是它是82558255送往送往CPUCPU的中断请求的中断请求 信号,高电平有效。信号,高电平有效。 中断允许信号中断允许信号,INTE,INTE由由PC4PC4置置“1 1”,INTR,INT

14、R有效有效 A口方式口方式1输入有关信号的规定输入有关信号的规定 RD PA7PA0 INTE A PC4 PC5 PC3 PC6.PC7I O INTRA IBFA STBA 数据输入口数据输入口 IBFA INTEA INTRA D7 D6 D5 D4 D3 D2 D1 D0 10 10 1/0 D7 D6 D5 D4 D3 D2 D1 D0 方式方式1 PC4.PC5 1=输入输入 0=输出输出 端口端口A输出输出 11 0 D7 D6 D5 D4 D3 D2 D1 D0 端口端口B输出输出 方式方式1 WR INTE B PC2 PC1 PC0 PC7PC0 ACKB OBFB INT

15、RB 图图10-9方式方式1输出有关信号的规定输出有关信号的规定 WR PA7PA0 INTE A PC6 PC7 PC3 PC4.PC5I O INTRA OBFA ACKA 例106:8255A端口A工作在方式1,A口输入,允许A口 中断,编写初始化程序。 MOV DX,PCTR ;控制口地址送DX MOV AL,10110000B ;A口方式1输入 OUT DX,AL MOV AL,00001001B ;置PC4=1,允许中断 OUT DX,AL ; 提问5: 8255工作在方式1,输入和输出时中断服务程序各 完成什么功能? 例例107:8255A方式方式1输入应用:某输入应用:某8位位

16、A/D转换器,与转换器,与8255 的连接如下图,的连接如下图,PC7做启动做启动AD转化信号,转化信号,AD转化结束信号转化结束信号 EOC接接PC4,作为选通信号,作为选通信号STB。A/D转换启动为高电平。假转换启动为高电平。假 设设8255作为查询式输入接口,分析工作原理。编写作为查询式输入接口,分析工作原理。编写8255初始初始 化与输入一个数据的程序。化与输入一个数据的程序。 8086 CPU 8255A PA7PA0 PC4 PC7 D7D0 PC3 D7D0 INTR 8259 IN0 START EOC A/D 模拟量模拟量 STB 采用查询式输入:注意到8255方式1输入时

17、,数据准 备好后,IBF=1,因此可以通过查询IBF的状态。 主要参考程序代码: MOV DX,PCTR ;控制口地址送DX MOV AL,10110000B ;A口方式1输入,PC7输出 OUT DX,AL MOV AL,00001110B ;置PC7=0,禁止A/D OUT DX,AL MOV AL,00001111B ;置PC7=1,启动A/D OUT DX,AL L:MOV DX,POT_C ;C口地址送DX IN AL,DX TEST AL,00100000B ;查IBF=1,即PC51? JZ L ; 查无输入数据,等待 MOV DX,PCTR MOV AL,00001110B ;

18、置PC7=0,禁止A/D OUT DX,AL MOV DX,POT_A ; 送A口地址 IN AL,DX ; IBF=1,读数据 ; 数据读出后,自动撤销IBF(0) HLT 课堂提问6: 如果采用中断方式输入,程序如何设计? 提示: 将8255中断请求端INTRA(PC3)接8259输入端,使中 断请求能引入CPU 允许8255端口A中断,设INTEA=1,即设PC4=1 当数据进入8255端口A时,8255的INTRA(PC3)发中 断请求申请,CPU响应后即可读数据 3)方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外 部设备能为8255A提供选通信号或数据接收应答信号, 那

19、么,通常使用8255A的端口工作方式1的情况。 思考题: 8255A的三个端口在使用时,有什么差别? 提 示:通常A端口与B端口可作为独立的输入输出 端口,C端口则配合A、B端口工作,提供控制信号、 状态信息。 10.5 方式方式2双向传输方式双向传输方式 方式方式2 2只适用于端口只适用于端口A A, , 端口端口A A工作于方式工作于方式2 2时,端口时,端口C C用用5 5个数位自动配个数位自动配 合端口合端口A A提供控制。提供控制。 注意注意: : 端口端口A A可工作在可工作在3 3种方式中的任意一种种方式中的任意一种; ; 端口端口B B只能工作在方式只能工作在方式0 0或方式或

20、方式1; 1; 端口端口C C被分为高被分为高4 4位和低位和低4 4位位, ,可以分别工作在输可以分别工作在输 入方式和输出方式,并不要求同为输入方式或同入方式和输出方式,并不要求同为输入方式或同 为输出方式为输出方式. . D7 D6 D5 D4 D3 D2 D1 D0 11 端口端口A 方式方式 B组方式组方式 0=方式方式0 1=方式方式1 PC2PC0 1=输入输入 0=输出输出 端口端口B 1=输入输入 0=输出输出 图图 10-15 方式方式2工作的控制信号工作的控制信号 PC2PC0 PC4 PC5 PC6 PC7 PC3 INTE1 INTE2 I O IBFA STBA A

21、CKA OBFA INTRA WR RD PA7 PA0 图10-21 画出了一个数据输出过程和一个数据输入的时序. 本章小结 8255功能结构 8255与CPU的连接 8255的端口地址 8255的工作方式 重点掌握方式的应用 习题习题1010 1. 1. 总结总结8255A8255A端口端口C C的使用特点。的使用特点。 2.2.设定设定8255A8255A的口的口A A为方式为方式1 1输入,口输入,口B B为方式为方式1 1输出,则读输出,则读 取口取口C C的数据的各位是什么含义?的数据的各位是什么含义? 3.3.对对8255A8255A的控制寄存器写入的控制寄存器写入BOHBOH,则其端口,则其端口C C的的PC0PC0引脚引脚 是什么作用的信号线?是什么作用的信号线? 4.4.设一工业控制系统,有四个控制点,分设一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论