首页 第2章89C51单片机硬件结构和原理_李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件

第2章89C51单片机硬件结构和原理_李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件

举报
开通vip

第2章89C51单片机硬件结构和原理_李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件null第2章 89C51单片机的结构和原理第2章 89C51单片机的结构和原理§2.1 89C51单片机芯片内部结构及特点§2.2 89C51单片机引脚及其功能§2.3 89C51单片机存储器配置§2.4 时钟电路及89C51CPU时序§2.5 复位操作§2.6 89C51单片机的低功耗工作方式返回§2.7 输出/输入端口结构§2.1 89C51单片机芯片内部结构及特点§2.1 89C51单片机芯片内部结构及特点§2.1.1 89C51单片机的基本组成§2.1.2 89C51单片机芯片内部结构返回§2.1....

第2章89C51单片机硬件结构和原理_李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件
null第2章 89C51单片机的结构和原理第2章 89C51单片机的结构和原理§2.1 89C51单片机芯片内部结构及特点§2.2 89C51单片机引脚及其功能§2.3 89C51单片机存储器配置§2.4 时钟电路及89C51CPU时序§2.5 复位操作§2.6 89C51单片机的低功耗工作方式返回§2.7 输出/输入端口结构§2.1 89C51单片机芯片内部结构及特点§2.1 89C51单片机芯片内部结构及特点§2.1.1 89C51单片机的基本组成§2.1.2 89C51单片机芯片内部结构返回§2.1.1 89C51单片机的基本组成§2.1.1 89C51单片机的基本组成一、组成二、89C51系列单片机的性能返回一、组成一、组成89C51单片机结构框图 如 图2-1所示 返回89C51单片机结构框图89C51单片机结构框图89C51 CPU振荡器和时序 OSC64KB 总线 扩展控制器数据存储器 256B RAM/SFR2×16位 定时器/计数器可编程I/O程序存储器 4KB FLASH ROM可编程全双工 串行口外中断内中断控制并行口串行通信外部时钟源外部事件计数返回null一、组成1、一个8位 的微处理器CPU。返回用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。2、片内数据存储器(RAM128B/256B): 用以存放程序、一些原始数据和表格。3、片内4kB程序存储器Flash ROM(4KB):4、四个8位并行I/O(输入/输出)接口 P0~P3:每个口可以用作输入,也可以用作输出。一、组成一、组成返回 每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。 5、两个或三个定时/计数器: 可实现单片机与单片机或其它微机之间串行通信。6、一个全双工UART的串行I/O口: 但需外接晶振和电容。7、片内振荡器和时钟产生电路:8、五个中断源的中断控制系统。9、具有节电工作方式: 休闲方式及掉电方式。二、89C51系列单片机的性能二、89C51系列单片机的性能 89C51单片机与8051相比,具有节电工作方式,即休闲方式及掉电方式。 以上各个部分通过片内8位数据总线(DBUS)相连接。 另外89C51是用静态逻辑来 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的,其工作频率可下降到0 Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。此时的电流可降到大约为正常工作方式的15%。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。这种方式下的电流可降到15 μA以下,最小可降到06 μA。 89C51单片机还有一种低电压的型号,即89LV51,除了电压范围有区别之外,其余特性与89C51完全一致。 89C51/LV51是一种低功耗/低电压、高性能的8位单片机。它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此89C51/LV51是一种功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。 返回§2.1.2 89C51单片机芯片内部结构§2.1.2 89C51单片机芯片内部结构一、结构图二、结构组成返回一、结构图一、结构图由 中央处理单元(CPU)、存储器(ROM及RAM)和I/O接口组成。 89C51单片机内部结构如 图2-2所示。返回nullP0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器 缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制 指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSEN ALE EA RESET89C51单片机 内部结构图返回运算器控制器存储器I/O接口nullP0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器 缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制 指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSEN ALE EA RESET89C51单片机 内部结构图返回运算器控制器存储器I/O接口二、结构组成二、结构组成(一)、中央处理单元(CPU)(二)、存储器(三)、I/O接口返回1、中央处理单元(89C51CPU)1、中央处理单元(89C51CPU)1)运算器返回2)控制器1)运算器1)运算器 (1)8位的ALU:返回(2)8位累加器ACC(A):(3)8位程序状态寄存器PSW:(4)8位寄存器B:(5)布尔处理器:(6)2个8位暂存器:1)运算器1)运算器可对4位、8位、16位数据进行操作。返回(1)8位的ALU:1)运算器1)运算器(2)8位累加器ACC(A): 它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。返回1)运算器1)运算器指示指令执行后的状态信息供程序查询和判别用。 (3)8位程序状态寄存器PSW:返回1)运算器1)运算器(4)8位寄存器B: 在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。返回1)运算器1)运算器(5)布尔处理器:专门用于处理位操作的,以PSW中的C为其累加器。 返回1)运算器1)运算器(6)2个8位暂存器: ALU的两个入口处。返回2)控制器2)控制器(1)程序计数器PC(16位)(2)指令寄存器IR及指令译码器ID(3)振荡器和定时电路返回(1)程序计数器PC(16位)(1)程序计数器PC(16位)由两个8位计数器PCH、PCL组成。 PC是程序的字节地址计数器,PC内容为将要执行的指令地址。 改变PC内容,改变执行的流向。 PC可对64KB的ROM直接寻址,也可对89C51片内RAM寻址。 返回(2)指令寄存器IR及指令译码器ID(2)指令寄存器IR及指令译码器ID由PC中的内容指定ROM地址 取出来的指令经IR送至ID 由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。返回(3)振荡器和定时电路(3)振荡器和定时电路89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz~12MHz。该信号作为89C51工作的基本节拍即时间的最小单位。 返回2、存储器2、存储器1)程序存储器(ROM)2)数据存储器(RAM)返回1)程序存储器(ROM)1)程序存储器(ROM)89C51片内为4KB Flash ROM。 地址从0000H开始。 用于存放程序和表格常数。返回2)数据存储器(RAM)2)数据存储器(RAM)89C51RAM均为128B,地址为00H~7FH。 用于存放运算的中间结果、数据暂存以及数据缓冲等。 这128B的RAM中有32个字节单元可指定为工作寄存器。 片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80H~FFH。后面详细介绍。返回3、I/O接口3、I/O接口89C51有四个8位并行I/O接口P0~P3。 它们都是双向端口,每个端口各有8条I/O线。 P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。返回2.2 89C51单片机引脚及其功能2.2 89C51单片机引脚及其功能§2.2.1 89C51单片机引脚§2.2.2 89C51单片机引脚功能返回§2.2.1 89C51单片机引脚§2.2.1 89C51单片机引脚图2-3是 89C51/LV51的引脚结构图,有双列直插封装(DIP)方式和方形封装方式。返回null图2-3 89C51/LV51的引脚结构 §2.2.2 89C51单片机引脚功能§2.2.2 89C51单片机引脚功能一、电源引脚:Vcc和Vss 二、时钟电路引脚:XTAL1和XTAL2 三、控制信号引脚RST、ALE、PSEN和EA 四、I/O端口P0、P1、P2和P3返回一、电源引脚:Vcc和Vss一、电源引脚:Vcc和Vss 1.Vcc(40脚):电源端,为+5V。 2.Vss(20脚):接地端。 返回二、时钟电路引脚:XTAL1和XTAL2二、时钟电路引脚:XTAL1和XTAL2XTAL2(18脚):接外部晶体和微调电容的一端;在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。89C51正常工作时,该引脚应有脉冲信号输出。二、时钟电路引脚:XTAL1和XTAL2二、时钟电路引脚:XTAL1和XTAL2XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚接地。返回 三、控制信号引脚: RST、ALE、PSEN和EA 三、控制信号引脚: RST、ALE、PSEN和EARST/VPD(9脚): RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。 三、控制信号引脚: RST、ALE、PSEN和EA 三、控制信号引脚: RST、ALE、PSEN和EARST/VPD(9脚): VPD :RST引脚的第二功能,备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。三、控制信号引脚: RST、ALE、PSEN和EA三、控制信号引脚: RST、ALE、PSEN和EAALE/PROG(30脚): ALE:地址锁存允许信号端。正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。它的负载能力为8个LS型TTL负载。三、控制信号引脚: RST、ALE、PSEN和EA三、控制信号引脚: RST、ALE、PSEN和EAALE/PROG(30脚): PROG:是对片内带有4KB Flash ROM的89C51编程写入时的编程脉冲输入端。 三、控制信号引脚: RST、ALE、PSEN和EA三、控制信号引脚: RST、ALE、PSEN和EAPSEN(29脚): 程序存储器允许信号输出端。 在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM 的OE端。 它的负载能力为8个LS型TTL负载。 三、控制信号引脚: RST、ALE、PSEN和EA三、控制信号引脚: RST、ALE、PSEN和EAEA/Vpp(31脚): EA: 外部程序存储器地址允许输入端。 当该引脚接高电平时,CPU访问片内ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。 当该引脚接低电平时,CPU只访问片外ROM并执行外部程序存储器中的程序。三、控制信号引脚: RST、ALE、PSEN和EA三、控制信号引脚: RST、ALE、PSEN和EAEA/Vpp(31脚): Vpp:对89C51片内 Flash ROM固化编程时,编程电压输入端(12-21V)。返回四、I/O端口P0、P1、P2和P3四、I/O端口P0、P1、P2和P31、准双向 2、P0口 3、P1口 4、P2口 5、P3口返回1、准双向1、准双向当I/O口作为输入时,应先向此口锁存器写入全1, 此时该口引脚浮空,可作高阻抗输入。 返回2、P0口:2、P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。 P0口可作为一个数据输入/输出口; 在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。 返回3、P1口:3、P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。 返回4、P2口:4、P2口:P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址。 返回5、P3口:5、P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。 返回表2-1 P3端口引脚与复用功能表表2-1 P3端口引脚与复用功能表§2.3 89C51存储器配置§2.3 89C51存储器配置§2.3.1 89C51存储器分类 §2.3.2 程序存储器地址空间 §2.3.3 数据存储器地址空间 返回§2.3.1 89C51存储器分类§2.3.1 89C51存储器分类一、物理结构(哈佛结构) 二、用户角度 返回一、物理结构(哈佛结构)一、物理结构(哈佛结构)片内程序存储器片外程序存储器片内数据存储器片外数据存储器89C51存储器程序存储器ROM数据存储器RAM返回二、用户角度二、用户角度返回如图2-4所示二、用户角度二、用户角度1、片内、外统一编址的64K程序存储器地址空间。CPU访问片内、片外ROM指令用MOVC。返回二、用户角度二、用户角度2、64K的片外数据存储器地址空间。访问片外RAM指令用MOVX。返回二、用户角度二、用户角度3、256字节的片内数据存储器地址空间。访问片内RAM指令用MOV。返回上述三个存储空间地址是重叠的,89C51的指令系统采用不同的数据传送指令符号。§2.3.2 程序存储器地址空间§2.3.2 程序存储器地址空间一、用途: 二、编址: 三、寻址方式:返回一、用途:一、用途:用于存放编好的程序和表格常数。返回二、编址:二、编址:89C51片内Flash ROM的容量为4KB。地址为0000H~0FFFH。 片外最多可扩至64KB ROM/EPROM,地址为1000H~FFFFH。 片内外统一编址。 返回三、寻址方式:三、寻址方式:1、当 EA=“1”时: 89C51的PC在0000~0FFFH范围内执行片内ROM中的程序,当指令地址超过0FFFH 后就自动转向片外ROM中取指令。 三、寻址方式:三、寻址方式:2、当 EA=”0”时: 89C51片内ROM不起作用,CPU只能从片ROM/EPROM中取指令。可以从 0000H 开始寻址。由于8031片内不带ROM ,所以使用时必须 EA=”0”。 三、寻址方式:三、寻址方式:3、89C51从片内ROM和片外ROM取指的速度相同。 三、寻址方式:三、寻址方式:4、程序存储器的保留存储单元。 如表2-2所示。 返回表2-2 保留的存储单元表2-2 保留的存储单元返回三、寻址方式:三、寻址方式:1、0000H~0002H三个单元: 用作89C51上电复位后引导程序的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。返回三、寻址方式:三、寻址方式:(2)0003H~002AH单元: 均分为五段,用作五个中断服务程序的入口。中断矢量地址表如表2-3所示。返回表2-3 中断矢量表表2-3 中断矢量表返回§2.3.3 数据存储器地址空间§2.3.3 数据存储器地址空间一、用途: 二、片外RAM: 三、片内RAM: 返回一、用途:一、用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。返回二、片外RAM:二、片外RAM:地址:0000H~FFFFH 寻址:用MOVX指令 返回三、片内RAM: 三、片内RAM: (一)片内RAM地址空间 (二)低128字节RAM(00H~7FH) (三)高128字节RAM(80H~FFH): ——特殊功能寄存器SFR区返回(一)片内RAM地址空间(一)片内RAM地址空间寻址:用指令MOV最大可寻址256个单元。返回低128B(00H-7FH): 真正RAM区高128B(80H-FFH): 特殊功能寄存器(SFR)区地址:00H-FFH如图2-5所示。(二)低128字节RAM(00H~7FH)(二)低128字节RAM(00H~7FH)1、工作寄存器区(00H~1FH) 2、位寻址区(20H~2FH) 3、用户RAM区(30H~7FH)返回1、工作寄存器区(00H~1FH)1、工作寄存器区(00H~1FH)由四组(32个)工作寄存器组成,每组8个寄存器(R0-R7),共占32个单元。见 表2-4。 通过程序状态寄存器 PSW中RS1、RS0两位设定来选择CPU的当前工作寄存器组。复位时,第0组为当前的工作寄存器。 若不需要四组,则其余可作为一般RAM单元。返回表2-4 工作寄存器地址表表2-4 工作寄存器地址表返回2、位寻址区(20H~2FH)2、位寻址区(20H~2FH) 位寻址区有16个单元,每个单元8位,共128位。位地址为00H-7FH。 可用位寻址方式访问其各位。 RAM位寻址区位地址表如 表2-5所示。 这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0、判断转移等。 位寻址是89C51的一个重要特点。返回表2-5 RAM位寻址区位地址表表2-5 RAM位寻址区位地址表返回3、用户RAM区(30H~7FH)3、用户RAM区(30H~7FH) 用于堆栈和数据缓冲。返回(三)高128字节RAM(80H~FFH)(三)高128字节RAM(80H~FFH) 返回有21个特殊功能功能寄存器。见表 2-6 地址分布在80H~FFH的RAM空间。 只能用直接寻址方式。 有11个具有位寻址能力。11个SFR的字节地址正好能被8整除。特殊功能寄存器的地址见表2-7。 部分特殊功能寄存器介绍表2-7 特殊功能寄存器地址表表2-7 特殊功能寄存器地址表返回表2-6 89C51系列单片机的特殊功能寄存器表表2-6 89C51系列单片机的特殊功能寄存器表返回部分特殊功能寄存器介绍部分特殊功能寄存器介绍 累加器ACC(E0H): 用A作为ACC的助记符。 用于存放第一个操作数及运算结果。返回部分特殊功能寄存器介绍部分特殊功能寄存器介绍 寄存器B(F0H): 在乘法指令中,B用于存放乘数和乘积的高8位。 在除法指令中用于存放除数和余数。 在其它指令中用作一般的寄存器或RAM单元。返回部分特殊功能寄存器介绍部分特殊功能寄存器介绍PSW 程序状态寄存器(D0H): PSW包含了程序执行后的状态信息,供程序查询或判断用。 PSW的格式 PSW各位的含义返回PSW的格式如下:PSW的格式如下: 返回ACCYP—OVRS0RS1F0PSW (D0H)D7 D6 D5 D4 D3 D2 D1 D0PSW各位的含义PSW各位的含义 (1)CY位(PSW.7):进(借)位标志位。 执行加法(减法)运算指令时,如运算结果最高位(D7)向前有进位(借位),CY=1;否则,CY=0。 在位操作指令中,CY位是布尔累加器,用C表示。返回PSW各位的含义PSW各位的含义 (2)AC位(PSW.6):半进位标志位(辅助进位标志)。 执行加法(减法)运算指令时,如运算结果的低半字节(D3)向高半字节有进位(借位),AC=1;否则,AC=0。返回PSW各位的含义PSW各位的含义 (3)FO位(PSW.5):用户标志。 由用户自己定义、置位、复位,以作为软件标志。 返回PSW各位的含义PSW各位的含义 (4)RS0、RS1位(PSW.3和PSW.4):工作寄存器组选择控制位。 由用户用软件改变RS0和RS1的值,以切换当前选用的工作寄存器组。 RS0,RS1的组合关系如 表2-8 所示。 上电复位时,(RS0)=(RS1)=0,CPU自然选择第0组为当前工作寄存器组。 返回表2-8 RS0,RS1的组合关系表2-8 RS0,RS1的组合关系返回PSW各位的含义PSW各位的含义 (5)OV位(PSW.2):溢出标志位。 如有溢出,即运算结果超出-128 ~+127的范围时,OV=1; 无溢出时,OV=0。返回PSW各位的含义PSW各位的含义 (6)P位(PSW.0):奇偶检验位。 每条指令执行后,A中“1”的个数为奇数,则P=1; 否则,P=0。返回PSW各位的含义PSW各位的含义 (7)PSW.1:为保留位。返回部分特殊功能寄存器介绍部分特殊功能寄存器介绍 堆栈指针SP(81H): 堆栈:在片内RAM中,开辟的一个按“先进后出”的结构方式处理数据的区域。 SP的内容可指向片内RAM00H—7FH的任何单元。 系统复位时,SP初始化为07H。 堆栈的操作:如 图2-6 所示。返回部分特殊功能寄存器介绍部分特殊功能寄存器介绍 返回数据指针DPTR(83H,82H): DPTR是一个16位的特殊功能寄存器。 由DPH(83H),DPL(82H)组成。 DPH,DPL可以单独使用。部分特殊功能寄存器介绍部分特殊功能寄存器介绍 返回I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H): 分别为四个并行端口的锁存器,每一个口锁存器还有位地址,所以每一条I/O线可独立输入或输出。输出时,可以锁存;输入时,可以缓冲。§2.4 时钟电路及89C51 CPU时序§2.4 时钟电路及89C51 CPU时序§2.4.1 片内时钟信号的产生返回§2.4.2 CPU取指、执指时序§2.4.1 片内时钟信号的产生§2.4.1 片内时钟信号的产生89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器C1和C2通常取30 pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fOSC=0~24 MHz。 晶体振荡器的频率为fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-12所示。返回null图2-12 89C51的片内振荡器及时钟发生器 §2.4.1 片内时钟信号的产生§2.4.1 片内时钟信号的产生1、节拍与状态周期 2、机器周期和指令周期3、基本时序定时单位返回1、节拍与状态周期 1、节拍与状态周期 时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。 时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。 在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。 每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51单片机各个部件协调地工作。返回2、机器周期和指令周期2、机器周期和指令周期二、指令周期:一、机器周期:返回null计算机的一计算机的一条指令由若干个字节组成。执行一条指令需要多长时间则以机器周期为单位。 一个机器周期是指CPU访问存储器一次所需的时间。例如,取指令、读存储器、写存储器等等。 一个机器周期包括12个振荡周期,分为6个S状态:S1~S6。 每个状态又分为两拍,称为P1和P2。 因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1,···,S6P1,S6P2。 若采用6MHz晶体振荡器,则每个机器周期为多少?机器周期如图所示返回null设:晶体振荡器频率 fosc=6MHz, 则:振荡周期=1/fosc=1/6 μs(微秒) 因为:一个机器周期包括12个振荡周期, 所以:一个机器周期=12*(1/6) μs(微秒) = 2μs(微秒)返回问:如果fosc=12MHz, 一个机器周期为多少? 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 1μs(微秒)机器周期null每条指令都由一个或几个机器周期组成。 指令周期:执行一条指令所需的时间。 每条指令由一个或若干个字节组成。有单字节指令,双字节指令,…多字节指令等。字节数少则占存储器空间少。 每条指令的指令周期都由一个或几个 机器周期 组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。 其指令周期各为多少?指令周期如图所示返回例如指令周期指令周期设振荡周期为6MHz,则一个机器周期为 2μs(微秒)。 单周期指令:指令周期为 2μs(微秒) 双周期指令:指令周期为 4μs(微秒) 四周期指令:指令周期为 8μs(微秒) 如果振荡周期为12MHz,则其指令周期分别为 1μs、2μs 和4μs。返回null单字节指令:如,INC A; 机器码格式:0000 0100B 双字节指令:如,MOV A,#data ; 机器码格式: 0111 0100B data 返回3、基本时序定时单位3、基本时序定时单位 综上所述,89C51或其他80C51单片机的基本时序定时单位有如下4个。  振荡周期: 晶振的振荡周期,为最小的时序单位。  状态周期: 振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。  机器周期(MC): 1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。  指令周期: 执行一条指令所需的时间。一个指令周期由1~4个机器周期组成,依据指令不同而不同,见附录A。返回null 4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。 下面是单片机外接晶振频率12 MHz时的各种时序单位的大小。 振荡周期=1/fOSC=1/12 MHz=0.083 3 μs 状态周期=2/fOSC=2/12 MHz=0.167 μs 机器周期=12/fOSC=12/12 MHz=1 μs 指令周期=(1~4)机器周期=1~4 μs 4个时序单位从小到大依次是节拍(振荡脉冲周期,1/fOSC)、状态周期(时钟周期)、机器周期和指令周期,如图2-13所示。返回null图2-13 89C51单片机各种周期的相互关系 §2.4.2 CPU取指、执指时序§2.4.2 CPU取指、执指时序每条指令的执行都可以包括取指和执指两个阶段。 在取指阶段,CPU从内部或外部ROM中取出指令操作码及操作数,然后再执行这条指令。 单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周期。 CPU取指、执指时序如 图2-14所示返回null图2-14 89C51单片机的取指/执行时序 §2.5 复位操作§2.5 复位操作§2.5.1 复位操作的主要功能 §2.5.2 复位信号及其产生 §2.5.3 复位电路返回§2.5.1 复位操作的主要功能§2.5.1 复位操作的主要功能一、复位是单片机的初始化操作。 二、主要功能:  三、寄存器的复位状态:返回复位操作主要功能复位操作主要功能程序地址指针PC初始化为0000H,使单片机从0000H单元开始执行程序 当由于程序运行出错或操作错误使系统死锁状态时,为摆脱困境,也需要按复位键重新启动。 返回表2-8 各特殊寄存器的复位值表2-8 各特殊寄存器的复位值返回§2.5.2 复位信号及其产生§2.5.2 复位信号及其产生一、复位信号: RST引脚为复位信号输入端。 当RST引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。 二、产生复位信号的电路逻辑图: 如图2-15所示。返回 图 2-15 复位电路逻辑图 图 2-15 复位电路逻辑图返回§2.5.3 复位电路§2.5.3 复位电路1、上电自动复位: 是通过外部复位电路的电容充电实现。 如图2-16(a)所示。 2、手动复位: 按键电平复位方式:如图2-16(b)所示。 按键脉冲复位方式:如图2-12(c)所示。返回图 2-16 (a) 上电复位电路图 2-16 (a) 上电复位电路只要Vcc的上升时间不超过1ms,就自动上电复位,即接通电源就完成了系统复位。返回图 2-16 (b) 按键电平复位电路图 2-16 (b) 按键电平复位电路通过使复位端经电阻与VCC电源接通而实现。返回§2.6 89C51单片机的低功耗工作方式§2.6 89C51单片机的低功耗工作方式89C51属于CHMOS的单片机,运行时耗电少,而且还提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)工作方式,以进一步降低功耗。 图2-17所示为实现这两种方式的内部电路。 由图2-17可见,若IDL=0,则89C51将进入空闲运作方式。在这种方式下,振荡器仍继续运行,但IDL封锁了去CPU的“与”门,故CPU此时得不到时钟信号。而中断、串行口和定时器等环节却仍在时钟控制下正常运行。掉电方式下(PD=0),振荡器冻结。返回§2.6 89C51单片机的低功耗工作方式§2.6 89C51单片机的低功耗工作方式返回图2-17 空闲和掉电方式控制电路图2-17中,PD和IDL均为PCON中PD和IDL触发器的输出端。§2.6.1 方式的设定§2.6.1 方式的设定返回图2-18 电源控制寄存器PCON空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。 图2-18所示为89C51电源控制寄存器PCON各位的分布情况。HMOS器件的PCON只包括一个SMOD位,其他4位是CHMOS器件独有的。 3个保留位用户不得使用,因为硬件没有做出安排,可能在今后的MCS51新产品中代表某特定的功能。§2.6.1 方式的设定§2.6.1 方式的设定返回图2-18 电源控制寄存器PCON图2-18中各符号的名称和功能如下。  SMOD: 波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率加倍。  GF1和GF0: 通用标志位。  PD: 掉电方式位。此位写1即启动掉电方式。由图217可见,此时时钟冻结。  IDL: 空闲方式位。此位写1即启动空闲方式。这时CPU因无时钟控制而停止运作。如果同时向PD和IDL两位写1,则PD优先。 89C51中PCON的复位值为0×××0000B。§2.6.2 空闲(等待、待机)工作方式§2.6.2 空闲(等待、待机)工作方式返回当CPU执行完置IDL=1(PCON.1)的指令后,系统进入空闲工作方式。 这时,内部时钟不向CPU提供,而只供给中断、串行口、定时器部分。 CPU的内部状态维持,即包括堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC所有的内容保持不变,端口状态也保持不变。 ALE和PSEN保持逻辑高电平。§2.6.2 空闲(等待、待机)工作方式§2.6.2 空闲(等待、待机)工作方式返回进入空闲方式后,有两种方法可以使系统退出空闲方式。 一是任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲工作方式。 当执行完中断服务程序返回到主程序时,在主程序中,下一条要执行的指令将是原先使IDL置位指令后面的那条指令。PCON中的通用标志位GF1和GF0可以用来指明中断是在正常操作还是在待机方式期间发生的。在待机方式时,除用指令使IDL=1外,还可先用指令使GF1或GF0置1。当由于中断而停止待机方式时,在中断服务程序中可以检查这些标志位,说明是从待机方式进入中断的。§2.6.2 空闲(等待、待机)工作方式§2.6.2 空闲(等待、待机)工作方式返回另一种退出空闲方式的方法是硬件复位,由于在空闲工作方式下振荡器仍然工作,因此硬件复位仅需2个机器周期便可完成。而RST端的复位信号直接将PCON.0(IDL)清0,从而退出空闲状态,CPU则从进入空闲方式的下一条指令开始重新执行程序。§2.6.3 掉电(停机)工作方式§2.6.3 掉电(停机)工作方式返回当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。 由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中,ALE和PSEN都为低电平。 退出掉电方式的惟一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。 在掉电工作方式下,VCC可以降到2 V,但在进入掉电方式之前,VCC不能降低。而在准备退出掉电方式之前,VCC必须恢复正常的工作电压值,并维持一段时间(约10 ms),使振荡器重新启动并稳定后方可退出掉电方式。§2.7 输出/输入端口结构§2.7 输出/输入端口结构 I/O端口概述 §2.7.1 P1口 §2.7.2 P2口 §2.7.3 P0口 §2.7.4 P3口 §2.7.5 端口的负载能力和接口 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 返回 I/O端口概述 I/O端口概述1.89C51单片机有四个8位并行I/O端口:P0、P1、P2和P3。 2.每个端口都是8位准双向口,共占32根引脚。 3.每一条I/O线都能独立地用作输入或输出。 4.每个端口都包括一个锁存器(即特殊功能寄存器P0~P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。返回§2.7.1 P1口§2.7.1 P1口一、P1口结构 二、P1口用作通用I/O返回§2.7.1 P1口§2.7.1 P1口一、P1口结构: 其电路结构见图2-19,输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET为负载管,其电阻固定。另一个FET可工作在导通或截止两种状态,使其总电阻值变化近似为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。返回图2-19 P1口某位的结构图2-19 P1口某位的结构返回§2.7.1 P1口§2.7.1 P1口二、P1口用作通用I/O P1口也是一个准双向口。 在端口用作输入时,也必须先向对应的锁存器写入1,使FET截止。 当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。返回§2.7.2 P2口§2.7.2 P2口一、P2口结构 二、P2口用作一般I/O口 三、P2口用作高8位地址总线返回一、P2口结构一、P2口结构 如图2-20所示,P2口某位的结构与P0口类似,有MUX开关。驱动部分与P1口类似,但比P1口多了一个转换控制部分。返回图2-20 P2口某位的结构图图2-20 P2口某位的结构图返回二、P2口用作一般I/O口二、P2口用作一般I/O口1、当CPU对片内存储器和I/O口进行读/写(执行MOV 指令或EA=1时,执行MOVC指令)时,由内部硬件自动使开关MUX倒向锁存器的Q端,这时,P2口为一般I/O口。二、P2口用作一般I/O口二、P2口用作一般I/O口2、在只需扩展256B片外RAM的系统中,使用“MOVX A, @Ri”类指令访问片外RAM时,寻址范围是256B,只需低8位地址线就可以实现。P2口不受该指令影响,仍可作通用I/O口。二、P2口用作一般I/O口二、P2口用作一般I/O口3、若扩展的RAM容量超过256B,使用“MOVX A,@DPTR”类指令的寻址范围是64KB,此时,高8位地址总线用P2口输出。在片外RAM读/写周期内,P2口锁存器仍保持原来端口的数据;在访问片外RAM周期结束后,多路开关MUX自动切换倒锁存器Q端。由于CPU对RAM的访问不是经常的,在这种情况下,P2口在一定的限度内仍可用作通用I/O口。返回三、P2口用作高8位地址总线三、P2口用作高8位地址总线当CPU对片外存储器或I/O口进行读/写(执行MOVX指令或EA=0时执行MOVC指令)时,开关倒向地址线(右)端,这时,P2口只输出高8位地址。因为访问片外EPROM和RAM的操作往往接连不断,所以,P2口要不断送出高8位地址,此时P2口无法再用作通用I/O口。返回§2.7.3 P0口§2.7.3 P0口一、结构 二、P0口作为一般I/O口使用 三、P0口作为地址/数据总线使用返回一、结构一、结构P0口某位的结构由一个输出锁存器、二个三态输入缓冲器和输出驱动电路及控制电路组成。如图2-21所示。 当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口; 当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。返回图2-21 P0口某位的结构图图2-21 P0口某位的结构图当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口; 当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。返回二、P0口作为一般I/O口使用二、P0口作为一般I/O口使用1、P0口用作输出口 2、P0口作输入口返回1、P0口用作输出口1、P0口用作输出口当CPU执行输出指令时,写脉冲加在D锁存器的CP上,这样,与内部总线相连的D端的数据取反后就出现在Q端上,又经输出级FET(T2)反相,在P0端口上出现的数据正好是内部总线的数据。这是一般的数据输出情况。 返回2、P0口作输入口2、P0口作输入口当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。 在端口进行输入操作前,应先向端口锁存器写入1,也就是使锁存器Q=0。因为控制线C=0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。返回三、P0口作为地址/数据总线使用三、P0口作为地址/数据总线使用1.P0口用作输出地址/数据总线 以P0口引脚输出低8位地址或数据信息,MUX开关把CPU内部地址/数据线经反向器3与驱动场效应管FET(T2)栅极接通。上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),提高了负载能力。 当P0口被地址/数据总线占用时,就无法再作I/O口使用了。三、P0口作为地址/数据总线使用三、P0口作为地址/数据总线使用2.由P0口输入数据: 在“读引脚”信号有效时,打开输入缓冲器2,使数据进入内部总线。返回§2.7.4 P3口§2.7.4 P3口一、结构 二、P3口作为通用I/O口使用 三、P3口用作第二功能使用返回一、结构一、结构1、P3口是一个多功能端口,其某一位的结构见图2-22。P3口与P1口的差别在于多了“与非”门3和缓冲器4。使得P3口除了具有P1口的准双向I/O功能外,还可以使用各引脚所具有的第二功能。 2、“与非”门3的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能(W)的信号。当W=1时,输出Q端信号;当Q=1时,可输出W线信号。 编程时,可不必事先由软件设置P3口为第一功能(通用I/O口)还是第二功能。 3、当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬件自动将第二功能输出线W置1,这时,P3口为通用I/O口。 4、当CPU不对P3口进行SFR寻址(位或字节)访问时,即用作第二功能输出/输入线时,由内部硬件使锁存器Q=1。返回图2-22 P3口某位的结构图图2-22 P3口某位的结构图返回二、P3口作为通用I/O口使用二、P3口作为通用I/O口使用1、当把P3口作为通用I/O口进行SFR寻址时“第二输出功能端”W保持高电平,打开“与非”门3,D锁存器输出端Q的状态可通过“与非”门3送至FET场效应管输出。 2、当P3口作为输入使用(即CPU读引脚状态)时,同P0—P2口一样应由软件向口锁存器写1。返回三、P3口用作第二功能使用三、P3口用作第二功能使用 当端口用于第二功能时,8个引脚可按位独立定义。见表2-10返回表2-10 P3各口线与第2功能表表2-10 P3各口线与第2功能表返回§2.7.5 端口的负载能力和接口要求§2.7.5 端口的负载能力和接口要求1、P0口: P0口与其他口不同,它的输出级无上拉电阻。当把它用作通用I/O口时,输出级是开漏电路,故用其输出去驱动NMOS输入时须外接上拉电阻。 用作输入时,应先向口锁存器(80H)写1。 把它当作地址/数据总线时(片外扩展ROM或RAM的情况),则无须外接上拉电阻。 P0口的每一位输出可驱动8个LS型TTL负载。§2.7.5 端口的负载能力和接口要求§2.7.5 端口的负载能力和接口要求2、P1~P3口 P1~P3口的输出级接有内部上拉负载电阻,它们的每一位输出可驱动4个LS型TTL负载。作为输入口时,任何TTL或NMOS电路都能以正常的方式驱动89C51单片机(CHMOS)的P1~P3口。由于它们的输出级具有上拉电阻,所以也可以被集电极开路(OC门)或漏极开路所驱动,而无须外接上拉电阻。 对于89C51单片机(CHMOS),端口只能提供几毫安的输出电流,故当作输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时,应在端口与晶体管基极间串联一个电阻,以限制高电平输出时的电流。 P1~P3口也都是准双向口。作为输入时,必须先对相应端口锁存器写1。返回§2.8 思考 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 与习题 §2.8 思考题与习题 1. 89C51单片机片内包含哪些主要逻辑功能部件? 2. 89C51的EA端有何用途? 3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址? 4. 简述89C51片内RAM的空间分配。 5. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。 6. 如何简捷地判断89C51正在工作? 7. 89C51如何确定和改变当前工作寄存器组? 8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为什么? 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?返回§2.8 思考题与习题 §2.8 思考题与习题 10. 89C51 P0~P3口结构有何不同?用作通用I/O口输入数据时,应注意什么? 11. 89C51单片机的EA信号有何功能?在使用8031时,EA信号引脚应如何处理? 12. 89C51单片机有哪些信号需要芯片引脚以第2功能的方式提供? 13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么? 14. 使单片机复位有几种方法?复位后机器的初始状态如何? 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组? 16. 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?返回§2.8 思考题与习题 §2.8 思考题与习题 17. 位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置? 18. 89C51单片机的时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期? 19. 一个机器周期的时序如何划分? 20. 什么叫堆栈?堆栈指针SP的作用是什么?89C51单片机堆栈的容量不能超过多少字节? 21. 89C51有几种低功耗方式?如何实现? 22. PC与DPTR各有哪些特点?有何异同? 23. 89C51端口锁存器的“读—修改—写”操作与“读引脚”操作有何区别? 返回第二章结束
本文档为【第2章89C51单片机硬件结构和原理_李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_198876
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2012-04-25
浏览量:71