nj单片机原理及应用(C语言版)第2章_第1页
nj单片机原理及应用(C语言版)第2章_第2页
nj单片机原理及应用(C语言版)第2章_第3页
nj单片机原理及应用(C语言版)第2章_第4页
nj单片机原理及应用(C语言版)第2章_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用单片机原理及应用 (C语言版)语言版)第第2章章 MCS-51单片机结构与原理单片机结构与原理主主 编:编:周国运周国运中国水利水电出版社中国水利水电出版社第第2章章 MCS-51单片机结构与原理单片机结构与原理本章讨论本章讨论MCS-51单片机的结构和工作原单片机的结构和工作原理,是单片机的基本内容理,是单片机的基本内容,不仅是学习后面,不仅是学习后面各个章节的基础,也是从事单片机应用开发各个章节的基础,也是从事单片机应用开发的基础。的基础。2.1 MCS-51单片机内部结构及单片机内部结构及CPU 主要内容主要内容2.1.1 MCS-51单片机的功能结构及特点单片机的功能结

2、构及特点2.1.2 MCS-51单片机的内部原理结构单片机的内部原理结构2.1.3 MCS-51单片机的单片机的CPU2.1.1 MCS-51单片机的功能结构及特点单片机的功能结构及特点 MCS-51单片机的内部功能结构如图单片机的内部功能结构如图2-1所示,图中以增强型单片机的结构为对象。所示,图中以增强型单片机的结构为对象。 89C52CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR316位位定时器定时器/计数器计数器可编程可编程I/O口口程序存储器程序存储器8KB ROM可编程全双工可编程全双工串行口串行口89C52单

3、片机结构框图单片机结构框图用于存放可以读/写的数据用于存放程序、原始数据89C51CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR316位位定时器定时器/计数器计数器可编程可编程I/O口口程序存储器程序存储器8KBROM可编程全双工可编程全双工串行口串行口外部时钟源外部时钟源89C52单片机结构框图单片机结构框图外部事件计数外部事件计数89C51CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR316位位定时器定时器/计数器计数器可编程可编程I/O口口程序存

4、储器程序存储器8KBROM可编程全双工可编程全双工串行口串行口控制控制并行口并行口串行通信串行通信外部时钟源外部时钟源外部事件计数外部事件计数89C52单片机结构框图单片机结构框图外中断外中断内中断内中断 图图2-2 MCS-51(增强型增强型)单片机原理结构图单片机原理结构图XTAL2 XTAL1P3.0P3.7P1.0P1.7RAM地址地址端口端口0驱动器驱动器端口端口2驱动器驱动器8KB FlashROM端口端口0锁存器锁存器端口端口2锁存器锁存器端口端口1驱动器驱动器端口端口3驱动器驱动器端口端口1锁存器锁存器端口端口3锁存器锁存器暂存器暂存器1SPPSWB寄存器寄存器暂存器暂存器2A

5、CC256BRAM128B SFR缓冲器缓冲器PC加加1PC程序地址寄存器程序地址寄存器DPTR定时器、串行口定时器、串行口中断部件及中断部件及特殊功能寄存器特殊功能寄存器地址总线地址总线数据总线数据总线P2.0P2.7Vcc GND指令寄存器指令寄存器指令译码器指令译码器指令控制器指令控制器P0.0P0.7PSENALEEA RST ALU2.1.3 MCS-51单片机的单片机的CPU MCS-51单片机内部有一个功能强大的单片机内部有一个功能强大的8位位CPU,它包含两个基本部分,运算器和控,它包含两个基本部分,运算器和控制器。制器。一、运算器一、运算器运算器包括:运算器包括:算术和逻辑运

6、算部件算术和逻辑运算部件ALU(Arithmetic Logic Unit)以及以及累加器累加器ACC、寄存器寄存器B、暂存器暂存器1、暂存器暂存器2、程序状态字寄存器、程序状态字寄存器PSW、布尔处布尔处理器理器等。等。2.1.3 MCS-51单片机的单片机的CPU1、算术逻辑运算部件、算术逻辑运算部件ALUALU可以对可以对4位(半字节)、位(半字节)、8位(一字位(一字节)和节)和16位(双字节)数据进行操作。位(双字节)数据进行操作。这些操作可以是:这些操作可以是:算术运算:算术运算:加、减、乘、除、加加、减、乘、除、加1、减、减1、BCD码数的十进制调整及比较等;码数的十进制调整及比

7、较等;逻辑运算:逻辑运算:与、或、异或、求补及循环与、或、异或、求补及循环移位等。移位等。 2.1.3 MCS-51单片机的单片机的CPU2、累加器、累加器ACCACC在在CPU结构中占有特殊的位置,所结构中占有特殊的位置,所以以ACC在指令中使用的非常多。在指令中使用的非常多。 ACC既做源操作数又做目的操作数既做源操作数又做目的操作数,如,如在加、减、乘、除算术运算指令中,在与、在加、减、乘、除算术运算指令中,在与、或、异或、循环移位逻辑运算指令等。或、异或、循环移位逻辑运算指令等。ACC也作为通用寄存器使用也作为通用寄存器使用,并且可以,并且可以按位操作,所以按位操作,所以ACC是一个用

