8255的应用举例
8255应用

(1) 硬件设计
8259A INTA INTR IR 0 INTA INT IR 2 IR 7 . .. . .. PC 3 PB 0~7 PC 7 主 PC 4 PC 6 机 系统总线 PC 5 PB 0~7 PC 2~5 PC 0~2 8255A PA 0~7 8255A PA 0~7
OBF STB ACK
LOOP RLOOP HLT;
DL50MS PROC PUSH CX MOV CX,0009H CCT: BBT: MOV AX,056CH DEC AX JNZ BBT
;延时子程序 ; ; ; ; ; ; ; ;
LOOP CCT POP RET CX
2. 查询方式的双机并行通信 甲乙两台微机之间并行传送1K字节数据。 甲机发送,乙机接收。甲机一侧的8255A采用 方式1工作,乙机一侧的8255A采用方式0工作。 两机的CPU与接口之间都采用查询方式交换 数据。
OUT DX,AL CALL DL50MS MOV AL, 0FH
;C口输出高5位编程地址和 编程控制信号 ;调50ms延时子程序 ;PC7置1控制字
MOV DL,0FEH OUT DX,AL INC INC BX DI ;PC7置1撤消编程电压 ;2764编程地址加1 ;编程数据源地址加1 ;8K字节是否写完
L: MOV IN AND JZ MOV MOV OUT INC DEC JNZ MOV INT BUFS
DX, 302H AL, DX AL, 08H L DX, 300H AL, [SI] DX, AL SI CX L AH, 4C00H 21H DB 1024个数据
; 8255A 状态口 ; 查发送中断请求INTRA=1? ; PC3=1? ; 若无中断请求, 则等待; ; 若有中断请求,则向A口写数 ; 8255APA口地址 ; 从内存取数 ; 通过A口向乙机发送第二个数据 ; 内存地址加1 ; 字节数减1 ; 字节未完, 继续 ; 已完, 退出 ; 返回DOS
8255可编程并行接口知识点总结

8255可编程并⾏接⼝知识点总结可编程并⾏接⼝8255知识点总结8255A 是INTEL系列的并⾏接⼝芯⽚,由于它是⼀种可编程的外部接⼝部件,通常作为微机系统总线与外部设备的接⼝控制部件,可通过软件来设置芯⽚的⼯作⽅式,⽤8255A 连接外部设备时,通常不需要附加外部电路,给使⽤带来很⼤的⽅便。
1、内部结构2、引脚说明8255作为主机与外设的连接芯⽚,必须提供与主机相连的3个总线接⼝,即数据线、地址线、控制线接⼝。
同时必须具有与外设连接的接⼝A、B、C⼝。
由于8255可编程,所以必须具有逻辑控制部分,因⽽8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
(1)与CPU连接部分根据定义,8255能并⾏传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C⼝及控制寄存器,故地址线为两根A0、A1。
此外CPU要对8255进⾏读、写与⽚选操作,所以控制线为⽚选、复位、读、写信号。
各信号的引脚编号如下:总线分类:(2)与外设接⼝部分8255有3个通道A、B、C与外设连接,每个通道⼜有8根线与外设连接,所以8255可以⽤24根线与外设连接,若进⾏开关量控制,则8255可同时控制24路开关。
①数据端⼝A、B、C端⼝A(PA0-PA7):对应了1个8位的数据输⼊锁存器和1个数据输出锁存/缓冲器。
所以A 作为输⼊或输出时,数据均受到锁存。
端⼝B(PB0-PB7):对应了1个8位的数据输⼊缓冲器和1个数据输出锁存器/缓冲器。
所以B 输⼊锁存,输出不受到锁存。
端⼝C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输⼊不锁村,输出锁存。
当8255⼯作于应答I/O⽅式时,C⼝⽤于应答信号的通信。
A、B组的逻辑控制功能A组:组成:端⼝A(PA0-PA7)和端⼝C的⾼4位(PC4-PC7)这⼏个端⼝由A组统⼀进⾏逻辑控制。
8255A应用举例

