当前位置:文档之家› MCS-51单片机的并行接口

MCS-51单片机的并行接口

9
4、MCS-51内部I/O口应用
所有4个I/O口都是可以位寻址的,就是说,其中每一 位都可以用做输入或输出。 由于MCS-51的I/O 口只有数据口而没有状态口或控制 口,在实际使用时,可以用I/0口的某一位(或几位)来 作为状态信息的传送者,或者是命令的控制位。
例:P1口八个灯作跑马灯 。??
8
3、对锁存器的“读-修改-写”
☆有一类指令是对I/O口输出锁存器中的数据进行操作, 如对端口数据进行逻辑操作。这一类指令是先读出端口锁 存器中的内容,再按指令的规定进行操作,最后将操作的 结果写回端口锁存器,称之为“读一修改一写”指令。
这类指令不是对端口引脚上的数据进行操作。若要 对引脚上数据进行操作则只能先读入到CPU,然后再 进行运算。
16
7.2.2 可编程通用并行接口8255A
8255是一种8位并行I/O接口芯片,8255有3个8位的 并行口:PA、PB、PC,3种工作方式。其中,PC口具有 按位进行操作功能。
在与外设相连时,根据不同的初始化编程可用于无条 件传送、查询式传送、中断式传送,以完成单片机与外设 的数据交换。
17
1、 8255的内部结构和引脚
11
7.2 MCS-5l并行I/O口的扩展
常用并口扩展方法: ➢ 用三态缓冲器和锁存器扩展简单I/O口。 ➢ 用专用并口芯片扩展I/O口(8255,8155等)
注意:
MCS-51没有专门的外设操作指令和控制信号,将外设看 作外部数据存储单元来访问,因此扩展外设占用外部RAM存
储器的地址空间,使用访问外部数据存储器指令对外设进行 操作。
第7章 MCS-51单片机的并行接口
7.1 MCS-5l内部I/O口及其应用 7.2 MCS-5l并行I/O口的扩展 (含8255) 7.3 MCS-51内部定时/计数器及其应用 7.4 并行口应用——单片机显示/键盘系统
并口是相对于串口而言的。
1
7.1 MCS-5l内部I/O口及其应用
51单片机内部有4个8位双向I/O(输入/输出)口。 它们的内部结构图在前面作过介绍。从特性上看,这4 个端口还有所差别。(回顾) P0口:作一般I/O口;低8位地址/数据分时复用功能。 P1口:作一般I/O接口。 P2口:作一般I/O接口;高8位地址。 P3口:作一般I/O接口;每根口线有第二功能。
I/O PC7~PC4
I/O PC3~PC0
输入三态 输出锁存
I/O PB7~PB0
和CPU相连
CS
内部控制电路
和外设相连
18
8255A
1 PA3 2 PA2 3 PA1 4 PA0 5 RD 6 CS 7 GND 8 A1 9 A0 10 PC7 11 PC6 12 PC5 13 PC4 14 PC0 15 PC1 16 PC2 17 PC3 18 PB0 19 PB1 20 PB2
PA4 40 PA5 39 PA6 38 PA7 37 WR 36 RESET 35
D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 VCC 26 PB7 25 PB6 24 PB5 23 PB4 22 PB3 21
2
P0-P4口进一步说明:
➢4个并行I/O口“输出有锁存,输入有缓冲”; ➢输入数据时都要“先写1”; ➢P0口作通用I/O口,输出级是开漏电路,作输出口应接上 拉电阻;作地址/数据总线不需要上拉电阻; ➢P1~P3口不需要上拉电阻;
3
MCS-51对外三总线
外部程存读选通
外部数存读选通 外部数存写选通
MCS-51对外三总线的形成
ALE下降沿锁存地址
4
MCS-51外部总线的扩展
5
地址锁存器的引脚和接口
6
1、51的I/O口直接用于输出
都是准双向口。 51单片机没有专门的输入/输出指令。
1、直接用于输出
☆作输出口时有锁存功能。
☆输出操作:以P0~P3为目的操作数的传送指令。
例如:
MOV P1,A
MOV P1,R1
MOV P1,@R1
MOV P1,#55H
7
2、51的I/O口直接用于输入
2、直接用于输入 ☆作输入口时带有输入缓冲器,但没有输入锁存器。 因此要输入的数据必须一直保持在引脚上,直到把数 据传送指令。
例如:MOV A,P1 MOV R2,P1
3种工作方式
3个8位的并行口 PA、PB、PC 1个控制寄存器
D7~D0
双向三态
数据 总线 缓冲
A组 控制
控制 寄存器
RD
WR A0
A1 RESET
读/写 控制 逻辑
B组 控制
组A 端口A (8)
组A 端口C 上半部 (4)
组B 端口C 下半部 (4)
组B 端口B
(8)
输入输出都锁存
I/O PA7~PA0
10
例:P1口八个灯作跑马灯 ??
start:
;延时子程序 delay:mov r3,#20 d1:mov r4,#20 d2:mov r5,#248 djnz r5,$ djnz r4,d2 djnz r3,d1 ret end
mov a,#0ffh;
clr c; mov r2,#08h;循环八次。 loop1:rlc a;带进位左移。 mov p1,a;输出到P1口。 call delay;延时一段时间 djnz r2,loop1;反复循环 mov r2,#07h;再往回循环。 loop2:rrc a;带进位右移 mov p1,a;输出到P1口。 call delay;延时一段时间 djnz r2,loop2;反复循环 ljmp start;重新开始
12
7.2.1 用三态缓冲器和锁存器扩展并口
设计原则 ➢输入口具有缓冲作用——缓冲器。 ➢输出口具有锁存作用——锁存器。
1、8031和三态缓冲器连接扩展输入口
74LS244三态缓冲器功能表
/1G 状态
输入/输出
1
高阻
隔离
0
驱动
输出=输入
13
1、8031和三态缓冲器连接扩展输入口
8031与74LS244的连接图
地址空间:0XX……XB
控制程序: MOV DPTR, #7FFFH
MOVX A,@DPTR
14
2、8031和锁存器连接扩展输出口
下降沿锁存
74LS373内部逻辑与引脚图
15
2、8031和锁存器连接扩展输出口
WR
地址空间:0XX……XB
控制程序: MOV DPTR, #7FFFH
MOVX @DPTR, A
相关主题