8、处最多、最忙是一个用处最多、最忙碌的寄存器。碌的寄存器。在指令中用助记符在指令中用助记符A来表示来表示。 2.1.3 MCS-51单片机的单片机的CPU3、B寄存器寄存器B做专门应用:做专门应用:在乘、除运算时,用来存在乘、除运算时,用来存放一个操作数,并且存放运算后的部分结果。放一个操作数,并且存放运算后的部分结果。B做一般应用:做一般应用:在非乘、除运算中,在非乘、除运算中,B可可以作为通用寄存器使用以作为通用寄存器使用。B可以按位操作可以按位操作D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)4、程序状态字、程序状态字PSW功能:功能:用于设定用于设定

9、CPU的状态和指示指的状态和指示指令执行后的状态令执行后的状态。PSW相当于其它微处理器中的相当于其它微处理器中的标志寄标志寄存器存器。格式如下:。格式如下:D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)进进位位标标志志位位 在执行加法在执行加法(或减法或减法)运算指令时,如果运运算指令时,如果运算结果最高位算结果最高位(D7)向前有进位向前有进位(或借位或借位),则,则CY位由硬件自动置位由硬件自动置1;如果运算结果最高位;如果运算结果最高位无进位无进位(或借位或借位),则,则CY清清0。 CY还是还是89C51在进行位操作在进行位操作(布尔操作布尔操作

10、)时的位累加器,在指令中用时的位累加器,在指令中用C代替代替CY。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)半半进进位位标标志志位位也称辅助进位标志。当执行加法也称辅助进位标志。当执行加法(或减法)操作时,如果运算结果(或减法)操作时,如果运算结果(和或差)的低半字节(位(和或差)的低半字节(位3)向高)向高半字节有半进位(或借位),则半字节有半进位(或借位),则AC位将被硬件自动置位将被硬件自动置1;否则;否则AC被自被自动清动清0。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)用用户户标标志志位位用户可以根据自

11、己的需用户可以根据自己的需要对要对F0位赋予一定的含位赋予一定的含义,由用户置位或复位,义,由用户置位或复位,以作为软件标志。以作为软件标志。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)工作寄存器工作寄存器组选择位组选择位 这两位的值选定哪一组工这两位的值选定哪一组工作寄存器为当前作寄存器为当前CPU的工作寄的工作寄存器组。用户可在软件中改变存器组。用户可在软件中改变RS1和和RS0值的组合,以切换值的组合,以切换当前选用的工作寄存器组。当前选用的工作寄存器组。RS1 RS0 工作寄存器组工作寄存器组 0 0 0 0 1 1 1 0 2 1 1 3D7D

12、6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)溢溢出出标标志志位位当进行补码运算时,如有当进行补码运算时,如有溢出,即当运算结果超出溢出,即当运算结果超出128127的范围时,的范围时,OV位由硬件自动置位由硬件自动置1;无;无溢出时,溢出时,OV= 0。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)保保留留位位89C51未用,未用,89C52为为F1用户标志位。用户标志位。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV- -PPSW(D0H)奇奇偶偶校校验验位位每条指令执行完后,该位始终跟踪每条指令执行完后,

13、该位始终跟踪指示累加器指示累加器A中中1的个数。如结果的个数。如结果A中有奇数个中有奇数个1,则置,则置P=1;否则;否则P = 0(偶校验)。常用于校验串行通信(偶校验)。常用于校验串行通信中的数据传送是否出错。中的数据传送是否出错。2.1.3 MCS-51单片机的单片机的CPU5、布尔处理器、布尔处理器 布尔处理器以布尔处理器以PSW中的进位标志位中的进位标志位CY作作为位累加器为位累加器(用(用C表示)。表示)。功能:功能:专门用于处理位操作专门用于处理位操作。MCS-51单片机有丰富的位处理指令:单片机有丰富的位处理指令:如如置位、位清置位、位清0、位取反、判断位值(为、位取反、判断位

14、值(为1或为或为0)转移,以及通过转移,以及通过C(指令中用(指令中用C代替代替CY)做)做位数据传送、位逻辑与、位逻辑或等位操作。位数据传送、位逻辑与、位逻辑或等位操作。 2.1.3 MCS-51单片机的单片机的CPU二、控制器二、控制器控制器控制器包括包括程序计数器程序计数器PC、指令寄存器、指令寄存器IR、指令译码器、指令译码器ID,以及,以及时钟控制时钟控制逻辑、堆逻辑、堆栈指针栈指针SP、地址指针、地址指针DPTR等。等。1、程序计数器、程序计数器PCPC是一个是一个具有自加具有自加1功能的功能的16位的计数器位的计数器PC的内容是将要执行的的内容是将要执行的下一条指令的地下一条指令

15、的地址址改变改变PC的内容就改变了程序执行的顺序的内容就改变了程序执行的顺序2.1.3 MCS-51单片机的单片机的CPU2、指令寄存器、指令寄存器IR和指令译码器和指令译码器IDIR:存放从存放从Flash ROM中读取的指令中读取的指令ID:进行译码,产生一定序列的控制信进行译码,产生一定序列的控制信号,完成指令所规定的操作。号,完成指令所规定的操作。3、堆栈、堆栈(1)堆栈的概念)堆栈的概念堆栈是在堆栈是在RAM中专门开辟的一个特殊用中专门开辟的一个特殊用途的存储区途的存储区。(2)堆栈的访问原则)堆栈的访问原则: “先进后出先进后出”、“后进先出后进先出” 。即先进入堆栈的数据后移出。

