微机原理 第七章 8255_第1页
微机原理 第七章 8255_第2页
微机原理 第七章 8255_第3页
微机原理 第七章 8255_第4页
微机原理 第七章 8255_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及接口技术第7章常用接口器件典型接口芯片7.1

8255:可编程并行接口17.1可编程并行接口8255

一、内部结构及外部引线内部包含A、B、C3个并口,1个控制端口两个8位端口A、B两个4位并口C3种工作方式方式0:基本输入输出方式方式1:选通输入输出方式方式2:双向选通传送方式2图7.28255的内部结构框图输入、输出、双向输入、输出输入、输出、控制/状态信号D0~D7A1A0=00A口

A1A0=01B口

A1A0=10C口A1A0=11控制端口38255A引脚12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB6PB5PB4PB3PB7D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A47.1可编程并行接口8255

二、8255的工作方式工作方式0:基本输入输出方式独立的两个8位和两个4位并行口,都能被指定作为输入或者输出A口(PA0~PA7):输入或输出B口(PB0~PB7):输入或输出C口(PC4~PC7):输入或输出C口(PC0~PC3):输入或输出可按位置位/复位共有16种使用状态58255A的工作方式0:基本输入输出方式可以用于查询方式,也可以用于无条件传送。不设置专用联络信号线,可由用户任意指定C口中的线完成联络功能,是单向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或输出,不能指定端口同时既作输入又作输出。67.1可编程并行接口8255

三、8255的方式控制字PC0~30=输出1=输入PB0=输出1=输入B组方式0=0方式1=1方式PC4~70=输出1=输入PA0=输出1=输入A组方式00=0方式01=1方式10=2方式11=不用特征位D0D1D2D3D4D5D61作用:指定8255A的工作方式及3个并口(A、B、C)的输入输出状态格式:8位,其中最高位是特征位,一定要写1,7例:要把A口指定为方式1,输入,C口上半部为输出;B组指定为方式0,输出,C口下半部定为输入,则工作方式命令代码是:若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为:

MOVDX,203H;8255A命令口地址

MOVAL,0B1H;初始化命令

OUTDX,AL;送到命令口PC0~30=输出1=输入PB0=输出1=输入B组方式0=0方式1=1方式PC4~70=输出1=输入PA0=输出1=输入A组方式00=0方式01=1方式10=2方式11=不用特征位D0D1D2D3D4D5D6110110001B或B1H。8作用:指定C口的某一位(引脚)输出高电平或低电平格式:8位,其中最高位是特征位,一定要写01=置位(高电平)0=复位(低电平)位选择000=C口0位001=C口1位…111=C口7位不用(写0)特征位D0D1D2D3D4D5D60写入8255A的命令寄存器按位置位/复位命令(位操作)9例:若要把C口的PC2引脚置成高电平输出,则命令字应该为00000101B或05H。将该命令的代码写入8255A的命令寄存器,就会使得从PC口的PC2引脚输出高电平,其程序段为:

MOVDX,203H;假设8255A命令口地址

MOVAL,05H;使PC2=1的命令字

OUTDX,AL;送到命令口如果要使引脚PC2输出低电位,则程序段为:

MOVDX,203H;8255A命令口地址

MOVAL,04H;使PC2=0的命令字

OUTDX,AL;送到命令口10例:利用8255A的PC7产生负脉冲,作打印机接口电路的数据选通信号,其程序段为:

MOVDX,203H;8255A命令口

MOVAL,00001111B;置PC7=1 OUTDX,AL NOP NOP MOVAL,00001110B;置PC7=0 OUTDX,AL NOP;维持低电平

NOP MOVAL,00001111B;置PC7=1 OUTDX,AL利用C口的按位控制特性还可以产生负脉冲或方波,对外设进行控制。11①

方式控制字:是对8255A的3个端口的工作方式及功能进行指定,即初始化,初始工作要在使用8255A之前。②按位置位/复位命令:对PC口的输出进行控制,可放在初始化程序以后的任何地方。③特征位:两个命令的最高位(D7)都是特征位,目的是识别两个不同的命令。④按位置位/复位的命令代码必须写入命令口(命令寄存器、控制端口),这个问题常有人弄错。说明12CSA1A0RDWR读操作内容地址举例00001A口→数据总线(→CPU)数据200H00101B口→数据总线(→CPU)数据201H01001C口→数据总线(→CPU)数据202H写操作00010A口←数据总线(←CPU)数据200H00110B口←数据总线(←CPU)数据201H01010C口←数据总线(←CPU)数据202H01110控制寄存器←数据总线控制字203H四.8255的寻址及连接使用13四.8255的寻址及连接使用A9A8A7A6A5A4A3A2A1A011100000xx8255的端口地址:380h-383hA口:380hB口:381hC口:382h控制端口:383h147.1可编程并行接口8255

五、8255的初始化及应用举例:方式0-打印机接口数据STROBEBUSYACK15①

首先查询BUSY。若BUSY=1,打印机忙,则等待;若BUSY=0,打印机不忙,则送数据。②通过并行接口把数据送到连接打印机的数据线上,此时数据并未送入打印机。③送出一个数据选通信号DATASTROBE-(负脉冲)给打印机,数据线上的数据进入到打印机的内部缓冲区。④打印机在收到数据后,发出“忙”(BUSY=1)信号,表明打印机正在处理输入的数据。⑤打印结束后,打印机送出一个回答信号ACK(例题中实际没有使用)给主机,表示上一个字符已经处理完毕。查询方式下打印机与CPU之间传送数据的过程:16五、8255的初始化及应用举例:方式0-打印机接口假设8255地址:380H~383H命令字:PC0~30=输出1=输入PB0=输出1=输入B组方式0=0方式1=1方式PC4~70=输出1=输入PA0=输出1=输入A组方式00=0方式01=1方式10=2方式11=不用特征位D0D1D2D3D4D5D61初始化程序:INIT55: MOV DX,0383H MOV AL,10000011B ;方式选择 OUT DX,AL MOV AL,00001101B ;C口位操作,PC6=1 OUT DX,AL10000001B17PRINT: MOV AL,BLAK MOV CL,AL ;循环次数 MOV SI,OFFSETDATAGOON: MOV DX,0382H ;C口地址PWAIT:IN AL,DX AND AL,02H ;测试PC1是否为1 JNZ PWAIT ;等待不忙

MOV AL,[SI]

MOV DX,0380H ;A口地址 OUT DX,AL ;送数据

温馨提示

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

评论

0/150

提交评论