第9章8255接口
CS
图10-4 8255方式0的应用
黄玉清制作 2006.12
9.3:工作方式0例题
用8255A控制三个发光二极管显示。8255A的端 口地址为: A 端口:340H B 端口:341H C 端口:342H 控制口:344H 试编写8255初始化程序段和控制三个发光 二极管显示程序段。
黄玉清制作 2006.12
黄玉清制作 2006.12
9.2:端口C置1/0控制字例题
例9-2:设8255A的控制口地址为0223H, 要对端口C的PC7置1,则控制字00001111B=0FH, 要对端口C的PC3置0,控制字为00000110B=06H。 下面的程序可以实现上述要求: PORT_C DW 223H …… MOV DX , PORT_C ;控制口地址送DX MOV AL , 0FH ;对PC7置1的控制字 OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作
9.3:工作方式0时序
二、方式0的输入时序
图10-3方式0的输入时序
黄玉清制作 2006.12
9.3:工作方式0例题
例9-3:用8255A控制三个发光二极管依秩序循
环显示。
D7 ~D0 8088
PA0
+5V 200
CPU A0 A2
译 地 码 址 A 线 0 器
8255A PA1 A0 PA2 A1
例9-4、 8255A作为连接打印的查询式接口,工作于 方式0,如图10-7所示。 (1)编写程序,完成8255初始化; (2)将缓冲区BUF开始的10个字符送打印机打印。 设8255A的端口地址为: A端口:00D0H C端口: 00D2H B端口:00D1H 控制口:00D3H 工作过程:当主机要往打印机输出字符时,先查 询打印机忙信号,如果打印机正在处理一个字符或 在打印一行字符,则忙信号为1,否则为0。 PC2作为打印机忙信号,PC6作为数据选通信号, 将数据线上的数据装入打印机缓冲器。
黄玉清制作 2006.12
9.3:工作方式0例题-打印机
打印机驱动流程图:
开始
8255A初始化
BUSY=0?
送数
送STB
内存+1
字节-1
送完?
图 10-7
黄玉清制作 2006.12
结束
9.3:工作方式0例题-打印机 CONTR-W EQU PORT-A EQU PORT-C EQU BUF DB …… PP: MOV OUT MOV OUT MOV MOV : IN AND JNZ 0D3H 0D0H 0D2H ‘BCDEFGHIJK’ AL ,81H D3H , AL AL , 0DH D3H ,AL S I , OFFSET CX, 10 AL , D2H AL , 04H LPST ;8255工作方式字 ;A口方式0,输出, PC4~7输出,PC0~3输入 ;PC6置1
图5、端口C置1/0控制字
黄玉清制作 2006.12
9.2:端口C置1/0控制字注意
注意:
C端口置1/0控制字尽管是对端口C进行 操作,但此控制字必须写入控制口,而 不是写入C端口。 C端口置1/0控制字的D0决定了是置1操 作还是置0操作。 置1/0控制字的D3、D2、D1位决定了对 C端口的那一位进行操作。
第9章 可编程并行接口8255A
9.1 可编程并行接口8255A 9.2 8255A的控制字 9.3 方式0-基本的输入/输出方式 9.4 方式1—选通的输入输出方式 9.5 方式2—双向传输方式 本章小结 本章习题
黄玉清制作
9.1: 8255A的内部结构
9.1 可编程并行接口8255A
8255A是INTER系列的并行接口芯片。它是可编程 的,可以通过软件来设置芯片的工作方式。
8位端口B
黄玉清制作 2006.12
9.1:读写控制信号
5.读写控制信号 RESET:复位信号,低电平有效。 D7~D0 :和数据线相连。 CS :芯片选择信号,低电平有效。 RD :芯片读出信号,低电平有效。 WR :芯片写入信号,低电平有效。 A1、A0:端口选择信号。
A1、A0=00,选中端口A; A1、A0=01,选中端口B; A1、A0=10,选中端口C; A1、A0=11,选中控制端口;
黄玉清制作 2006.12
9.2:端口C置1/0控制字
2. 端口C置1/0控制字
D7 D6 D5 D4 D3 D2 D1 D0 0 000 001 010 011 100 101 110 111 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 1=置1
0=置0
端口C 置1/0 控制字 标志
黄玉清制作 2006.12
9.2:方式控制字
1.方式控制字
1 D6 D5 D4 D3 D2
B组方式 0:方式0 1 :方式1 端口A : 1:输入 0:输出 端口B: 1:输入 0:输出 PC3~PC0 : 1:输入 0:输出
黄玉清制作 2006.12
D1
D0
方式选 择标志
A组方式 : 00:方式0 01 :方式 1 10 :方式 2
例9-5:扬声器接口:计数器2输出896HZ方波,送 扬声器。工作于模式3.8255A控制8253的门控信 号与扬声器的开启。
8255并行接口
PB0 PB1 … PB6 PB7
8253定时器
GATE2 CLK2 OUT2
PCLK 1.1931816MHZ
喇叭
驱动
图10-7
8255端口地址: PA端口:60H PB端口: 61H PC端口: 62H 控制口:63H
;从内存取数 ;送数到A口 ;将PC6置0(STB为低) ;AL 0000 1100 B
; 延时 ;AL0000 1101 B ;再使STB(PC6)为1 ;内存地址+1 ;字符数 - 1
AL 0D3H , AL SI CX LPST
HLT
黄玉清制作 2006.12
9.3:工作方式0例题-扬声器接口
一、8255A的内部结构
1.8位数据端口A、B、C
每个端口:输入带缓冲寄存器, 输出带锁存寄存器。
2.A组控制和B组控制 3.读/写控制逻辑电路 4.数据总线缓冲器
黄玉清制作 2006.12
9.1: 8255A的内部结构
8位端口A
数据总线 读写控制
8位端口C
片选信号
地址总线
图10-1 8255A的内部结构
黄玉清制作 2006.12
9.2:控制字提问
提问2:
8255A的方式选择控制字和置1/置0控制 字都是写入控制端口的,那么,它们是 由什么来区分的?
黄玉清制作 2006.12
9.3:工作方式
9.3 8255A的工作方式0
8255A的3种基本工作方式:
方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式
BUF ;打印字符内存地址 ;打印字符个数 ;读C口 ;查PC2=0? ;忙,等待;不忙,送数
黄玉清制作 2006.12
9.3:工作方式0例题-打印机
MOV OUT MOV OUT NOP NOP INC OUT INC DEC JNZ
AL,[SI] 0D0H ,AL AL , 00001100B 0D3H ,AL
黄玉清制作 2006.12
9.3:工作方式0例题 MOV LEA DON: MOV OUT CALL INC DEC JNZ JMP DEALY PROC …. DEALY ENDP CODE ENDS END LP: CX,3 BX, LED ; 1号灯代码地址 AL, [BX] DX, AL ;1,2,3循环点亮 DELAY ;调延时程序 BX CX DON LP NEAR ;软件延时
黄玉清制作 2006.12
9.3:工作方式0功能
一、方式0--基本输入输出方式功能
① 任何一个端口可以作为输入口,也可以作为输 出口。 ② 各个端口输入或输出,可以有16种不同的组合, 所以可以适用于多种使用场合。 方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。
黄玉清制作 2006.12
8253端口地址: 定时器通道0:40H 定时器通道1: 41H 定时器通道2: 42H 控 制 端 口: 43H
黄玉清制作 2006.12
9.3:工作方式0例题-扬声器接口
由系统并行接口芯片8255的PB口的最低两位: PB0(TIM2GATESPK):控制8253定时器 PB1(SPKRDATA) : 控制喇叭发声
9.3:工作方式0例题
开始
1、程序框图:
8255A初始化
CX 3
BX显示代码地址
输出到A口
延时
BX=BX+1 CX=CX-1
CX=0? Y
N
图10-5
黄玉清制作 2006.12
9.3:工作方式0例题
2、软件设计 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毫秒要循环的次数:
黄玉清制作 2006.12
9.3:工作方式0例题
思考题:用8255A控制三个发光二极管依秩序循 环显示。假设开关闭合时,点亮发光二极管,开 关断开时息灭二极管。 +5V
200 D7 ~D0 8088 CPU A0 A1 地 址 线 译 码 器 A0 A1 CS