16、即先进入堆栈的数据后移出堆栈,即后进入堆栈的数据先移出堆栈。堆栈,即后进入堆栈的数据先移出堆栈。2.1.3 MCS-51单片机的单片机的CPU(3)堆栈的结构)堆栈的结构堆栈的一端的地址是固定的,称为堆栈的一端的地址是固定的,称为栈底栈底;另一端的地址是动态变化的,称为另一端的地址是动态变化的,称为栈顶栈顶。 (4)堆栈的操作方式)堆栈的操作方式堆栈有两种操作方式堆栈有两种操作方式:数据:数据进栈进栈和数据和数据出栈出栈。,这就必然,这就必然是按照是按照“先进后出先进后出”、“后进先出后进先出”的方的方式存取数据。式存取数据。2.1.3 MCS-51单片机的单片机的CPU(5)堆栈的应用)堆栈

17、的应用主要是用来暂时存放数据,主要是用来暂时存放数据,有两种情况有两种情况使用堆栈:使用堆栈:一是一是CPU自动使用堆栈自动使用堆栈,当调用子程序,当调用子程序或响应中断,处理中断服务程序时,或响应中断,处理中断服务程序时,CPU自动将自动将返回地址存放到堆栈返回地址存放到堆栈中;中;通过堆栈通过堆栈传递参数传递参数。二是程序员使用堆栈二是程序员使用堆栈,用堆栈暂时存放,用堆栈暂时存放数据。数据。2.1.3 MCS-51单片机的单片机的CPU4、堆栈指针、堆栈指针SP堆栈指针堆栈指针SP(Stack Pointer)中为栈顶中为栈顶的地址的地址,即,即SP指向栈顶指向栈顶。SP是访问堆栈的间址

18、寄存器是访问堆栈的间址寄存器SP具有自动加具有自动加1、自动减、自动减1功能功能。当数据。当数据进栈时,进栈时,SP先自动加先自动加1,然后,然后CPU将数据存将数据存入;入;当数据出栈时,当数据出栈时,CPU先将数据送出,先将数据送出,然后然后SP自动减自动减1。数据进栈时数据进栈时SPSP的变化过程。的变化过程。6AH69H68H67H66H65H64H63H62H61H60H SPA2A1A3A4A5先增后入的原先增后入的原则则6AH69H68H67H66H65H64H63H62H61H60H SPA2A1A3A4A5数据出栈时数据出栈时SPSP的变化过程。的变化过程。先出后减的原先出后

19、减的原则则2.1.3 MCS-51单片机的单片机的CPU5、数据指针、数据指针DPTRDPTR是唯一的是唯一的16位寄存器位寄存器。DPTR既可以作为一个既可以作为一个16位寄存器使用,位寄存器使用,也可以作为两个独立的也可以作为两个独立的8位寄存器使用位寄存器使用。其。其高字节寄存器用高字节寄存器用DPH表示,低字节寄存器表示,低字节寄存器用用DPL表示。表示。DPTR的用途:的用途: (1)主要用于存放主要用于存放16位地位地址址,以便对,以便对64KB的片外的片外RAM和和64KB的程的程序存储空间作间接访问。序存储空间作间接访问。 (2)其次用于存放其次用于存放数据数据,作为一般寄存器

20、使用。,作为一般寄存器使用。2.2 MCS-51单片机引脚与总线结构单片机引脚与总线结构 主要内容主要内容2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能2.2.2 MCS-51单片机外部总线结构单片机外部总线结构2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 封装:封装:40DIP, 44PLCC。常用常用40DIP40个引脚分个引脚分为为4类:类:l 电源引脚电源引脚l 晶振引脚晶振引脚l 控制信号控制信号l 输入输入/输出引输出引脚脚T2/P1.0T2EX/P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD/P3.0TXD/P3

21、.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1Vss89C5189C5240393837363534333231302928272625242322211234567891011121314151617181920VccP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8一、电源引脚一、电源引

22、脚 Vcc(40脚):接脚):接5V电源正端电源正端Vss(20脚):接脚):接5V电源地端电源地端二、晶振引脚二、晶振引脚XTAL1(19脚)脚)XTAL2(18脚)脚)C1和C2取30pF左右,做微调电容。2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 三、控制信号引脚三、控制信号引脚1、RST/VPD(9脚)脚)RST:复位信号输入端复位信号输入端,高电平有效高电平有效。单片机正常工作时:单片机正常工作时:RST保持两个机器保持两个机器周期的高电平就会使单片机复位;周期的高电平就会使单片机复位;上电时:上电时:RST上的高电平必须保持上的高电平必须保持10ms以上才能保

