SlideShare a Scribd company logo
1 of 22
单片机单片机 I/OI/O 口的使用口的使用
 对单片机的控制,其实就是对对单片机的控制,其实就是对 I/OI/O 口的控口的控
制,无论单片机对外界进行何种控制,亦制,无论单片机对外界进行何种控制,亦
或接受外部的控制,都是通过或接受外部的控制,都是通过 I/OI/O 口进行口进行
的。单片机总共有的。单片机总共有 P0P0 、、 P1P1 、、 P2P2 、、 P3P3 四四
个个 88 位双向输入输出端口,每个端口都有位双向输入输出端口,每个端口都有
锁存器、输出驱动器和输入缓冲器。锁存器、输出驱动器和输入缓冲器。 44 个个
I/OI/O 端口都能作输入输出口用,其中端口都能作输入输出口用,其中 P0P0 和和
P2P2 通常用于对外部存储器的访问。通常用于对外部存储器的访问。
§4.1 MCS-51 单片机的并行端口结构与操作
51 系列单片机有 4 个 I/O 端口,每个端口都
是 8 位准双向口,共占 32 根引脚。每个端口都包
括一个锁存器 ( 即专用寄存器 P0 ~ P3) 、一个输
出驱动器和输入缓冲器。通常把 4 个端口笼统地表
示为 P0 ~ P3 。
在无片外扩展存储器的系统中,这 4 个端口的每一
位都可以作为准双向通用 I/O 端口使用。在具有片外
扩展存储器的系统中, P2 口作为高 8 位地址线, P0
口分时作为低 8 位地址线和双向数据总线。
51 单片机 4 个 I/O 端口线路设计的非常巧妙,
学习 I/O 端口逻辑电路,不但有利于正确合理地使用
端口,而且会给设计单片机外围逻辑电路有所启发。
下面简单介绍一下输入 / 输出端口结构。
4.1.1 P0 口和 P2 的
结构
下图为 P0 口的某位 P0.n(n=0~7) 结构图,它由一个
输出锁存器、两个三态输入缓冲器和输出驱动电路
及控制电路组成。从图中可以看出, P0 口既可以作
为 I/O 用,也可以作为地址 / 数据线用。
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
一、 P0 口的结构
1 、 P0 口作为普通 I/O 口
① 输出时
CPU 发出控制电平“ 0” 封锁“与”门,将输出上拉场效
应管 T1 截止,同时使多路开关 MUX 把锁存器与输出
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
驱动场效应管 T2 栅极接通。故内部总线与 P0 口同相。
由于输出驱动级是漏极开路电路,若驱动 NMOS 或其
它拉流负载时,需要外接上拉电阻。 P0 的输出级可驱
动 8 个 LSTTL 负载。
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
② 输入时 ---- 分读引脚或读锁存器
读引脚:由传送指令 (MOV) 实现;
下面一个缓冲器用于读端口引脚数据,当执行
一条由端口输入的指令时,读脉冲把该三态缓冲器
打开,这样端口引脚上的数据经过缓冲器读入到内
部总线。
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
② 输入时 ---- 分读引脚或读锁存器
读锁存器:有些指令 如: ANL P0 , A 称为“读 -
改 - 写”
指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。
** 原因:如果此时该端口的负载恰是一个晶体管基极,且原端
口输出值为 1 ,那么导通了的 PN 结会把端口引脚高电平拉低
;若此时直接读端口引脚信号,将会把原输出的“ 1” 电平误读
为“ 0” 电平。现采用读输出锁存器代替读引脚,图中,上面的
三态缓冲器就为读锁存器 Q 端信号而设,读输出锁存器可避免
上述可能发生的错误。 **
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
 P0P0 口必须接上拉电阻;口必须接上拉电阻;
 在读信号之前数据之前,先要向相应的锁存器做写在读信号之前数据之前,先要向相应的锁存器做写 11 操作的操作的 I/OI/O
口称为准双向口;口称为准双向口;
 三态输入缓冲器的作用:三态输入缓冲器的作用:
 (( ANL P0ANL P0 ,, AA ))