七段数码管的字形代码表如下:
显示字形 g
f
e
dc
b
a 段码
0
0
1
1
11
1
1
3fh
1
0
1
1
00
0
0 30h
2
1
0
1
10
1
1 5bh
3
1
0
0
11
1
1 4fh
4
1
1
0
01
1
0 66h
data segment
org 100h
buff1 db 3fh, 30h, 5bh, 4fh,66h,6dh,7dh,07h ;定义0~7 的显示码
buff2 db 0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh ;定义位码
data ends
code segment
A3 A2 A1 A0 0 00 0
340H
1 1 0 1 0 0 0 0 0 1 341H
∶
1 1 0 1 0 0 1 1 1 1 34FH
从上述分析中可以看出,指定地址范围内状态 不变的地址信号是A9 A8 A7 A6 A5 A4 它们的状 态分别是110100,这意味着A9~ A4上出现的信号状 态为110100,8255 A的CS必须为低电平。
下面讨论如何用74LS138译码器实现这一功能。
设计片选电路的基本原则是:用A9~ A4作为 74LS138的输入,用74LS138其中一个输出Yi去连 接8255的CS,当且仅当
微机原理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举例

key _ num = 4i + j
d、 、 e、 、 f、 、 g、 、 h、 、 i、 、
延时10ms,消除抖动。 延时 ,消除抖动。 逐列检测,找出为0的列信号 的列信号j; 逐列检测,找出为 的列信号 ; 设定列为输出,行为输入; 设定列为输出,行为输入; 列输出为0,输入行信号; 列输出为 ,输入行信号; 逐行检测,找出为0的行信号 的行信号i; 逐行检测,找出为 的行信号 ; 计算键号key_num 计算键号
8253应用举例 应用举例
例1:现有一个高精密晶体振荡电路, 现有一个高精密晶体振荡电路, 输出信号是脉冲波,频率为1MHz 1MHz。 输出信号是脉冲波,频率为1MHz。要求 利用8253做一个秒信号发生器, 8253做一个秒信号发生器 利用8253做一个秒信号发生器,其输出 接一发光二极管, 0.5秒点亮 0.5秒 秒点亮, 接一发光二极管,以0.5秒点亮,0.5秒 熄灭的方式闪烁指示。 8253的通道地 熄灭的方式闪烁指示。设8253的通道地 址为80H 86H(偶地址) 80H~ 址为80H~86H(偶地址)
8255
PC0
8253 OUT0 CLK0 GATE0 1KHz +5V
2、时间常数计算 如果8253 CLK输入1KHz信号, 如果8253的CLK输入1KHz信号,延时 8253的 输入1KHz信号 时间为1S 1S, 时间为1S,则时间常数为 N=1/0.001=1000D=03E8H 3、工作方式选择 4、程序
;通道1控制字 通道1 ;通道1初始计数值,03E8H=1000BCD 通道1初始计数值,03E H=1000BCD
8255A的应用举例

(2)EOC
转换结束,为状态信号。本例假定A/D转换期间该信号为低电平,一旦转换结束,就变为高电平。
(3)OE(上划线)
输出允许,低电平有效。在A/D转换结束后,置该信号有效,可使转换数据通过内部的三态门出现在输出线上。
根据这两个转换器的控制和状态信号的需要,可将作为接口的8255A设置成方式0,连接如图6.13所示。A口作输出口,用来输出要进行D/A转换的数据;B口作输入口,用来输入A/D转换结果;c高4位口作输入口(仅用PC4),用来读:EOC状态;C低4位口作输出口,用置位/复位操作产生D/A、A/D转换所需的各种控制信号。
8255A的应用举例
作者:佚名文章来源:本站原创点击数:3337更新时间:2007-2-24 0:35:43
8255A的应用举例
1.8255A在PC系列机中的应用简况
在PC/XT机中用一片8255A来做三项工作:一是管理键盘,二是控制扬声器,第三是输入系统配置开关的状态。占用的I/0端口地址空间为60H~7FH,但实际使用60H~63H。
图6.14所示是进行D/A输出及采样模拟量的流程图。采样模拟量部分的“使PC3(OE)为低电平”一项可移到准备阶段去做,即让ADC的输出三态门一直为开放状态。
下面的程序段是做一些准备工作(具体工作在注释中说明):
例6.2使用8255A以方式1工作作打印机与CPU之间的接口。
8253、8255应用举例