23、证有效复位,由于振荡器需要以上才能保证有效复位,由于振荡器需要一定的起振时间。一定的起振时间。VPD:备用电源输入端备用电源输入端,以保持内部,以保持内部RAM中的数据不丢失。中的数据不丢失。当当Vcc的电压降低的电压降低到低电平规定的值或掉电时到低电平规定的值或掉电时,接入电源。,接入电源。 2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 2、ALE/PROG(30引脚)引脚)ALE:地址锁存信号地址锁存信号,每个机器周期输,每个机器周期输出两个正脉冲,下降沿或低电平用于控制出两个正脉冲,下降沿或低电平用于控制外接的地址锁存器,锁存从外接的地址锁存器,锁存从P0口输出的低口

24、输出的低8位地址。位地址。可以将可以将ALE作为时钟信号使用作为时钟信号使用。PROG:片内程序存储器的编程脉冲输片内程序存储器的编程脉冲输入端入端,低电平有效。,低电平有效。2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 3、PSEN(29引脚)引脚)片外程序存储器读选通信号输出端片外程序存储器读选通信号输出端,每个,每个机器周期输出两个负脉冲,低电平有效。在机器周期输出两个负脉冲,低电平有效。在访问片外数据存储器时,该信号不出现。访问片外数据存储器时,该信号不出现。4、EA/Vpp(31引脚)引脚)EA:程序存储器选择输入端程序存储器选择输入端。低电平时,低电平时,使用片

25、外程序存储器;高电平时,使用片内使用片外程序存储器;高电平时,使用片内程序存储器程序存储器。Vpp:片内程序存储器编程电压输入端。片内程序存储器编程电压输入端。2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 五、输入五、输入/输出引脚输出引脚1、P0口,口,P0.0P0.7(3239引脚)引脚)P0口是一个口是一个8位漏极开路的位漏极开路的I/O口。口。P0口作总线口:口作总线口:当当CPU以总线方式访问片外存储器时,以总线方式访问片外存储器时,P0口口分时地输出低分时地输出低8位地址、读入指令和输位地址、读入指令和输入入/输出数据输出数据。P0口作为一般口作为一般I/O口:

26、口:此时此时P0口为准双向口口为准双向口(各位输入前必须(各位输入前必须先输出先输出1)。)。 2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 2、P1口,口,P1.0P1.7(18引脚)引脚)P1口是一个口是一个8位准双向位准双向I/O口口P1.0、P1.1的第二功能:的第二功能:对于增强型,对于增强型, 第二功能的信号分别为第二功能的信号分别为T2和和T2EXT2(P1.0):):定时器定时器/计数器计数器2的计数脉的计数脉冲输入和时钟输出。冲输入和时钟输出。T2EX(P1.1):):定时器定时器/计数器计数器2的重的重 装、捕获和计数方向控制输入。装、捕获和计数方向控制

27、输入。 2.2.1 MCS-51单片机引脚信号及功能单片机引脚信号及功能 3、P2口,口,P2.0P2.7(2128引脚)引脚)当当CPU以总线方式访问片外存储器时,以总线方式访问片外存储器时,P2口输出高口输出高8位地址位地址。作为一般作为一般I/O口使用时,为准双向口口使用时,为准双向口。4、P3口,口,P3.0P3.7(1017引脚)引脚)P3口是一个口是一个8位位I/O口口,还是一个双功能口还是一个双功能口作为一般作为一般I/O口使用时,口使用时,为准双向口为准双向口。各引脚第二功能如下页表各引脚第二功能如下页表2-2所示。所示。 2.2.1 MCS-51单片机引脚信号及功能单片机引脚

28、信号及功能 表表2-2 P3口各引脚第二功能定义口各引脚第二功能定义引引 脚脚第第 二二 功功 能能P3.0RXD:串行口输入:串行口输入P3.1TXD:串行口输出:串行口输出P3.2INT0:外部中断:外部中断0请求输入请求输入P3.3INT1:外部中断:外部中断1请求输入请求输入P3.4T0:定时器:定时器/计数器计数器0外部计数脉冲输入外部计数脉冲输入P3.5T1:定时器:定时器/计数器计数器1外部计数脉冲输入外部计数脉冲输入P3.6WR:外部数据存储器写控制信号输出:外部数据存储器写控制信号输出P3.7RD:外部数据存储器读控制信号输出:外部数据存储器读控制信号输出2.2.2 MCS-

29、51单片机总线结构单片机总线结构总线:总线:即三总线即三总线,指数据总线指数据总线、地址总线、地址总线、控制总线。控制总线。一般说法为:一般说法为:多个部件信息的电气连接。多个部件信息的电气连接。MCS-51单片机的总线:单片机的总线:内部具有产生总内部具有产生总线的结构。线的结构。如图如图2-6所示。所示。 单片机总线的应用:单片机总线的应用:扩展数据存储器扩展数据存储器扩展程序存储器扩展程序存储器2.2.2 MCS-51单片机总线结构单片机总线结构图图2-6 MCS-51单片机总线结构单片机总线结构地址锁存器地址锁存器74LS573A15 : : : : : :A8A7 : : : : :

