第二章单片机的内部机构_第1页
第二章单片机的内部机构_第2页
第二章单片机的内部机构_第3页
第二章单片机的内部机构_第4页
第二章单片机的内部机构_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、1 MCS-51单片机的组成单片机的组成2 MCS-51单片机的引脚及其功能单片机的引脚及其功能3 MCS-51单片机的存储器配置单片机的存储器配置4 振荡器与时钟电路及振荡器与时钟电路及CPU时序时序5 并行并行I/O端口端口MCS-51MCS-51单片机内部结构单片机内部结构1 MCS-511 MCS-51单片机的组成与结构单片机的组成与结构l8 8位中央处理单元位中央处理单元(CPU)(CPU)l128B/256B128B/256B的数据存储器的数据存储器RAMRAMl4KB/8KB4KB/8KB的片内的片内ROM/EPROMROM/EPROMl4 4个个8 8位并行位并行I/OI/O口

2、口P0-P3P0-P3l2 2个定时器个定时器/ /计数器计数器l5 5个中断源个中断源l1 1个全双工的个全双工的UARTUART(通用异步(通用异步接收、发送器)接收、发送器)l片内振荡与时钟产生电路片内振荡与时钟产生电路1 1、中央处理单元中央处理单元 CPUCPU(8 8位)位)用于数据处理、位操作(位测试、置位、复位)用于数据处理、位操作(位测试、置位、复位)2 2、只读存储器只读存储器 ROMROM(4KB4KB或或8KB8KB)用于永久性存储应用程序,掩膜用于永久性存储应用程序,掩膜ROM、EPROM、EEPROM3 3、随机存取存取器随机存取存取器 RAMRAM(128B/25

3、6B128B/256B)用于程序运行中存储工作变量和数据用于程序运行中存储工作变量和数据用作系统总线、扩展外存、用作系统总线、扩展外存、I / OI / O接口芯片接口芯片4、并行输入并行输入/ /输出口输出口 I/OI/O(3232线)线)5 5、串行输入串行输入/ /输出口输出口 UARTUART(二线)(二线)串行通信、扩展串行通信、扩展I / OI / O接口芯片接口芯片6 6、定时定时/ /计数器计数器 T/C(16T/C(16位增量可编程)位增量可编程)它与它与CPUCPU之间各自独立工作,当它计数满时向之间各自独立工作,当它计数满时向CPUCPU中断中断7 7、时钟电路时钟电路分

4、为内部振荡器、外接振荡电路分为内部振荡器、外接振荡电路五源中断、两级优先,可编程进行控制五源中断、两级优先,可编程进行控制8 8、中断系统中断系统P0驱动器驱动器P2驱动器驱动器P0锁存器锁存器P2锁存器锁存器RAM地址地址寄存器寄存器128BRAM4KBROMB寄存器寄存器暂存器暂存器1暂存器暂存器2ACCSP程序地址程序地址寄存器寄存器 缓冲器缓冲器PC增增1PCDPTR中断、串行口和定时器中断、串行口和定时器PSWP1锁存器锁存器P1驱动器驱动器P3锁存器锁存器P3驱动器驱动器定定时时控控制制指指令令寄寄存存器器指指令令译译码码器器OSCALUP0.0-P0.7P2.0-P2.7P3.0

5、-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARESET运算器运算器存储器存储器I/O接口接口控制器控制器中央处理器中央处理器(CPU)(CPU) 包含包含运算器运算器和和控制器控制器两部分两部分(2 2)8 8位累加器位累加器ACCACC(A A):):(3 3)8位寄存器位寄存器B:(4 4)8 8位程序状态寄存器位程序状态寄存器PSWPSW:(5 5)布尔处理器:)布尔处理器:(6 6)2 2个个8 8位暂存器:位暂存器:运算器 可对可对4 4位(半字节),位(半字节),8 8位(单字节)和位(单字节)和1616位位(双字节)数据进行操作,(双字节)数据进行操作,数

