周国运单片机原理及应用(C语言版)2.ppt_第1页
周国运单片机原理及应用(C语言版)2.ppt_第2页
周国运单片机原理及应用(C语言版)2.ppt_第3页
周国运单片机原理及应用(C语言版)2.ppt_第4页
周国运单片机原理及应用(C语言版)2.ppt_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用 (C语言版)第2章 MCS-51单片机结构与原理,主 编:周国运 本章制作:周国运 中国水利水电出版社,第2章 MCS-51单片机结构与原理,目 录 2.1 MCS-51单片机结构及CPU 2.2 MCS-51单片机引脚与总线结构 2.3 MCS-51单片机的存储器结构 2.4 MCS-51单片机的输入输出端口 2.5 MCS-51单片机的时钟及CPU时序 2.6 MCS-51单片机的工作方式,第2章 MCS-51单片机结构与原理,本章讨论MCS-51单片机的结构和工作原理,内容主要有MCS-51单片机结构、引脚信号、存储器配置、输入/输出端口、时钟与CPU时序,以及单片机的

2、工作方式等。 本章是单片机的基本内容,为学习后面各个章节的基础,也是从事单片机应用开发的基础。,2.1 MCS-51单片机内部结构及CPU,主要内容 2.1.1 MCS-51单片机的功能结构及特点 2.1.2 MCS-51单片机的内部原理结构 2.1.3 MCS-51单片机的CPU,2.1.1 MCS-51单片机的功能结构及特点,MCS-51单片机的内部功能结构如下页图所示,图中是以增强型单片机的结构为对象。 从图中可以看到,MCS-51单片机在一块芯片中集成了微型计算机所具有的所有部件,从功能的角度来看,主要包括9个部分。,图2.1 MCS-51(增强型)单片机功能结构图,2.1.1 MCS

3、-51单片机的功能结构及特点,2.1.1 MCS-51单片机的功能结构及特点,MCS-51单片机内部主要包括9个部分: 一个8位的微处理器CPU 8KB的片内程序存储器Flash ROM 256B的片内数据存储器RAM、128B特殊功能寄存器(SFR) 3个16位的定时器/计数器 有一个管理6个中断源的中断控制器 4个8位并行I/O端 一个全双工的串行接口(UART) 片内振荡电路和时钟发生器 可扩展64KB程序、64KB数据存储器的三总线控制电路,2.1.2 MCS-51单片机的内部原理结构,MCS-51单片机的内部原理结构如图2-2所示。 与图2-1比较,主要的区别是画出了CPU的内部结构

4、,图中的中间部分除了“定时器、串行口”大方框之外都属于CPU部件。 下面先介绍CPU部分,对于其它部件,将在本章和后面的章节讲解。,图2-2 MCS-51(增强型)单片机原理结构图,XTAL2 XTAL1,P3.0P3.7,P1.0P1.7,RAM 地址,端口0驱动器,端口2驱动器,8KB Flash ROM,端口0锁存器,端口2锁存器,端口1驱动器,端口3驱动器,端口1锁存器,端口3锁存器,暂存器1,SP,PSW,B寄存器,暂存器2,ACC,256BRAM 128B SFR,缓冲器,PC加1,PC,程序地址寄存器,DPTR,定时器、串行口 中断部件及 特殊功能寄存器,地址总线数据总线,P2.

5、0P2.7,Vcc GND,指令寄存器 指令译码器 指令控制器,P0.0P0.7,PSEN ALE EA RST,ALU,2.1.3 MCS-51单片机的CPU,MCS-51单片机内部有一个功能强大的8位CPU,它包含两个基本部分,运算器和控制器。 一、运算器 运算器包括: 算术和逻辑运算部件ALU(Arithmetic Logic Unit)以及累加器ACC、寄存器B、暂存器1、暂存器2、程序状态字寄存器PSW、布尔处理器等。,2.1.3 MCS-51单片机的CPU,1、算术逻辑运算部件ALU ALU可以对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。 这些操作可以是:算术运