30、 :A0D7 : : :D0数据总线数据总线(DB)I/O口口控制总线控制总线(CB)地址总线地址总线(AB)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6/WRP3.7/RDALEPSENEARSTP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.02.3 MCS-51单片机的存储器结构单片机的存储器结构主要内容主要内容2.3.1 程序存储器结构程序存储器结构2.3.2 片内数据存储器结构片内数据存储器结构2.3.3 片外数据存储器结构片外数据

31、存储器结构 MCS-51单片机存储器概述单片机存储器概述1、单片机的哈佛结构存储器、单片机的哈佛结构存储器MCS-51单片机为哈佛结构:单片机为哈佛结构:程序存储器程序存储器ROM和数据存储器和数据存储器RAM分开编址分开编址PC机为偌依曼:机为偌依曼:ROM和和RAM统一编址统一编址程序存储器:程序存储器:固化程序、常数和数据表固化程序、常数和数据表数据存储器:数据存储器:存放程序运行中产生的各种存放程序运行中产生的各种数据、用作堆栈等数据、用作堆栈等 2、单片机的存储器空间及分类、单片机的存储器空间及分类MCS-51单片机有单片机有4个存储空间:个存储空间:片内片内程序存储器、片内数据存储

32、器,片外程序存程序存储器、片内数据存储器,片外程序存储器、片外数据存储器。储器、片外数据存储器。4个存储空间可以分成三类:个存储空间可以分成三类:片内数据片内数据存储空间、片外数据存储空间、片内和片外存储空间、片外数据存储空间、片内和片外统一编址的程序存储空间统一编址的程序存储空间2.3.1 程序存储器结构程序存储器结构一、程序存储器结构一、程序存储器结构程序存储器空间的配置如图程序存储器空间的配置如图2-7所示。所示。片片 外外ROM片片 内内ROMEA=1片片 外外ROMEA=00000H0FFFH1000HFFFFH 51基本型片内有基本型片内有4KB的的Flash ROM,地址为,地址

33、为0000H0FFFH,片外,片外最多可以扩展最多可以扩展60KB,地,地址为址为1000HFFFFH。(a)片内有)片内有4KB的的ROM2.3.1 程序存储器结构程序存储器结构一、程序存储器结构一、程序存储器结构增强型片内有增强型片内有8KB的的Flash ROM,地址为,地址为0000H1FFFH,片外,片外最多可以扩展最多可以扩展56KB,地,地址为址为2000HFFFFH,片内外是统一编址的。片内外是统一编址的。(b)片内有)片内有8KB的的ROM片片 外外ROM片片 内内ROMEA=1片片 外外ROMEA=00000H1FFFH2000HFFFFH0000H0FFFH片内片内ROM

34、片外片外ROM1000H0000H0FFFH单片机在执行指令时,对单片机在执行指令时,对于低地址部分,究竟是从片于低地址部分,究竟是从片内程序存储器取指令,还是内程序存储器取指令,还是从片外程序存储器取指令?从片外程序存储器取指令?决定于程序存储器决定于程序存储器选择引脚选择引脚EA的电平:的电平:n当当 EA = 1 时时 程序计数器程序计数器PC在在0000H0FFFH范围范围内,从片内内,从片内ROM中取中取出指令送给出指令送给CPU执行,执行,当指令地址超过当指令地址超过0FFFH 后就自动转向后就自动转向片外片外ROM,通过,通过P0、P2口来进行取指操作。口来进行取指操作。0000

35、H0FFFH片内片内ROM片外片外ROM1000HEA=10000HPCn当当 EA = 0 时时片内片内ROM不不起作用,起作用,CPU只只能从片外能从片外ROM/EPROM中取指令。可以中取指令。可以从从 0000H 开始开始寻址。寻址。0000H0FFFH片内片内ROM片外片外ROM1000HEA=00000HPC2.3.1 程序存储器结构程序存储器结构二、程序存储器的专用区域二、程序存储器的专用区域用作复位和中断入口用作复位和中断入口表表2-3 ROM中专用存储区域中专用存储区域存储单元存储单元应应 用用0000H0002H复位后引导程序地址复位后引导程序地址0003H000AH外中断

36、外中断0000BH0012H定时器定时器0中断中断0013H001AH外中断外中断1001BH0022H定时器定时器1中断中断0023H002AH串行口中断串行口中断002BH0032H定时器定时器2中断(增强型机)中断(增强型机)2.3.1 程序存储器结构程序存储器结构中断向量:中断向量:即中断入口地址。即中断入口地址。如表如表2-4所示。所示。表表2-4 中断向量表中断向量表中中 断断 源源中断入口地址中断入口地址外中断外中断00003H定时器定时器0中断中断000BH外中断外中断10013H定时器定时器1中断中断001BH串行口中断串行口中断0023H定时器定时器2中断(增强型机)中断(

37、增强型机)002BH2.3.1 程序存储器结构程序存储器结构C语言编程所考虑的问题语言编程所考虑的问题如果用如果用C语言编写程序,不需要考虑语言编写程序,不需要考虑以上这些问题,即以上这些问题,即不用考虑引导程序问不用考虑引导程序问题题,中断入口与跳转问题中断入口与跳转问题,这些问题均,这些问题均由编译系统安排好。由编译系统安排好。main( )函数起到引导程序的作用函数起到引导程序的作用。对于中断处理,只要按照格式编写中对于中断处理,只要按照格式编写中断处理函数即可断处理函数即可(见第(见第4章)。章)。 2.3.2 片内数据存储器结构片内数据存储器结构片内数据存储器按照寻址方式,可以分片内

