MCS-51单片机IO接口的扩展

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章 MCS-51单片机I/O接口的扩展
9.1 I/O口扩展概述 9.2 扩展可编程并行I/O芯片8255A 9.3 扩展可编程RAM/IO芯片8155H 9.4 用锁存器缓冲器扩展并行I/O口 9.5 用MCS-51的串行口扩展并行口
退出
9.1 I/O口扩展概述
8255: PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 8155: 命令/状态口、 PA (8位) 、PB (8位) PC (6位)、14位减法计数器、256字节RAM 8253: 3个16位定时计数器 8279: 键盘显示器接口芯片 74LS373,377,244,245:锁存器 74LS164、CD4094、74LS165、CD4014
四、8155的定时器
D7 T7 D6 T6 D5 T5 D4 T4 D3 T3 D2 T2 D1 T1 D0 T0
计数长度低位 D7 M2 D6 M1 D5 T13 D4 T12 D3 T11 D2 T10 D1 T9 D0 T8
定时器方式
计数长度高位
M2 00 01 10 11
M1
方式 单方波 连续方波 单脉冲 连续脉冲
内部逻辑 CPU接口 A组 控制
外设接口 A组 端口A (8) A组 端口C 上半部 (4)
I/OPA7 ~ PA0
I/OPC7 ~ PC4
DB
数据 总线 缓冲器
8位内部数据总线
B组 端口C 下半部 (4)
I/OPC3 ~ PC0
RD WR A0 A1 RESET CS
读/写 控制 逻辑
B组 控制
B组 端口B (8)
定时器输出波形
其中,T0~T14构成14位计数器。定时/计数 器是递减计数器,对输入脉冲计数。当计数器 计到0时,可从定时计数器的输出端输出一个 脉冲或方波。M2M1决定定时器的输出波形。
当: M2M1=00 时,定时 / 计数器的输出波形为 单个方波; M2M1=01时,定时/计数器的输出波形为连 续方波;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
VCC PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
例9-3 在MCS-51单片机组成的系统中,如果 需配接打印机,可用8255A作为接 口芯片。 许多打印机都采用Centronic标准接口,这 种标准接口的接口信号说明如下: DB0-DB7:数据线,单向接收; /DSTB:数据选通信号,输入; BUSY:忙信号,输出; /ACK:应答信号,输出。 MCS-51单片机通过8255A与打印机的接口电 路及打印机时序如图。
PA:决定A口的工作方式。PA=0,A口为输入 方式;PA=1,A口为输出方式。 PB:决定B口的工作方式。PB=0,B口为输入 方式;PB=1,B口为输出方式。 PC2、PC1:决定PC口的工作方式。 PC2PC1 ( ALT1 ) =00 , A 口、 B 口为基本输 入/输出,C口为基本输入口; PC2PC1 ( ALT2 ) =01 , A 口、 B 口为基本输 入/输出,C口为基本输出口; PC2PC1 (ALT3)=10,A口为选通输入/输出 口, B口为基本输入/输出口; PC2PC1 ( ALT4 ) =11 , A 口、 B 口为选通输 入/输出口。
8255A
EA
31
ALE
30
A口、B口、C口和控制寄存器单元地址分别 为7FFCH、7FFDH、7FFEH和7FFFH。 利用8255进行I/O扩展,使端口A、B、C都工 作于方式0且均为输出方式,并从端口A输出 一个数据,之后将PC3置为1
MOV DPTR, #7FFFH MOV A, #80H MOVX @DPTR, A MOV DPTR, #7FFCH MOV A, #00H MOVX @DPTR, A MOV DPTR, #7FFFH MOV A, #07H MOVX @DPTR, A ;地址指向8255控制口 ;设端口A、B、C设为方 式0的输出方式 ;写入控制字 ;地址指向8255端口A ;输出数据#00H传入累加器A ;向端口A写入数据 ;地址指向8255控制口 ;设控制字,将PC3口置为1 ;写入控制字
I/OPB7 ~ PB0
二、8255A的工作方式及选择
1. 方式选择控制字, 2. 有三种工作方式: 方式0: 基本输入输出方式; 方式1: 选通输入输出方式; 方式2: 双向传送方式(仅A口)
D7D6D5D4D3D2D1D0 B组 端口C(下半部) 1=输入 0=输出 端口B 1=输入 0=输出 方式选择 0=方式0 1=方式1 A组 端口C(上半部) 1=输入 0=输出 端口A 1=输入 0=输出 方式选择 00=方式0 01=方式1 1×=方式2 置方式标志 1=有效
RD WR RESET Q7 P0.7 8031 P0.0 EA ALE D7 74LS D0 G Q1 Q0
RD PA0 WR RESET PA7 CS 地 8255A A1 A0 D7 D0 PC7 PC0 PC6
DB0 DB7 GND μ80 打印机 DSTB BUSY ACK
数据D0~D7 DSTB s 1~500μ BUSY ACK
PRINT:MOV R0,#7FH ;控制口地址送入R0 MOV A,#81H ;控制字送入A MOVX @R0,A ;控制字送人控制口 MOV R1,#3FH ;RAM单元首地址送R1 MOV R2,#0FH ;R2作计数器用 LOOP: MOV A,@R1 ;RAM单元中内容送A INC R1 ;指向下一个RAM单元 MOV R0,#7CH ;端口A地址送R0 MOVX @R0,A ;A中内容送端口A,并锁存 MOV R0,#7FH ;控制口地址送入R0 MOV A,#0EH ;PC7的复位控制字送A MOVX @R0,A ;PC7=0 MOV A,#0FH ;R2的置位控制字送A MOVX @R0,A ;PC7由0变1 LOOP1:MOV R0,#7EH ;端口C地址送R0 MOVX A,@R0 ;读入口C的值 ANL A,#01H ;检测BUSY状态 JNZ LOOP1 ;BUSY=1跳转LOOP1 DJNZ R2,LOOP ;BUSY=0,未打完循环
2. C 口按位置位/复位控制字
D7 D6 D5 D4 D3 D2 D1 D0 位 置位/复位 1=置位 0=复位 位选择 0 1 2 0 1 0 0 0 1 0 0 0
× × ×
无关
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1
位:置位/复位标志 0为有效
9.2.2 8031单片机同8255A的接口及应用