6、算:加、减、乘、除、加1、减1、BCD码数的十进制调整及比较等; 逻辑运算:与、或、异或、求补及循环移位等。,2.1.3 MCS-51单片机的CPU,2、累加器ACC ACC在CPU结构中占有特殊的位置,所以ACC在指令中使用的非常多。 ACC既做源操作数又做目的操作数,如在加、减、乘、除算术运算指令中,在与、或、异或、循环移位逻辑运算指令等。 ACC也作为通用寄存器使用,并且可以按位操作,所以ACC是一个用处最多、最忙碌的寄存器。 在指令中用助记符A来表示。,2.1.3 MCS-51单片机的CPU,3、B寄存器 B做专门应用:在乘、除运算时,用来存放一个操作数,并且存放运算后的部分结果。 B

7、做一般应用:在非乘、除运算中,B可以作为通用寄存器使用。 B可以按位操作,2.1.3 MCS-51单片机的CPU,4、程序状态字PSW 功能:用于设定CPU的状态和指示指令执行后的状态。 PSW相当于其它微处理器中的标志寄存器。格式如下:,2.1.3 MCS-51单片机的CPU,CY(PSW.7):进位、借位标志 在做位操作(布尔操作)时CY作 为位累加器。在指令中用C代替CY AC(PSW.6):半进位、半借位标志,也称为辅助进位标志 F0、F1(PSW.5 、PSW.1):用户标志位,留给用户使用,2.1.3 MCS-51单片机的CPU,OV(PSW.2):溢出标志位。有以下情况: 加减运

8、算: OV1表示结果超出了8位有符号数的有效范围(128127),对无符号数OV没有意义。 无符号数乘法运算: OV1表明结果超出了8位数 无符号数除法运算: OV1表明除数为0 P(PSW.0):累加器A的奇偶标志位 P表示累加器A中1的个数的奇偶性 P1,A中有奇数个1 P0,A中有偶数个1,2.1.3 MCS-51单片机的CPU,RS1、RS0(PSW.4 和PSW.3):工作寄存器组选择控制位。 工作寄存器:R0、R1、R7,2.1.3 MCS-51单片机的CPU,5、布尔处理器 布尔处理器以PSW中的进位标志位CY作为位累加器(用C表示)。 功能:专门用于处理位操作。 MCS-51单

9、片机有丰富的位处理指令:如置位、位清0、位取反、判断位值(为1或为0)转移,以及通过C(指令中用C代替CY)做位数据传送、位逻辑与、位逻辑或等位操作。,2.1.3 MCS-51单片机的CPU,二、控制器 控制器包括程序计数器PC、指令寄存器IR、指令译码器ID,以及时钟控制逻辑、堆栈指针SP、地址指针DPTR等。 1、程序计数器PCPC是一个具有自加1功能的16位的计数器PC的内容是将要执行的下一条指令的地址 改变PC的内容就改变了程序执行的顺序 2、指令寄存器IR和指令译码器ID IR:存放从Flash ROM中读取的指令 ID:进行译码,产生一定序列的控制信号,完成指令所规定的操作。,2.

10、1.3 MCS-51单片机的CPU,3、堆栈(1)堆栈的概念:堆栈是在RAM中专门开辟的一个特殊用途的存储区。 (2)堆栈的结构:堆栈一端的地址是固定的,称为栈底;另一端的地址是动态变化的,是数据保存和取出的端口,称为栈顶。堆栈像一个桶状存储体。 (3)堆栈的访问原则 “先进后出”、“后进先出” 。即先进入堆栈的数据后移出,即后进入堆栈的数据先移出堆栈。 (4)堆栈的操作方式 数据进栈和数据出栈 进栈和出栈都是在栈顶进行,这就必然是按照“先进后出”、“后进先出”的方式存取数据。,2.1.3 MCS-51单片机的CPU,(5)堆栈的应用 主要是用来暂时存放数据,有两种情况使用堆栈: 一是CPU自

