【微机原理】第8章输入输出接口II-8255

合集下载

输入输出接口8255

输入输出接口8255
PC0 INTRB
表示A口已经接收数据
PC2
中断允许触发器
中断请求信号 请求CPU接收数据
方式1输入联络信号



STB*——选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输 入设备送来的数据锁存至8255A的输入锁存器 IBF——输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时,表示数 据已锁存在输入锁存器 INTR——中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提出中断请 求,要求CPU读取外设数据
号的接口电路。 在此例中将8255A设置为:A口输出,B口输入,C口高4 位输入(现仅用PC7、PC6两位输入外设的状态),C口低 4位输出(现仅用PC1、PC0两位输出选通及清除信号)。
此时8255A的工作方式控制字为10001010B(8AH)。
A口 PC 1 PC 7 8255A PC 6 PC 0 B口 选通 准备好
第七章 可编程接口芯片
可编程接口概术 可编程并行输入/输出接口芯片8255A

可编程接口概术 一个简单的具有输入功能和输出功能的 可编程接口电路如下图,它包括一个输入接口, 其组成主要是八位的三态门;一个输出接口, 其组成主要是八位的锁存器;另外还有八位的 多路转换~ A1地址线 WR*写信号 RESET复位信号
写操作 WR* 写端口A 写端口B 写端口C 写控制字
读端口A 读端口B 读端口C 非法
8255A端口选择及操作功能表
D0…D7
A0 A1 /CS /WR /RD RESET
三、8255A的控制字 8255A可以通过指令在控制端口中设置控制
7.1 可编程并行输入/输出接口芯片 8255A

微机原理8255的应用

微机原理8255的应用

微机原理8255的应用1. 简介本文档将介绍微机原理中的8255芯片的应用及其相关知识。

8255是一款常用的并行输入输出(PIO)芯片,广泛应用于微机原理的实验和应用中。

本文将从以下几个方面进行介绍:1.8255芯片的功能及特点2.8255芯片的引脚功能3.8255芯片的工作原理4.8255芯片的应用案例2. 8255芯片的功能及特点8255芯片是一种通用的并行输入输出接口芯片,可以提供多种不同的I/O操作模式。

其主要功能如下:•提供三个8位的I/O端口A、B和C,可以通过编程定义其为输入或输出端口。

•支持模式0、模式1和模式2三种工作模式,可以通过编程控制选择不同的模式。

•可以通过编程设置端口的工作模式和数据传输方式。

•可以通过编程控制和操作I/O端口的数据。

8255芯片的主要特点如下:•低功耗设计,适合在嵌入式系统中使用。

•高可靠性和稳定性,能够在不同环境下正常工作。

•兼容性强,可以与多种微处理器和控制器连接使用。

3. 8255芯片的引脚功能8255芯片共有40个引脚,每个引脚的功能如下:•一号引脚(VCC):芯片的供电电源。

•二号引脚(GND):芯片的接地引脚。

•三号引脚(A0)至四号引脚(A1):用于编程选择工作模式。

•五号引脚(CS):芯片的片选引脚,通过将其接地来选择芯片。

•六号引脚(RD):读取端口数据的引脚。

•七号引脚(WR):写入端口数据的引脚。

•八号引脚(RESET):芯片的复位引脚。

•九号引脚至十六号引脚(PA0至PA7):端口A的数据线。

•十七号引脚至二十四引脚(PB0至PB7):端口B的数据线。

•二十五号引脚至三十二号引脚(PC0至PC7):端口C的数据线。

4. 8255芯片的工作原理8255芯片是通过控制寄存器对其进行编程来实现不同功能的。

通过编程控制控制寄存器的值,可以选择端口的工作模式、数据传输方式等。

8255芯片的工作原理如下:1.初始化8255芯片,设置控制寄存器的值。

微机实验 可编程并行接口8255

微机实验  可编程并行接口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 端口的位控输出。

微机原理与接口技术82558253初始化编程原