P0i
Q1
9013
VCC
GND
OUTPUT
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
准双向口:
从图中可以看出,在读入端口数据时,由于输出
驱动 FET 并接在引脚上,如果 T2 导通,就会将输
入的高电平拉成低电平,产生误读。所以在端口进
行输入操作前,应先向端口锁存器写“ 1” ,使 T2 截
止,引脚处于悬浮状态,变为高阻抗输入。这就是
所谓的准双向口。
22 、、 P0P0 作为作为地址地址 // 数据数据
总线总线
在系统扩展时, P0 端口作为地址 / 数据总线使用
时,分为:
 P0 引脚输出地址 / 数据信息。
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
CPU 发出控制电平“ 1” ,打开“与”门,又使多路开
关 MUX 把 CPU 的地址 / 数据总线与 T2 栅极反相接
通,输出地址或数据。由图上可以看出,上下两个
FET 处于反相,构成了推拉式的输出电路,其负载能
力大大增强。
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
22 、、 P0P0 作为作为地址地址 // 数据数据
总线总线
 P0 引脚输出地址 / 输入数据
输入信号是从引脚通过输入缓冲器进入内部总线
。
此时, CPU 自动使 MUX 向下,并向 P0 口
写“ 1” ,“读引脚”控制信号有效,下面的缓冲器打开
,外部数据读入内部总线。
22 、、 P0P0 作为作为地址地址 // 数据数据
总线总线
---- 真正的双向口
D Q
CLK Q
MU
X
P0.
n
读锁存器
内部总线
写锁存器
读引脚
地址 / 数
据
控制
VCC
T1
T2
P0 口
引脚
二、 P2 的内部结构
1.P2 口作为普通 I/O 口
D Q
CLK Q MUX
P2.n
读锁存器
内部总线
写锁存器
读引脚
地
址 控制
VCC
R
T
P2 口
引脚
CPU 发出控制电平“ 0” ,使多路开关 MUX 倒
向锁存器
输出 Q 端,构成一个准双向口。其功能与 P1
相同。
2.P2 口作为地址总线
在系统扩展片外程序存储器扩展数据存储器且容量
超过 256B ( 用 MOVX @DPTR 指令 ) 时, CPU 发出控制电
平“ 1” ,使多路开关 MUX 倒内部地址线。此时, P2
输出高 8 位地址。
D Q
CLK Q MUX
P2.n
读锁存器
内部总线
写锁存器
读引脚
地
址 控制
VCC
R
T
P2 口
引脚
4.1.2 P1 口、 P3 口的内部
结构
①P1 口的一位的结构
它由一个输出锁存器、两个三态输入缓冲器和输出驱
动电路组成 ---- 准双向口。
D Q
CLK Q
P1.n
读锁存器
内部总线
写锁存器
读引脚
VCC
R
T
P1 口
引脚
②②P3P3 的内部结构的内部结构
D Q
CLK Q
P3.n
读锁存器
内部总线
写锁存器
读引脚
VCC
R
T
P3 口
引脚
第二输入功
能
第二输出功
能
一、作为通用 I/O 口与 P1 口类似 ---- 准双向口 (W=1)
W
②②P3P3 的内部结构的内部结构
D Q
CLK Q
P3.n
读锁存器
内部总线
写锁存器
读引脚
VCC
R
T
P3 口
引脚
第二输入功
能
第二输出功
能
二、 P3P3 第二功能 (Q=1)
此时引脚部分输入 (Q=1 、 W=1) , 部分输出 (Q=1 、 W 输
出 ) 。
W
P3P3 第二功能各引脚功能定义:
P3.0 : RXD 串行口输入
P3.1 : TXD 串行口输出
P3.2 : INT0 外部中断 0 输入
P3.3 : INT1 外部中断 1 输入
P3.4 : T0 定时器 0 外部输入
P3.5 : T1 定时器 1 外部输入
P3.6 : WR 外部写控制
P3.7 : RD 外部读控制
 综上所述:当综上所述:当 P0P0 作为作为 I/OI/O 口使用时,特别是口使用时,特别是
作为输出时,输出级属于开漏电路,必须外作为输出时,输出级属于开漏电路,必须外
接上拉电阻才会有高电平输出;如果作为输接上拉电阻才会有高电平输出;如果作为输
入,必须先向相应的锁存器写“入,必须先向相应的锁存器写“ 1”1” ,才不会,才不会
影响输入电平。影响输入电平。
 当当 CPUCPU 内部控制信号为“内部控制信号为“ 1”1” 时,时, P0P0 口作为地口作为地