11、动使用堆栈,当调用子程序或响应中断,处理中断服务程序时,CPU自动将返回地址存放到堆栈中;通过堆栈传递参数。 二是程序员使用堆栈,用堆栈暂时存放数据。 4、堆栈指针SP 堆栈指针SP(Stack Pointer)中为栈顶的地址,即SP指向栈顶。 SP是访问堆栈的间址寄存器 SP具有自动加1、自动减1功能。当数据进栈时,SP先自动加1,然后将数据存入;当数据出栈时,先将数据送出,然后SP自动减1。,2.1.3 MCS-51单片机的CPU,下图是数据进栈的情况 数据从栈顶进入,58,A6,7B,E2,E1,E2,E3,E4,2.1.3 MCS-51单片机的CPU,由于进栈时SP的值增加,即堆栈向地

12、址大的方向生长,并且栈顶是有效数据,这种堆栈是满递增型堆栈。,7B,A6,58,36,E4,E3,E1,E0,E2,2.1.3 MCS-51单片机的CPU,5、数据指针DPTR DPTR是唯一的16位寄存器。 DPTR既可以作为一个16位寄存器使用,也可以作为两个独立的8位寄存器使用。其高字节寄存器用DPH表示,低字节寄存器用DPL表示。 DPTR的用途: (1)主要用于存放16位地址,以便对64KB的片外RAM和64KB的程序存储空间作间接访问。 (2)其次用于存放数据,作为一般寄存器使用。,2.2 MCS-51单片机引脚与总线结构,主要内容 2.2.1 MCS-51单片机引脚信号及功能 2

13、.2.2 MCS-51单片机外部总线结构,2.2.1 MCS-51单片机引脚信号及功能,封装:40DIP, 44PLCC。 常用40DIP 40个引脚分为4类: 电源引脚 晶振引脚 控制信号 输入/输出引脚,2.2.1 MCS-51单片机引脚信号及功能,一、电源引脚 Vcc(40脚):接5V电源正端 Vss(20脚):接5V电源地端 二、晶振引脚 XTAL1(19脚) XTAL2(18脚),2.2.1 MCS-51单片机引脚信号及功能,三、控制信号引脚 1、RST/VPD(9脚) RST:复位信号输入端,高电平有效。单片机正常工作时:RST保持两个机器周期的高电平就会使单片机复位; 上电时:R

14、ST上的高电平必须保持10ms以上才能保证有效复位,由于振荡器需要一定的起振时间。 VPD:备用电源输入端,以保持内部RAM中的数据不丢失。当Vcc的电压降低到低电平规定的值或掉电时,接入电源。,2.2.1 MCS-51单片机引脚信号及功能,2、ALE/PROG(30引脚) ALE:地址锁存信号,每个机器周期输出两个正脉冲,下降沿或低电平用于控制外接的地址锁存器,锁存从P0口输出的低8位地址。 可以将ALE作为时钟信号使用。 PROG:片内程序存储器的编程脉冲输入端,低电平有效。,2.2.1 MCS-51单片机引脚信号及功能,3、PSEN(29引脚) 片外程序存储器读选通信号输出端,每个机器周

15、期输出两个负脉冲,低电平有效。在访问片外数据存储器时,该信号不出现。 4、EA/Vpp(31引脚)EA:程序存储器选择输入端。接低电平时,使用片外程序存储器;接高电平时,使用片内程序存储器。 Vpp:片内程序存储器编程电压输入端。,2.2.1 MCS-51单片机引脚信号及功能,五、输入/输出引脚 1、P0口,P0.0P0.7(3239引脚) P0口是一8位漏极开路的I/O口。两种用法 (1)P0口作总线口: 当CPU以总线方式访问片外存储器时,P0口分时地输出低8位地址、读入指令和输入/输出数据。 (2)P0口作为一般I/O口: 此时P0口为准双向口(各位输入前必须先输出1)。,2.2.1 M

