8255A应用举例必看
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
大规模控制系统的需求。
8255A与可编程逻辑器件的结合,可以实现高速、实时的数据
03
采集和控制。
在数据采集与控制系统中的应用
8255A在数据采集与控制系统中,可以作为数据传输的桥梁,实现快速、稳定的数 据传输。
通过8255A,可以实现多路数据的并行采集和处理,提高了数据处理的效率。
8255A在数据采集与控制系统中,可以作为主控制器,协调各个模块的工作,保证 系统的稳定运行。
微处理器可以通过8255A实现对 外部设备的控制,扩展了微处理
器的控制能力。
8255A可以作为微处理器的输入 /输出接口,实现人机交互和数据
采集。
与可编程逻辑器件连接的应用
01
8255A可以与可编程逻辑器件连接,实现复杂的逻辑控制和数 据处理。
02
通过8255A,可编程逻辑器件可以扩展其输入/输出端口,满足
根据实际需求,设定8255A的数据格式,包括数据位、停止位、 奇偶校验位等。
数据读写操作
通过数据传输编程实现对8255A的数据读写操作,包括读数据、 写数据、读写同时操作等。
PART 05
8255A的应用实例
与微处理器连接的应用
8255A与微处理器连接,可以实 现并行数据传输,提高数据传输
效率。
在现代嵌入式系统中,8255A芯片仍有一 定的应用,尤其在一些需要并行I/O接口的 场合,如人机界面、传感器等。
PART 02
8255A芯片的基本结构 与功能
芯片的基本组成
输入/输出端口
数据总线
8255A包含三个输入/输出端口,分别为 端口A、端口B和端口C。每个端口都有8 个位,可以独立配置为输入或输出模式。
控制信号生成
8255A应用实例
8031例、设单片机8031与微型打印机之间的数据传送采用查询方式。
要求将存放在8031单片机内RAM中以30H为首地址的64个连续单元中的内容打印输出,试编程。
解:因为PC0连接BUSY,所以,PC3 ~ PC0为输入又因PC7连接/DATA STROBE ,所以PC7 ~ PC4为输出,STROBE ——表示重复的意思。
/DATA STROBE ——数据选通信号。
作用是通知打印机,8255A要给它传数。
PA口输出,PB口未用。
故8255A的控制字可设为:1 0 0 0 0 0 0 1B = 81HPA口地址:7FFCHPB口地址:7FFDHPC口地址:7FFEH控制口:7FFFHORG 1000HPRINT:MOV DPTR,#7FFFH ;控制口地址MOV A,#81H ;控制字MOVX @DPTR,A ;写入控制字MOV R1,#30H ;数据指针MOV R2,#40H ;64个数NEXT:MOV DPTR,#7FFEH ;PC口地址MOV A,#80H ;使PC7为高电平MOVX @DPTR,A ;输出/DATA STR OBE为高电平使;无效,不准备送数WAIT:MOVX A,@DPTR ;查询打印机状态JB ACC.0, WAIT ;若PC0即BUSY = 1忙,则等待MOV DPTR , #7FFCH ;若BUSY = 0空闲,则指向PA口MOV A , @R1 ;输出数据MOVX @DPTR , AMOV DPTR , #7FFEH库;指向PC口MOV A , #00H ;8255A输出/DATA STR OBE信号;通知打印机,给它传数。
MOVX @DPTR , AACALL PDELAY ;调延时子程序,以形成一个宽度;定时值的负脉冲为INC R1DJNZ R2 , NEXT ;判断打印输出完成否?SJMP $···PDELAY:(延时程序略)END。
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之间的接口。
可编程芯片8255A及其应用
8255A芯片在工业控制中的应用
在工业控制中,8255A芯片可以用于采集各种传感器的数据。
传感器数据采集
执行器控制
安全监控
自动化生产
通过编程,8255A芯片可以控制各种执行器,如电机、阀门等。
8255A芯片可以用于监控工业生产过程中的各种安全参数。
通过与PLC等其他工业控制设备的配合,8255A芯片可以实现自动化生产流程的控制和管理。
OUT 83H ;将累加器A的内容输出到83H端口
01
02
03
编程实例
HLT ;结束程序
编程实例
这是一个简单的8255A编程示例,用于初始化芯片并设置一个特定的端口。在这个例子中,我们使用汇编语言进行编程,通过`OUT`指令将累加器A的内容输出到83H端口,然后通过`HLT`指令结束程序。
01
02
03
04
05
根据项目需求和开发环境,选择合适的编程语言。
2.选择编程语言
使用所选的编程语言编写代码,实现8255A芯片的控制逻辑。
3.编写代码
完成基本功能后,进行全面的测试,并根据测试结果优化代码。
5.测试和优化
将代码编译成可在芯片上运行的格式,并通过仿真或实际硬件进行调试。
4.编译和调试
8255A芯片在微机接口中的应用
作为微机的接口,8255A芯片可以实现与其他设备或系统的数据通信。 通过8255A芯片,微机可以扩展其I/O端口,从而连接更多的外部设备。 在微机接口中,8255A芯片的并行处理能力可以提高数据处理速度。 通过编程,8255A芯片可以用于实时控制微机系统的某些功能。 数据通信 扩展I/O端口 并行数据处理 实时控制
可靠性更强
应用领域拓展
9.第九章 可编程外围接口芯片8255A及其应用
☀ 8086系统中,若8255的8根数据线接在系统数据线的低八位,8255占用连
续4个I/O偶地址:X 0, X 2, X 4 , X 6 A2 A1 A0 … 8086 A1 A0 0 … 8255 0 0 0 ……. 端口A (X 0) 0 1 0 ……端口B (X 2) 1 0 0 ……端口C (X 4) 1 1 0 …….控制口 (X 6)
1
1
0
1
C口
控制寄存器
◆ 8255A的A1A0、/RD、/WR、/CS组合起来实现的基本操作如表9-1所示。
表9-1
8255的基本操作
◆ 与地址总线的连接:与8253一样, ♣ 在8位数据总线CPU系统中,端口输入端A1A0分别与地址总线A1A0相连即可。 ♣ 在16位数据总线CPU系统中,地址总线A2A1连到8255A的A1A0端。若 8255A的 D7~D0接在CPU 的低8位数据线上,则要用偶端口地址来寻址8255A(A0=0);而 D7~D0 接在CPU 的高8位数据线上,则要用奇端口地址来寻址8255A(A0=1)。
二、8255A的控制字
8255A有两类控制字:
① 方式选择控制字(用于各个端口) ② 置位/复位控制字(用于对C口的任一位 的置位/复位操作) 这两类控制字,都被写入一个控制寄存器中。 8255A用控制字的D7位(=1或0)来区分这两类
控制字。 D7位 称为标志位(或特征位)
D7=1:方式选择控制字
第九章 可编程外围接口芯 片8255A及其应用
9-1 8255A的工作原理 9-2 8255A的应用举例
9-1 8255A的工作原理
一、8255A的结构和功能
8位数据端 口PA
端口 选择 地址 线
8255应用举例
AL , 00000101B 0E6H , AL ; PC2=1,置INTE=1,开中断
用
机
MOV
MOV MOV
WORD PTR [003CH] , AX
MOV
DI , OFFSET BUFF ;设置字符缓冲区指针
; DI为打印机字符缓冲区指针,待打印字符送B口
ROUTINTR: MOV AL , [DI] OUT 0E2H , AL
8.2.4 8255A的应用举例
例1:在一系统中,8255的端口地址为60H63H,8255A工作在方式0。
现要求将从A口读取的数据 1)求反后从B口输出; 2)将其绝对值从C口输出
Mov al, 90h Out 63h, al Call delay1 In al, 60h Call delay2 NOT AL Out 61h, al Call delay3 CMP AL,0 JGE PLD NEG AL PLD: Out 62h, al
ALE
AD8-AD15
器
8255A PA5 PA6 RD WR PA7 PB3
8086
RD WR RESET
RESET
PB2
PB1 PB0
图8-18 8086CPU、8255A同开关7段LED的接口
PA0 PA1
A1 A2
A0 A1
PA7
1 1 1 +5v
a b
DP
程序流程(工作原理)
8255A
PB3 PB2 PB1 PB0
MOV AL , 00001010B ; PC5=0,产生选通信号, OUT 0E6H , AL CALL DELAY INC AL ;PC5=1,
并行接口芯片8255A
控制字介绍
01
02
03
控制字是用来设置8255a芯片工 作模式的16位二进制数。
控制字的格式为:XXXX XXXX XXXX XXXXXXXX。其中,最高 位是读/写控制位,中间4位是端 口C的置位/复位控制位,接下来 的4位是端口B的控制位,最后4 位是端口A的控制位。
控制字的写入顺序是先写高位, 再写低位。
03
目前,8255a芯片已经被广泛 应用于各种领域,成为计算机 和电子工程中重要的接口芯片 之一。
02 8255a芯片工作原理
芯片内部结构
ห้องสมุดไป่ตู้
01
三个并行I/O端口:端口A、端口B和端口C,每个端口都有 8个位。
02
一个控制寄存器:用于设置芯片的工作模式和控制信号的 输入。
03
一个数据总线:用于数据传输。
工作模式介绍
模式0
基本输入输出模式。在这种模式 下,端口A、B和C都可以被配置 为输入或输出模式,通过控制字 来选择。
模式1
选通I/O模式。在这种模式下,端 口A和B被配置为输出模式,端口 C被配置为输入模式。
模式2
双向I/O模式。在这种模式下,所 有三个端口都可以被配置为双向 模式,即既可以输入也可以输出。
并行接口芯片8255a
目录
CONTENTS
• 8255a芯片概述 • 8255a芯片工作原理 • 8255a芯片编程 • 8255a芯片应用实例 • 8255a芯片与其他芯片比较 • 8255a芯片未来发展展望
01 8255a芯片概述
芯片功能介绍
01
8255a是一款并行接口芯片,主要用于实现并行数据 传输和控制。
优点
支持多种游戏控制器,传输速度快, 响应速度快,提高游戏体验。
【22】8255及其应用[9-2]
DATA
§10-2 8255A的应用举例
;堆栈段
【键盘接口】
STACK TOP_STACK STACK
SEGMENT
STACK
DW
LABEL ENDS
50
DUP(0)
WORD
;代码段
CODE SEGMENT ASSUME START: MOV MOV LEA MOV MOV AX , SS , SP , AX , DS , CS:CODE, DS:DATA, SS:STACK STACK AX TOP_STACK DATA AX
MOV NEXT_ROW: MOV OUT MOV IN AND CMP JNE ROL MOV CL, DX, DX, DX, AL, AL, AL, AL PORT_A AL PORT_B DX 0FH 0FH
【键盘接口】
; 现使D0=0 ; CL=1111 1110B ; A口 ;向一行输出低电平 ; B口
2
§10-2 8255A的应用举例
一.基本输入输出应用举例
在工业控制等实际应用中,经常需要检测某些开关量的状 态。例如,在某一系统中,有8个开关K7~K0,要求不断检测
它们的通断状态,并随时在发光二极管LED7~LED0上显示出 来。开关断开,相应的LED点亮;开关合上,LED熄灭。
我们选用8086CPU,8255A和74LS138译码器等芯片,构成 如图所示的硬件电路,来实现上述功能。
【键扫描过程】
① 检测是否所有键都松开,若没有则反复检测;
【键盘接口】
② 当所有键都松开,再检测是否有键压下,若无键按下则反复 检测; ③ 若有键按下,要消除键抖动,确认有键按下; ④ 对按下的键进行编码,将该键的行列信号转换成16进制码, 由此确定哪个键被按下了。如出现多键重按的情况,只有在 其它键均释放后,仅剩一个键闭合时,才把此键当作本次压 下的键。 ⑤ 该键释放后,再回到②。
微机原理8255A模拟交通信号灯
微机原理8255A模拟交通信号灯实验三 8255A模拟交通灯一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255做输出口,控制12个发光二极管亮灭,模拟交通灯管理三、实验要求1.通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,模拟交通灯的管理。
2.交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2和4为东西方向。
初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3方向通车。
延时一段时间后,1、3路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次后1、3路口红灯亮,同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到1、3路口方向,之后,重复上述过程。
3.程序中设定8255A的工作模式及三个端口均工作在方式0,并处于输出状态。
8255A端口地址为0FF28H-0FF2BH。
4.各发光二极管共阳极,使其点亮应使8255A相应端口输出为0。
四、实验步骤1.根据实验要求连接好实验线路2.编写实验程序,编写的程序如下:;CODE SEGMENTASSUME CS:CODESTART:MOV DX,0FF2BHMOV AL,80HOUT DX,ALMOV DX,0FF2AHMOV AL,11110000BOUT DX,AL %初始化,红灯全亮,绿灯全亮MOV DX,0FF29HMOV AL,0FFHOUT DX,AL %初始化,黄灯全不亮AGAIN: MOV DX,0FF2AHMOV AL,10100101BOUT DX,AL %1、3路口绿灯亮,2、4路口红灯亮CALL DELAYX1:MOV DX,0FF29HMOV AL,01010000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BMOV CX,0FFFFHDEC CXJNZ X1MOV DX,0FF2AHMOV AL,01011010BOUT DX,AL %1、3路口红灯亮,2、4路口绿灯亮CALL DELAYX2:MOV DX,0FF29HMOV AL,10100000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BOUT DX,ALMOV CX,0FFFFHDEC CXJNZ X2JMP AGAINDELAY PROCMOV BX,0FFFFHX4: MOV CX,OFFFFHX3:DEC CXJNZ X3DEC BXJNZ X4DELAY ENDPHLTCODE ENDSEND START3.编译装载后运行程序,观察结果五、实验总结1、学会延迟程序的调用方式以及书写方式。
复习8255A的应用汇总
8255A
PB
PC
·
·
·
ABC:
MOV DPTR, #7FFFH MOV A,#80H
;指针指向控制口 ;控制字10000000B
MOVX @DPTR,A
MOV DPTR, #7FFCH
;初始化8255
MOV A,#0FFH
MOVX @DPTR,A INC DPTR ;写PA口
SETB P1.0
……
;对数据进行处理
9.5.2 用74LS164扩展并行输出口.
例9-8 编写将内部RAM单元30H、31H的内容经串行口
由74LS164并行输出子程序。 START: MOV R7,#02H ;设置要发送的字节个数
MOV
MOV SEND: MOV MOV WAIT: JNB CLR INC DJNZ
MOV MOV START: CLR MOV RXDAT: MOV WAIT: JNB CLR MOV MOV INC DJNZ DJNZ
R7,#05H R0,#20H P1.0 R1,#02H SCON,#10H RI,WAIT RI A,SBUF @R0,A R0 R1,RXDATA R7,START
;设置读入组数 ;设置内部RAM数据区首址 ;并行置入数据,S/L*=0 ;允许串行移位,S/L*=1 ;设置每组字节数,即外扩 ;74LS165的个数 ;设串口方式0,允许接收,启动 ;未接收完一帧,循环等待 ;清RI标志,准备下次接收 ;读入数据 ;送至RAM缓冲区 ;指向下一个地址 ;未读完一组数据,继续 ;5组数据未读完重新并行置入
4种工作方式及相应输出波形如图9-17。
9.3.3 MCS-51与8155H接口及软件编程 1.MCS-51与8155H的硬件接口电路
可编程并行接口芯片8255A及其应用
OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB
(2)方式2 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTE1 IBFA INTE2 INTRA * * *
第二节 输入输出应用
8255A的应用举例 的应用举例
8255A作为开关K0~K3及七段LED显示器接口。要求开关设置 的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显 示器的字形代码后,由A口输出显示。 接口 驱 D7~D0 D7~D0 动 PA7 RD 器 RD 8086 系 PA0 WR WR 统 A1 A0 +5V 总 K3 A2 A1 PC3 线 A0 Y0 O A CS K2
ACK-外设的回答信号,低电平 有效,由外设送给8255A。 表示CPU送到指定端口的 数据已被外设接受。 INTE-中断允许信号。 INTEA、 INTEB是由用户对PC6、PC2按 位置位实现的。 INTR-中断请求信号,高电 平有效。当 ACK =1、 OBF =1且 INTE =1时, INTR =1。
8255A方式选择控制字 方式选择控制字: 方式选择控制字 按题意设置端口A方式0输出,下C口输入. 1 0 0 0 × 0 × 1 81H
A0 A3 A4 M/IO A5 A6 A7
无关位 选 择 位 D7 = 0 使端口C的bit3置位的控制字 MOV AL,00000111B OUT 0FBH,AL 使端口C的bit3复位的控制字 MOV AL,00000110B OUT 0FBH,AL
位
111 选中PC7
00000111B
00000110B
三、8255A的工作方式 的工作方式
方式1输出 口 方式 输出 (B口)
实验六 8255A的应用
实验六中涉及到8255A的应用,8255A是一种通用的并行输入/输出(I/O)接口芯片。
它可以与微处理器或控制器连接,用于实现与外部设备的数据交换和控制。
以下是8255A的一些常见应用:
并行数据传输:8255A可用作并行数据传输的接口,通过其端口将数据从微处理器发送到外部设备,或从外部设备接收数据并传输给微处理器。
数字输入/输出控制:8255A的I/O端口可用于控制和监控数字信号,例如控制LED显示、按键输入、开关控制等。
数据采集和控制:8255A的I/O端口可以连接传感器、执行器等外部设备,实现数据采集和控制操作。
例如,可以通过8255A读取温度传感器的数据或控制电机的转动。
并行通信接口:8255A可以用于并行通信接口,连接外部设备或其他系统,实现数据的快速传输和通信。
仪器设备控制:通过8255A的I/O端口,可以实现对仪器设备的控制和通信,如控制实验设备、仪器测量和数据采集等。
在实验中,通常会根据具体的实验目的和设计,使用8255A的不同功能和配置。
通过编程控制8255A的寄存器和端口,可以实现与外部设备的数据交互和控制操作。
请注意,实验中的具体应用和配置可能会因实验的目的、实验设备和使用的编程语言等而有所不同。
因此,建议您参考实验手册或教材中关于8255A的具体实验说明,以获取准确的应用细节和操作步骤。
可编程外围接口芯片8255A及其应用
第七章
1、方式 0(称为基本输入/输出工作方式) 适用场合:不需要用应答信号的无条件数据传送。 如:读一组开关状态,控制一组指示灯 方式0的基本功能: ①具有两个8位口(A口和B口),两个4位口(上口C和下C口) ②任意端口都可作为输入或输出,但不能同时实现输入及输出 ③设置为输出口时有锁存能力,设置为输入口时无锁存能力。
中断请求信号
B口方式1
B口输入
【注意】 由于INTE A、INTE B无外部引出脚,因此当PC4或PC2脚上出现 高电平或低电平信号时,不会改变中断允许触发器的状态。
第七章
第七章
(2)选通输出方式 A口、B口都工作在选通输出方式 其端口控制字、状态、联络信号如下图所示。
选通输入/输出方式可以分为3种情况
PC6,7 1=输入 0=输出
方式1 A口
中断允许信号
选通信号
缓冲器满信号
中断请求信号
标志位
A口方式1
A口输入
第七章
PB7~PB0
IBFB
RD
STBB
D0
D1
D2
D3
D4
D5
D6
D7
×
1
1
×
×
×
×
1
控制字
INTRB
INTE B
PC2
PC1
PC0
方式1 B口
中断允许信号
选通信号
缓冲器满信号
WR
INTRB
INTE B
PC1
PC2
PC0
方式1 B口
OBFB
ACKB
(2)选通输出方式(续)
第七章
第七章
8255A应用举例
4 8255A应用举例在很多应用系统中,用LED作状态指示器具有电路简单、功耗低、寿命长、响应速度快等特点。
LED显示器是由若干个发光二极管组成显示字段的显示器件,应用系统中通常使用7段LED显示器,如图8-15所示.b)c)a)共阴型b)共阳型c)管脚分布图8-15 七段数码管以共阳极为例,各LED公共阳极接电源,如果向控制端a,b,c, …,g,dp送入00000011信号,则该显示器显示“0”字型。
控制显示各数码加在数码管上的二进制数据称为段码,显示各数码共阴和共阳七段LED数码管所对应的段码见表8-3。
表8—3 七段LED数码管的段码下面用8255A 作为LED 数码管及4位开关与CPU 的接口,要求按照开关的二进制编码状态,显示相应的数码。
如图8-16所示。
图8-16 80x86CPU 通过8255A 同开关与7段LED 显示器的接口设当开关K3、K2、K1、K0未合上时,各开关控制的位线为高电平1;开关接通时,各开关控制的位线为低电平0。
各开关状态、数字及LED 段码的关系如表8-4所示。
表8—4 开关状态、数字及LED 段码的关系例如:当K2未合上,K3、K1、K0均合上接通时状态为0100,表示数字4,显示代码应为99H。
设8255A端口地址为0FFFAH、0FFFBH、0FFFCH、0FFFDH.源程序如下:DATA SEGMENTXSHDM DB 0C0H,0F9H,0A4H, 0B0H,99H, 92H, 82H, 0F8H, 80HDB 98H, 88H,83H, 0C6H,0A1H,86H, 8EHCNT DB 10 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASTART:MOV AX,DA TAMOV DS,AX;以上为源程序结构通用部分。
;下面为8255A初始化程序块MOV AL,82HMOV DX,0FFFDHOUT DX,ALLOP:MOV DL,0FBHIN AL,DX ;读B口AND AL,0FHMOV BX,OFFSET XSHDMXLATMOV DL,0FAHOUT DX,AL ;写入A口CALL DELAYJMP LOPMOV AH,4CHINT 21HDELAY PROCMOV DX,0500HLOP1:MOV CX,0FFHLOP2: NOPNOPLOOP LOP2DEC DXJNZ LOP1RETDELAY ENDPCODE ENDSEND START。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从电路中可以得出,8255A 4个端口的地址 分别是: 340H(PA端口)、 344H (PB端口) 348H (PC端口)、 34CH(控制口)
程序的设计思路是先通过PB端口选中某个数 码管(使其公共端为低电平),然后再从PA端 口输出选中的数码管所对应的显示码,在完成当 前数码管显示后,显示下一个数码管,在完成一 轮显示后,开始下一轮的显示。
图2-2 用74LS138译码器实现8255的片选电路
用一片8255A连接8个7段数码管。且使8个7 段数码管显示8个不同的数字。开始,似乎感到 有点困难。实际上,任何时刻只显示一个7段数 码管,其余7个7段数码管都没有显示状态,CPU 通过8255A逐个显示7段数码管,并在不同的7段 数码管上显示不同的数字。在逐个显示完8个数 码管后,又开始新一轮的逐个显示过程,当这个 循环周期间隔足够短时,由于人的眼睛有滞后效 应,使得人们发现每一个数码管都出于显示状态, 且显示不同的数字。
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 assume cs:code,ds:data start: mov dx, 34Ch ;设置8255控制端口地址 mov al, 80h ;使8255的A口、B口、C口为方式0输出 out dx, al yyy1:mov si, offset buff1 ;设置显示码指针 mov di, offset buff2 ;设置控制码指针 mov cx, 8 ;每一轮循环中显示的数码管的数目
而A3、A2 的组合和各个端口地址的关 系也如上所示,由于A1、A0没有参与译码, 其值对访问端口没有影响。综合以上讨论可 以得出, PA 、PB、 PC和控制端口的地址 分别是260H、 264H、 268H和 26CH。
在确定工作方式控制字时必须知道, PA端口为方式0输出, PB端口为方式0输 入,而PC端口没有参与电路工作,其输入 输出方式随意,由此可确定控制字为82H。 10000010
示数字0~7的程序。
解:在设计电路前,首先要了解7段数码管,掌握数码管显示 数字的原理。 图2-1给出了共阴极7段数码管逻辑结构图。
a
a b
f
b g c d a b c d e f g
e
c
e f comd来自gcom (a)7段发光二极管标号 (b)对应电路图 (c)引脚分布
图2-1 共阴极7段数码管逻辑结构
一片8255A只需4个端口地址,而题中给出的 地址范围由16个地址,这意味着低4位地址中有 些地址可以不参加地址译码。设计电路的第一部 还需要设计出片选电路。必须用指定地址范围内 状态不变的地址信号作为片选电路的输入信号。 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 1 0 0 0 0 0 0 340H 1 1 0 1 0 0 1 1 1 1 34FH
首先根据电路确定8255A 4个端口的 地址。确定端口地址用下述方法进行,为 了能够访问8255A,必须使8255A的片选 信号CS=0, A9~A4的信号必须如下: A9 A8 A7 A 6 A5 A4 A3 A2 1 0 0 1 1 0 0 0 PA端口 0 1 PB端口 1 0 PC端口 1 1 控制端口
控制电路工作并使其保证开关状态和 发光二极管亮灭一致的程序如下: MOV DX,26CH MOV AL, 82H OUT DX,AL MOV DX,264H IN AL,DX NOT AL MOV DX,260H OUT DX,AL
例2:
用一片8255A连接8个7段数码显示管,规定8255A的
端口地址范围为340H~34FH,用74LS138译码器实现 8255A的片选电路,并根据电路编写在8个7段数码管上显
图2-2中,用A6、A5、A4 分别连接74LS138的
G 、 G2A 、G2B, 只有当A6A5A4 =100时
74LS138才能进行译码操作,用A9 、A8、 A7
分别 连接74LS138的C、B、A,而用Y6输出连接 8255的CS,这样,只有当A9 A8A7=110 时, Y6输出为低电平。
例1 :CPU通过8255A控制8个开关和发光二
极管,要求发光二极管的亮灭和开关状态一 致,设计电路并编写程序。
解析:可以认为,处于方式0输出工作状态 的PA、PB、PC端口实际上等同一个锁存 器,而处于方式0输入工作状态的PA、 PB、PC端口实际上等同一个缓冲器。 电路如图所示。
图1 8255控制开关、发光二极管电路
yyy2: mov dx, 340h mov al , 0 out dx, al mov dx , 344h mov al, [di] out dx, al mov dx, 340h mov al, [si] out dx, al inc si inc di loop yyy2 jmp yyy1
;先使所有数码管变黑
从图2-1可以看出。当com端接低电平,a~g端 接高电平,对应的发光二极管就发亮。 如果想在7段数码管上显示数字0,需要在com 端接低电平,a 、 b 、 c 、 d 、 e 、f端接高电平, g端接低电平。 七段数码管的字形代码表如下:
显示字形 0 1 2 3 4 5 6 7 g 0 0 1 1 1 1 1 0 f 1 1 0 0 1 1 1 0 e 1 1 1 0 0 0 1 0 d 1 0 1 1 0 1 1 0 c 1 0 0 1 1 1 1 1 b 1 0 1 1 1 0 0 1 a 1 0 1 1 0 1 1 1 段码 3fh 30h 5bh 4fh 66h 6dh 7dh 07h
从上述分析中可以看出,指定地址范围内状态 不变的地址信号是A9 A8 A7 A6 A5 A4 它们的状 态分别是110100,这意味着A9~ A4上出现的信号 状态为110100,8255 A的CS必须为低电平。 下面讨论如何用74LS138译码器实现这一功能。 设计片选电路的基本原则是:用A9~ A4作为 74LS138的输入,用74LS138其中一个输出Yi去连 接8255的CS,当且仅当 A9~ A4=110100时, Yi才能变为低电平。
;选中一个数码管
;输出该数码管对应的显示码
;选择下一个数码管所对应的显示码 ;选择下一个数码管
; 显示下一个数码管
;开始新的一轮的显示
mov ah, 4ch int 21h code ends end start