单片机原理第七章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.P1口
P1口常用做通用I/O口,它也是一 个标准的准双向I/O口,不必外接上拉 电阻就可以驱动任何MOS驱动电路, 且只能驱动4个TTL输入。P1口的位结 构如右图所示。
3Βιβλιοθήκη Baidu
4.P3口 P3口是一个双功能口,
第一功能与P1口一样可用做 通用I/O口,也是一个准双向 I/O 口 , 能 驱 动 4 个 TTL 输 入 。 另外还具有第二功能。P3口 工作在第二功能时各管脚定 义如下表所示。 P3口的位结 构图如右图所示。
由逻辑电路可知,74LS377是由D触发器组成的,D触 发器在上升沿输入数据,即在时钟信号(CK)由低电平跳 变为高电平时,数据进入锁存器。其功能表如表7-1所示。
Ck
G
1
X
0
↑
0
CS1 1
20 VCC
1A1
CS2
2Y4
1Y1
1A 2
74LS
2A 4
2Y3 5 244 15 1Y2
1A 3
2A 3
2Y2
1Y3
1A 4
2A 2
2Y1
GN 10
1Y4
11 2A1
D
P0 ALE 74LS 244
RD
74LS373 2716
74LS244
CS1 CS2
输入 设备
地址选通 信号
图7.1 74LS244芯片的引脚 图7.2 74LS244扩展两个输入口
外部存储器时,P0口作地址/
数据总线复用口,是一个真
正的双向口,并分时送出地
址的低8位和送出(或接收)
相应存储单元的数据。作通
用I/O口时,P0口只是一个准
双向口,需要在外部引脚处
外接上拉电阻。 P0口的位结
构如右图所示。
2
2.P2口
P2口常用做外部存储器的高8位地址 口。当不用做地址口时,P2口也可作为 通用I/O口,这时它也是一个准双向I/O 口。不必外接上拉电阻就可以驱动任何 MOS驱动电路,且只能驱动4个TTL输 入。P2口的位结构如右图所示。
(2)读端口数据方式: CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据。
MOV A, P1 MOV 20H, P1 MOV R0, P1 MOV @R0, P1
5
(3)读端口引脚方式:读端口引脚方式可以从端口引脚上读入
3.用三态门扩展输入口
用74LS244扩展输入口
13
2.用锁存器扩展输入口
图4.32 用74LS373扩展输入口
14
中断系统初始化程序:
PINT: SETB IT0 SETB EA MOV R0,#50H SETB EX0
;外部中断0选择为下降沿触发方式 ;开系统中断 ;R0作地址指针,指向数据区首址 ;外部中断0中断允许
P0 74LS 244 AL
E
P2.3 ~ P2.7
RD
74LS 373
2716
Y CS
Y CS
Y CS
Y CS
Y CS
图7.3 多个(例如5个)输入口扩展的电路
7.2.2 简单输出口扩展
1. 简单输出口扩展使用的典型芯片
简单输出口扩展通常使用74LS377芯片,该芯片是一个具 有“使能”控制端的锁存器。其信号引脚如图7.4所示。其中: 1D~8D为8位数据输入线,1Q~8Q为8位数据输出线,CK为
10
7.1.3 单片机I/O传送的方式
1. 无条件传送方式 2. 查询方式 3. 中断方式
中断方式大大提高了单片机系统的工作效率,所以在 单片机中被广泛应用。
7.2 简单I/O口扩展
7.2.1 简单输入口扩展
1. 两个输入口扩展
简单输入口扩展使用的集成芯片,比较典型 的如74LS244芯片。图7.1为74LS244芯片的引脚。
时钟信号上升沿数据锁存,为使能控制信号,低电平有效。
VCC为+5V电源。74LS377的逻辑电路如图7.5所示。
G
VCC
1Q
8Q
1D
DQ
1Q
CK G
~
~
1D
8D
2D
74LS377
7D
2Q
7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CK
8D
DQ
8Q
CK G
CK
G
图7.4 74LS377引脚图
图7.5 74LS377的逻辑电路
读引脚时就要区分是读端口的引脚信号还是读锁存器信 号。
读端口信号是必须先向端口写“1”,然后再读,这就是单片 机口信号的准双向的含义。切记!
6
7.1 I/O口扩展概述
7.1.1 I/O口扩展的原因
MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、 P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口 作地址线的高八位使用;P3是一个双功能口,其第二功能是一 些很重要的控制信号,所以P3一般使用其第二功能。这样供用 户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄 存和命令寄存的功能,因此难以满足复杂的I/O操作要求。
…
中断服务程序:
ORG 0003H
PINT0:AJMP INT0
INT0: MOV DPTR,#0BFFFH ;使DPTR指向74LS373扩展输入口
MOVX A,@DPTR ;从74LS373扩展输入口输入数据
MOV @R0,A
;输入数据送数据区
INC R0
RETI
15
2. 多输入口扩展
使用多片74LS244实现多个(例如5个)输入口扩展的电路 连接如图7.3。
4
1.2 MCS-51内部并行I/O口的应用
MCS-51 I/O端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输
出数据写入P0~P3的端口锁存器,然后通过输出驱动器送 到端口引脚线。例如,下面的指令均可在P0口输出数据。
MOV P0, A ANL P0, #data ORL P0, A
第七章 单片机I/O口扩展及应用
1
MCS-51单片机的并行I/O口
1.1 MCS-51内部并行I/O口
8051有4个8位并行I/O口,分别命名为P0, P1, P2和P3口。
1.P0口
P0口为双向三态输入/输出口, P0口既可作为地址/数据 总线口,又可作为通用I/O口,可驱动8个TTL输入。在访问
信息。在这种方式下,CPU首先必须使欲读端口引脚所对应的
锁存器置1,然后才能读端口引脚。因此,用户在读引脚时必
须先置位锁存器后读,连续使用两条指令。例如,下面的程
序可以读P1引脚上的信号。
MOV P1, #0FFH ; 置位P1引脚的锁存器
MOV A, P1
; 读P1引脚上的信号送累加器A
注意:写引脚时是直接向端口输出要写的数据,
P1口常用做通用I/O口,它也是一 个标准的准双向I/O口,不必外接上拉 电阻就可以驱动任何MOS驱动电路, 且只能驱动4个TTL输入。P1口的位结 构如右图所示。
3Βιβλιοθήκη Baidu
4.P3口 P3口是一个双功能口,
第一功能与P1口一样可用做 通用I/O口,也是一个准双向 I/O 口 , 能 驱 动 4 个 TTL 输 入 。 另外还具有第二功能。P3口 工作在第二功能时各管脚定 义如下表所示。 P3口的位结 构图如右图所示。
由逻辑电路可知,74LS377是由D触发器组成的,D触 发器在上升沿输入数据,即在时钟信号(CK)由低电平跳 变为高电平时,数据进入锁存器。其功能表如表7-1所示。
Ck
G
1
X
0
↑
0
CS1 1
20 VCC
1A1
CS2
2Y4
1Y1
1A 2
74LS
2A 4
2Y3 5 244 15 1Y2
1A 3
2A 3
2Y2
1Y3
1A 4
2A 2
2Y1
GN 10
1Y4
11 2A1
D
P0 ALE 74LS 244
RD
74LS373 2716
74LS244
CS1 CS2
输入 设备
地址选通 信号
图7.1 74LS244芯片的引脚 图7.2 74LS244扩展两个输入口
外部存储器时,P0口作地址/
数据总线复用口,是一个真
正的双向口,并分时送出地
址的低8位和送出(或接收)
相应存储单元的数据。作通
用I/O口时,P0口只是一个准
双向口,需要在外部引脚处
外接上拉电阻。 P0口的位结
构如右图所示。
2
2.P2口
P2口常用做外部存储器的高8位地址 口。当不用做地址口时,P2口也可作为 通用I/O口,这时它也是一个准双向I/O 口。不必外接上拉电阻就可以驱动任何 MOS驱动电路,且只能驱动4个TTL输 入。P2口的位结构如右图所示。
(2)读端口数据方式: CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据。
MOV A, P1 MOV 20H, P1 MOV R0, P1 MOV @R0, P1
5
(3)读端口引脚方式:读端口引脚方式可以从端口引脚上读入
3.用三态门扩展输入口
用74LS244扩展输入口
13
2.用锁存器扩展输入口
图4.32 用74LS373扩展输入口
14
中断系统初始化程序:
PINT: SETB IT0 SETB EA MOV R0,#50H SETB EX0
;外部中断0选择为下降沿触发方式 ;开系统中断 ;R0作地址指针,指向数据区首址 ;外部中断0中断允许
P0 74LS 244 AL
E
P2.3 ~ P2.7
RD
74LS 373
2716
Y CS
Y CS
Y CS
Y CS
Y CS
图7.3 多个(例如5个)输入口扩展的电路
7.2.2 简单输出口扩展
1. 简单输出口扩展使用的典型芯片
简单输出口扩展通常使用74LS377芯片,该芯片是一个具 有“使能”控制端的锁存器。其信号引脚如图7.4所示。其中: 1D~8D为8位数据输入线,1Q~8Q为8位数据输出线,CK为
10
7.1.3 单片机I/O传送的方式
1. 无条件传送方式 2. 查询方式 3. 中断方式
中断方式大大提高了单片机系统的工作效率,所以在 单片机中被广泛应用。
7.2 简单I/O口扩展
7.2.1 简单输入口扩展
1. 两个输入口扩展
简单输入口扩展使用的集成芯片,比较典型 的如74LS244芯片。图7.1为74LS244芯片的引脚。
时钟信号上升沿数据锁存,为使能控制信号,低电平有效。
VCC为+5V电源。74LS377的逻辑电路如图7.5所示。
G
VCC
1Q
8Q
1D
DQ
1Q
CK G
~
~
1D
8D
2D
74LS377
7D
2Q
7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CK
8D
DQ
8Q
CK G
CK
G
图7.4 74LS377引脚图
图7.5 74LS377的逻辑电路
读引脚时就要区分是读端口的引脚信号还是读锁存器信 号。
读端口信号是必须先向端口写“1”,然后再读,这就是单片 机口信号的准双向的含义。切记!
6
7.1 I/O口扩展概述
7.1.1 I/O口扩展的原因
MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、 P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口 作地址线的高八位使用;P3是一个双功能口,其第二功能是一 些很重要的控制信号,所以P3一般使用其第二功能。这样供用 户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄 存和命令寄存的功能,因此难以满足复杂的I/O操作要求。
…
中断服务程序:
ORG 0003H
PINT0:AJMP INT0
INT0: MOV DPTR,#0BFFFH ;使DPTR指向74LS373扩展输入口
MOVX A,@DPTR ;从74LS373扩展输入口输入数据
MOV @R0,A
;输入数据送数据区
INC R0
RETI
15
2. 多输入口扩展
使用多片74LS244实现多个(例如5个)输入口扩展的电路 连接如图7.3。
4
1.2 MCS-51内部并行I/O口的应用
MCS-51 I/O端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输
出数据写入P0~P3的端口锁存器,然后通过输出驱动器送 到端口引脚线。例如,下面的指令均可在P0口输出数据。
MOV P0, A ANL P0, #data ORL P0, A
第七章 单片机I/O口扩展及应用
1
MCS-51单片机的并行I/O口
1.1 MCS-51内部并行I/O口
8051有4个8位并行I/O口,分别命名为P0, P1, P2和P3口。
1.P0口
P0口为双向三态输入/输出口, P0口既可作为地址/数据 总线口,又可作为通用I/O口,可驱动8个TTL输入。在访问
信息。在这种方式下,CPU首先必须使欲读端口引脚所对应的
锁存器置1,然后才能读端口引脚。因此,用户在读引脚时必
须先置位锁存器后读,连续使用两条指令。例如,下面的程
序可以读P1引脚上的信号。
MOV P1, #0FFH ; 置位P1引脚的锁存器
MOV A, P1
; 读P1引脚上的信号送累加器A
注意:写引脚时是直接向端口输出要写的数据,