16、CS-51单片机引脚信号及功能,2、P1口,P1.0P1.7(18引脚) P1口是一个8位准双向I/O口 P1.0、P1.1的第二功能:对于增强型, 第二功能的信号分别为T2和T2EX T2(P1.0):定时器/计数器2的计数脉冲输入和时钟输出。 T2EX(P1.1):定时器/计数器2的重 装、捕获和计数方向控制输入。,2.2.1 MCS-51单片机引脚信号及功能,3、P2口,P2.0P2.7(2128引脚) 两种用法: (1)当CPU以总线方式访问片外存储器时,P2口输出高8位地址。 (2)作为一般I/O口用时,为准双向口。 4、P3口,P3.0P3.7(1017引脚) P3口是一个8位I/

17、O口,还是一个双功能口 作为一般I/O口使用时,为准双向口。 各引脚第二功能如下页表2-2所示。,2.2.1 MCS-51单片机引脚信号及功能,表2-2 P3口各引脚第二功能定义,2.2.2 MCS-51单片机总线结构,总线的概念:总线即三总线,指数据总线、地址总线、控制总线。 一般说法为:多个部件信息的电气连接。 MCS-51单片机的总线:内部具有产生总线的结构。如图2-6所示。 单片机总线的应用: 扩展数据存储器 扩展程序存储器,2.2.2 MCS-51单片机总线结构,图2-6 MCS-51单片机总线结构,地址锁存器 74LS573,A15 : : : : : : A8 A7 : : :

18、: : : A0 D7 : : : D0,数据总线(DB),I/O 口,控制总线(CB),地址总线(AB),P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6/WR P3.7/RD ALE PSEN EA RST,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,2.3 MCS-51单片机的存储器结构,主要内容 2.3.1 程序存储器结构 2.3.2 片内数据存储器结构 2.3.3 片外数

19、据存储器结构,MCS-51单片机存储器概述 1、单片机的哈佛结构存储器 MCS-51单片机为哈佛结构:程序存储器ROM和数据存储器RAM分开编址 PC机为偌依曼:ROM和RAM统一编址 程序存储器:固化程序、常数和数据表 数据存储器:存放程序运行中产生的各种数据、用作堆栈等,2、单片机的存储器空间及分类 MCS-51单片机有4个存储空间:片内程序存储器、片内数据存储器,片外程序存储器、片外数据存储器。 4个存储空间可以分成三类:片内数据存储空间(256B的RAM和128B的特殊功能寄存器)、片外数据存储空间(64KB)、片内和片外统一编址的程序存储空间(64KB) 不同类型的存储空间,有各自的

20、寻址方式和访问指令。,2.3.1 程序存储器结构,一、程序存储器结构 51基本型片内有4KB的Flash ROM,地址为0000H0FFFH,片外最多可以扩展60KB,地址为1000HFFFFH。 增强型片内有8KB的Flash ROM,地址为0000H1FFFH,片外最多可以扩展56KB,地址为2000HFFFFH,片内外是统一编址的。 程序存储器空间的配置如图2-7所示,2.3.1 程序存储器结构,图2-7 MCS-51单片机程序存储空间的配置,片 外 ROM,片 内 ROM EA=1,片 外 ROM EA=0,0000H,0FFFH,1000H,FFFFH,(a)片内有4KB的ROM (

21、b)片内有8KB的ROM,片 外 ROM,片 内 ROM EA=1,片 外 ROM EA=0,0000H,1FFFH,2000H,FFFFH,2.3.1 程序存储器结构,EA的作用 单片机在执行指令时,对于低地址部分,究竟是从片内程序存储器取指令,还是从片外程序存储器取指令? 决定于程序存储器选择引脚EA的电平: EA接低电平,读片外程序存储器 EA接高电平,CPU从片内程序存储器取指令。 当取指令的地址大于片内存储器的最大地址时,CPU自动转到片外程序存储器取指令。,2.3.1 程序存储器结构,二、程序存储器的专用区域 用作复位和中断入口。 中断向量:即中断入口地址。如下表 注意区分:中断入