6、据来自两个暂存器。数据来自两个暂存器。累加器,它是最繁忙的累加器,它是最繁忙的8 8位特殊功能寄存器,用位特殊功能寄存器,用A A表示,表示,ALUALU的运算结果存的运算结果存在此处。在此处。8 8位程序状态字寄存器,位程序状态字寄存器,用于存放指令执行后的状用于存放指令执行后的状态信息,供程序查询和判态信息,供程序查询和判别。别。布尔操作器布尔操作器8 8位寄存器,在乘除运算位寄存器,在乘除运算时,用来存放另一个操作时,用来存放另一个操作数,并存放一部分结果。数,并存放一部分结果。(2 2)指令寄存器)指令寄存器(IR)(IR)(3 3)指令译码器)指令译码器(ID)(ID)(4 4)振荡

7、器及定时与控制电路)振荡器及定时与控制电路控制器中央处理器中央处理器(CPU)(CPU)控制器控制器 由两个由两个8位的计数器位的计数器(PCL,PCH)组成,组成,PC存储将要存储将要执行的下一条指令的地址,执行的下一条指令的地址,16位可容纳的最大数值为位可容纳的最大数值为65535,为为64KB,因此,因此,MCS-51可寻址可寻址64KB的程序存储的程序存储器。改变器。改变PC内的值,就可改变程序执行的方向。内的值,就可改变程序执行的方向。1616位程序计数器位程序计数器-PC-PC 由由PC内容指定的内容指定的ROM地址单元中取出的指令,经指地址单元中取出的指令,经指令寄存器送至指令

8、译码器进行译码,进而令寄存器送至指令译码器进行译码,进而CPU产生相应产生相应的控制信号,执行指令所规定的操作。的控制信号,执行指令所规定的操作。指令存储器及指令译码器指令存储器及指令译码器 M C S - 5 1 片 内 有 振 荡 器片 内 有 振 荡 器 O S C , 通 过 单 片 机 的, 通 过 单 片 机 的XTAL1,XTAL2连接片外的石英晶体及两个频率微调电容,连接片外的石英晶体及两个频率微调电容,产生单片机工作所需要的基本时钟产生单片机工作所需要的基本时钟节拍。节拍。振荡器及定时控制电路振荡器及定时控制电路 1、电源管脚:、电源管脚: Vcc,Vss2、时钟电路管脚:、

9、时钟电路管脚: XTAL1,XTAL23、控制信号脚:、控制信号脚: RST/VPD, ALE/PROG PSEN及及Vpp/EA4、I/O管脚管脚 P0,P1,P2,P32 MCS-512 MCS-51单片机的引脚及其功能单片机的引脚及其功能电源管脚电源管脚 Vcc:电源端,为电源端,为5V,允许电源有偏差;,允许电源有偏差;GND(VSS):地。地。 注注:为了防止电源脉冲对单片机的影响,一般在:为了防止电源脉冲对单片机的影响,一般在VCC和和GND之间接上一个之间接上一个1uF的电容。的电容。时钟电路管脚时钟电路管脚 XTAL1:芯片内部反相放大器输入端,使用外部振荡器时需接地。芯片内部

10、反相放大器输入端,使用外部振荡器时需接地。XTAL2: 芯片内部反相放大器输出端,使用外部振荡时接振荡器输芯片内部反相放大器输出端,使用外部振荡时接振荡器输 入的信号。入的信号。 XTAL2XTAL1内部振荡方式内部振荡方式XTAL2XTAL1外部振荡器外部振荡器外部振荡方式外部振荡方式控制线控制线 ALE/PROGALE/PROG ALE: 地址锁存信号端,频率为晶体振荡器的地址锁存信号端,频率为晶体振荡器的1/6正脉冲信正脉冲信号。当号。当CPU访问片外扩展存储器时,该信号作为锁存低访问片外扩展存储器时,该信号作为锁存低8位地址的控制信号。位地址的控制信号。PROG: 当片内有当片内有EP