38、数据存储器按照寻址方式,可以分为三个部分为三个部分:低:低128字节数据区,高字节数据区,高128字节字节数据区,特殊功能寄存器区。如下图所示。数据区,特殊功能寄存器区。如下图所示。 低低128B RAMdata区区特殊功能特殊功能寄存器寄存器80HFFH00H7FH(a)89C51片内片内RAM低低128BRAMdata区区高高128BRAMidata区区特殊功能特殊功能寄存器寄存器00H7FH80HFFH80HFFH(b)增强型单片机片内)增强型单片机片内RAM2.3.2 片内数据存储器结构片内数据存储器结构一、低一、低128字节字节RAM地址范围:地址范围:00H7FH,128字节字节应

39、用特点:应用特点:有多种用途、且使用最频繁有多种用途、且使用最频繁功能作用:功能作用:分为三个区域,分为三个区域,即工作寄存即工作寄存器区、位寻址区、通用数据区。器区、位寻址区、通用数据区。低低128字节字节RAM的配置如图的配置如图2-9所示。所示。 7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1R7(第(第3组)组)工工1710R0、R1R7(第(第2组)组)作作寄寄0F08R0、R1R7(第(第1组)组)存存器器0700R0、R1R7(第(第0组)组)区区图图2-9 低低128字节字节RAM区区

40、2.3.2 片内数据存储器结构片内数据存储器结构1、工作寄存器区、工作寄存器区范围:范围:地址从地址从00H到到1FH,共,共32字节。字节。分分4个组:个组:第第0组、组、第第1组、第组、第2组、第组、第3组组工作寄存器名:工作寄存器名:R0、R1R7。 不同的组对应的不同的组对应的8个个寄存器的地址不同,寄存器的地址不同,如表如表2-1所示。所示。7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1R7(第(第3组)组)工工1710R0、R1R7(第(第2组)组)作作寄寄0F08R0、R1R7(第(第1

41、组)组)存存器器0700R0、R1R7(第(第0组)组)区区2.3.2 片内数据存储器结构片内数据存储器结构1、工作寄存器区、工作寄存器区工作寄存器组的选工作寄存器组的选择:择:决定于程序状态决定于程序状态字字PSW的的RS1和和RS0位位。见表。见表2-1。7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1R7(第(第3组)组)工工1710R0、R1R7(第(第2组)组)作作寄寄0F08R0、R1R7(第(第1组)组)存存器器0700R0、R1R7(第(第0组)组)区区2.3.2 片内数据存储器结构片内

42、数据存储器结构2、位寻址区、位寻址区范围:范围:字节地址字节地址从从20H到到2FH,16字字节。节。位地址:位地址:00H到到7FH ,128位位。用途:用途:既可以做既可以做位操作,也可以字位操作,也可以字节操作。节操作。7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1R7(第(第3组)组)工工1710R0、R1R7(第(第2组)组)作作寄寄0F08R0、R1R7(第(第1组)组)存存器器0700R0、R1R7(第(第0组)组)区区低低128字节字节RAM区区2.3.2 片内数据存储器结构片内数据存

43、储器结构3、通用数据区、通用数据区范围:范围:地址从地址从30H到到7FH,共,共80字节。字节。用途:用途:用于堆用于堆栈、存放数据、存栈、存放数据、存放程序运行时的中放程序运行时的中间结果等间结果等。7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1R7(第(第3组)组)工工1710R0、R1R7(第(第2组)组)作作寄寄0F08R0、R1R7(第(第1组)组)存存器器0700R0、R1R7(第(第0组)组)区区2.3.2 片内数据存储器结构片内数据存储器结构二、高二、高128字节字节RAM地址范围:

44、地址范围:80HFFH,128字节字节用途:用途:与低与低128字节中的字节中的30H到到7FH完全一样,完全一样,用用于堆栈、存放程序运行时于堆栈、存放程序运行时的数据和中间结果等的数据和中间结果等。2.3.2 片内数据存储器结构片内数据存储器结构三、特殊功能寄存器三、特殊功能寄存器(SFR)也称为也称为专用寄存器专用寄存器,是,是单片机中最重要的部分。单片机中最重要的部分。地址范围:地址范围:80HFFH,散,散布于高布于高128字节之内。字节之内。功能作用:功能作用:控制单片机各个部件的运控制单片机各个部件的运行行;反映各部件的运行状态反映各部件的运行状态;存放数据或地址。存放数据或地址