址址 // 数据总线使用,这时,数据总线使用,这时, P0P0 口就无法再作口就无法再作
为为 I/OI/O 口使用了。口使用了。
 P1P1 、、 P2P2 和和 P3P3 口为准双向口口为准双向口 ,, 在内部差别不大在内部差别不大 ,,
但使用功能有所不同。 但使用功能有所不同。 
 P1P1 口是用户专用口是用户专用 88 位准双向位准双向 I/OI/O 口口 ,, 具有通具有通
用输入用输入 // 输出功能输出功能 ,, 每一位都能独立地设定为输入每一位都能独立地设定为输入
或输出。当有输出方式变为输入方式时或输出。当有输出方式变为输入方式时 ,, 该位的锁该位的锁
存器必须写入“存器必须写入“ 1”,1”, 然后才能进入输入操作。然后才能进入输入操作。
 P2P2 口是口是 88 位准双向位准双向 I/OI/O 口。外接口。外接 I/OI/O 设备时设备时 ,,
可作为扩展系统的地址总线可作为扩展系统的地址总线 ,, 输出高输出高 88 位地址位地址 ,, 与与
P0P0 口一起组成口一起组成 1616 位地址总线。 对于位地址总线。 对于 80318031 而言而言 ,,
P2P2 口一般只作为地址总线使用口一般只作为地址总线使用 ,, 而不作为而不作为 I/OI/O 线线
直接与外部设备相连。直接与外部设备相连。

More Related Content

What's hot (13)

Arduino導論
Arduino導論Arduino導論
Arduino導論
 
Arduino基礎IO控制
Arduino基礎IO控制Arduino基礎IO控制
Arduino基礎IO控制
 
Arduino overview
Arduino overviewArduino overview
Arduino overview
 
Arduino簡介
Arduino簡介Arduino簡介
Arduino簡介
 
Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面
 
Xmt63 X 04 05 20
Xmt63 X 04 05 20Xmt63 X 04 05 20
Xmt63 X 04 05 20
 
Sr868a cn-20100110
Sr868a cn-20100110Sr868a cn-20100110
Sr868a cn-20100110
 
使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
 
Arduino藍牙傳輸應用
Arduino藍牙傳輸應用Arduino藍牙傳輸應用
Arduino藍牙傳輸應用
 
Arduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 allArduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 all
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 

Viewers also liked

в поисках разумной энергетической политики
в поисках разумной энергетической политикив поисках разумной энергетической политики
в поисках разумной энергетической политикиshulenina_nv
 
Guion de Observacion 3
Guion de Observacion 3Guion de Observacion 3
Guion de Observacion 3MandyYarenny
 
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas Wagener
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas WagenerCyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas Wagener
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas WagenerAndreas Wagener
 
Digitalisierung von Arbeits- und Privatleben
Digitalisierung von Arbeits- und PrivatlebenDigitalisierung von Arbeits- und Privatleben
Digitalisierung von Arbeits- und Privatlebenrene_peinl
 

Viewers also liked (9)

Cartell23maig
Cartell23maigCartell23maig
Cartell23maig
 
в поисках разумной энергетической политики
в поисках разумной энергетической политикив поисках разумной энергетической политики
в поисках разумной энергетической политики
 
EHRC Human Rights Review 2012
EHRC Human Rights Review 2012EHRC Human Rights Review 2012
EHRC Human Rights Review 2012
 
Uptown Media Marketing SMO PowerPoint
Uptown Media Marketing SMO PowerPointUptown Media Marketing SMO PowerPoint
Uptown Media Marketing SMO PowerPoint
 
Longitudes
LongitudesLongitudes
Longitudes
 
Guion de Observacion 3
Guion de Observacion 3Guion de Observacion 3
Guion de Observacion 3
 
1 jornada
1 jornada1 jornada
1 jornada
 
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas Wagener
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas WagenerCyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas Wagener
Cyborg Economy Reloaded - vom Cyborg zum Psyborg, Andreas Wagener
 
Digitalisierung von Arbeits- und Privatleben
Digitalisierung von Arbeits- und PrivatlebenDigitalisierung von Arbeits- und Privatleben
Digitalisierung von Arbeits- und Privatleben
 