11、ROM时,该管脚提供编程写入时的编程时,该管脚提供编程写入时的编程脉冲信号输入端。脉冲信号输入端。 控制管脚控制管脚 RST/VPDRST/VPD RST: 复位信号输入端,高电平有效。保持两个机器周期以上,并变复位信号输入端,高电平有效。保持两个机器周期以上,并变为低电平,单片机开始从为低电平,单片机开始从0000地址执行,即可完成单片机复位。单地址执行,即可完成单片机复位。单片机复位不改变片内片机复位不改变片内RAM的值的值。VPD: 备用电源。备用电源。+5VRESET10uF控制管脚控制管脚 PSENPSEN PSEN: 程序存储器允许输出信号端。在访问片外程序存储程序存储器允许输出信

12、号端。在访问片外程序存储器时,器时,CPU控制该端输出负脉冲作为外部存储器的选通控制该端输出负脉冲作为外部存储器的选通信号,允许信号,允许CPU读出读出EPROM中被选中单元中的指令码。中被选中单元中的指令码。该管脚一般连程序存储器的选通信号端该管脚一般连程序存储器的选通信号端(OE)。控制管脚控制管脚 EA/EA/VppVpp EA: 外部程序存储器地址允许输入端外部程序存储器地址允许输入端/固化编程电压输入固化编程电压输入端。程序存储器允许输出信号端。当端。程序存储器允许输出信号端。当EA接高时,前接高时,前4KB或或8KB程序在单片机内,当程序在单片机内,当EA接地时,所有程序均在外接地

13、时,所有程序均在外存储器。存储器。Vpp: 对单片机内程序存储器编程时施加的高电平输入端。对单片机内程序存储器编程时施加的高电平输入端。3 MCS-513 MCS-51单片机的存储器配置单片机的存储器配置计算机存储结构:计算机存储结构: 哈佛结构:程序存储与数据存储分开哈佛结构:程序存储与数据存储分开单片机单片机 冯冯.诺依曼结构:程序与数据存储在一起诺依曼结构:程序与数据存储在一起通用计算通用计算机机单片机的存储器结构(单片机的存储器结构(ROMRAM):): ROM:常用于存放程序和需要长时间存放的数据,掉:常用于存放程序和需要长时间存放的数据,掉电不丢失电不丢失; RAM:随时可读可写的

14、存储器,掉电后数据立即丢失。:随时可读可写的存储器,掉电后数据立即丢失。00HFFH1 1、单片机的存储器结构、单片机的存储器结构 采用哈佛结构,存在采用哈佛结构,存在4个物理上相互独立的存储器空间:个物理上相互独立的存储器空间:l 片内程序存储器片内程序存储器 片外程序存储器片外程序存储器l 片内数据存储器片内数据存储器 片外数据存储器片外数据存储器0FFFH0000H片内片内4K4KROMROM0000HFFFFH片外片外64KROM片外片外64KRAM(I/O)0000HFFFFHSFR片内片内RAMRAM7FH80H0FFFHEAEA引脚引脚=0=0访问片内与片外访问片内与片外RAM靠

15、指令区分靠指令区分MOV与与MOVXEAEA引脚引脚=1=12 2、单片机的程序存储器、单片机的程序存储器 常用单片机的程序存储器容量:常用单片机的程序存储器容量: 随着单片机制造技术的发展,现在内部随着单片机制造技术的发展,现在内部ROM有有64KB,RAM达几达几KB的都有。在进行单片机应用系统开发时,应注意选择,能不扩展的尽量的都有。在进行单片机应用系统开发时,应注意选择,能不扩展的尽量不扩展。不扩展。(片内(片内128B不包含不包含SFR区)区)单片机的程序存储器单片机的程序存储器 单片机的程序存储器的应用:单片机的程序存储器的应用:l上电复位时,上电复位时,PC=0000;PC=00