微机原理与接口技术82558253初始化编程原

微机原理与接口技术8255 8253初始化编程原微机原理与接口技术--8255|8253初始化编程原理解析000微机原理与接口技术研究方向:指令数据在计算机中是如何传输的;(1)控制总线(2)地址总线(3)数据总线在计算机中要研究数据是如何传输的,就是知道计算机是如何寻址的(地址译码)、CPU与外设是如何进行数据交互的、CPU中的控制器是如何控制外设进行数据传输的;一、8253芯片74LS138芯片的工作原理:当一个选通端(G1)为高电平,另外选通端G2A、G2B为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端一低电平译出;(1)8253与8086CPU的连接方式注意:z如果8253与8位数据总线的微机相连,只要将A1A0分别与地址总线的最低两位A1A0相连即可。

z如果系统采用的是8086CPU,则数据总线为16位。

CPU在传送数据时,总是将低8位数据送往偶地址端口,将高8位数据送到奇地址端口。

偶地址端口的数据总是通过低8位数据总线送到CPU,奇地址端口的数据总是通过高8位数据总线送到CPU。

当仅具有8位数据总线的存储器或I/O接口芯片与8086的16位数据总线相连时,既可以连到高8位数据总线,也可以接在低8位数据总线上。

在实际设计系统时,常将这些芯片的数据线D7~D0接到系统数据总线的低8位,这样,CPU就要求芯片内部的各个端口为偶地址(地址总线的A0=0)。

应改用地址总线中的A2A1实现端口选择,即将A2连到8253的A1引脚,而将A1与8253的A0引脚相连。

(如上如所示)例题解析:5.若8253的地址为:04H-07H,要使计数器2工作于方式2,按二进制计数,计数值为02F0H,写出初始化程序。

若要读取通道1的16位计数值,写出其程序。

(1)初始化程序的步骤二、初始化编程步骤和门控信号的功能1.8253的初始化编程步骤接通电源时,8253处于未定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初始化编程。

微机原理8255

微机原理8255

D3 0
D2 D1 D0 0 0 1
WR RD
关于端口地址: A7 A6 A5 A口: 1 1 0 B口: 1 1 0 C口: 1 1 0 控制口:1 1 0
A4 1 1 1 1
A3 0 0 0 0
A2 0 0 1 1
A1 0 1 0 1
A0 0 0 0 0
PP:
LPST:
MOV AL,81H ; 控制字,送8255A的控制口 OUT 0D6H,AL MOV AL,0DH ;用置1/置0方式使PC6为1。00001101 OUT 0D6H,AL IN AL,0D4H ;读端口C的值 AND AL,04H JNZ LPST ;PC2(打印机BUSY)是否为零,不为0,等待 MOV AL,CL OUT 0D0H,AL ;若不忙,将CL中的字符送端口A。 MOV AL,0CH ;用置1/置0方式使PC6为0: 00001100 OUT 0D6H,AL NOP NOP INC AL OUT 0D6H,AL ;用置1/置0方式使PC6为01:00001101
8.2.4 8255A的控制字 8255A 可以通过指令往控制端口中设置控制字来决定它的 工作方式 控制字分为两类:方式选择控制字和C端口按位置1/置0控 制字 1.方式选择控制字
写入方式控制字:示例
要求:
A端口:方式1输入 C端口上半部:输出,C口下半部:输入 B端口:方式0输出
方式控制字:10110001B或B1H 初始化的程序段: mov dx,0fffeh ;假设控制端口为FFFEH mov al,0b1h ;方式控制字 out dx,al ;送到控制端口
第8章:可编程通用接口芯片
教学重点
8255A的基本性能 8255A的内部机构和外部引脚 8255A的控制字 8255A的工作方式 8255A的应用

微机原理与接口技术-8255