Similar to 单片机I/O口的使用

Deployment instruction tg4100 f-ig_cn
Deployment instruction tg4100 f-ig_cnDeployment instruction tg4100 f-ig_cn
Deployment instruction tg4100 f-ig_cnahnlabchina
 
Arduino Basic
Arduino BasicArduino Basic
Arduino Basicmmiwwcom
 
第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3冠宇 陳
 
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedBang Min Shiue
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnVidur Garg
 
MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2JORGE SCHLEE
 
Deployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnDeployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnahnlabchina
 
接口芯片
接口芯片接口芯片
接口芯片jugn
 
第7章 常用接口芯片
第7章 常用接口芯片第7章 常用接口芯片
第7章 常用接口芯片jugn
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統艾鍗科技
 
Deployment instruction tg3100 ig-cn
Deployment instruction tg3100 ig-cnDeployment instruction tg3100 ig-cn
Deployment instruction tg3100 ig-cnahnlabchina
 
20160924 创客空间活动arduino教学
20160924 创客空间活动arduino教学20160924 创客空间活动arduino教学
20160924 创客空间活动arduino教学Tzu-Heng Lin (Brian)
 

Similar to 单片机I/O口的使用 (17)

Deployment instruction tg4100 f-ig_cn
Deployment instruction tg4100 f-ig_cnDeployment instruction tg4100 f-ig_cn
Deployment instruction tg4100 f-ig_cn
 
Arduino Basic
Arduino BasicArduino Basic
Arduino Basic
 
Step7
Step7Step7
Step7
 
51单片机及其应用
51单片机及其应用51单片机及其应用
51单片机及其应用
 
Arduino應用系統設計 - 導論
Arduino應用系統設計 - 導論Arduino應用系統設計 - 導論
Arduino應用系統設計 - 導論
 
Arduino overview
Arduino overviewArduino overview
Arduino overview
 
第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3
 
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cn
 
MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2
 
Deployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnDeployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cn
 
接口芯片
接口芯片接口芯片
接口芯片
 
第7章 常用接口芯片
第7章 常用接口芯片第7章 常用接口芯片
第7章 常用接口芯片
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
Deployment instruction tg3100 ig-cn
Deployment instruction tg3100 ig-cnDeployment instruction tg3100 ig-cn
Deployment instruction tg3100 ig-cn
 
20160924 创客空间活动arduino教学
20160924 创客空间活动arduino教学20160924 创客空间活动arduino教学
20160924 创客空间活动arduino教学
 

Recently uploaded

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 

Recently uploaded (7)

EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 