8255应用举例
8255A在IBM PC/XT上的应用
1.打印机接口的信号与时序 主机把数据送给引脚DATA0~DATA7 同时送出数据选通信号STROBE* 打印机在BUSY信号线上发出忙信号 打印机处理好输入的数据时 撤消忙信号 同时又送出一个响应信号ACK*
2.用8255A方式0与打印机接口
;从PC7送出控制低脉冲 ;置STROBE*=0 ;产生一定宽度的低电平 ;置=1 ;最终,STROBE*产生低脉 冲信号
;打印子程序:返回 pop dx pop ax ret printc endp
3.用8255A方式1与打印机接口
8255A方式1与打印机接口时序配合
8255A的初始化 mov dx,0f003h mov al,0a0h out dx,al mov al,0ch out dx,al …… mov cx,counter mov bx,offset buffer call prints ;打印子程序:输出 prints proc push ax push dx print1: mov al,[bx] mov dx,0f000h out dx,al
;检测(PC7)为1否? ;为0,说明打印机没有响应,继续检测 ;为1,说明打印机已接受数据 ;准备取下一个数据输出 ;打印结束,恢复寄存器 ;返回
;使INTEA(PC6)为0,禁止中断
;打印字节数送CX ;取字符串首地址 ;调用打印子程序
;保护寄存器ov dx,0f002h print2: in al,dx test al,80h jz print2 ;打印子程序:返回 inc bx loop print1 pop dx pop ax ret prints endp
扬声器开 speakon
8255作为打印机接口

