MCS-51单片机P0端口的结构及工作原理

合集下载

3.1MCS-51单片机的并行IO口

3.1MCS-51单片机的并行IO口

一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位

MCS-51单片机的并行接口

MCS-51单片机的并行接口

1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

mcs-51系列单片机基本结构与工作原理

mcs-51系列单片机基本结构与工作原理


1)电源引脚VCC和VSS

VCC:40脚,电源端,+5V

VSS:20脚,接地端(GND)

2)时钟电路引脚

XTAL1:19脚,外接晶振输入引脚。

XTAL2:18脚,外接晶振输出引脚。

3)控制线引脚

共4根,其中3根为双功能

①RST/VPD :9脚,复位/备用电源。

RST---通过外接复位电路实现上电复位或按键复位。
直接寻址 寄存器寻址
(4)MOV 60H,@R1 直接寻址 寄存器间接寻址
表2-2 特殊功能寄存器SFR的名称及地址(一)
§ MCS-51的扩展应用
▪ 一、单片机Байду номын сангаас展的基本概念 ▪ 1、单片机最小系统:使单片机运行的最少器件构成的 ▪ 系统,就是最小系统。 ▪ 无ROM芯片:8031 必须扩展ROM,复位、晶振电路 ▪ 有ROM芯片:89C51等,不必扩展ROM,只要有复位、 ▪ 晶振电路 ▪ 2、扩展使用的三总线:
▪ 清零,用来选择8051的工作寄存器区。其选择方法见表2-1
▪ OV、( PSW.2)溢出标志位。当带符号数运算(加法或减法)结果超 ▪ 出范围(-127-+127)时,有溢出,OV=1;否则OV=0。 ▪ --、( PSW.1)用户定义标志位。 ▪ P、( PSW.0)奇偶校验位。在每个指令周期由硬件按累加器A中“1”的 ▪ 个数为奇数或偶数而为“1”或“0”。因此,P可用指示操作结果(累加器
direct
8 位内部RAM单元的地址
#data:
指令中的8 位常数。
#data16
指令中的16位常数。

51单片机各引脚及端口详解

51单片机各引脚及端口详解

51单片机各引脚及端口详解51单片机引脚功能:MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:l ~ P0口8位双向口线(在引脚的39~32号端子)。

l ~ P1口8位双向口线(在引脚的1~8号端子)。

l ~ P2口8位双向口线(在引脚的21~28号端子)。

l ~ P2口8位双向口线(在引脚的10~17号端子)。

这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。

P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。

在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢他起什么作用呢都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

2MCS51单片机的基本结构与工作原理

2MCS51单片机的基本结构与工作原理

第二章MCS51单片机的基本结构与工作原理一、8051单片机内部包含哪些主要逻辑功能部件?提示:(1)CPU—包括运算器和控制器。

其中运算器主要有运算逻辑部件ALU(实质上就是一个全加器)、累加器A、暂存器TMP(如B寄存器、数据指针DPTR)、程序状态字PSW(寄存程序运行的状态信息);控制器主要有程序计数器PC(实质是加1计数器)、指令寄存器IR(存放指令操作码的专用寄存器)、指令译码器、定时控制逻辑电路(按指令的性质发出一系列定时信号)、条件转移逻辑电路。

(2)内部RAM。

共有256个RAM单元。

其中低128个单元(00H—7FH)供用户使用,高128个单元(80H—FFH)是专用寄存器,有着特殊逻辑功能(又名特殊功能寄存器SFR)。

(3)内部ROM。

8031内部无ROM,8051有4KB掩膜ROM。

(4)定时/计数器。

MCS51共有2个16位的定时/计数器(T0、T1)。

(5)并行I/O口。

MCS51共有4个8位并行I/O口(P0、P1、P2、P3)。

(6)串行口。

MCS51有1个全双工的串行口。

(7)中断控制系统。

MS51共有5个中断源,且分两个优先级别。

(8)时钟电路。

系统允许的最高晶振频率为12MHz(主要用于通信)。

二、MCS51问片内RAM、片外提示:(1(2)(片内外统一编址空间共64KB)、128个单元中的21个单元SFR,高128个单元中的107个空闲地址,用户不能使用。

切记!)、片外数据存储器(寻址空间64KB)。

(3)从功能上划分为程序存储器、内部数据存储器、特殊功能寄存器、位地址空间、外部数据存储器。

访问片内RAM的指令助记符是MOV;如MOV P1,A访问片外RAM的指令助记符是MOVX;如MOVX @DPTR ,A访问片外ROM的指令助记符是MOVC;如MOVC A,@A+PC三、MCS51单片机片内RAM按用途可以划分几个区域?各有什么作用?(片内RAM低128单元划分哪三个主要部分?各部分主要功能是什么?)提示:片内RAM是最灵活的地址空间,在物理上分成两个独立的功能不同的区域,即低128个单元(00H —7FH)的数据RAM区、高128个单元(80H—FFH)的特殊功能寄存器SFR区(见下一题的回答)。

第六章mcs-51单片机IO端口(1)

第六章mcs-51单片机IO端口(1)
第六章mcs-51单片机IO端口(1)
准双向口:从图中结构看,引脚上的外部信号既加在三态缓 冲器的输入端上,又加在输出级FET2的漏极上,若此FET2 是导通的(相当于曾输出锁存过数据0),则引脚上的电位始 终被钳位在0电平上(除非外部信号源有极大的负载能力), 输入数据不可能正确地读入。因此P0口是一个准双向口,即 在输入数据时,应先把口置1,也就是锁存器的~Q为0,这样 使输出级的2个FET都截止,引脚处于悬浮状态,可作高阻抗 输入。这就是所谓的准双向口。
下图为P0口的某位P0.n(n=0~7)结电路和一个输出控 制电路组成。输出驱动电路由一对FET(场效应管)组成,其 工作状态受输出控制电路的控制,后者包括:1个与门、1个反 相器和1个模拟转换开关(MUX)。
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
第六章 MCS-51的I/0
第六章mcs-51单片机IO端口(1)
单片机I/O口的使用
对单片机的控制,其实就是对I/O口的控制,无论单片机 对外界进行何种控制,或接受外部的控制,都是通过I/O 口进行的。51单片机总共有P0、P1、P2、P3四个8位双 向输入输出端口,每个端口都有锁存器、输出驱动器和输 入缓冲器。4个I/O端口都能作输入输出口用,其中P0和 P2通常用于对外部存储器的访问。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
第六章mcs-51单片机IO端口(1)
2、P0作为地址/数据总线
当P0口作为地址/数据总线使用时,可以分为两种情况。一种情况 是从P0输出地址或数据,这时CPU发出的控制信号应为高电平1, 转换开关把反相器输出端与下拉FET接通,同时与门开锁。输出的 地址或数据信号即通过与门去驱动上拉FET,又通过反相器去驱动 下拉FET。另一种情况是从P0输入数据,这时信号仍应从输入缓冲 器进入内部总线。

第2章 MCS-51系列单片机的结构及原理

第2章 MCS-51系列单片机的结构及原理

2.3 引脚功能——封装形式
40P6-PDIP
单 片 机 技 术
2.3 引脚功能——引脚含义
P1. 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/ P3. 0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 VSS 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 24 22 21 VCC P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0
2mcs51系列单片机的内部总体结构88微处理器运算部件b数据存储器ramp0口p2口程序存储器特殊功特殊功能寄存器sfrromepromvccvss图21mcs51单片机的基本结构控制部件p1口p3口串行口定时计数器中断系统88xtal1xtal2psenaleeareset端口0驱动器端口2驱动器ram地址锁存器ram1288端口0锁存器端口2锁存器rom4k8b寄存器程序地址寄存器缓冲器寄存器vcc5vvss堆栈指针spacctmp2tmp1p00p07p20p27图22mcs51片内总体结构框图rstpc1寄存器pcdptr指针p10p17psw端口3锁存器端口1锁存器端口1驱动器端口3驱动器scontl0tmodth1iepconth0sbuftxrx中断串行口和定时器逻辑tcontl1iposcp30p37alepsenxtal2xtal1alu指令寄存器定时与控制指令译码器返回本节2

51单片机IO口应用详解

51单片机IO口应用详解

51单片机IO口应用详解MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图:这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。

P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

参见图2(8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。

由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。

第04讲:MCS-51单片机的并行IO口

第04讲:MCS-51单片机的并行IO口

a)P0. X 结构图
2)P2口(地址高八位)
不P0口类似,P2口除了作I/O口之外,还作为地址总 线的高8位地址输出端。在作为I/O口用时,“控制”端 为“0”,故多路转换器MUX接在锁存器的Q端,场效应 管叐锁存器的控制。在作为地址总线输出 时,“控制” 端为“1”,多路转换器MUX接在“地址”端,故场效应 管由“地址”端来控制,此时锁存器(P2的特殊功能寄 存器SFR)的内容丌发,在外部存储器读/写完毕时, P2口的地址输出的作用也结束,则“控制”端又发为 “0”,P2口继续按锁存器原来的状态输出。由亍P2口 在CPU对外部存储器读/写过程中,始终能输出地址信 号,所以P2的地址丌需要外部锁存器的锁存。
1)P0口(BUS,数据/地址时分复用)
P0口还起了数据总线和地址总线(低八位)的作用。在迚行正常的输 出(普通IO)时,“控制”端为“0”,多路转换器MUX接在锁存器的Q端。 此时上方的场效应管关断,下方的场效应管叐锁存器的控制,P0口具有 开漏输出,这时驱动外部电路时P0口需外加上拉电阻(上拉电阻的阻值 叏5.1K或者4.7K) 。 在CPU迚行外部存储器存/叏时,P0口起数据总线或地址总线的作用, “控制”端为“1”,多路转换器MUX接反相器的输出端,即相当亍接在 “地址/数据”端。当这个“地址/数据”为“1”时,上方的场效应管导通 而下主的场效应管关断,P0.X输出高电平,反之输出低电平。这时P0口 丌需外接上拉电阻,P0口的锁存器(P0的特殊功能寄存器SFR)必须写 入“1”,以便迚行外部存储器的读操作。
b)P2. X,每一根线都可以执行不口功 能无关的第二种I/O功能。由图2-5可以看出,输出驱动器叐控 亍锁存器的状态不第二输出功能的状态。 若要迚行第二功能使用时,锁存器必须先写入“1”,否则口 线将被拉为0。