单片机I/O口的使用

  • 1. 单片机单片机 I/OI/O 口的使用口的使用  对单片机的控制,其实就是对对单片机的控制,其实就是对 I/OI/O 口的控口的控 制,无论单片机对外界进行何种控制,亦制,无论单片机对外界进行何种控制,亦 或接受外部的控制,都是通过或接受外部的控制,都是通过 I/OI/O 口进行口进行 的。单片机总共有的。单片机总共有 P0P0 、、 P1P1 、、 P2P2 、、 P3P3 四四 个个 88 位双向输入输出端口,每个端口都有位双向输入输出端口,每个端口都有 锁存器、输出驱动器和输入缓冲器。锁存器、输出驱动器和输入缓冲器。 44 个个 I/OI/O 端口都能作输入输出口用,其中端口都能作输入输出口用,其中 P0P0 和和 P2P2 通常用于对外部存储器的访问。通常用于对外部存储器的访问。
  • 2. §4.1 MCS-51 单片机的并行端口结构与操作 51 系列单片机有 4 个 I/O 端口,每个端口都 是 8 位准双向口,共占 32 根引脚。每个端口都包 括一个锁存器 ( 即专用寄存器 P0 ~ P3) 、一个输 出驱动器和输入缓冲器。通常把 4 个端口笼统地表 示为 P0 ~ P3 。
  • 3. 在无片外扩展存储器的系统中,这 4 个端口的每一 位都可以作为准双向通用 I/O 端口使用。在具有片外 扩展存储器的系统中, P2 口作为高 8 位地址线, P0 口分时作为低 8 位地址线和双向数据总线。 51 单片机 4 个 I/O 端口线路设计的非常巧妙, 学习 I/O 端口逻辑电路,不但有利于正确合理地使用 端口,而且会给设计单片机外围逻辑电路有所启发。 下面简单介绍一下输入 / 输出端口结构。 4.1.1 P0 口和 P2 的 结构
  • 4. 下图为 P0 口的某位 P0.n(n=0~7) 结构图,它由一个 输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出, P0 口既可以作 为 I/O 用,也可以作为地址 / 数据线用。 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚 一、 P0 口的结构
  • 5. 1 、 P0 口作为普通 I/O 口 ① 输出时 CPU 发出控制电平“ 0” 封锁“与”门,将输出上拉场效 应管 T1 截止,同时使多路开关 MUX 把锁存器与输出 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 6. 驱动场效应管 T2 栅极接通。故内部总线与 P0 口同相。 由于输出驱动级是漏极开路电路,若驱动 NMOS 或其 它拉流负载时,需要外接上拉电阻。 P0 的输出级可驱 动 8 个 LSTTL 负载。 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 7. ② 输入时 ---- 分读引脚或读锁存器 读引脚:由传送指令 (MOV) 实现; 下面一个缓冲器用于读端口引脚数据,当执行 一条由端口输入的指令时,读脉冲把该三态缓冲器 打开,这样端口引脚上的数据经过缓冲器读入到内 部总线。 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 8. D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚 ② 输入时 ---- 分读引脚或读锁存器 读锁存器:有些指令 如: ANL P0 , A 称为“读 - 改 - 写” 指令,需要读锁存器。 上面一个缓冲器用于读端口锁存器数据。
  • 9. ** 原因:如果此时该端口的负载恰是一个晶体管基极,且原端 口输出值为 1 ,那么导通了的 PN 结会把端口引脚高电平拉低 ;若此时直接读端口引脚信号,将会把原输出的“ 1” 电平误读 为“ 0” 电平。现采用读输出锁存器代替读引脚,图中,上面的 三态缓冲器就为读锁存器 Q 端信号而设,读输出锁存器可避免 上述可能发生的错误。 ** D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 10.  P0P0 口必须接上拉电阻;口必须接上拉电阻;  在读信号之前数据之前,先要向相应的锁存器做写在读信号之前数据之前,先要向相应的锁存器做写 11 操作的操作的 I/OI/O 口称为准双向口;口称为准双向口;  三态输入缓冲器的作用:三态输入缓冲器的作用:  (( ANL P0ANL P0 ,, AA )) P0i Q1 9013 VCC GND OUTPUT
  • 11. D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚 准双向口: 从图中可以看出,在读入端口数据时,由于输出 驱动 FET 并接在引脚上,如果 T2 导通,就会将输 入的高电平拉成低电平,产生误读。所以在端口进 行输入操作前,应先向端口锁存器写“ 1” ,使 T2 截 止,引脚处于悬浮状态,变为高阻抗输入。这就是 所谓的准双向口。
  • 12. 22 、、 P0P0 作为作为地址地址 // 数据数据 总线总线 在系统扩展时, P0 端口作为地址 / 数据总线使用 时,分为:  P0 引脚输出地址 / 数据信息。 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 13. CPU 发出控制电平“ 1” ,打开“与”门,又使多路开 关 MUX 把 CPU 的地址 / 数据总线与 T2 栅极反相接 通,输出地址或数据。由图上可以看出,上下两个 FET 处于反相,构成了推拉式的输出电路,其负载能 力大大增强。 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚 22 、、 P0P0 作为作为地址地址 // 数据数据 总线总线
  • 14.  P0 引脚输出地址 / 输入数据 输入信号是从引脚通过输入缓冲器进入内部总线 。 此时, CPU 自动使 MUX 向下,并向 P0 口 写“ 1” ,“读引脚”控制信号有效,下面的缓冲器打开 ,外部数据读入内部总线。 22 、、 P0P0 作为作为地址地址 // 数据数据 总线总线 ---- 真正的双向口 D Q CLK Q MU X P0. n 读锁存器 内部总线 写锁存器 读引脚 地址 / 数 据 控制 VCC T1 T2 P0 口 引脚
  • 15. 二、 P2 的内部结构 1.P2 口作为普通 I/O 口 D Q CLK Q MUX P2.n 读锁存器 内部总线 写锁存器 读引脚 地 址 控制 VCC R T P2 口 引脚 CPU 发出控制电平“ 0” ,使多路开关 MUX 倒 向锁存器 输出 Q 端,构成一个准双向口。其功能与 P1 相同。
  • 16. 2.P2 口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量 超过 256B ( 用 MOVX @DPTR 指令 ) 时, CPU 发出控制电 平“ 1” ,使多路开关 MUX 倒内部地址线。此时, P2 输出高 8 位地址。 D Q CLK Q MUX P2.n 读锁存器 内部总线 写锁存器 读引脚 地 址 控制 VCC R T P2 口 引脚
  • 17. 4.1.2 P1 口、 P3 口的内部 结构 ①P1 口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱 动电路组成 ---- 准双向口。 D Q CLK Q P1.n 读锁存器 内部总线 写锁存器 读引脚 VCC R T P1 口 引脚
  • 18. ②②P3P3 的内部结构的内部结构 D Q CLK Q P3.n 读锁存器 内部总线 写锁存器 读引脚 VCC R T P3 口 引脚 第二输入功 能 第二输出功 能 一、作为通用 I/O 口与 P1 口类似 ---- 准双向口 (W=1) W
  • 19. ②②P3P3 的内部结构的内部结构 D Q CLK Q P3.n 读锁存器 内部总线 写锁存器 读引脚 VCC R T P3 口 引脚 第二输入功 能 第二输出功 能 二、 P3P3 第二功能 (Q=1) 此时引脚部分输入 (Q=1 、 W=1) , 部分输出 (Q=1 、 W 输 出 ) 。 W
  • 20. P3P3 第二功能各引脚功能定义: P3.0 : RXD 串行口输入 P3.1 : TXD 串行口输出 P3.2 : INT0 外部中断 0 输入 P3.3 : INT1 外部中断 1 输入 P3.4 : T0 定时器 0 外部输入 P3.5 : T1 定时器 1 外部输入 P3.6 : WR 外部写控制 P3.7 : RD 外部读控制
  • 21.  综上所述:当综上所述:当 P0P0 作为作为 I/OI/O 口使用时,特别是口使用时,特别是 作为输出时,输出级属于开漏电路,必须外作为输出时,输出级属于开漏电路,必须外 接上拉电阻才会有高电平输出;如果作为输接上拉电阻才会有高电平输出;如果作为输 入,必须先向相应的锁存器写“入,必须先向相应的锁存器写“ 1”1” ,才不会,才不会 影响输入电平。影响输入电平。  当当 CPUCPU 内部控制信号为“内部控制信号为“ 1”1” 时,时, P0P0 口作为地口作为地 址址 // 数据总线使用,这时,数据总线使用,这时, P0P0 口就无法再作口就无法再作 为为 I/OI/O 口使用了。口使用了。
  • 22.  P1P1 、、 P2P2 和和 P3P3 口为准双向口口为准双向口 ,, 在内部差别不大在内部差别不大 ,, 但使用功能有所不同。 但使用功能有所不同。   P1P1 口是用户专用口是用户专用 88 位准双向位准双向 I/OI/O 口口 ,, 具有通具有通 用输入用输入 // 输出功能输出功能 ,, 每一位都能独立地设定为输入每一位都能独立地设定为输入 或输出。当有输出方式变为输入方式时或输出。当有输出方式变为输入方式时 ,, 该位的锁该位的锁 存器必须写入“存器必须写入“ 1”,1”, 然后才能进入输入操作。然后才能进入输入操作。  P2P2 口是口是 88 位准双向位准双向 I/OI/O 口。外接口。外接 I/OI/O 设备时设备时 ,, 可作为扩展系统的地址总线可作为扩展系统的地址总线 ,, 输出高输出高 88 位地址位地址 ,, 与与 P0P0 口一起组成口一起组成 1616 位地址总线。 对于位地址总线。 对于 80318031 而言而言 ,, P2P2 口一般只作为地址总线使用口一般只作为地址总线使用 ,, 而不作为而不作为 I/OI/O 线线 直接与外部设备相连。直接与外部设备相连。