INTRA:A口中断请求位。 BFA:A口缓冲器满标志位。 INTEA:A口中断允许位。 INTRB:B口中断请求位。 BFB:B口缓冲器满标志位。 INTEB:B口中断允许位。 TIMER:定时中断请求位。 3. PA寄存器 4. PB寄存器 5. PC寄存器
一、8031单片机与8255A的接口电路如图所示。 PA:FF7CH PB:FF7DH PC:7EH 命令/状态:FF7FH
RESET 17 RD 16 WR 9 RESET P2.7 32 P0.7 33 P0.6 34 P0.5 35 P0.4 36 P0.3 37 P0.2 38 P0.1 39 P0.0 +5V 26 7 5 RD 36 WR 35 RESET 6 CS 10 11 12 13 17 16 15 14 25 24 23 22 21 20 19 18 37 38 39 40 1 2 3 4 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
9.2 扩展可编程并行I/0芯片8255A
PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 9.2.1 8255A的结构和工作方式 一、8255A的引脚及组成结构
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2
8031
18 17 14 13 8 7 4 3
D7 Q7 D6 Q6 D5 74LS Q5 D4 373 Q4 D3 Q3 D2 Q2 D1 Q1 D0 G E Q0 11 1
19 16 15 12 9 6 5 2
8 A1 9 A0 27 28 29 30 31 32 33 34 D7 D6 D5 D4 D3 D2 D1 D0
IO/M AD0~7 8 256× 8 来自百度文库态存 储器
A
8 PA0~7
口A
CE ALE RD WR RESET 定时器输入 定时器输出
B
8 口B PB0~7 6 PC0~7 口C VCC(+5V) VSS(0V)
定时器
C
地址总线:/CE=0 IO//M=0, 256字节RAM: 00H—FFH IO//M=1, I/O口。


M2M1=10时,定时/计数器的输出波形为单 个脉冲;
M2M1=00时,定时/计数器的输出波形为连 续脉冲。
9.3.2 8155 H与8031单片机的接口及应用
8031单片机与并行接口8155的接口电路如 图所示。 对8155地址分配如下: RAM地址:7E00H-7EFFH I/O口地址: 命令/状态寄存器的地址: 7F00H PA口的地址:7F01H PB口的地址: 7F02H PC口的地址: 7F03H 定时器低8位的地址:7F04H 定时器高8位的地址:7F05H
IEA:A口中断允许位。IEA=1允许A口中断,IEA=0禁 止A口中断。
IEB:B口中断允许位。IEB=1允许B口中断,IEB=0禁 止B口中断。 TM2、TM1:定时/计数器命令。 TM2TM1=00,空操作,不影响计数器操作; TM2TM1=01,停止计数器计数; TM2TM1=10,定时/计数器长度减为0时停止计数;
9.3 扩展可编程RAM/IO芯片8155H
8155: 256BRAM、命令/状态口、 PA (8位) 、PB (8位) 、PC (6位)、14位减法计数器
9.3.1 8155H的结构和工作方式
一、8155H的结构与引脚
PC3 PC4 TIMERIN RESET PC5 TIMEROUT IO/M CE RD WR ALE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 VSS
1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 8255A 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21
PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
TM2TM1=11,连续方式,当计数器赋予初值后,立即 启动定时/计数器;若正在计数,则置新的方式和 长度,计数结束后按新的方式和新的时间常数计数。
2. 状态寄存器 状态寄存器由7位寄存器组成,其中6位用于表 示A口和B口的状态,1位表示定时/计数器的状 态。此寄存器为只读寄存器其位格式为:
AD2 0 0 0 0 1 1 AD1 0 0 1 1 0 0 AD0 0 1 0 1 0 1 寄存器 命令/状态口 A口(PA0~7) B口(PB0~7) C口(PC0~7) 定时器低8位 定时器高6位和操作方式
二、8155的I/O口工作方式及选择
1. 命令寄存器 8155只有一个控制字,命令寄存器决定A口、B口、 C口和定时器/计数器的工作方式及功能。其位格式 为:
相关文档
最新文档