MCS51单片机的IO接口部件

MCS51单片机的IO接口部件

第2章MCS51单片机的I/O接口部件单片机芯片内还有一项主要内容就是并行I/O口。

MCS-51共有四个8位的并行I/O口,分别记作P0、P1、P2、P3。

每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。

实际上它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。

在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。

MCS-51单片机的四个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点,以下分别介绍。

2.1 P0口P0口的口线逻辑电路如图2-1所示。

图2-1 P0口某位结构由图可见,电路中包含有1个数据输出锁存器、2个三态数据输入缓冲器、1个数据输出的驱动电路和1个输出控制电路。

当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。

由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。

考虑到P0口既可以作为通用的I/O口进行数据的输入输出,也可以作为单片机系统的地址/数据线使用。

为此在P0口的电路中有一个多路转接电路MUX。

在控制信号的作用下,多路转接电路可以分别接通锁存器输出或地址/数据线。

当作为通用的I/O口使用时,内部的控制信号为低电平,封锁与门将输出驱动电路的上拉场效应管(FET)截止,同时使多路转接电路MUX接通锁存器Q端的输出通路。

当P0口作为输出口使用时,内部的写脉冲加在D触发器的CP端,数据写入锁存器,并向端口引脚输出。

当P0口作为输入口使用时,应区分读引脚和读端口两种情况。