16、00;l程序存储器有保留单元:程序存储器有保留单元:3 3、单片机的数据存储器、单片机的数据存储器 单片机的数据存储器最大寻址为单片机的数据存储器最大寻址为64KB,地址为:,地址为:0000FFFFH片内为片内为128B的数据存储器,片外为的数据存储器,片外为64KB,地址有重叠,靠指令区分,地址有重叠,靠指令区分00H07H08H0FH10H17H18H1FH2FH30H20H7FH用户RAM区位寻址区3组2组1组0组通用工作寄存器通用工作寄存器R0R7低低128B的数据的数据RAM高高128B的特殊寄存器区的特殊寄存器区SFR区区80HFFH单片机的数据存储器单片机的数据存储器 数据存储

17、器中的堆栈:数据存储器中的堆栈:l堆栈用于保护中断时程序的断点地址,以便中断返回堆栈用于保护中断时程序的断点地址,以便中断返回时程序的继续执行;时程序的继续执行;l堆栈的特点是先进后出,后进先出;堆栈的特点是先进后出,后进先出;l堆栈的指令是:堆栈的指令是:PUSH(压入)和(压入)和POP(弹出)(弹出)l堆栈寄存器叫堆栈寄存器叫SP,其内部的数值叫栈底,初始值为,其内部的数值叫栈底,初始值为07H,一,一般应进行设置到般应进行设置到50H或或60H。MOV SP,#60HPUSH A.PUSH B07H60H61H7FHSPSPASPB单片机的数据存储器单片机的数据存储器低低128B的分区

18、:的分区:l工作寄存器区,工作寄存器区,R0-R7,共四组,由,共四组,由PSW中的中的RS1,RS0决定;决定;l位寻址区位寻址区20H-2FH,位地址为:,位地址为:00H-7FH;l一般数据存储区;一般数据存储区;l堆栈区(由用户进行设置,初始值为堆栈区(由用户进行设置,初始值为07H)高高128B的分区:的分区:l特殊功能寄存器特殊功能寄存器(SFR): ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON可位寻址可位寻址(11个个) SP,DPTR,TMOD,TH0,TL0,TH1,TL1,SBUF,PCON不可位寻址不可位寻址(共共9个个) 特殊功能寄存器特殊

19、功能寄存器(SFR)的初始值除的初始值除P0,P1,P2,P3为为FFH,SP为为07外,其外,其余均为余均为00H。单片机的特殊功能寄存器单片机的特殊功能寄存器(SFR)(SFR) PSWPSW(Program State Word)程序状态字;)程序状态字;CY进位位标志位或借位位标志位;进位位标志位或借位位标志位;AC半字节进位位标志位或半字节借位标志位;半字节进位位标志位或半字节借位标志位; F0用户标志位;用户标志位;RS1,RS0工作寄存器组选择位,工作寄存器组选择位,00-0区,区,01-1区,区,10-2区,区,11-3区;区;OV溢出标志位,当进行补码运算时,如有溢出,超出溢

20、出标志位,当进行补码运算时,如有溢出,超出-128127范围时置位;范围时置位; /未定位位,在未定位位,在52中为中为F1,用户标志位;,用户标志位; P奇偶标志位,每条指令执行完后,跟踪指示奇偶标志位,每条指令执行完后,跟踪指示A内的内的1 的个数,如为奇数,的个数,如为奇数, 则则P=1,否则为否则为0,常用于校验串行通信中的数据传送是否出错。,常用于校验串行通信中的数据传送是否出错。4 4 振荡器与时钟电路及振荡器与时钟电路及CPUCPU时序时序1. 振荡器与时钟电路:振荡器与时钟电路:单片机内部的增益反向放大器通过单片机内部的增益反向放大器通过XTAL1、XTAL2两个引脚外接的反馈