45、。2.3.2 片内数据存储器结构片内数据存储器结构具体特殊功能寄存器具体特殊功能寄存器SFR的数量:的数量:基本型只有基本型只有21个,增强型有个,增强型有27个;分别有个;分别有11个、个、12个可以按位操作个可以按位操作。(1)与)与CPU相关的相关的(7个)个)PWS*:程序状态寄存器:程序状态寄存器A*:累加器:累加器B*:辅助运算寄存器:辅助运算寄存器SP:堆栈指针:堆栈指针PCON:电源控制寄存器:电源控制寄存器DPL、DPH:数据指针的低字节、高字节:数据指针的低字节、高字节2.3.2 片内数据存储器结构片内数据存储器结构(2)与定时器相关的)与定时器相关的(12个)个)TMOD

46、:模式寄存器:模式寄存器TCON*:控制寄存器:控制寄存器TL0、TH0:T0低低8位、高位、高8位计数器位计数器TL1、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*:

47、串行口控制寄存器:串行口控制寄存器SBUF:串行口数据缓冲寄存器,:串行口数据缓冲寄存器,2个个(5)与)与I/O口相关的口相关的(4个)个)P0*、P1*、P2*、P3*4个并行口映射寄存器个并行口映射寄存器2.3.3 片外数据存储器结构片外数据存储器结构地址范围:地址范围:0000HFFFFH容量:容量:共共64KB访问指令:访问指令:“MOVX”(片内用(片内用MOV)使用使用“MOVX”指令指令对片外对片外RAM进行读进行读/写操作时,写操作时,会自动产生读会自动产生读/写控制信号写控制信号RD和和WR,作用于片外,作用于片外RAM实现读实现读/写操作。写操作。2.3.3 片外数据存储

48、器结构片外数据存储器结构片外片外RAM的的用途:用途:(1)没有特别的用途)没有特别的用途,不像片内,不像片内RAM,不划分区域。不划分区域。(2)片外)片外RAM做通用做通用RAM使用使用,主要,主要存放大量采集的或接收的数据、运算的中间存放大量采集的或接收的数据、运算的中间数据、最后结果、用作堆栈等。数据、最后结果、用作堆栈等。 2.4 MCS-51单片机的输入单片机的输入/输出端口输出端口主要内容主要内容2.4.1 P1口口2.4.2 P2口口2.4.3 P3口口2.4.4 P0口口2.4.5 端口的负载能力端口的负载能力和接口要求和接口要求I/O端口概述端口概述189C51单片机有四个

49、单片机有四个8位并行位并行I/O端口:端口:P0、P1、P2和和P3。2每个端口都是每个端口都是8位准双向口,共占位准双向口,共占32根引脚。根引脚。3每一条每一条I/O线都能独立地用作输入或输出。线都能独立地用作输入或输出。4每个端口都包括一个锁存器(即特殊功能寄存器每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出时),一个输出驱动器和输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲。数据可以锁存,作输入时数据可以缓冲。2.4.4 P0口口控制控制C图2-13 P0口某位的结构图一、结构一、结构读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入

50、DCPQQ地址地址/数据数据MUX312锁存器锁存器 VCCT1T2P0.X4C=02.4.4 P0口口图2-13 P0口某位的结构图一、结构一、结构读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据控制控制CMUX312锁存器锁存器 VCCT1T2P0.X4C=11、P0口用作输出口2、P0口作输入口2.4.4 P0口口二、二、 P0口作为一般口作为一般I/O口使用口使用二、二、 P0口作为一般口作为一般I/O口使用口使用1、 P0口用作输出口口用作输出口控制控制C读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据MUX312锁存器

51、锁存器 VCCT1T2P0.X4C=0101二、二、 P0口作为一般口作为一般I/O口使用口使用1、 P0口用作输出口口用作输出口控制控制C读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据MUX312锁存器锁存器 VCCT1T2P0.X4C=0VCCP0口做I/O口时接上拉电阻二、二、 P0口作为一般口作为一般I/O口使用口使用2、 P0口用作输入口口用作输入口控制控制C读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据MUX312锁存器锁存器 VCCT1T2P0.X4C=01VCC二、二、 P0口作为一般口作为一般I/O口使用口使

52、用2、 P0口用作输入口口用作输入口控制控制C读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据MUX312锁存器锁存器 VCCT1T2P0.X4C=01100VCC总结总结P0口作为一般口作为一般I/O口使用时必须注意两点:口使用时必须注意两点:1、作为输出口时,引脚必须外接上拉电阻;、作为输出口时,引脚必须外接上拉电阻;2、作为输入口时,在读入引脚数据前,必、作为输入口时,在读入引脚数据前,必须先向端口锁存器写入须先向端口锁存器写入“1”。二、二、 P0口作为一般口作为一般I/O口使用口使用1、P0口用作输出地址口用作输出地址/数据总线数据总线2.4.4 P0

53、口口三、三、 P0口作为地址口作为地址/数据总线使用数据总线使用读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据控制控制CMUX312锁存器锁存器 VCCT1T2P0.X4C=12、从、从P0口输入数据口输入数据2.4.4 P0口口三、三、 P0口作为地址口作为地址/数据总线使用数据总线使用读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址/数据数据控制控制CMUX312锁存器锁存器 VCCT1T2P0.X4C=12.4.1 P1口口一、一、P1口结构口结构二、二、P1口用作通用口用作通用I/O图2-10 P1口某位的结构图2.4.1 P1口