微机原理与接口技术-8255
状态寄存器和控制寄存器方式2双向选通输入输出接口芯片微机原理与接口技术四川大学8255a的内部结构和引脚数据总线缓冲器内部控制线内部数据线端口c上部端口c下部读写控制逻辑pcrdwrcsreset接口芯片微机原理与接口技术四川大学控制最灵活最难掌握接口芯片微机原理与接口技术四川大学cs片选信号rd读信号wr写信号reset复位信号csa1a0io地址读操作rd写操作wr60h61h62h63h读端口a读端口b读端口c非法写端口a写端口b写端口c写控制字接口芯片微机原理与接口技术四川大学适用于查询和中断方式的接口电路接口芯片微机原理与接口技术四川大学单向io一次初始化只能指定某一端口作输入或作输出不能使该端口同时既作输入又作输出
CS A1 A0
000 001 010 011
I/O地址
60H 61H 62H 63H
读操作RD
读端口A 读端口B 读端口C
非法
接口芯片
写操作WR 写端口A 写端口B 写端口C 写控制字
四川微机大原学理与接卿口粼技波术 6
8255A的工作方式
接口芯片
• 方式0:基本输入输出方式
– 适用于无条件传送和查询方式的接口电路
PC1
接口芯片
数据选通信号 表示外设已经准备好数据
STBB 输入缓冲器满信号 IBFB 表示B口已经接收数据
PC0
中断允许触发器
INTRB
中断请求信号
请求CPU接收数据
四川微机大原学理与接卿口粼技波术 13
方式1输入联络信号
接口芯片
• STB——选通信号,低电平有效
– 由外设提供的输入信号;
– 当其有效时,将输入设备送来的数据保存 至8255A的输入缓冲器。
方式2 双向选通输入输出 查询、中断 输入、输出锁存

微机原理 8255输入

微机原理  8255输入

微机原理 8255输入、输出实验一、实验目的1、了解8255芯片结构及接口方式2、掌握8255输入、输出的编程方法二、实验说明了解用到的芯片引脚及功能:8255是可编程的并行输入/输出接口芯片,通用性强且使用灵活。

8255按功能可分为三个部分,即:总线接口电路,口电路和控制逻辑电路。

1、口电路:8255共有三个八位口,其中A 口和B 口是单纯的数据口,供数据I/O 口使用。

2、总线接口电路:它用于实现8255和单片机芯片的信号连接。

(1)CS ——片选信号。

(2)RD (3)WR(4)A0、A1——端口选择信号。

8255共有四个可寻址的端口,用二位编码可以实现。

3、控制逻辑电路:它是控制寄存器,用于存放各口的工作方式控制字。

本实验是利用8255可编程并行口芯片,实现数据的输入、输出。

可编程通用接口芯片8255A 有三个八位的并行的I/O 口,它有三种工作方式。

本实验采用的方式为0:PA 口输出,PB 口输入。

工作方式0是一种基本的输入输出方式。

在这种方式下,三个端口都可以由程序设置为输入或输出,其基本功能可概括如下:1、可具有两个八位端口(A 、B )和两个4位端口(C 口的上半部分和下半部)。

2、数据输出时可锁存,输入时没有锁存功能。

本实验中,8255的端口地址由单片机的P2.0、P2.1和P2.7控制。

控制口的地址为7FFFH ;A 口的地址为7CFFH ;B 口的地址为7DFFH ;C 口的地址为7EFFH 。

三、实验步骤实验 (一): PA 口作为输出口。

1、用8P 数据线连接单片机最小应用系统1模块的 P0口到8255I/O 扩展模块的D0~8255的引脚图74LS373的引脚图D7口,连接8255I/O扩展模块的PA0~PA7到八位逻辑电平显示模块的D0-D7口,用二号导线分别连接单片机最小应用系统1模块的P2.0、P2.1、P2.7、RD、WR到8255I/O扩展模块的A0、A1、CS、RD、WR,连接8255I/O扩展模块的RESET口到复位模块的复位口。

汇编输入输出与接口技术 8255

汇编输入输出与接口技术 8255