为此在口电路中有两个用于读入驱动的三态缓冲器。

所谓读引脚就是读芯片引脚的数据,这时使用下方的数据缓冲器,由“读引脚”信号把缓冲器打开,把端口引脚上的数据从缓冲器通过内部总线读进来。

使用传送指令(MOV)进行读口操作都是属于这种情况。

而读端口则是指通过上面的缓冲器读锁存器Q端的状态。

2 MCS-51系列单片机的结构和原理

2 MCS-51系列单片机的结构和原理

0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分

第1章MCS-51单片机结构及基本工作原理

第1章MCS-51单片机结构及基本工作原理
若按权展开为:
(123.456)10=123.546D =1×102+2×101+3×100+4×10-1+5×10-2+6×10-3
(2)二进制(Binary)
二进制的基数r=2,符号集为{0,1},其权为:…,22,21,20, 2-1,2-2,…, 例如:二进制数(1101.011)2按权展开为: (1101.011)2=1101.011B
整 八进制
00O 01O 02O 03O 04O 05O 06O 07O 10O 11O 12O 13O 14O 15O 16O 17O
二进制数
“四位合一位” “一位分四位”
十六进制数
图1-2 不同数制之间的相互转换
(1)二进制数和十进制数间的转换
1)二进制数转换成十进制数 二进制数转换成十进制数只要把要转换的数按权展开后相加即可。
例如: 11010.01B = 1×24+1×23+0×22+1×21+0×20+0×2-1+1×2-2 = 26.25D
1.1.1 单片机及其发展概况
1、单片机的发展
单片机的全称为单片微型计算机(Single Chip Microcomputer),它是将组成微型计算机的各个功能部件,如 中央处理器(CPU)、随机存储器(RAM)、只读存储器 (ROM)、基本出入/出接口(I/O接口)、定时器/计数器以及串 行通信接口等部件有机地结合在一块集成芯片中,构成一个完整 的微型计算机,因此单片机又可以成为微处理器(Microcontroller
十进制是人类最常用的数的制式,其基数r=10,逢十进位,
符号集为{0,1,2,3,4,5,6,7,8,9,0},其权为:…,

MCS-51单片机的基本结构与工作原理

MCS-51单片机的基本结构与工作原理
(T0)P34 _(_T_1_)P35 (W__R__)P36 (RD)P37 XTAL2 XTAL1
VSS
(a) 引脚排列
VCC
XTAL
P00(AD0)
P01(AD1) P02(AD2) P03(AD3) P04(AD4) P05(AD5) P06(AD6) P__0_7(AD7) EA /V_P_P____
D1H F1
D0H P
精选ppt
19
运算器
D7H D6H D5H D4H D3H D2H D1H D0H
CY
AC
F0
RS1
RS0
OV
F1
P
• CY(PSW. 7): 进位标志,在进行加或减运算时,如果操 作结果最高位有进位或借时,CY由硬件置“1”,否则清 “0”。
• AC(PSW.6): 辅助进位标志(又称半进位),在进行加 或减运算时,低四位数向高四位产生的进位或借位,将由
精选ppt
28
MCS-51单片机的引脚
精选ppt
29
MCS-51单片机的引脚
精选ppt
30
MCS-51单片机的引脚
精选ppt
31
第二章 MCS-51单片机的基本结构与工作原理
2.1 MCS-51单片机的总体结构 2.2 MCS-51单片机的CPU及其特点 2.3 MCS-51单片机的封装与引脚功能 2.4 MCS-51单片机的存储空间 2.5 MCS-51单片机辅助电路及CPU时序 2.6 MCS-51单片机主要硬件资源
• MCS-51系列又分为51和52两个子系列, 并以芯片型号的最末位数字作为标志。其中, 51子系列是基本型,而52子系列则属增强型。 52子系列功能增强的具体方面,从表1-1所列 内容中可以看出:

MCS-51单片机原理及接口技术

MCS-51单片机原理及接口技术

2 5 6 9 12 15 16 19
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
MCS-51
A 1 3 2 74LS32
RD WR PSEN ALE/P TXD RXD
74LS273引脚封装图 引脚封装图
MCS-51与74LS273的接口电路图 与 的接口电路图
ห้องสมุดไป่ตู้
4.3.1简单I/O接口芯片的扩展 4.3.1简单I/O接口芯片的扩展 简单I/O
简单的I/O口扩展通常是采用 电路锁存器、 简单的 口扩展通常是采用TTL或CMOS电路锁存器、三 口扩展通常是采用 或 电路锁存器 态门等作为扩展芯片( 态门等作为扩展芯片(74LS244、74LS245、74LS273、 、 、 、 74LS373、 74LS377等 ) , 通过P0口来实现扩展的一种 、 等 通过 口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。 方案。它具有电路简单、成本低、配置灵活的特点。 简单的I/O口扩展主要包括: 简单的 口扩展主要包括: 口扩展主要包括 缓冲器扩展输入口(三态门: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 、 等 锁存器扩展输出口(锁存器: 锁存器扩展输出口(锁存器: 74LS273、74LS373、 、 、 74LS377等) 等
4.3 输入 输出接口扩展 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 MCS-51系列单片机内部有4个双向的8位并行I/O端 系列单片机内部有 I/O P0、P1、P2和P3口 口:P0、P1、P2和P3口。 • 在实际的应用系统中,P0口分时地作为低8位地址 在实际的应用系统中,P0口分时地作为低 口分时地作为低8 线和数据线,P2口作为高 位地址线。这时,P0口 口作为高8 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O P2口无法再作通用I/O口 和部分或全部的P2口无法再作通用I/O口。 • P3口的一些口线首先要满足第二功能的要求。这 P3口的一些口线首先要满足第二功能的要求 口的一些口线首先要满足第二功能的要求。 时就需要进行单片机I/O口的扩展。 I/O口的扩展 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式: I/O扩展有以下两种形式 常用的I/O扩展有以下两种形式: 简单I/O I/O接口芯片的扩展 简单I/O接口芯片的扩展 可编程I/O接口电路的扩展 可编程I/O接口电路的扩展 I/O

MCS-51单片机的并行I-O

MCS-51单片机的并行I-O

内 部总 线 写 锁存 器
D
Q
P 3.X
锁 存器
CP Q
内 部上 拉 电 阻
P 3.X 引脚 &
读 引脚
第 二输 入 功 能
P3口的位结构
P3端口(P3.0-P3.7,10-17脚); P3端口是一个带内部上拉电阻的8位I/O端口,P3端口的每一位
可以驱动4个LS型TTL负载; P3端口除了做为一般I/O端口外,每个引脚还具有第二功能。
“读—修改—写”类指令的端口输出与P0的端口输出功能相同。 3.地址总线
CPU在执行读片外ROM、读/写片外RAM或I/O口指令时,单片机 内硬件自动将控制信号C=1,MUX开关接到地址线,地址信息经非门 和驱动管V输出。
1.4 P3口的结构和功能
1.P3口的结构
读 锁存 器
第 二输 出 功 能 VCC来自1.2 P1口的结构和功能
1.P1口的结构
读锁 存器
内部 总线 写锁 存器
D
Q
P 1.X
锁存 器
CP Q
VCC
内部 上拉电阻 P 1.X 引脚
读引 脚
P1口的位结构
1.3 P2口的结构和功能
1.P2口的结构
读锁存器
内部总线 写锁存器
DQ P 2.X 锁存器
CP Q
VCC
地址 控制 MUX
内部上拉电阻
CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总 线上,P0.x引脚的状态与地址/数据总线的地址信息相同。然后, CPU自动使模拟转换开关MUX拨向锁存器,并向P0口写入0FFH,同时 “读引脚”信号有效,数据经缓冲器读入内部总线。因此,可以认 为P0口作为地址/数据总线使用时是一个真正的双向口。

MCS-51单片机IO口详解

MCS-51单片机IO口详解

MCS-51单片机IO口详解单片机I O口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE 选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD 读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

Newbuff图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

MCS51P端口知识

MCS51P端口知识

MCS-51P端口知识1 引言MSC—51是70年代末的产品,目前出现了很多功能更强大的单片机,但在目前市场上的产品中MSC—51仍占单片机的多半产品,且MCS—51是其他单片机的基础。

本文将详细讨论MSC—51的并行接口,目的是为单片机的使用者提供更好的理论依据。

2 MSC—51的并行I/O端口2.1 I/O端口简介I/O端口又称为I/O接口或I/O通路,是MSC—51单片机对外部实现控制和信息交换的必经之路,是一个过渡的大规模集成电路,用于信息传递过程中的速度匹配和增强单片机的负载能力。

I/O 端口可以实现和不同外设的速度匹配,以提高CPU的工作效率,可以改变数据的传送方式,如:内部并行总线与外部设备串行数据传送的转换。

2.2 MSC—51各并行I/O的组成I/O端口分为串行口和并行口。

串行I/O端口一次只能传送一位二进制信息;并行I/O端口一次可传送一个字节的数据。

MSC—51单片机有四个并行端口,分别命名为P0、P1、P2、P3,每个端口都有八条端口线,用于传送数据或地址信息。

由于每个端口的结构各不相同,因此它们在功能和用途上差别颇大。

每个I/O端口都由一个八位数据锁存器和一个八位数据缓冲器组成,其中八位数据锁存器的端口与P0、P1、P2、P3同名,属于21个特殊功能寄存器中的4个,对应内部RAM地址分别为80H、90H、A0H、B0H。

需要输出数据时,8个数据锁存器用于对端口引脚上输入数据进行锁存。

需要输入数据时,8个数据缓冲器用于对端口引脚上输入数据进行缓冲。

另外访问并行I/O端口除了可以用字节地址访问外,还可以进行按位寻址。

3 P0综述3.1 P0口功能P0.7—P0.0为P0所用。

P0口的访问地址是80H,位地址范围是80H—87H。

由于P0口具有较大的负载能力,最多可推动8个TTL门,因此是真正的双向I/O口。

一般来说,P0口具有两种功能:第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU的输入/输出数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
下面,我们先就组成P0口的每个单元部份跟大家介绍一下:
下图就是由内部数据总线向P0口输出数据的流程图(红色箭头)。
内容来自单片机之家
P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程:
数据输入时(读P0口)有两种情况
1、读引脚
读芯片引脚上的数据,读引脚数时,读引脚缓冲器打开(即三态缓冲器的控制端要有效),通过内部数据总线输入,请看下图(红色简头)。
读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。下面是几条读--修改-写指令的例子。
ANL P0,#立即数
;P0→立即数P0
ORL P0,A
内容来自单片机之家
;P0→AP0
可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。
内容来自单片机之家
P0口又作为数据总线使用。在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读指令码(输入)。
INC P1
内容来自单片机之家
;P1+1→P1
DEC P3
;P3-1→P3
CPL P2
;P2→P2
这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。
输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。
与门、与非门:这两个单元电路的逻辑原理我们在第四课数字及常用逻辑电路时已做过介绍,不明白的同学请回到第四节去看看。
前面我们已将P0口的各单元部件进行了一个详细的讲解,下面我们就来研究一下P0口做为I/O口及地址/数据总线使用时的具体工作过程。
1、作为I/O端口使用时的工作原理
P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),看上图中的线线部份,多路开关的控制信号同时与与门的一个输入端是相接的,我们知道与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与让的输出是0,V1管就截止,在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。
P0端口是8031单片机的总线口,分时出现数据D7一D0、低8位地址A7一AO,以及三态,用来接口存储器、外部电路与外部设备。P0端口是使用最广泛的I/O端口。
2、作为地址/数据复用口使用时的工作原理
在访问外部存储器时P0口作为地址/数据复用口使用。
这时多路开关‘控制’信号为‘1’,‘与门’解锁,‘与门’输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。
2、读锁存器
通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态,请看下图(红色箭头):
在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。例如,当从内部总线输出低电平后,锁存器Q=0,Q非=1,场效应管T2开通,端口线呈低电平状态。此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q=1,Q非=0,场效应管T2截止。如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8051单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。
P0 端口 8 位中的一位结构图见下图: 图片1 由上图可见, P0 端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为 P0.X 引脚的图标,也就是说 P0.X 引脚可以是 P0.0 到 P0.7 的任何一位,即在 P0 口有 8
P0端口8位中的一位结构图见下图:
多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。
例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。请看下图(兰色字体为电平):
反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。请看下图(兰色字体为电平):
在取指令期间,“控制”信号为“0”,V1管截止,多路开关也跟着转向锁存器反相输出端Q非;CPU自动将0FFH(11111111,即向D锁存器写入一个高电平‘1’)写入P0口锁存器,使V2管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线。请看下图
如果该指令是输出数据,如MOVX @DPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为‘1’,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。
D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。
如果该指令是输入数据(读外部数据存储器或程序存储器),如MOVX A,@DPTR(将外部RAM某一存储单元内容通过P0口数据总线输入到累加器A中),则输入的数据仍通过读引脚三态缓冲器到内部总线,其过程类似于上图中的读取指令码流程图。
通过以上的分析可以看出,当P0作为地址/数据总线使用时,在读指令码或输入数据前,CPU自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。因此,不能再作为通用的I/O端口。大家以后在系统设计时务必注意,即程序中不能再含有以P0口作为操作数(包含源操作数和目的操作数)的指令
对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。
先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP 有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。
相关文档
最新文档