21、石两个引脚外接的反馈石英晶体元件构成自激振荡器。时钟发生器把振荡器的信号进行二分频,向英晶体元件构成自激振荡器。时钟发生器把振荡器的信号进行二分频,向CPU提提供了两相时钟脉冲信号供了两相时钟脉冲信号P1和和P2。时钟信号的周期称为。时钟信号的周期称为S,它是振荡周期的它是振荡周期的2倍,在倍,在每个时钟周期每个时钟周期S的前半周期,的前半周期,P1有效,后半周期,有效,后半周期,P2有效。有效。4 4 振荡器与时钟电路及振荡器与时钟电路及CPUCPU时序时序( (续续) )2. 机器周期和指令周期:机器周期和指令周期:单片机的一个机器周期由单片机的一个机器周期由6个个S状态周期组成,即状态周

22、期组成,即S1-S6,每个状态又持续两个每个状态又持续两个振荡周期,即振荡周期,即P1和和P2两拍,故一个机器周期包含两拍,故一个机器周期包含12个振荡周期,即个振荡周期,即S1P1,S1P2,S2, P1,S2P2,S6P1,S6P2共共12个状态拍。若采用个状态拍。若采用12MHz晶振,则每个机器周期为晶振,则每个机器周期为1us。单片机的指令长度分为单片机的指令长度分为1B、2B和和3B三种,按三种,按CPU执行每条指令的时间分为执行每条指令的时间分为单周期指令单周期指令、双周期指令双周期指令和和四周期指令四周期指令三种三种。每一条指令的每一条指令的执行包括取指、执执行包括取指、执指两个

23、阶段。在每指两个阶段。在每个机器周期内个机器周期内ALE两次有效,第一次两次有效,第一次出现在出现在S1P2和和S2P1之期间,第二次出之期间,第二次出现在现在S4P2和和S5P1期期间。间。4 4 振荡器与时钟电路及振荡器与时钟电路及CPUCPU时序时序( (续续) )3. 取指、执指的时序:取指、执指的时序:5 5 并行输入并行输入/ /输出端口输出端口8051单片机有四个单片机有四个8位的位的I/O端口,分别称为端口,分别称为P0,P1,P2,P3,每,每个端口均为准双向口,共占个端口均为准双向口,共占32只引脚,每个端口可作为只引脚,每个端口可作为8位的总位的总线使用,也可作为单独的线

24、使用,也可作为单独的I/O应用。每个端口都包含一个锁存器应用。每个端口都包含一个锁存器(即(即特殊寄存器特殊寄存器P0-P3),一个输出驱动器和输入缓冲器。作输),一个输出驱动器和输入缓冲器。作输出线时数据可以锁存,作输入时可以缓冲。出线时数据可以锁存,作输入时可以缓冲。当有外部扩展的存储器时,当有外部扩展的存储器时,P0作为地址的作为地址的低低8位位,P2作为作为高高8位位组成组成16位位地址总线,而地址总线,而P0复用为复用为8位的数据总线。位的数据总线。P0P2P3P15 5 并行输入并行输入/ /输出端口输出端口1 1、P0P0口口 无外扩存储器时,无外扩存储器时,P0P0可作为可作为

25、I/OI/O应用。应用。CPUCPU执行传送或改写位内容的指令时,硬件使执行传送或改写位内容的指令时,硬件使C=0,C=0,开关开关MUXMUX处于图示位置,处于图示位置,P0P0作为通用作为通用I/OI/O口。此时,口。此时,T1T1处于截止状态,输出极变为漏极处于截止状态,输出极变为漏极开路,此时需加上拉电阻。开路,此时需加上拉电阻。VCCP0P0口结构口结构 (1 1)P0P0用作输出口时用作输出口时,当,当CPUCPU执行输出指令时,写脉冲加在执行输出指令时,写脉冲加在D D锁存器锁存器的的CPCP上,输出数据经过锁存器的上,输出数据经过锁存器的D D端,反相输出在端,反相输出在Q Q