5.4.78255A的编程和应用举例【例】8255A作为连接打印机的接口,工作于方式0,如图5.23所示。
图18255A作为打印机接口的示意图工作过程为:当主机要往打印机输出字符时,先查询打印机忙(B U S Y)信号,如果打印机正在处理一个字符或正在打印一行字符,暂时不能接收数据,则忙信号为1,反之,则忙信号为0。
因此,当查询到忙信号为0时,则可通过8255A往打印机输出一个字符。
此时,要将选通信号置成低电平,然后再使为高电平,即在端输出一个负脉冲,此负脉冲将字符选通到打印机输入缓冲器。
现将8255A端口A作为传送字符的通道,工作于方式0输出方式;B端口未用,也设为方式0;作为B U S Y信号输入端,故为输入方式,作为S T B信号输出端,故为输出方式。
设8255A的端口地址为:A端口:00D O HB端口:00D2HC端口:00D4H控制口:00D6H使用查询方式输出,待输出的字符在C L中,具体程序段如下:P P:M O V A L,81H;控制字,使A组、B组均为方式0,A端口为输出,;P C7~P C4输出,P C3~P C0输入O U T0D6H,A L;写入控制口M O V A L,0D H;用C端口置1/置0方式使P C6为1,;即S T B初始状态为高电平O U T0D6H,A L;写入控制口L P S T:I N A L,0D4H;读端口C的值T E S T A L,04H;测试P C2位J N Z L P S T;如不为0,说明B U S Y信号为1,即打;;印机处于忙状态,故等待M O V A L,C L;如不忙,则把C L中字符送端口AM O V A L,0C H;用置1/置0方式使P C6为0O U T0D6H,A L;即向S T B输出负脉冲I N C A LO U T0D6H,A L;再使S T B为1···;后续程序段注意:端口C置1/置0控制字输出到控制口,但是它作用的对象是端口C的某1位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1 某检测系统中有8个开关K7~K0,要求不断检 测它们的通断状态,并显示在发光二极管 LED7 ~ LED0 上。开关断开,相应的 LED 点亮; 开关合上, LED熄灭。试设计硬件电路,并编 写有关的控制程序。
键盘扫描:
1)是否所有键均松开?向每行输出0再读列,应都为1; 2)是,查有键压下?向每行输出0后读得有列为0; 3)有键压下,延时消抖动; 4)根据输出0和读得0的位置,获得该键的代码。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
键的代码形成:
键0在3行3列,压下后从B口可读得D7=0和D3=0, 其余位=1,故其编码为01110111B= 77H; 键6在2行1列,压下时D6=0、D1=0,其余位=1,故 其编码为10111101B=BDH。 然后查表确定压下的键。 键扫描的程序见课本。
问题: B 口已被设为输出方式,为何能用 IN 指 令读取B口的状态? 答案:因为B口的结构特殊。B口既有1个8位输 入缓冲器,还有1个I/O锁存器/缓冲器。从PB输出 时数据会被锁存在那里,能随时用 IN指令读回锁 存的输出状态。因 B 口被编程为输出,因而读到 的是锁存数据而不是从外设输入到B口的数据。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
DATA TABLE
DATA
SEGMENT DB 40H,79H,24H,30H,19H,12H,02H,78H DB 00H,18H,80H,03H,43H,21H,06H,0EH ;0~F的七段代码编码 ENDS
CODE
SEGMENT ASSUME CS:CODE,DS:DATA MOV AL,90H ; A口方式0输入, B口方式0输出 OUT 63H,AL ;输出控制字 IN_PA: IN AL,60H ;读A口 AND AL,0FH ;取低4位 MOV BX,OFFSET TABLE ;BX←七段代码表首地址 XLAT ;查表,AL←(BX+AL) OUT 61H,AL ;输出到B口 CALL DELAY ;调用延时程序 JMP IN_PA ;继续读开关,显示 DELAY: … ;延时 MOV AH,4CH INT 21H ;返回DOS CODE ENDS
为减少输入线,开关被排列成行、列矩阵。
检测是否有键压下前,先要确定键是否都松开。
检测到有压键后,应消抖动 (Debance) ,即延长 20ms,再查看该键是否仍被压下。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
图6.23
• 4行×4列键盘矩阵 • PA3~0输出到4行线 • 4行线输入到PB7~4 • 4列线输入到PB3~0 • 键未压下的列=1 • 压键的行列会接通 • 若置压键行为0 则对应列也为0
6.3 8255A的应用
第6章 I/O和8255A
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
§6.3 8255A的应用举例
举例说明8255A在开关电路、键盘及PC/XT 机中的应用。 此外,8255A还可用于扬声器和CRT控制接 口电路、A/D和D/A接口电路等许多场合。 由于选通方式比较复杂,这里仅介绍方式0 的几个应用实例。
图6.22
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
七段LED显示原理
如要显示数字0,g段应熄灭,其余段点亮, 即向 B口输出代码 0100 0000B=40H,最高 位不用,清0(也可用作小数点); 如要显示数字 1,则点亮 b、 c段,其余段熄 灭,代码为0111 1001B=79H。 由此可求得 0~F 的七段代码为: 40H , 79H , 24H , 30H , 19H , 12H , 02H , 78H , 00H , 18H , 80H , 03H , 43H , 21H , 06H , 0EH , 其中字母 B和 D只能用小写字母 b和 d 来表示。 程序如下页。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
程序: MOV DX,0F6H MOV AL,10010000B OUT DX,AL TEST_IT: MOV DX,0F0H IN AL,DX MOV DX,0F2H OUT DX,AL CALL DELAY_20S JMP TEST_IT DELAY_20S:…
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
PC为输入方式,读入各位数值来了解系统状态。 例如,检查DIP开关状态的程序段: IN AL,61H ;读B口状态 AND AL,11110111B ;PB3置0,其余位不变 OUT 61H,AL ;送回B口 IN AL,62H ;读C口状态 AND AL,0FH ;取低4位开关状态 MOV AH,AL ;存入AH IN AL,61H ;读B口状态 OR AL,00001000B ;PB3置1,其余位不变 OUT 61H,AL ;送回B口 IN AL,62H ;读高4位开关状态进AL低4位 MOV CL,4 ROL AL,CL ;左移4次后送到D7~D4位 AND AL,0F0H ;截取高4位开关量 OR AL,AH ;8位开关状态组合在AL中
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
6.3.1 基本输入输出应用举例
6.3.2 键盘接口
6.3.3 8255A在PC/XT机中的应用*
*供选用
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
6.3.3 8255A在PC/XT机中的应用
PC/XT 机中用 8255A-5 (功能与 8255A 同) 为接口芯片,来读取键盘输入的扫描码和 系统配置DIP开关的设置状态,同时还可以 控制扬声器发声及奇偶校验电路的工作。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
PB输出控制信号:
PB0 输出扬声器发声控制信号到8253的GATE2端, PB0=1,允许8253计数器2产生音调信号。 PB1 输出控制扬声器发声信号。PB1=1允许8253输 出的音调信号加到扬声器驱动电路。 PB2 保留,可输出键盘检测数据 KBD DATA。 PB3 读入配置 DIP开关状态。PB3=1封锁U41,开 关高 4 位 SW8~5 读入 PC3~0 ; PB3=0 , U41 选通, SW4~1 读入 PC3~0 。开关合上时状态为 0 ,断开为 1 。 PB4=0 允许系统板RAM奇偶校验电路工作。 PB5=0 允许I/O扩展板RAM奇偶校验电路工作。 PB6和PB7 输出到键盘接口电路。
图6.22
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
8255A的A口工作于方式0,输入;B口方式0,输出。 七段LED共阴极接法。PB0~PB6接LED的a~g段,当PBi=0 时 , 经反相 后 使显示 器 正极为 高 电平 , 相 应段点 亮 ; PBi=1时,相应段熄灭。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
1)硬件电路设计
用8086 CPU、8255A和74LS138译码器等芯片及开关、 显示器等构成如下硬件电路,来实现上述功能。
图6.21 中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
A 口输入, PA7~PA0 接 8 个开关 K7~K0 , B 口输出, PB7~PB0接显示器LED7~LED0。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
PC读取系统状态:
PC3~ PC0 配置开关DIP的设置状态。
PC4 加到扬声器上的驱动信号SPK。
PC5 扬 声 器 的 音 调 信 号 状 态 T/C 2OUT , 即 从 8253-5的OUT2输出的信号。 PC6 I/O通道奇偶校验结果I/O CHCK。若为1则 产生 NMI 中断请求。只有 PB5=0 才允许送出 I/O CHCK信号。 PC7 系统板奇偶校验结果PCK。若为1便产生NMI 中断请求。只有PB4=0才允许发出PCK信号。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
6.3.1 基本输入输出应用举例
6.3.2 键盘接口
6.3.3 8255A在PC/XT机中的应用
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
6.3.2 键盘接口
构成键盘的开关有机械式、薄膜式、电容式和霍 尔效应式等,PC上的键盘多用机械式开关。
8255A 的 RD 、 WR 和 RESET 脚接 CPU 相应输出, D7~D0与低8位数据线 D7~D0相连, 8255A的 4个口地 址都应为偶地址,A0总为0,用A2A1来选择4个端口。 当A7A6A5=111,A4A3A0=100时,译码器输出 Y4 =0
选中8255A。
4 个端口地址为 F0H 、 F2H 、 F4H 和 F6H ,对应于 8255A的A口、B口、C口、控制口。
中国科学技术大学
6.3 8255A的应用
第6章 I/O和8255A
对B口编程可实现不同的控制功能 例如,禁止系统板和I/O扩展板的RAM奇偶校验 的程序段:
IN AL,61H ;读入B口状态 OR AL,00110000B ;PB4PB5置1, 禁止奇偶校验 OUT 61H,AL ;将新状态字送回B口