C单片机的结构及原理实用.pptx
《C单片机的结构及原理实用.pptx》由会员分享,可在线阅读,更多相关《C单片机的结构及原理实用.pptx(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.1 80C512.1 80C51单片机的结构与原理 2.1.1 80C512.1.1 80C51单片机系列 IntelIntel公司推出的80C5180C51是MCS-51MCS-51系列单片机中以CHMOSCHMOS为生产工艺的一个典型产品;其它厂商以80518051为基核开发出的CMOSCMOS工艺单片机产品统称为80C5180C51系列。当前常用的80C5180C51系列单片机主要产品有:1 1、IntelIntel公司的:80C3180C31、80C5180C51、87C5187C51、80C3280C32、80C5280C52、87C5287C52等。2 2、ATMELATMEL
2、公司的:89C5189C51、89C5289C52、89C205189C2051、89S5189S51等。3 3、PhilipsPhilips公司的80C5180C51、80C55080C550、80C55280C552系列。4 4、MotorolaMotorola公司M68HC05M68HC05系列。5 5、华邦公司的W78C51W78C51、W77C51W77C51高速低价系列。6 6、MaximMaxim公司的DS89C420DS89C420高速(50MIPS50MIPS)系列。7 7、CygnalCygnal公司的C8051FC8051F系列高速SOCSOC单片机。8 8、ADIADI
3、公司的ADC8xxADC8xx高精度ADCADC系列。9 9、LGLG公司的GMS90/97GMS90/97低压高速系列。第1页/共89页2.1.2 80C512.1.2 80C51单片机的结构 80C5180C51单片机的结构框图如图2-12-1所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:(1 1)8 8位 CPU 1CPU 1个 。(2 2)时钟电路(振荡电路和时序OSCOSC)。(3 3)4KB4KB程序存储器(ROM/EPROM/FlshROM/EPROM/Flsh),可外扩展到64KB64KB。(4 4)128B128B数据存储器RAMRAM,可外扩
4、展到64KB64KB。(5 5)2 2个1616位定时/计数器。(6 6)64KB64KB总线扩展控制电路。(7 7)4 4个8 8位并行I/OI/O接口P0P0P3P3。(8 8)1 1个全双工异步串行I/OI/O接口。(9 9)中断系统:5 5个中断源,其中包括2 2个优先级嵌套中断。第2页/共89页第3页/共89页2.1.3 80C512.1.3 80C51单片机的内部结构 80C51单片机的内部结构如图2-2所示,它由CPU、存储器、I/O口及SFR(特殊功能寄存器)等组成。具体说明如下:1、80C51 CPU 80C51 CPU即微处理器,是一8位CPU,是单片机的核心部件,是计算机
5、的控制指挥中心。同微型计算机CPU类似,80C51内部CPU由运算器和控制器两部分组成。(1)运算器 组成:由算术运算/逻辑运算单元ALU(Arithmetic Logic Unit)为核心,由暂存器1、暂存器2、累加器ACC(Accumulator)、寄存器B及程序状态寄存器PSW(Program Status Word)组成。主要任务:是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保存。第4页/共89页图2-2 80C51单片机的内部结构第5页/共89页 (2 2)控制器 组成:由程序计数器(PC)(PC)、PCPC增1 1寄存器、指令寄存器(I
6、R)(IR)、指令译码器(ID)(ID)、数据指针(DPTR)(DPTR)、堆栈指针(SP)(SP)、缓冲器及定时控制电路等组成。主要任务:完成指挥控制工作,协调单片机各部分正常工作。2 2、80C5180C51的片内存储器 80C5180C51的片内存储器与一般微机的存储器的配置不同。一般微机的ROMROM和RAMRAM安排在同一空间的不同范围(称为普林斯顿结构)。而80C5180C51单片机的存储器在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构)。第6页/共89页2.1.4 80C51单片机的引脚及功能 80C51单片机的封装是采用双列直插式(DIP)封装,引脚图如图2-
7、3(a)所示。80C51的40个引脚及功能描述如下:1、电源引脚(2根)(1)VCC(40脚):电源端,接+5V电源。(2)VSS(20脚):接地端。2、时钟引脚(2根)(1)XTAL1(19脚):晶体振荡器接入的一个引脚。采用外部时钟电路时,此引脚应接地。(2)XTAL2(18脚):晶体振荡器接入的另一个引脚。使用外部时钟时,此引脚应接外部时钟的输入端。3、控制引脚(4根)(1)RST/VPD(9脚):复位信号输入引脚/备用电源输入引脚。说明:当RST引脚保持两个机器周期的高电平后,就可以使80C51完成复位操作。该引脚的第二功能是VPD,即备用电源的输入端,具有掉电保护功能。若在该引脚接+
8、5V备用电源,在使用中若主电源VCC掉电,可保护片内RAM中的信息不丢失。第7页/共89页第8页/共89页 (2)ALE/PROG(30脚):地址锁存允许信号输出引脚/编程脉冲输入引脚。说明:在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振fosc/6的固定频率输出的正脉冲(fosc代表振荡器的频率),因此,可作为外部时钟或外部定时脉冲使用。该引脚的第二功能是对8751内部4KB EPROM编程写入时,作为编程脉冲的输入端。(3)EA/VPP(31脚):外部程序存储器地址允许输入信号引脚/编程电压输入信号引脚。说明:当EA接高电
9、平时,CPU执行片内ROM指令,当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA接低电平时,CPU只执行片外ROM指令。该引脚的第二功能VPP是对8751片内EPROM编程写入时,作为21V编程电压的输入端。(4)PSEN(29脚):片外ROM读选通信号。说明:在读片外ROM时,为低电平(有效),以实现对片外ROM的读操作。第9页/共89页 4 4、并行I/OI/O引脚(32(32根,由4 4个8 8位口构成)其中:(1 1)P0.0P0.0P0.7(39P0.7(393232脚):一般的8 8位双向I/OI/O口引脚或数据/地址总线低8 8位复用引脚。说明:P0P0口即可作数据
10、/地址总线使用,又可作一般的I/OI/O口使用。当CPUCPU访问片外存储器时,P0P0口分时先作低8 8位地址总线,后作双向数据总线,此时,P0P0口就不能再作一般I/OI/O口使用。(2 2)P1.0P1.0P1.7(1P1.7(18 8脚):P1P1口作为一般的8 8位准双向I/OI/O口使用。(3 3)P2.0P2.0P2.7(21P2.7(212828脚):一般8 8位准双向I/OI/O口引脚或高8 8位地址总线引脚。说明:P2P2口即可作为一般的I/OI/O口使用,也可作为片外存储器的高8 8位地址总线,与P0P0口配合,组成1616位片外存储器单元地址,可访问64KB64KB的存
11、储空间。(4 4)P3.0P3.0P3.7(10P3.7(101717脚):一般8 8位准双向I/OI/O口引脚或第二功能引脚。说明:P3P3口除了作为一般的I/OI/O口使用之外,每个引脚还具有第二功能,P3P3的8 8条口线都定义有第二功能,详见表2-2-1(a)1(a)第10页/共89页表2-1 P3口各引脚与第二功能表 第11页/共89页2.2 80C512.2 80C51单片机的存储器组织 80C51的存储器在物理结构为哈佛结构,它将程序存储器和数据存储器分开,如图2-4所示。从物理地址空间看,80C51单片机有四个存储器地址空间,即片内数据存储器(简称片内RAM)、片内程序存储器(
12、片内ROM)、片外数据存储器(片外RAM)和片外程序存储器(片外ROM)。第12页/共89页 但从使用的角度来看,80C51的存储器又分为三个逻辑空间,如图2-5所示。1、片内外统一寻址的64KB程序存储器空间,地址范围为0000HFFFFH(访问用指令MOVC)。2、64KB的片外数据存储器空间,地址范围也为0000HFFFFH(访问用指令MOVX)。3、80C51的片内数据存储器RAM只有128B,地址范围为00H7FH;80C52的片内数据存储器RAM为256B,地址范围为00HFFH(访问用指令MOV)。第13页/共89页2.2.1 80C512.2.1 80C51单片机的程序存储器R
13、OMROM 80C51内部有4KB的掩膜ROM。80C51的片外最多能扩展64 KB程序存储器,片内外的ROM是统一编址的。80C51程序存储器ROM空间地址分布图如图2-6(a)所示。第14页/共89页 对图2-6(a)ROM空间地址分布图作如下说明:1、80C51片内有4KB的ROM存储单元,地址为0000H0FFFH。2、80C51片外最多可扩60KB的ROM,地址为1000HFFFFH。第15页/共89页2.2.2 80C51ROM2.2.2 80C51ROM低地址特殊单元 80C5180C51的程序存储器低地址单元中有6 6个单元具有特殊功能,见图2-62-6(b b)所示,使用时应
14、予以注意其含义。1、0000H0002H:单片机复位后的程序入口地址 (3个单元)。2、0003H000AH:外部中断0的中断服务程序入口地址 (8个单元)。3、000BH0012H:定时器0的中断服务程序入口地址 (8个单元)。4、0013H001AH:外部中断1的中断服务程序入口地址 (8个单元)。5、001BH0022H:定时器1的中断服务程序入口地址 (8个单元)。6、0023H002AH:串行口的中断服务程序入口地址 (8个单元)。第16页/共89页 具体应用时注意:第一组特殊单元是0000H0002H,3个单元不可能安排长程序,因此,系统复位后(PC)=0000H,80C51单片机
15、从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这3个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。第二组特殊单元是0003H002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。第17页/共89页2.2.3 80C512.2.3 80C51单片机的数据存储
16、器RAM RAM 80C51数据存储器RAM主要用来存放运算的中间结果和数据等。80C51单片机数据存储器RAM分为片内RAM和片外RAM两大部分,如图2.7所示。80C51的片内数据存储器RAM只有128B,地址范围为00H7FH;80C52的片内数据存储器RAM为256B,地址范围为00HFFH。片外数据存储器RAM最多可扩至64KB存储单元,地址范围为0000HFFFFH。说明两点:80C52的片内RAM地址空间共有256B,又分为两个部分:低128B(00H7FH)RAM区与80C51的RAM区相同(访问时采用直接或间接寻址方式均可)。高128B(80HFFH)RAM区,在访问这个区只
17、能用寄存器间接寻址。需要注意是该地址范围与特殊功能寄存器(SFR)区相重叠,区别是访问特殊功能寄存器区采用直接寻址方式。片内RAM和片外RAM的低端地址0000H007FH区是相重叠的,因此,就需要采用不同的寻址方式来解决。访问片内RAM时用指令MOV,而访问片外RAM时用指令MOVX,另外片外RAM不能进行堆栈操作。第18页/共89页 在80C5180C51单片机中,尽管片内RAMRAM的容量不大,但它的功能多,使用灵活。下面分别对低128B RAM128B RAM区和高128B128B特殊功能寄存器(SFR)(SFR)区进行讨论。一、内部数据存储器低128128单元 内部数据存储器低128
18、单元是指地址为00H7FH单元,如图2-8所示。低128单元是单片机的真正RAM存储器,按其用途划分为工作寄存器区、位寻址区和用户RAMRAM区三个区域。1 1、工作寄存器区 80C51单片机内部RAM的00H1FH地址单元,共32B,分成4组工作寄存器,每组8个工作寄存单元。寄存器0 0组:地址00H00H07H07H(R0R0R7R7)寄存器1 1组:地址08H08H0FH0FH(R0R0R7R7)寄存器2 2组:地址10H10H17H17H(R0R0R7R7)寄存器3 3组:地址18H18H1FH1FH(R0R0R7R7)各组都以R0R7作工作寄存单元编号。由于它们的功能及使用不作预先规
19、定,因此称之为通用寄存器。4组通用寄存器在任一时刻,CPU只能使用其中的一组工作寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSWPSW中RS1RS1、RS0RS0位的状态组合来决定。第19页/共89页30H 7FH数据缓冲区20H 2FH位寻址区(00H7FH)18H 1FH工作寄存器3区(R0R7)10H 17H工作寄存器2区(R0R7)08H 0FH工作寄存器1区(R0R7)00H 07H工作寄存器0区(R0R7)图2-8 80C51片内RAM的配置 第20页/共89页 2、位寻址区 内部RAM的20H2FH地址单元,既可作为一般RAM单元使用,
20、进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H7FH,见表2-2。程序设计时,常将程序状态标志、位控制变量设在位寻址区内。这种位寻址能力是80C51的一个重要特点。3、用户RAM区 地址为30H7FH,共计80个字节,这就是供用户使用的一般RAM区。这个区域的操作指令非常丰富,数据处理方便灵活。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈设置在此区中。第21页/共89页表2-2 片内RAM及位寻址区的位地址表第22页/共89页二.内部数据存储器RAM高128单元 在80C51内部RAM的高128单
21、元是供给专用寄存器使用的,它们分布在其单元地址为80HFFH的空间。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器(简称为SFR寄存器)。访问SFR寄存器只允许使用直接寻址方式。1、特殊功能寄存器(SFR)简介 80C51共有21个特殊功能寄存器(SFR),其中的11个SFR还具有位寻址功能,见表2-3用“*”表示的。现把其中部分SFR简单介绍如下:1)与运算器有关的特殊功能寄存器有3个 (1)累加器ACC(Accumulator)。累加器为8位寄存器,是最常用的专用寄存器,用于向ALU提供操作,因此,功能较多,
22、地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。第23页/共89页表2-3 80C51 SFR中位地址分布表第24页/共89页 (2)B寄存器。B寄存器是一个8位寄存器,主要用于乘、除运算。也可以作为RAM的一个单元使用。(3)程序状态字PSW(Program Status Word)。程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息,作为程序查询或判断的条件。PSW有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW的各位定义见表2-4。各位的定义及使用作如下说明:CY(PSW.7)进位(借位)标志位。其功能有二:一是存放算术运算
23、的进位()时,CY由硬件置“1”,否则清“0”;二是在进行位操作时,CY作为累加器借位)标志,在作加法(减法)运算时,如果操作结果的最高位有进位(借位C使用,可进行位传送、位与位的逻辑运算等位操作,会影响该标志位。AC(PSW.6)辅助进位标志位。在进行加法(减法)运算中,当低4位向高4位进位(借位)时,AC由硬件置“1”,否则AC位被清“0”。AC位常用于调整BCD码运算结果。PSW位地址PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志 CY ACF0RS1RS0OVF1P第25页/共89页 F0(PSW.5)用户标志位。这是一个留给用户自己定义的标志位
24、,可以根据自己的需要通过软件方法置位或复位F0位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)工作寄存器组选择位。工作寄存器共有4组,对应关系见表2-5。RS1和RS0这两位的状态是由软件置“1”或清“0”来设置的,被选中的工作寄存器组即为当前工作寄存器组。注意:当单片机上电或复位后,RS1 RS0=00,选中第0组。OV(PSW.2)溢出标志位。在带符号数的算术运算时,如果运算结果超出了8位二进制数所能表示的符号数有效范围(-128 +127),这产生了溢出OV=1,表示运算结果是错误的;否则,OV=0即无溢出产生,表示运算结果正确。PSW.1位保留未用。P(PSW.0)奇偶
25、标志位。表明运算结果累加器A中内容的奇偶性。如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。注意:P标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。RS1 RS0寄存器组片内RAM地址 0 0第0组00H07H 0 1第1组08H0FH1 0第2组10H17H1 1第3组18H1FH第26页/共89页2)与指针有关的特殊功能寄存器有3个 (1)数据指针DPTR。数据指针为16位寄存器,用来存放16位地址。DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPHDPTR高8位字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 结构 原理 实用
限制150内