22、口地址、中断服务程序入口地址、中断服务程序。,2.3.1 程序存储器结构,C语言编程所考虑的问题 如果用C语言编写程序,不需要考虑以上这些问题,即不用考虑引导程序问题,中断入口与跳转问题,这些问题均由编译系统安排好。 main( )函数起到引导程序的作用。 对于中断处理,只要按照格式编写中断处理函数即可(见第4章)。,2.3.2 片内数据存储器结构,片内数据存储器按照寻址方式,可以分为三个部分:低128字节数据区,高128字节数据区,特殊功能寄存器区。如下图所示。,低128B RAM data区,特殊功能 寄存器,80H,FFH,00H,7FH,(a)89C51片内RAM,低128B RAM

23、data区,高128B RAM idata区,特殊功能 寄存器,00H,7FH,80H,FFH,80H,FFH,(b)增强型单片机片内RAM,2.3.2 片内数据存储器结构,一、低128字节RAM 地址范围:00H7FH,128字节 应用特点:有多种用途、且使用最频繁 功能作用:分为三个区域,即工作寄存器区、位寻找区、通用数据区。 寻址方式:直接、间接、位寻址 低128字节RAM的配置如图2-9所示。,图2-9 低128字节RAM区,2.3.2 片内数据存储器结构,1、工作寄存器区 范围:地址从00H到1FH,共32字节。 分4个组:第0组、第1组、第2组、第3组 工作寄存器名:R0、R1R7

24、。 不同的组对应的8个寄存器的地址不同,如表2-1所示。 工作寄存器组的选择:决定于程序状态字PSW的RS1和RS0位。见表2-1。 C语言下选寄存器组:在定义函数时,通过使用关键字“using”来选择(如using m) 。,2.3.2 片内数据存储器结构,2、位寻址区 范围:字节地址从20H到2FH,16字节。 位地址:00H到7FH ,128位。 用途:既可以做位操作,也可以字节操作。 C语言编程:用关键字“bit”定义的位变量在该区域;用关键字“bdata”将一般变量定义在该区域,并且定义的变量还可以进行位寻址。,2.3.2 片内数据存储器结构,3、通用数据区 范围:地址从30H到7F

25、H,共80字节。 用途:用于堆栈、存放数据、存放程序运行的中间结果等。 4、寻址方式 直接、间接、位寻址方式访问 直接、间接范围:字节地址从00H到7FH 位寻址范围:字节地址从20H到2FH,16字节;位地址00H到7FH,128位,2.3.2 片内数据存储器结构,二、高128字节RAM 地址范围:80HFFH,128字节 用途:与低128字节中的30H到7FH完全一样,用于堆栈、存放程序运行时的数据和中间结果等。 寻址方式:间接访问。 C语言编程:使用关键字“idata”定义变量,2.3.2 片内数据存储器结构,三、特殊功能寄存器(SFR) 也称为专用寄存器,是单片机中最重要的部分。 地址

26、范围:80HFFH,128字节 功能作用: 控制单片机各个部件的运行 反映各部件的运行状态 存放数据或地址 寻址方式:直接访问,2.3.2 片内数据存储器结构,1、具体特殊功能寄存器 SFR的数量:基本型只有21个,增强型有27个;分别有11个、12个可以按位操作。 (1)与CPU相关的(7个) PWS*:程序状态寄存器 A*:累加器 B*:辅助运算寄存器 SP:堆栈指针 PCON:电源控制寄存器 DPL、DPH:数据指针的低字节、高字节,2.3.2 片内数据存储器结构,(2)与定时器相关的(12个) TMOD:模式寄存器 TCON*:控制寄存器 TL0、TH0:T0低8位、高8位计数器 TL

27、1、TH1:T1低8位、高8位计数器 T2MOD:T2模式寄存器 T2CON*:T2控制寄存器 TL2、TH2:T2低8位、高8位计数器 RCAP2L、RCAP2H:T2捕获寄存器,2.3.2 片内数据存储器结构,(3)与中断相关的(2个) IE*:中断允许(控制)寄存器 IP*:中断优先级寄存器 (4)与串行口相关的(2个) SCON*:串行口控制寄存器 SBUF:串行口数据缓冲寄存器,2个 (5)与I/O口相关的(4个) P0*、P1*、P2*、P3* 4个并行口映射寄存器,2.3.2 片内数据存储器结构,2、一些最重要的寄存器 在表2-5中有格式的特殊功能寄存器最重要,它们是(9个):