54、口一、一、 P1口结构口结构读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQQVCCP1.X12锁存器锁存器T图2-10 P1口某位的结构图2.4.1 P1口口一、一、 P1口结构口结构读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQQVCCP1.X12锁存器锁存器T图2-10 P1口某位的结构图2.4.1 P1口口二、二、 P1口用作通用口用作通用I/O口口读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQQVCCP1.X12锁存器锁存器T2.4.2 P2口口一、一、P2口结构口结构二、二、P2口用作一般口用作一般I/O口口三、三、P2口用作高口用作高8位地

55、址总线位地址总线2.4.2 P2口口一、一、 P2口结构口结构读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址控制控制CMUXVCCP2.X锁存器锁存器图2-11 P2口某位的结构图2.4.2 P2口口二、二、 P2口用作一般口用作一般I/O口口读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址控制控制CMUXVCCP2.X锁存器锁存器2.4.2 P2口口三、三、 P2口用作高口用作高8位地址总线位地址总线读引脚读引脚读锁存器读锁存器内部内部总线总线写入写入DCPQQ地址地址控制控制CMUXVCCP2.X锁存器锁存器当CPU对片外存储器或I/O口进行读

56、/写(执行MOVX指令或EA=0时执行MOVC指令)时,输出高8位地址2.4.3 P3口口一、结构一、结构二、P3口作为通用口作为通用I/O口使用口使用三、三、P3口用作第二功能使用口用作第二功能使用2.4.3 P3口口一、一、 P3口结构口结构读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQVCCP3. X12锁存器锁存器T243第二输入功能第二输入功能第二输出功能第二输出功能W图2-12 P3口某位的结构图2.4.3 P3口口一、一、 P3口结构口结构读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQVCCP3. X12锁存器锁存器T243第二输入功能第二输入功能第二

57、输出功能第二输出功能W图2-12 P3口某位的结构图W=1时,输出时,输出Q端端信号,信号,Q =1时,输时,输出出W端信号。端信号。2.4.3 P3口口读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQVCCP3. X12锁存器锁存器T243第二输入功能第二输入功能第二输出功能第二输出功能W图2-12 P3口某位的结构图1xxxx二、二、 P3口作为通用口作为通用I/O口使用口使用2.4.3 P3口口三、三、 P3口用作第二功能使用口用作第二功能使用读引脚读引脚读锁存器读锁存器内部总线内部总线写入写入DCPQVCCP3. X12锁存器锁存器T243第二输入功能第二输入功能第二输出功

58、能第二输出功能W图2-12 P3口某位的结构图1yyy2.4.3 P3口口 表表2-2 P3口各引脚第二功能定义口各引脚第二功能定义引引 脚脚第第 二二 功功 能能P3.0RXD:串行口输入:串行口输入P3.1TXD:串行口输出:串行口输出P3.2INT0:外部中断:外部中断0请求输入请求输入P3.3INT1:外部中断:外部中断1请求输入请求输入P3.4T0:定时器:定时器/计数器计数器0外部计数脉冲输入外部计数脉冲输入P3.5T1:定时器:定时器/计数器计数器1外部计数脉冲输入外部计数脉冲输入P3.6WR:外部数据存储器写控制信号输出:外部数据存储器写控制信号输出P3.7RD:外部数据存储器

59、读控制信号输出:外部数据存储器读控制信号输出 当当P3口用于第二功能时,口用于第二功能时,8个引脚可按位个引脚可按位独立定义。独立定义。见表见表2- -2。2.4.5 端口的接口要求和负载能力端口的接口要求和负载能力1、P0口:口:u 当把它用作通用当把它用作通用I/O口使用时,用其输出去驱动口使用时,用其输出去驱动NMOS输入时需外接上拉电阻。用作输入时,应先输入时需外接上拉电阻。用作输入时,应先向口锁存器(向口锁存器(80H)写)写1。u 把它当作地址把它当作地址/数据总线时(数据总线时(8031情况),则无需情况),则无需外接上拉电阻。用作数据输入时,也无需先写外接上拉电阻。用作数据输入

60、时,也无需先写“1”。P0口的每一位输出可驱动口的每一位输出可驱动8个个LS型型TTL负载。负载。2.4.5 端口的接口要求和负载能力端口的接口要求和负载能力 2、P1P3口:口:u 89C51单片机(单片机(HMOS)的)的P1-P3口无需外接口无需外接上拉电阻。上拉电阻。u P1P3口也都是准双向口。作为输入时,必须口也都是准双向口。作为输入时,必须先对相应端口锁存器写先对相应端口锁存器写1。 u 每一位输出可驱动每一位输出可驱动4个个LS型型TTL负载。负载。 2.5 MCS-51单片机的时钟及单片机的时钟及CPU时序时序主要内容主要内容2.5.1 时钟电路及时钟信号时钟电路及时钟信号2

温馨提示

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

评论

0/150

提交评论