26、非非,然后加到,然后加到T2T2上,上,到数据为到数据为1 1是,是,T2T2导通,导通,P0.iP0.i输出为输出为0 0, ,当数据为当数据为0 0时,时,T2T2截止,截止,P0.iP0.i的数的数据经上拉电阻拉高,为据经上拉电阻拉高,为1 1。VCC 特殊的单片机特殊的单片机“读读运算(修改)运算(修改)写写”输出指令,其执行过程为输出指令,其执行过程为先读出锁存器的数据,然后运算再锁存到锁存器,然后输出到引脚,读先读出锁存器的数据,然后运算再锁存到锁存器,然后输出到引脚,读锁存器中的数据时,锁存器中的数据时,Q Q端数据经过控制开通的三态缓冲器端数据经过控制开通的三态缓冲器1 1送入

27、内部数据送入内部数据总线。总线。P0P0口结构口结构 (2 2)P0P0用作输入口时用作输入口时,读引脚的指令将三态缓冲器,读引脚的指令将三态缓冲器2 2打开,端口引打开,端口引脚上的数据经上图蓝色的线输入内部数据总线。脚上的数据经上图蓝色的线输入内部数据总线。 在读引脚时,由于在读引脚时,由于T2T2并接在引脚上,如果并接在引脚上,如果T2T2导通它会把引脚上的高导通它会把引脚上的高电平拉成低电平,从而产生误读。因此,在读端口之前,应先向端口锁电平拉成低电平,从而产生误读。因此,在读端口之前,应先向端口锁存器写存器写“1 1”,从而是,从而是Q Q非为非为“0 0”,使,使T2T2截止。截止

28、。VCCP0P0口结构口结构 P0 P0口用作数据口用作数据/ /地址总线使用时地址总线使用时,芯片外部有锁存器:,芯片外部有锁存器: (1 1)P0P0口先送出低口先送出低8 8位地址再送出数据位地址再送出数据 此时此时C=1C=1,MUXMUX打到上方,打到上方,地址地址/ /数据位驱动数据位驱动T1T1,其反相驱动,其反相驱动T2T2,当地址,当地址/ /数据位为数据位为“1 1”时,时,T1T1导通,导通,T2T2截止,截止,P0.iP0.i输出为输出为“1 1”;当地址;当地址/ /数据位为数据位为“0 0”时,时,T1T1截止,截止,T2T2导通,导通,P0.iP0.i为为“0 0

29、”。 (2 2)P0P0口先送出低口先送出低8 8位地址再输入数据位地址再输入数据 送出地址与上相同,但读送出地址与上相同,但读入数据时,打开缓冲器入数据时,打开缓冲器2,2,引脚数据经缓冲器引脚数据经缓冲器2 2进入内部数据总线。进入内部数据总线。VCCP1P1口结构口结构 P1 P1口为准双向口,用作通用口为准双向口,用作通用I/OI/O口(开关量输入口(开关量输入/ /输出),输出输出),输出驱动有上拉电阻(实质为由两个场效应管构成的),其余与驱动有上拉电阻(实质为由两个场效应管构成的),其余与P0P0作为作为I/OI/O口相同。口相同。P2P2口结构口结构 P2 P2口可作为地址高口可作为地址高8 8位,也可作为通用位,也可作为通用I/OI/O口。口。 (1 1)作为高)作为高8 8位地址总线:位地址总线:MUXMUX打向上方,使地址与反相器打向上方,使地址与反相器3 3连接,由连接,由P2.XP2.X输出输出地址信息;地址信息;(2 2)作为通用)作为通用I/OI/O口时:口时:MUXMUX打向下方,输入打向下方,输入/ /输出与输出与P0P0口相同。口相同。 P3P3口结构口结构 (1)P3 (1)P3口作为通

温馨提示

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

评论

0/150

提交评论