28、PSW*、IE*、IP*、TCON*、TMODSCON*、PCON、T2CON*、T2MOD 应用单片机,主要就是掌握这9个有格式的特殊功能寄存器,对基本型仅有7个。,2.3.2 片内数据存储器结构,3、特殊功能寄存器在C语言中的表示 这些特殊功能寄存器及各位位名在汇编语言中能够识别,但在C语言中并不识别。 为了在C语言中使用,必须先做定义,它们多数在“reg51.h”、“reg52.h”等头文件做了定义。 但有一些未做定义,如4个并行口P0P3各位,累加器A,寄存器B等,在使用时需要用户定义。,2.3.3 片外数据存储器结构,地址范围:0000HFFFFH 容量:共64KB 访问指令:“MO

29、VX”(片内用MOV) 使用“MOVX”指令对片外RAM进行读/写操作时,会自动产生读/写控制信号RD和WR,作用于片外RAM实现读/写操作。,2.3.3 片外数据存储器结构,片外RAM的用途: (1)没有特别的用途,不像片内RAM,不划分区域。 (2)片外RAM做通用RAM使用,主要存放大量采集的或接收的数据、运算的中间数据、最后结果、用作堆栈等。 C语言编程:使用关键字“xdata”或“pdata”将变量、数组、堆栈定义到片外RAM区。,2.4 MCS-51单片机的输入/输出端口,主要内容 2.4.1 P1口 2.4.2 P2口 2.4.3 P3口 2.4.4 P0口 2.4.5 端口的负

30、载能力和接口要求,I/O口概述,MCS-51单片机的4个8位端口: 均可作一般I/O口,都是准双向口。 每个端口都可以按位作输入或输出 端口结构:每个端口都有一个(1)输出锁存器;(2)输出驱动器;(3) 输入缓冲器。 输出时锁存数据,输入时数据缓冲。 4个端口的差别:功能不尽相同、内部结构有区别,2.4.1 P1口,P1口是唯一的静态准双向口,用作通用I/O口。 P1口的结构:主要由(1)输出锁存器;(2)输出驱动器(场效应管FET);(3)两个三态缓冲器;(4)端口上拉电阻(实为FET)等部分组成。 P1口相对来说是最简单的,其电路结构如图2-10所示。,2.4.1 P1口,引脚输入 缓冲

31、器,输出驱动器,上拉电阻,输出锁存器,端口输入 缓冲器,2.4.1 P1口,一、P1口输出 输出1:将1写入P1口某一位的锁存器,使输出驱动器的场效应管T截止,该位的引脚由内部上拉电阻拉成高电平,输出为1。 输出0:将0写入锁存器,使场效应管导通,则输出引脚为低电平。 不需要外接上拉电阻:因P1口内各位有上拉电阻,所以在输出高电平时,能向外提供拉电流负载。,2.4.1 P1口,二、P1口输入 输入通道建立:当P1口的某位用作输入时,该位的锁存器必须锁存输出1(该位先写1),使输出场效应管T截止,才能够正确输入。 输入:这时从引脚输入的值决定于外部信号的高低,引脚状态经“读引脚”信号打开的三态缓

