2.1 MCS-51单片机结构
2.1.1 MCS-51单片机内部结构
80C51单片机内部资源主要包括:
CPU(Central Processing Unit )
2.1.2 MCS-51引脚及功能
封装
80C51单片机40个引脚
2.2 MCS-51存储结构
2.2.1 存储器划分方法
计算机存储器地址空间空间
80C51哈佛结构
2.2.2 程序存储器(ROM)
2.2.3 数据存储器(RAM)
(1)片内256B 的RAM
(2)片外64KB 的RAM
2.3 单片机复位、时钟和时序
2.3.1 复位和复位电路 (条件、状态、原理、图)
2.3.2 时钟电路(典型的电路和频率值)
2.3.3 单片机时序 (时序图,四个周期的概念与关系)
1. 时序的概念
2. 单片机时序
2.4 并行I/O口
前言
作用(4个)
2.4.1 P1口
P1口介绍
P1.n的通用I/O口三种工作方式:
P1口驱动能力
P1口的要点
2.4.2 P3口
结构
P3.n通用I/O口工作方式
P三口的第二功能模式
P3口第二功能定义
编辑
P3口驱动能力(同P1口)
P3口的要点
2.4.3 P0口
结构
作用
漏极开路与上拉电阻的概念编辑
P0.n的通用I/O口工作方式
P0.n的地址/数据分时复用方式
P0口的驱动能力
P0口的要点
2.4.4 P2口
结构编辑
P2.n的通用IO口方式
P2.n的地址输出口方式
P2口的驱动能力
P2口的要点
总结
本章小结
2.1 MCS-51单片机的结构
MCS-51系列单片机分为51和52两个系列,但是考虑到产品的代表性,以后都将以80C51为例进行介绍。
2.1.1 MCS-51单片机的内部结构
MSC-51单片机的内部结构包含了作为微型计算机所必须的,如CPU、RAM、ROM、定时/计数器和可编程并行I/O口、可编程串行口。这些功能部件通常都挂靠在单片机内部总线上,通过内部总线传送数据信息和控制信息。
- ——,可以见“”,通常是单核的,它会使用8位来存储数据,但是会用16位(两个8位)来存储地址
- ——可以见“”
- ——可以见“”,4KB的空间可以用十六进制0~0FFFH来表示,这只是片内ROM,空间不够可以在外面添加
- ——可以见“”,256字节的空间可以用十六进制0~0FFH来表示,这只是片内RAM,空间不够可以在外面添加;这个256字节的片内RAM分为两个部分:前128B和后128B,其中包含着特殊功能存储器SFR
- ——可以见“”,分为定时器和计数器,其中定时器:多为12MHz,也可以为6MHz、24MHz等,甚至可以为11.0592MHz;计数器:通常是受时沿影响;52系列的还有T2
- ——64KB的空间可以用十六进制0~0FFFFH来表示,是使用16位来存储地址
- ——可以见“”,P0~P3
- ——可以见“”
- ——可以见“”,有2个外中断和3个内中断,其中外部中断可以通过按键来进行,内部中断可以通过串行口和2个定时/计数器来进行
其中,教材结构可以见我写的专栏中的“”。
SCM——将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统(单片机诞生后大体经历了SCM、MCU和SoC三大阶段)
SCM = CPU+OSC+ROM+RAM+T/C+INT+ BEC+I/O+UART
CPU(Central Processing Unit )
单片机内部资源中最核心的部分是CPU,它是单片机的大脑和心脏。是产生各种控制信号,控制存储器、输入/输出端口的数据传送、数据运算、逻辑运算等处理。·
CPU = 控制器 + 运算器
控制器的:对取自程序存储器的指令进行译码,在规定的时刻发出各种操作所需的控制信号,完成指令所规定的信号。 控制器的:统一指挥和控制各单元协调工作 控制器的:从ROM中取出指令→译码→执行指令 控制器的:程序计数器PC、数据指针寄存器DPTR、指令寄存器IR、指令译码器ID(主要讲PC和DPTR) (1)(Program Counter——PC)(不属于特殊功能寄存器SFR)
指向ROM存储单元的地址指针(引导程序运行)
16位寄存器(寄存器:放置于CPU内的存储器)→可寻址范围2^16(= 65536B= 64KB) 永远存放着下一条指令的首地址,即PC内容决定着程序的运行轨迹 当CPU要取指令时,PC的内容就会出现在地址总线上;取出指令后,PC的内容可自动加“1” ,以保证程序按顺序执行(即没有分支,不是循环,不是跳转) 具有可被指令修改(如汇编语言:MOV A,@A+PC)功能(不能读写)→跳转运行程序功能
复位时,PC初值=0,即0000H →复位后程序从0000H地址处的指令开始运行
PC不属于特殊功能寄存器SFR(可以见之后的“”中的“”) PC中的计数值可被编程指令修改 PC不可寻址RAM,只可以寻址ROM
(2)(Data Pointer ——DPTR)
指向ROM或RAM存储单元的地址指针(引导数据传送)
16位的专用地址指针寄存器,可寻址范围2^16(64KB) 可拆为2个8位的独立寄存器DPL(DPTR的低8位)和DPH(DPTR的高8位) DPTR既可以作为一个16位寄存器来使用,但也可以作为两个独立的8位寄存器来使用。 具有可被指令修改功能→可变更数据地址
方法1(C语言):DPH=0x20; DPL=0x00;
方法2(汇编语言):MOV DPTR, #2000H
DPTR可以用来存放片内ROM的地址,也可以用来存放片外RAM和片外ROM的地址(即不能存放片内RAM的地址) 。
运算器的:对数据进行算术运算和逻辑操作 运算器的:计算缓存器内容→结果暂存→修改运行标志 运算器的:累加器ACC、算术逻辑部件ALU、程序状态字寄存器PSW等。
为了提高数据处理速度,片内还增加了一个通用寄存器B和一些专用寄存器与位处理逻辑电路。
(1)(Accumulator——A或ACC)
存放操作数或中间运算结果的寄存器
8位寄存器,简称为A,通过暂存器与ALU相连 其值可由指令修改 是最繁忙的寄存器
(2)(Program State Word——) ——存放程序运行过程中的各种状态信息的寄存器
存放程序运行过程中的的寄存器寄存器,各位都具有特殊含义 状态值可由或由
进位标志 在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由置“1”,否则清“0”。:1、可根据CY;2、可作为中的用。
位操作:是程序设计中对位模式. 在许多古老的微处理器 上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。
包括取反(NOT)、按位或(OR)、按位异或(XOR)、按位与(AND)等。
辅助进位标志 在进行时,如果操作结果的低四位数向高四位产生进位或借位时,将由硬件置“1”,否则清“0”。:1、根据AC判断加减运算时有无半进位或半借位;2、在中要用到AC标志
和 ——用户标志位 用途: 由用户置位或复位,可做为
简单来讲就是:复位就是清0,置位就是置1。 触发器可以理解为一个执行机构(有两个状态,执行或不执行),复位的时候不执行,置位的时候执行。 RS触发器它的输出在复位的时候为0,置位的时候输出为1,这个RS触发器有两个控制输出状态的引脚R(复位)跟S(置位),R脚为1时,RS触发器强制输出0(在满足输入信号符合高低电平的要求下,不管S脚什么状态),如果R脚为0时,S脚为1,RS触发器被触发,输出1,触发后,只要R脚一直是0,不管S脚怎样变化,RS触发器输出都不变,为1。(与数字模拟电路有关) 置位需要强制性给定一个输入。而复位却可以在循环程序里使用。举个例子。你可以把输入全置1。但复位却可以无限次的把输入置1。只要不跳出循环,当预定义的置位值和复位置等价,那复位可以看成无限次的自动置位。
和(——工作寄存器组指针:用于
——溢出标志 在或中(没有“无符号数的加减运算”)若有异常结果,OV硬件置1,否则硬件清0。:,
简便方法:OV=C6Y异或C7Y
——奇偶标志位 该位始终跟踪累加器中含“1”个数的奇偶性如果A中有奇数个“1”,则P置“1”,否则置“0”,其实在两数相加时,也是求PSW.7-PSW.1的奇偶个数 若A =1001 1111,则P=0 若A =1100 0001,则P=1:串行通讯中的数据校验,。
2.1.2 MCS-51引脚及功能
封装
51系列单片机一般采用HMOS制作工艺的的(——Dual In-line Package)封装结构
除DIP封装外, 51单片机还采用的( ——Quad Flat Package) 封装方式(4只引脚无用)。
80C51单片机的40只引脚
功能划分 (共4只) 电源引脚(CPU必须,有源器件) VCC (40脚):+5V电源引脚(直流电,测示波器) VSS (20脚): 接地引脚
晶振引脚 XTAL1 (19脚);外接晶振引脚(内置放大器输入端) XTAL2 (18脚):外接晶振引脚(内置放大器输出端) 是CPU所必须的,没有正负极区分
晶振分为有源晶振和无源晶振,有无正负极也是有区别的:
1、无源晶振只有两个引脚,没有所谓的正负极。
2、有源晶振需要接电源才能工作,一般有四个引脚,其中有两个电源输入引脚,有正负极之分。
晶体振荡器是指从一块石英晶体上按一定方位角切下薄片,简称为晶片,石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装。
应用:
1、通用晶体振荡器,用于各种电路中,产生振荡频率;
2、时钟脉冲用石英晶体谐振器,与其它元件配合产生标准脉冲信号,广泛用于数字电路中;
3、微处理器用石英晶体谐振器;
4、CTVVTR用石英晶体谐振器;
5、钟表用石英晶体振荡器。
(共4只) (9):复位/ 备用电源引脚 复位端RST:电源上机后,其内部各寄存器都处于随机状态。若在该引脚上输入满足复位时间要求(系统时钟振荡周期建立时间再加2个机器周期时间)的高电平,将使单片机复位。(可以见“) 备用电源端V PD:在主电源掉电期间,可利用该引脚处外接的+5V备用电源为单片机片内RAM供电,保证片内RAM信息不丢失,以便电压恢复正常后单片机能正常工作。
(30):地址锁存使能输出/ 编程脉冲输入 地址锁存使能输出ALE(该引脚为高电平时起作用) 当单片机访问外部存储器时,外部存储器的16位地址信号由P0口输出低8位,P2口输出高8位,ALE可用作低8位地址锁存控制信号。 当不用作外部存储器地址锁存控制信号时,该引脚仍以时钟脉冲频率的1/6(即ALE在)固定输出正脉冲。 编程脉冲输入端PROG(该引脚为低电平时起作用):对含有EPROM的单片机(如87C51型),在进行片内EPROM编程时需要由此输入编程脉冲。
EPROM由以色列工程师Dov Frohman发明,是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性)。它是一组浮栅晶体管,被一个提供比电子电路中常用电压更高电压的电子器件分别编程。一旦编程完成后,EPROM只能用强紫外线照射来擦除。通过封装顶部能看见硅片的透明窗口,很容易识别EPROM,这个窗口同时用来进行紫外线擦除。可以将EPROM的玻璃窗对准阳光直射一段时间就可以擦除。
PSEN (29):输出访问外部ROM读选通信号
EA/ VPP (31):外部ROM允许访问/ 编程电源输入 外部ROM允许访问EA:(可以见“2.2.2 程序存储器”)· 低电平时,选用片外程序存储器; 高电平或悬空时选用片内程序存储器。
(共32只) P0.0~P0.7(39~32脚)——P0口:通用I/O口,外扩存储器作为八位数据线和低八位地址线。 P1.0~P1.7(1~8脚)——P1口:通用I/O口 P2.0~P2.7(21~28脚)——P2口:通用I/O口,外扩存储器作为高八位地址线。 P3.0~P3.7(10~17脚)——P3口:通用I/O口,第二功能
当单片机访问外部存储器时,外部存储器的16位地址信号由P0口输出低8位,P2口输出高8位,ALE可用作低8位地址锁存控制信号。
8只/组×4 组= 32 只引脚 P0口~P3口是单片机对外联络的重要通道
P0~P3口都可以作为通用输入/输出(I/O)口使用。此外,P0和P2还具有单片机地址/数据总线口作用,P3具有第二功能口作用。
2.2 MCS-51的存储器结构
2.2.1 存储器划分方法
计算机存储器地址空间
两种结构形式:和。
普林斯顿结构,也称冯·洛伊曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构,即(统一编址)。由于指令和数据具有相同的宽度,CPU可以使用访问ROM和RAM。 哈佛结构,是一种将程序指令存储器和数据存储器分开设置的存储器结构,即ROM和RAM位于不同的存储空间。(独立编址),CPU需采用不同的访问指令加以区别。哈佛结构有利于减轻程序运行时的访存瓶颈。
80C51
物理地址 51单片机采用(存在地址重叠),共有:片内RAM(256B)、片内ROM(4KB)、片外RAM(64KB)、片外ROM(64KB)
逻辑地址 51单片机的4个物理存储空间仅相当于。其中,片内、片外程序存储器ROM是统一编址的(即结构)。
外部ROM允许访问EA:(可以见“”)· 低电平时,选用片外程序存储器(只使用64KB的片外ROM存储器); 高电平或悬空时选用片内程序存储器(即先使用4KB的片内ROM存储器,再使用4KB以后的片外ROM存储器)。
编程指令 为区别不同存储空间的存储单元,需要使用不同的编程指令。 指令用于访问片内数据存储器 指令用于访问片内、片外程序存储器 指令用于访问片外数据存储器
补充: 例6264:62——RAM,64——8KB*8(片外RAM) 例2764:27——ROM,64——8KB*8(片外ROM)
2.2.2 程序存储器(ROM)
:存放程序、表格或常数,具有非易失性:片内ROM与片外ROM可有2种组合方案 方案1 : 4 KB以内的地址在片内ROM,大于4KB的地址在片外ROM中(图中折线),两者共同构成64KB空间;()(此时不访问片外ROM的前4KB) 方案2 :片内ROM被禁用,全部64KB地址都在片外ROM中(图中直线)。()
2种组合方案由EA引脚的电平状态决定:。
EA引脚接电平时,可同时使用2种ROM (片外ROM可以缺省); EA引脚接电平时,仅使用片外ROM(片外ROM不可缺省) 。
由于片内、外ROM是统一编址的(普林斯顿结构),故只能算作。(可以见的“”中的“”) 如果用户使用80C51型单片机且程序需长度不超过4KB,则无须拓展片外ROM,仅使用片内ROM即可,但必须使
ROM有6个特殊存储器单元——用于程序引导 专为复位和中断功能而设计的 0000H是程序的首地址(可以见“”),单片机复位后程序将从这个单元开始运行,一般在该单元中存放一条跳转指令跳转至用户设计的主程序
中断程序执行过程(具体见“”):某一突发事件→相应中断入口地址自动装入PC→引导两次跳转→执行相应中断服务程序 有中断需要时,主程序一般应安排在地址以后,因为0000H-0030H中的部分地址(如上图)被中断源占了
2.2.3 数据存储器(RAM)
:存放运算中间结果、标志位、待调试的程序 数据存储器由RAM构成,一旦掉电,其数据将丢失:8位 数据存储器在物理上和逻辑上都占有两个地址空间:
(1)片内256B 的RAM
数量:128B+128B(80C51)
为普通RAM区
①工作寄存器区(00H~1FH)
区共有32个存储单元;32个单元分为4组(),每个单元有1个寄存器名称() 每个单元都有1个8位地址(),但是不会进行位寻址 CPU复位后默认值为0,即默认第0组为当前工作寄存器组。 CPU只能选一组为,当前工作寄存器组取决于PSW的设置
②可位寻址区(20H~2FH) 共有16个存储单元; 每个单元都有一个 每个单元都有8个不同的 可以两种方式存取数据 区共有位地址,编址为00H-7FH
③用户RAM区(又名“堆栈与数据缓冲区”)(30H~7FH) 区共有存储单元; 每个单元都有一个,但没有位地址,也没有寄存器名。 此区可作使用——用户RAM区
堆栈区可以安排在,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置(即用户RAM区)。系统复位后,(具体内容可以见本章的“”),在程序设计中,常用指令对SP的复位值进行修改,将堆栈开辟在用户RAM区(即30H-7FH)。
①区和③区进行数据存取操作,②区则可按两种方式存取操作。
为特殊功能寄存器区 每个存储单元都有,但只离散地分布有其中可以使用,作为特殊功能寄存器SFR,并有相应寄存器名称。 虽然其中的空闲单元占了很大比例,但对它们进行读/写操作是无意义的 其中字节地址的特殊功能寄存器还具有,可进行
SFR的名称及其分布
为布尔型, R 和 K 寄存器为数字数据, S 寄存器是可变长度字符串数据位置。 当 R 寄存器作为字符、字节、字、短整型、BCD、长整型、双字型、双长整型、四字型或 LBCD 引用时,它将通过每次读取时递增 1 的方式来模拟不断更改的数据。
SFR承担着51单片机内部资源的管理工作
(2)片外64KB 的RAM
2.3 单片机的复位、时钟与时序
2.3.1 复位与复位电路 (条件、状态、原理、图示)
复位——使单片机恢复原始默认状态的操作(通常用于开机时以及死机时)。 复位时片内各寄存器的初始值
: 说法一:在RST(复位端)引脚端出现复位时间要求的状态,该时间等于(一般不小于10ms) 说法二:在RST/VPD引脚端出现≥10ms时间的高电平(≥3V)状态
复位方式(仿真多采用上电复位,实际多采用复合复位)
2.3.2 时钟电路(电路、频率典型取值)
单片机执行指令的过程,能够可分为、和三个步骤 单片机需要统一的时钟控制,其时钟系统可有两种方案:内部OSC + ,或内部OSC +
内部时钟方式 利用单片机芯片内部的振荡电路实现的,此时需通过单片机的XTAL1和XTAL2引脚外接定时元件。 定时元件一般用晶体振荡器和电容组成并联谐振回路。 电容C1和C2一般取30pF左右,主要作用是帮助振荡器起振,。 晶振的取值:1.2M-24M C1、C2的取值:20PF-100PF,一般取30pF左右 C1、C2的位置:尽量靠近XTAL1,XTAL2,减少寄生电容 晶体振荡频率越高,则系统的时钟频率也越高,单片机运行速度也就越快、 MCS-51的时钟频率一般为,也存在11.0592MHz(用于串行通信)。
外部时钟方式 在由多片单片机组成的系统中,为使各单片机之间的时钟信号严格同步,应当采用公用外部脉冲信号作为各单片机振荡脉冲。 此时,外部脉冲信号要经XTAL2引脚注入。
2.3.3 单片机时序 (时序图,四个周期的概念与关系)
1. 时序的概念
时序是按照时间顺序显示的对象(或引脚、事件、信息)的序列关系。 时序可以用状态方程、状态图、状态表和时序图4种方法表示,其中最为常用。 时序图亦称为波形图或序列图,表示不同对象的,表示(从左往右为时间正向轴,即时间在增长),通常坐标轴可省略。
芯片LCD1602的时序图
(1) 最左边是引脚的标识,表示该图反映了RS(命令)、R/W(读写)、E(使能端)、D0~D7(数据端)四类引脚的序列关系。 (2) 交叉线部分表示电平的变化,如高电平和低电平。 (3) 封闭菱形部分表示数据有效范围(偶尔使用文字Valid Data)。 (4) 水平方向的尺寸线表示持续时间的长度。
RS和R/W端首先变为低电平; 随后D0~D7端出现有效数据; R/W低电平tsp1之后,E端出现宽度为tpm的正脉冲; E脉冲结束并延时tHD1后,RS和R/W端恢复高电平; E脉冲结束并延时tHD2后,D0~D7端的本次数据结束; 随后D0~D7端出现新的数据,但下次E脉冲应在tc时间后才能出现。 根据这些信息便可以进行相应的软件编程了。
时序与时钟的关系——时序要受时钟节拍的制约
: 时钟周期(或节拍)P、状态周期S、机器周期、指令周期 时钟周期(或振荡周期或节拍)P:晶振或外加振荡源的振荡周期称为时钟周期,又称为节拍,用P表示。时钟周期是单片机中最小的时序单位,晶振频率的倒数(/1fosc) 状态周期S:振荡脉冲二分频,1个状态周期等于2个时钟周期,即由节拍1和节拍2组成,用S表示。 机器周期:CPU完成一种基本操作所需要的时间。1个机器周期等于6个状态周期(或12个节拍)组成。 指令周期:CPU取出一条指令至该指令执行完(执行一条汇编语言指令)所需要的时间。1个指令周期由1~4个机器周期组成(依具体指令而定),指令周期是MCS-51单片机中最大的时序单位。
2. 单片机时序
单片机时序——CPU在执行指令时所需控制信号的时间顺序。 1、用于片内各功能部件的逻辑控制(不作介绍) 2、用于片外RAM访问或总线方式控制(内容在“”,大家可以在“单片机_介绍”中下载课件自己看,这里及以后我不做介绍)
单片机常用时序逻辑元件——D触发器(或边沿D触发器)(与数字电子技术有关) 正边沿D触发器
正边沿D触发器特性:只在时钟脉冲CLK上升沿到来的时刻,才采样D端的输入信号,并据此立即改变Q和/Q端的输出状态。而在其它时刻,D与Q是信号隔离的。
负边沿D触发器
负边沿D触发器工作特性:只在时钟脉冲CLK下降沿到来的时刻,才采样D端的输入信号,并据此立即改变Q和/Q端的输出状态。而在其它时刻,D与Q是信号隔离的。
D触发器的这一特性被广泛用于数字信号的。
2.4 并行I/O口
前言
51单片机有32只I/O引脚,分属于4个端口(P0~P3)。
可作为并行I/O输入通道(例如,按键/开关连接通道)——时钟电路、EA、按钮
可作为并行I/O输出通道(例如,数码管显示器连接通道)——时钟电路、EA、排阻、共阴极数码管
可作为外部设备的连接通道(例如,存储器扩展通道)——总线
可作为串行通信通道(例如,双机通讯的连接通道)
由于工作任务不同, 4个端口的。但每个端口都包含。对并行I/O口的控制是通过对的控制实现的。 了解4类端口的内部结构对于正确使用这些I/O端口非常重要。 以下按照先易后难的原则进行学习,即P1→P3→P0→P2
2.4.1 P1口
P1口介绍
P1口包含P1.0~P1.7共8个相同结构的电路
P1.n = 1个锁存器 + 1个场效应管驱动器V + 2个三态门缓冲器 P1.0~P1.7中的8个锁存器共同组成P1特殊功能寄存器(字节地址为) 场效应管V与上拉电阻R组成输出驱动器,以增大P1口带负载能力 三态门1和2在输入和输出时作为缓冲器使用
P1.n的通用I/O口三种工作方式:
单片机执行向P1口写数据指令时,如 P1=0x12; 时,P1口工作于。
当单片机执行从P1口读数据并存到变量val指令时,如val=P1;,P1口工作于。
为避免这一错误出现,只要在读引脚前先执行一条写1指令强迫V截止,引脚P1.n电平便不会再读错了,即读入内部总线的值与引脚P1.n保持一致。可见,P1口作为输入口是有条件的,。而作为输出口是无条件的,因此,P1口被称为。
()P1作为输入口是有条件的,锁存器原来寄存的数据为1
当单片机执行“读-改-写”类指令时,如P1++;,P1口工作于。
此时在“读锁存器”控制下,Q端电平经过三态门2读入内部总线→在运算器中进行+1运算→结果重新写到Q端(同时也输出到P1.n)。可见,读锁存器与读引脚的效果是不同的,读锁存器是为了获得前次的锁存值,而读引脚则是为了获得引脚上的当前值。
P1口驱动能力
P1口的要点
1、 P1口具有通用I/O口方式,可实现、和三种功能; 2、 P1口为,作为通用输入口时应,作为通用输出口时是无条件的。
2.4.2 P3口
P3.n与P1.n 的差别:第二功能控制单元→双功能
结构
P3.0~P3.7中的8个锁存器构成了P3口锁存器(即特殊功能寄存器P3)(字节地址为) 与P1口相比,P3口结构中多了与非门B和缓冲器T两个原件
P3.n通用I/O口工作方式
P3口的第二功能方式
P3口第二功能定义
P3口驱动能力(同P1口)
P3口的要点
1、 P3口具有通用I/O口方式,可实现输出、读引脚(输入)和读锁存器三种功能; 2、 P3口为准双向通用口,作为通用输入口时应先使P3.n→1,作为通用输出口时应先使第二输出端→1 ; 3、 P3口具有第二功能方式,可实现第二输出和第二输入两种功能。
2.4.3 P0口
P0.n与P1.n 差别:→总线功能
结构
P0.0~P0.7中的8个锁存器构成了口特殊功能寄存器(字节地址为) P0口的由上拉场效应管V2和驱动场效应管V1组成 包括1个与门A、1个非门X和一个多路开关MUX 其余组成与P1口相同
作用
P0口即可以作为通用I/O口进行数据的输入和输出,也可以作为单片机系统的地址/数据线使用 在CPU控制信号的作用下,多路转接电路MUX可以分别接通锁存器输出或地址/数据输出
漏极开路与上拉电阻的概念
P0.n的通用I/O口工作方式
P0.n的地址/数据分时复用方式
地址/数据输出的条件:控制端→1 数据输入时,CPU自动使Q端→1,控制端→0,故分时复用方式为无条件的 地址/数据输出时V1和V2交替导通,
P0口的驱动能力
P0口的输出级能以吸收(不能输出)电流的方式驱动8个LS TTL负载,即灌电流不大于800uA(没有输入)。
P0口的要点
1、P0口具有通用I/O口方式,可实现三种功能; 2、P0口为,作为通用输入口时应先使P0.n→1,作为通用输出口时应先使第二输出端→1 ; 3、作为时,需要; 4、P0口具有方式,可实现地址/数据输出、数据输入两种功能(地址不能输入); 5、时; 6、时。