26
例1. 简单输入接口设计
2.检测一个开关的状态。若开关为闭合(0)状态,TEMP 单元为1;若开关为断开(1)状态,TEMP单元为0。(设端 口地址仅为380H)
硬件电路: 控制程序: TEMP DB 0
MOV DX,380H IN AL,DX AND AL,80H JZ ON MOV TEMP,0 JMP BAK MOV TEMP,1 ret
完成全部接口 控制操作
协调CPU与外设动作
匹配速度
3
一. 接口的基本概念
3.接口控制方式
①查询方式
中央处理器在数据传送之前通过接口的状态设置存 储电路询问外设,待外设允许传送数据后才传送数据。 CPU需要完成以下操作: CPU向接口发出传送命令,输入数据或输出数据; 中央处理器查询外设是否允许传送。 在查询方式下,中央处理器需要花费较多的时间去不 断地“询问” 外设,外设的接口电路处于被动状态。
端口地址译码部分
PC机的I/O端口地址译码仅使用了地址总线的低 10位,即只有地址线A9~A0用于I/O地址译码。
14
二. I/O指令和I/OAEN(地 址允许)参与译码。AEN=1, DMA控制三总线,进行DMA传 送; AEN=0开启译码器
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 0 0 0 X
10
二. I/O指令和I/O地址译码
1.输入输出指令 (1)输入指令IN
IN ACC,PORT ;直接端口寻址。端口地址由指令
中的8位立即数指定,所以直接寻址地址为00H~ 0FFH,256个端口
IN ACC,DX;间接端口寻址。端口地址由DX内容
确定,即端口地址>0FFH时,应使用DX间址
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AB
DB
M/IO RD WR
CPU INTR
CS
DB
DB RDY
RD WR STB
INTR I/O接口芯片
DB
RDY
STB I/O设备
• 所谓“可编程”是指芯片的功能和一些参数是可由用户选 择和改变的。
• 通过向芯片内部写入特定的“工作方式控制字”,就可以 选择这个芯片的工作方式。
• 例如,可以将某芯片的数据端口设定为“输入”,也可以 将它设定为“输出”。
• 显然,芯片的可编程特性扩大了其使用范围,使用上也更 方便。
• 按照可编程接口芯片的用途,可以将其分为“通用接口芯 片”和“专用接口控制器”两类。
8.3.1 8255A芯片内部结构和引脚功能
1. 8255A的基本性能
• 8255A是具有多种功能的可编程并行接口电路芯片 • 其内部最基本的接口部件是: • 三态缓冲器、锁存器 • 此外,还包括与CPU的联络电路及与外设的联络电路: • 状态寄存器、控制寄存器 • 端口译码电路、控制电路(如读写控制、中断控制)
每位可独立进行输出控制(位控制)
使用最灵活,较难掌握
⑶ 数据总线缓冲器
这是一个三态双向8位缓冲器,它是8255A芯片 与系统数据总线的接口。
输入输出的数据,输出的指令以及CPU发出的控制 字和外设的状态信息,也都是通过这个缓冲器传送的
⑷ 读/写和控制逻辑
它与CPU的地址总线中的A1、A0以及有关的控 制信号(RD,WR,RESET,IO/M)相连,由它控制 把CPU的控制命令或输出数据送至相应的端口,也由 它控制把外设的状态信息或输入数据通过相应的端口, 送至CPU。
• 8255A有3个8位的数据端口(A/B/C), • 共24个I/O引脚, • 共有3种输入输出工作方式 • 基本输入/输出(A/B/C口) • 选通输入或选通输出(A/B口) • 双向选通(A口)
2. 8255A的内部结构和引脚
8255A由以下几个部分组成:
⑴ 4个8位端口----PA、PB、PC、CWR
7. (4) RESET——复位信号,高电平有效。它清除控制 寄存器,并且置所有端口(A、B、C)为输入方式。
8. ⑸A1、A0:地址信号,输入。内连8255A的片内寄 存器,外接CPU地址线,和CS#一起决定8255A的4
-CS A1 A0
000 001 010 011
I/O地址
60H 61H 62H 信号,用来指明哪一个端口被选中。 8255A有三个数据端口和一个控制端口。
数据端口用来传送数据,控制端口用来接受CPU传送来的控 制字。
数据和控制字都是通过CPU的数据总线传送给8255A的。 8255A则根据端口选择信号A1、A0的组合把数据总线传送来 的信息传送到相应的端口。
第8章输入/输出接口
8.3 可编程并行通信接口芯片8255A
8255A是Intel86系列微处理机的配套并行接口芯片,它可为86系列CPU与外部 设备之间提供并行输入/输出的通道。由于它是可编程的,可以通过软件来设 置芯片的工作方式,所以,用8255A连接外部设备时,通常不用再附加外部电 路,给使用者带来很大方便。
1.工作方式控制字 ☼工作方式控制字用来设定A口、B口和C口
的数据传送方向和工作方式; ☼工作方式分别是方式0、方式1和方式2; ☼A口可工作在三种方式中的任何一种方式下0 、1、2; ☼B口只能工作在前两种工作方式下0、1; ☼C口只能工作在方式0下或者配合端口A和端 口B工作; ☼8255A的工作方式控制字格式和各位的含义
3. 一些控制命令
4. (1) CS(Chip Select)——选片信号,低电平有效,由 它启动CPU与8255A芯片之间的通信 (Communication)。
5. (2) RD——读信号,低电平有效。它控制8255A送出 数据或状态信息至CPU。
6. (3)WR——写信号,低电平有效。它控制把CPU输 出的数据或命令信号写到8255A。
8255A中有三个输入输出端口,另外,内部还有一个控制字寄 存器,共有四个端口,要有两个输入端来加以选择,这两个 输入端通常接到地址总线的最低两位A1和A0。
⑵ A组和B组控制电路 这是两组根据CPU的命令字控制8255A工作方式的电路。
它们有控制寄存器,接受CPU输出的命令字,然后分别决定两组的 工作方式,
读操作-RD
读端口A 读端口B 读端口C
非法
写操作-WR
写端口A 写端口B 写端口C 写方式字和位控字
4 片选与端口地址:
I/O接口芯片的片选信号输入端CS端接地址译码器的的输出端 Y33 ,A1、A0接CPU的A1、A0。 A1、A0的取值,该接口芯片有4个端口:84H、85H、86H、87H CPU的A0除了作地址线外,还作为逻辑转换门电路的控制输入 端.
数据端口PA、PB、PC
它有三个输入输出端口: Port A、Port B和Port C。每 一个端口都是8位,都可以选择作为输入或输出,但功能上有 着不同的特点。
• 端口A:PA0-PA7,8位端口,支持工作方式0、1、2 • 端口B:PB0-PB7,8位端口,支持工作方式0、1 • 端口C:PC0-PC7,拆分为两个4位端口,仅支持工作方式0 端口寻址
当A1A0=00时,选中端口A; 当A1A0=01时,选中端口B; 当A1A0=10时,选中端口C; 当A1A0=11时,选中控制端口。
8.3.2 8255A的两个控制字和一个状态字
• 8255A是可编程接口芯片。 • 可编程就是用指令的方法先对芯片进行初始化,
决定芯片的端口是处于输入数据状态还是处于输 出数据状态,以及每个端口的工作方式。 • 工作方式和工作状态的建立是通过向8255A的控 制口写入相应的控制字完成的。 • 8255A共有两个控制字,即 • 工作方式控制字 • 对C口置位/复位控制字。
也可根据CPU的命令字对端口C的每一位实现按位“复位”或“置 位”。
端口A:PA0-PA7 (A组控制)
常作数据端口使用,功能最强大
端口B:PB0-PB7 (B组控制)
常作数据端口使用
端口C:PC4-PC7 (A组控制),
PC0-PC3 (B组控制)
可作数据、状态或控制端口使用
可拆分成两个4位端口分别输入或输出
相关文档
最新文档