32、冲器2,送入内部总线。,2.4.1 P1口,准双向口特点 输入时必须向对应位先写1:因为有可能前面的操作使引脚输出0,场效应管T处于导通状态,引脚被箝位为0,这样,不管外部信号为何状态,从引脚输入的永远为0,不能够正确输入。 单片机端口输入前必须先向端口输出1这种特性,称为准双向口。 MCS-51单片机的P0P3口作为通用I/O口使用时,都是准双向口。,2.4.1 P1口,三、P1口作“读修改写”操作 “读修改写”操作概念:在CPU执行某些指令时,需要先从P1口读入数据,经过某些操作后,再从P1口输出,这样的操作称为“读修改写”操作。 例如:指令“INC P1”,其操作先把P1口原来的值读入(

33、读入的是锁存器中的值,而不是引脚的值),然后加上1,最后把结果再从P1口输出。 表2-6给出了P0P3口所有的“读修改写”指令。,2.4.1 P1口,端口输入 缓冲器,2.4.1 P1口,2.4.2 P2口,P2口是一个双功能口,一是通用I/O口,二是以总线方式访问外存时的高8位地址口。 端口结构:与P1口的结构类似,但比P1口多了一个多路切换开关MUX和反相器3。,读引脚,内部总线,写锁存器,读锁存器,1,2,Vcc,P2.x,T,R,MUX,地址,控制,3,DQ 锁存器 CL Q,2.4.2 P2口,一、P2口作通用I/O口 一般I/O读/写操作指令:如执行“MOV A,P2”指令、执行“

34、MOV P2,B”指令。 I/O口通道:由内部硬件自动使开关MUX拨向下边,与锁存器的输出端Q接通,这时P2口为通用I/O口,与P1口一样。 I/O口读/写操作:可以随时做输出,输入时要考虑其准双向口,先输出1。,2.4.2 P2口,二、P2口输出高8位地址 高8位地址输出通道:当进行总线读/写操作(执行“MOVX”指令)时, MUX开关在硬件控制下自动拨向上边,P2口输出高8位地址。 总线操作指令: “MOVX A,Ri”或“MOVX Ri,A” “MOVX A,DPTR”、 “MOVX DPTR,A” “MOVC A,A+DPTR” P2口始终输出高8位地址。 此时,P2口不能作为一般I/

35、O口使用。,2.4.2 P2口,使用片外程序存储器: CPU从片外程序存储器每读一条指令,P2口就输出一次高8位地址。 由于CPU需要一直读取指令,P2口始终要输出高8位地址。 在这种情况下P2口不能够作为通用I/O口使用。,2.4.3 P3口,P3口是一个多功能口,某位结构如图2-12 P3口的结构:与P1口比较,多了“与非门”3、缓冲器4。 正是这两个部分,使得P3口具有第2功能 “与非门”3的作用:实际上是一个开关,决定是输出锁存器Q端数据,还是输出第2功能(W)的信号。,2.4.3 P3口,图2-12 P3口某一位的原理结构,第2功能输入,读引脚,内部总线,写锁存器,DQ 锁存器 CL

36、 Q,Vcc,读锁存器,P3.x,T,R,第2功能输出,3,W,1,2,4, /P3.2脚为低等待 while(P3_2=1); /P3.2脚为高等待 ,汇编语言程序为: JNB P3.2, $ JB P3.2, $ RETI,2.6.4 节电工作方式,单片机节电工作是某些应用的关键。 对于CHMOS工艺的单片机,有空闲和掉电两种节电工作方式。 节电工作方式由电源控制寄存器PCON控制 一、电源控制寄存器PCON,2.6.4 节电工作方式,SMOD:波特率倍频位。 若此位为1,则串行口方式1、方式2和方式3的波特率加倍。 GF1、GF0:用户标志位。 PD:掉电方式控制位。 此位写1,单片机进入掉电方式。此时系统时钟电路停止工作,致使系统所有部件停止工作,系统功耗达到最低。,2.6.4 节电工作方式,IDL:空闲方式控制位。 此位写1,单片机进入空闲方式。此时停止给CPU提供时钟,CPU停止工作,而其它部件仍正常工作。 如果同时向PD和IDL两位写1,则PD优先,进入掉电方式。 PCON的复位值为:00000B,2.6.4 节电工作方式,二、空闲工作方式 空闲方式又叫等待方式、待机方式。 1、进入空闲方式 (1)进入方式:置IDL为1 (2)状态 这时,内部时钟不向CPU提供, CPU的内部状态保持不变,即SP、PC、PSW、ACC等保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论