89C51单片机的结构及原理解读课件_第1页
89C51单片机的结构及原理解读课件_第2页
89C51单片机的结构及原理解读课件_第3页
89C51单片机的结构及原理解读课件_第4页
89C51单片机的结构及原理解读课件_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

第一章

89C51单片机的结构及原理第一章89C51单片机的结构及原理提要总体架构主要组成时钟电路和时序分析复位操作2022年12月10日2提要总体架构2022年12月10日2第1节总体架构基本框架内部结构管脚分配2022年12月10日3第1节总体架构基本框架2022年12月10日3基本框架89C51CPU振荡器和时序OSC64KB总线扩展控制器数据存储器256BRAM/SFR2×16位定时器/计数器可编程I/O程序存储器4KBFLASH可编程全双工串行口外中断内中断控制并行口串行通信外部时钟源外部事件计数基本框架89C51振荡器和时序64KB总线数据存储器2×1基本框架8位CPU以及指令系统片内有256字节的数据存储器00H—7FH段:存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等80H—FFH段:零散分布21个特殊功能寄存器。片内有4K字节ROM存放程序、一些原始数据和表格。4个8位的并行I/O口P0、P1、P2和P3每个口可以用作输入,也可以用作输出。片外存储器扩展可扩展64K程序存储器。可扩展64K数据存储器。2022年12月10日5基本框架8位CPU以及指令系统2022年12月10日5基本框架2个16位的定时/计数器可设置成计数方式,对外部事件进行计数。可设置成定时方式,对内部时钟进行计数,从而实现定时。1个全双工串行口可实现单片机与单片机或其它微机之间串行通信。5个中断源,2级优先1个片内时钟振荡电路需外接晶振和电容基本框架2个16位的定时/计数器2、内部结构P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器缓冲器PC加1寄存器PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARESET2、内部结构P0驱动器P2驱动器P0锁存器P2锁存器RAM地3、管脚分配3、管脚分配3、管脚分配Vcc:电源,正端Vss:地线,接地XTAL2(18脚)和XTAL1(19脚):内部:片内有晶体振荡电路,外接石英晶振,电源上电,自动进行振荡;外接:XTAL1接外部时钟脉冲,XTAL2悬空。控制信号引脚RST、ALE、PSEN和EARST:复位信号,高电平有效ALE/PROG:地址锁存允许信号/片内ROM固化程序的编程脉冲PSEN:片外ROM读选通信号EA/VPP:片内外ROM选择信号/编程电压的输入端3、管脚分配Vcc:电源,正端3、管脚分配ALE/PROGALE地址锁存允许信号PROG:对89C51片内ROM固化程序的时候,加入编程脉冲。对8031、8051而言,这个功能是没用的。PSEN片外程序存储器选通信号低电平有效选通后读EPROM或ROM中的指令代码3、管脚分配ALE/PROG3、管脚分配EA/VPPEA=0时,PC指向片外的程序存储器,EA=1时,PC指向片内的程序存储器。EA=1时,先到片内,当PC值超过4K(0FFFH),自动转向片外。VPP:对8751进行编程固化时,加21V的编程电压。对89C51片内Flash编程固化时,高电压编程时加12V电压,低电压编程时加5V电压。3、管脚分配EA/VPP3、管脚分配P0口P0口是一个漏极开路的8位准双向I/O口,每位可驱动8个LS型的TTL负载。在CPU访问片外存储器时,P0分时提供低8位地址和8位数据的复用总线。P2口P2口是内部带上拉电阻的8位准双向I/O口,每位可驱动4个LS型的TTL负载。主要作用:在访问片外存储器的时候后,P2口输出高8位地址。P2口和P0口共同组成了16位的地址总线,可以对64K存储器范围进行访问。3、管脚分配P0口3、管脚分配P1口P1口它是一个内部带上拉电阻的8位准双向I/O口,每位可以驱动4个LS型的TTL负载。P1口是用户随意使用的端口。P3口P3口是内部带上拉电阻的8位准双向I/O口,每位可以驱动4个LS型的TTL负载。P3口的每一位都有第二功能,P3口的使用主要是在于它的第二功能。3、管脚分配P1口第二节主要组成CPU的结构存储器I/O口的口结构第二节主要组成CPU的结构CPU的结构CPU是单片机的核心部分。功能:读取指令,分析指令,产生控制信号控制数据的传送,对输入数据进行算术逻辑运算以及位操作等操作。构成:1、运算器2、控制器CPU的结构CPU是单片机的核心部分。1、运算器运算器:算术逻辑单元ALU、累加器ACC、暂存器TMP1和TMP2

、程序状态字寄存器PSW(ProgramStatusWord)、BCD码运算调整电路和布尔处理器等。为了提高数据处理和位操作能力,片内还增加了一个通用寄存器B和一些专用寄存器。PSW中的进位位C可以作为位累加器使用,整个位操作系统构成了一个布尔处理器。1、运算器运算器:算术逻辑单元ALU、累加器ACC、暂存算术逻辑单元ALU算术逻辑单元是由加法器和逻辑电路组成,主要完成二进制数的四则运算,以及布尔代数的逻辑运算。通过对运算结果的判断,决定程序状态字PSW的相关状态标志位的变化。算术逻辑单元ALU算术逻辑单元是由加法器和逻辑电路组成,主要累加器ACCACC是一个8位累加器,通过暂存器和算术逻辑单元相连。ACC是CPU中最繁忙的寄存器。在指令系统中,A作为累加器的助记符。累加器ACC可以按位来操作,如果按位操作,必须写成ACC.0、ACC.1,一直到ACC.7,而不能A.0、A.1到A.7。PUSHACC,POPACC累加器ACCACC是一个8位累加器,通过暂存器和算术逻辑单元程序状态字PSW程序状态字PSW是8位寄存器,7位有效:用作程序运行的状态标志,如算术运算、逻辑运算或移位操作时,如果结果会影响到标志位的时候,PSW相关位就会做出相应反应,进行清零或置1。其中有两位用作工作寄存器选择位。PSW字节地址是D0H。程序状态字PSW程序状态字PSW是8位寄存器,7位有效:程序状态字PSWCY——进位位,在位操作时作为累加器;AC——辅助进位位,或称为半进位位;F0——用户标志位;RS0和RS1——工作寄存器指针,用来选择不同的四组工作寄存器(共32个字节);OV——溢出标志;PSW.1没有定义;P——奇偶位,始终跟踪累加器A中1的个数的奇偶性。ACCYP—OVRS0RS1F0PSW(D0H)D7D6D5D4D3D2D1D0程序状态字PSWCY——进位位,在位操作时作为累加器;ACC程序状态字PSW每位的具体含义:C是进位标志:在进行字节加法或减法运算时,如果最高位(第7位)有进位或借位时,C被置1,否则C被清0。在进行位操作时,C被称为位累加器。AC是辅助进位标志:在进行加法或减法运算时候,如果低半字节(第3位),向高半字节有进位或借位,AC被置1,否则AC被清0。在进行BCD码运算时,AC还作为BCD码调整时的判别位。F0是用户标志位。用户可根据自己需要,自主来置位或清零,作为程序运行的状体标志使用。程序状态字PSW每位的具体含义:程序状态字PSWRS1和RS0是工作寄存器指针,用于选择当前工作的寄存器组,用户可以改变RS1和RS0的组合,来切换当前工作寄存器组。程序状态字PSWRS1和RS0是工作寄存器指针,用于选择当前程序状态字PSWOV是溢出标志:进行有符号数加减运算时,如果发生溢出,OV被置1,否则OV清0。进行无符号数乘法时,如乘积超过255,OV被置1,否则清零。进行无符号数除法时,如除数为0,OV被置1,表示除法不能进行,否则被清零。P是奇偶标志:P始终跟踪累加器A的奇偶性。如果A中1的个数是奇数个,P被置1;如果是偶数个,P被清0。程序状态字PSWOV是溢出标志:2、控制器控制器是用来统一指挥和控制计算机工作的部件。结构:时钟发生器、定时控制逻辑、程序计数器PC、指令寄存器、指令译码器、数据指针寄存器DPTR、堆栈指针SP、以及地址译码器和地址缓冲器等。功能:从存储器逐条读取指令,进行指令译码,并且通过定时和控制电路,在规定的时刻发出各种操作所需要的控制信息以及CPU所需的控制信号,使各部分协调工作,完成指令所规定的各种操作。2、控制器控制器是用来统一指挥和控制计算机工作的部件。程序计数器PCPC是一个16位的专用寄存器。PC存放与指示下一条要执行指令的地址,当一条指令按照PC所指示的地址从存储器中取出来之后,PC会自动指向下一条指令。PC在物理结构上是独立的,不属于内部RAM,没有地址,是不可寻址的。用户无法对它进行读写,只有通过转移、调用和返回等指令来改变PC中的内容,以实现程序的转移。程序计数器PCPC是一个16位的专用寄存器。堆栈指针寄存器SP堆栈:在片内数据存储器中开辟的按照“先进后出,后进先出”的原则进行存取的RAM区。分布:是片内RAM的低128字节(00——7FH段)。用途:保护现场和断电保护(中断和调用子程序时)。操作:压栈和出栈通过堆栈指针SP来进行堆栈操作:SP随时跟踪栈顶地址;按照先进后出的原则进行压栈和出栈操作。开机复位后,SP指向片内RAM地址07H。堆栈指针寄存器SP堆栈:在片内数据存储器中开辟的按照“先进后数据指针DPTRDPTR是一个16位的寄存器,主要用来存放16位的地址,做间接寻址寄存器使用。可以对64K字节的外部数据存储器和I/O口进行寻址.DPTR可以拆成高字节DPH和低字节DPL两个独立的8位寄存器,分别占用83H和82H这两个地址,83H是DPH,82H是DPL。拆分之后,可以按照8位寄存器的方式进行操作和寻址。数据指针DPTRDPTR是一个16位的寄存器,主要用来存放1存储器在物理结构有4个空间片内程序存储器片外程序存储器片内数据存储器片外数据存储器89C51存储器程序存储器ROM数据存储器RAM存储器在物理结构有4个空间片内程序存储器片外程序存储器片内数哈佛结构片内RAM程序存储器系统分布片外RAM哈佛结构片内RAM程序存储器系统分布片外RAM程序存储器程序存储器可存放编译好的程序和表格常数。设计了两条特殊指令可以到程序存储器里面通过查表的方式取出表格常数。MOVCA,@A+DPTRMOVCA,@A+PC程序存储器程序存储器可存放编译好的程序和表格常数。程序存储器8051片内有4KROM,片外用16根地址线最多可以扩展64KROM,两者统一编址。8031没有片内ROM,只有向外扩展64KROM

。若EA=1,PC先在片内0000H——0FFFH4K字节范围内读取程序,当寻址范围超过0FFFH后,会自动转向片外1000H——FFFFH取指。若EA=0,所有取指均在片外ROM,即片外0000H——0FFFFH中。8031片内没有ROM,EA只能接地,PC指向片外,从片外取指令。程序存储器8051片内有4KROM,片外用16根地址线最多可程序存储器6个特殊功能单元:0000H:开机或系统复位入口0003H:外部中断0的中断入口000BH:定时器T0的溢出中断入口0013H:外部中断1的中断入口001BH:定时器T1溢出中断的入口0023H:串行口中断的入口程序存储器6个特殊功能单元:数据存储器数据存储器是用来存放运算的中间结果,数据的暂存以及缓冲。单片机片内有256字节的数据存储器,片外最多可以扩展成64K,构成两个地址空间。访问片内存储器用“MOV”指令,访问片外数据存储器用“MOVX”指令数据存储器数据存储器是用来存放运算的中间结果,数据的暂存以及工作寄存器工作寄存器:通过对程序状态字中的RS1和RS0的设置,决定CPU当前究竟使用那组工作寄存器。如果程序当中不需要4组工作寄存器,多余的寄存器单元可以作为一般寄存器使用的。工作寄存器工作寄存器:位寻址区位寻址区:工作寄存器后的16个字节(20H—2FH),可以位寻址。位寻址区位寻址区:工作寄存器后的16个字节(20H—2FH)专用寄存器特殊功能寄存器SFR,有21个专用寄存器,离散地分布在片内数据存储器的高128字节地址(80H—FFH),并没占满整个128个字节。专用寄存器SFRMSB位地址/位定义

LSB字节地址BF7F6F5F4F3F2F1F0F0ACCE7E6E5E4E3E2E1E0E0PSWD7D6D5D4D3D2D1D0D0CYACF0RS1RS0OVF1P

IPBFBEBDBCBBBAB9B8B8P3B7B6B5B4B3B2B1B0B0IEAFAEADACABAAA9A8A8EA

ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0SBUF

99SCON9F9E9D9C9B9A999898SM0SM1SM2RENTB8RB8TIRIP1979695949392919090TH1

8DTH0

8CTL1

8BTL0

8ATMODGATEC/TM1M0GATEC/TM1M089TCON8F8E8D8C8B8A898888TF1TR1TF0TR0IE1IT1IE0IT0PCONSMOD///GF1GF0PDIDL87DPH

83DPL

82SP

81P0878685848382818080SFRMSB位地址/位定义37I/O口的结构1、P0口2、P1口3、P2口4、P3口I/O口的结构1、P0口1、P0口P0口是最重要的,也是结构最复杂的一个口。P0口每一位由一个锁存器、两个三态输入缓冲器和输出驱动电路组成。P0口有两种用途:作为普通I/O口P0口是一个漏极开路的8位准双向I/O口。作为地址/数据总线P0口是一个真正的双向口,可以随意地读写。1、P0口P0口是最重要的,也是结构最复杂的一个口。1、P0口1)一般I/O口输出情况2)一般I/O口输入情况3)作为地址数据总线输出4)作为地址数据总线输入口1、P0口1)一般I/O口输出情况2、P1口P1是通用I/O口,是真正的用户口,用户可以随意使用它。P1比P0口上简单,包括一个锁存器两个三态缓冲器和一个驱动管V2,其漏极通过上拉电阻与电源相连。P1口也是一个准双向口,每次从输出转成输入之前,预先向口锁存器写1。2、P1口P1是通用I/O口,是真正的用户口,用户可以随意使3、P2口P2口的位结构与P0口类似,也有多路开关、控制信号。驱动部分与P1口类似,内部去掉V1,接了上拉电阻,但比P1口多了一个转换控制部分。3、P2口P2口的位结构与P0口类似,也有多路开关、控制信号4、P3口P3口是个多功能端口,主要使用其第二功能,在单片机应用中起到重要作用。4、P3口P3口是个多功能端口,主要使用其第二功能,在单片机第三节时钟电路和时序分析时钟电路时序分析第三节时钟电路和时序分析时钟电路时钟电路1、内部时钟2、外部时钟3、时钟信号发生器时钟电路1、内部时钟1、内部时钟89C51单片机的内部有一个高增益的反相放大器,用于构成振荡器。

XTAL1是反相放大器的输入端,XTAL2是反相放大器的输出端,在这两个端口之间跨接是石英晶体以及接两个补偿电容,就可以构成稳定的自激多谐振荡器。R1限流电阻,R2是偏置电阻。使得反相放大器工作在线性区,容易产生振荡。1、内部时钟89C51单片机的内部有一个高增益的反相放大器,2、外部时钟89C51可以使用外部振荡脉冲电路,外部振荡信号从XTAL1送进去,直接送到内部的时钟电路上去。2、外部时钟89C51可以使用外部振荡脉冲电路,外部振荡信号3、时钟信号发生器晶体振荡器的振荡信号从XTAL1端输入到片内的时钟信号发生器上,时钟发生器实际上是一个二分频的电路,对应产生两个时序,一个是P1,一个是P2。3、时钟信号发生器晶体振荡器的振荡信号从XTAL1端输入到片时序分析相关的概念振荡周期:单片机中最基本的时间单位,是振荡源的周期,通过石英晶体振荡电路产生振荡周期。时钟周期:又称为状态周期S,是振荡周期的2倍,是振荡周期通过二分频得到,分成P1节拍和P2节拍。机器周期:一个机器周期它是由6个状态时间,12个振荡脉冲组成的。指令周期:执行一条指令占用的时间称为指令周期,通常是由1、2或4个机器周期组成。时序分析相关的概念具体时序分析1)取指令时序具体时序分析1)取指令时序具体时序分析2)访问外部ROM的取指时序具体时序分析2)访问外部ROM的取指时序具体时序分析3)访问片外数据存储器时的时序具体时序分析3)访问片外数据存储器时的时序第四节复位操作复位状态复位信号及产生电路复位电路第四节复位操作复位状态复位状态复位状态复位状态复位状态复位信号及产生电路复位信号及产生电路在时钟电路工作后,只要在RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机就能实现复位。通常设计电路时一般使RST引脚上保持10ms以上的高电平,以保证可靠复位。当RST从高电平变为低电平以后,单片机从0000H地址开始执行程序。复位信号及产生电路复位信号及产生电路复位电路复位电路包括芯片内和芯片外两部分。内部:外部产生的复位信号送至片内施密特触发器整形,复位电路会在每个机器周期的S5P2对施密特触发器输出信号采样,如连续采到2个高电平就会产生复位操作。复位电路施密特触发器片内RAMRST/VPDVCCVSSD1D2复位电路复位电路复位电路施密特触发器片内RAMRST/VP复位电路外部:上电自动复位:通过外部复位电路的电容充电实现,如左图。手动复位:按键电平复位方式,如右图。VCCCRVCCRST/VPDVSS1KΩ22μF89C51VCCCR2VCCRST/VPDVSS1KΩ22μF89C51R1200ΩRESET复位电路外部:VCCCRVCCRST/VPDVSS1KΩ2本章总结学习重点存储器组织时钟电路复位电路难点I/O口结构分析时序分析教学要求掌握嵌入式系统基本硬件架构;了解单片机的时序。2022年12月10日58本章总结学习重点2022年12月10日58TheEndTheEnd第一章

89C51单片机的结构及原理第一章89C51单片机的结构及原理提要总体架构主要组成时钟电路和时序分析复位操作2022年12月10日61提要总体架构2022年12月10日2第1节总体架构基本框架内部结构管脚分配2022年12月10日62第1节总体架构基本框架2022年12月10日3基本框架89C51CPU振荡器和时序OSC64KB总线扩展控制器数据存储器256BRAM/SFR2×16位定时器/计数器可编程I/O程序存储器4KBFLASH可编程全双工串行口外中断内中断控制并行口串行通信外部时钟源外部事件计数基本框架89C51振荡器和时序64KB总线数据存储器2×1基本框架8位CPU以及指令系统片内有256字节的数据存储器00H—7FH段:存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等80H—FFH段:零散分布21个特殊功能寄存器。片内有4K字节ROM存放程序、一些原始数据和表格。4个8位的并行I/O口P0、P1、P2和P3每个口可以用作输入,也可以用作输出。片外存储器扩展可扩展64K程序存储器。可扩展64K数据存储器。2022年12月10日64基本框架8位CPU以及指令系统2022年12月10日5基本框架2个16位的定时/计数器可设置成计数方式,对外部事件进行计数。可设置成定时方式,对内部时钟进行计数,从而实现定时。1个全双工串行口可实现单片机与单片机或其它微机之间串行通信。5个中断源,2级优先1个片内时钟振荡电路需外接晶振和电容基本框架2个16位的定时/计数器2、内部结构P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器缓冲器PC加1寄存器PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARESET2、内部结构P0驱动器P2驱动器P0锁存器P2锁存器RAM地3、管脚分配3、管脚分配3、管脚分配Vcc:电源,正端Vss:地线,接地XTAL2(18脚)和XTAL1(19脚):内部:片内有晶体振荡电路,外接石英晶振,电源上电,自动进行振荡;外接:XTAL1接外部时钟脉冲,XTAL2悬空。控制信号引脚RST、ALE、PSEN和EARST:复位信号,高电平有效ALE/PROG:地址锁存允许信号/片内ROM固化程序的编程脉冲PSEN:片外ROM读选通信号EA/VPP:片内外ROM选择信号/编程电压的输入端3、管脚分配Vcc:电源,正端3、管脚分配ALE/PROGALE地址锁存允许信号PROG:对89C51片内ROM固化程序的时候,加入编程脉冲。对8031、8051而言,这个功能是没用的。PSEN片外程序存储器选通信号低电平有效选通后读EPROM或ROM中的指令代码3、管脚分配ALE/PROG3、管脚分配EA/VPPEA=0时,PC指向片外的程序存储器,EA=1时,PC指向片内的程序存储器。EA=1时,先到片内,当PC值超过4K(0FFFH),自动转向片外。VPP:对8751进行编程固化时,加21V的编程电压。对89C51片内Flash编程固化时,高电压编程时加12V电压,低电压编程时加5V电压。3、管脚分配EA/VPP3、管脚分配P0口P0口是一个漏极开路的8位准双向I/O口,每位可驱动8个LS型的TTL负载。在CPU访问片外存储器时,P0分时提供低8位地址和8位数据的复用总线。P2口P2口是内部带上拉电阻的8位准双向I/O口,每位可驱动4个LS型的TTL负载。主要作用:在访问片外存储器的时候后,P2口输出高8位地址。P2口和P0口共同组成了16位的地址总线,可以对64K存储器范围进行访问。3、管脚分配P0口3、管脚分配P1口P1口它是一个内部带上拉电阻的8位准双向I/O口,每位可以驱动4个LS型的TTL负载。P1口是用户随意使用的端口。P3口P3口是内部带上拉电阻的8位准双向I/O口,每位可以驱动4个LS型的TTL负载。P3口的每一位都有第二功能,P3口的使用主要是在于它的第二功能。3、管脚分配P1口第二节主要组成CPU的结构存储器I/O口的口结构第二节主要组成CPU的结构CPU的结构CPU是单片机的核心部分。功能:读取指令,分析指令,产生控制信号控制数据的传送,对输入数据进行算术逻辑运算以及位操作等操作。构成:1、运算器2、控制器CPU的结构CPU是单片机的核心部分。1、运算器运算器:算术逻辑单元ALU、累加器ACC、暂存器TMP1和TMP2

、程序状态字寄存器PSW(ProgramStatusWord)、BCD码运算调整电路和布尔处理器等。为了提高数据处理和位操作能力,片内还增加了一个通用寄存器B和一些专用寄存器。PSW中的进位位C可以作为位累加器使用,整个位操作系统构成了一个布尔处理器。1、运算器运算器:算术逻辑单元ALU、累加器ACC、暂存算术逻辑单元ALU算术逻辑单元是由加法器和逻辑电路组成,主要完成二进制数的四则运算,以及布尔代数的逻辑运算。通过对运算结果的判断,决定程序状态字PSW的相关状态标志位的变化。算术逻辑单元ALU算术逻辑单元是由加法器和逻辑电路组成,主要累加器ACCACC是一个8位累加器,通过暂存器和算术逻辑单元相连。ACC是CPU中最繁忙的寄存器。在指令系统中,A作为累加器的助记符。累加器ACC可以按位来操作,如果按位操作,必须写成ACC.0、ACC.1,一直到ACC.7,而不能A.0、A.1到A.7。PUSHACC,POPACC累加器ACCACC是一个8位累加器,通过暂存器和算术逻辑单元程序状态字PSW程序状态字PSW是8位寄存器,7位有效:用作程序运行的状态标志,如算术运算、逻辑运算或移位操作时,如果结果会影响到标志位的时候,PSW相关位就会做出相应反应,进行清零或置1。其中有两位用作工作寄存器选择位。PSW字节地址是D0H。程序状态字PSW程序状态字PSW是8位寄存器,7位有效:程序状态字PSWCY——进位位,在位操作时作为累加器;AC——辅助进位位,或称为半进位位;F0——用户标志位;RS0和RS1——工作寄存器指针,用来选择不同的四组工作寄存器(共32个字节);OV——溢出标志;PSW.1没有定义;P——奇偶位,始终跟踪累加器A中1的个数的奇偶性。ACCYP—OVRS0RS1F0PSW(D0H)D7D6D5D4D3D2D1D0程序状态字PSWCY——进位位,在位操作时作为累加器;ACC程序状态字PSW每位的具体含义:C是进位标志:在进行字节加法或减法运算时,如果最高位(第7位)有进位或借位时,C被置1,否则C被清0。在进行位操作时,C被称为位累加器。AC是辅助进位标志:在进行加法或减法运算时候,如果低半字节(第3位),向高半字节有进位或借位,AC被置1,否则AC被清0。在进行BCD码运算时,AC还作为BCD码调整时的判别位。F0是用户标志位。用户可根据自己需要,自主来置位或清零,作为程序运行的状体标志使用。程序状态字PSW每位的具体含义:程序状态字PSWRS1和RS0是工作寄存器指针,用于选择当前工作的寄存器组,用户可以改变RS1和RS0的组合,来切换当前工作寄存器组。程序状态字PSWRS1和RS0是工作寄存器指针,用于选择当前程序状态字PSWOV是溢出标志:进行有符号数加减运算时,如果发生溢出,OV被置1,否则OV清0。进行无符号数乘法时,如乘积超过255,OV被置1,否则清零。进行无符号数除法时,如除数为0,OV被置1,表示除法不能进行,否则被清零。P是奇偶标志:P始终跟踪累加器A的奇偶性。如果A中1的个数是奇数个,P被置1;如果是偶数个,P被清0。程序状态字PSWOV是溢出标志:2、控制器控制器是用来统一指挥和控制计算机工作的部件。结构:时钟发生器、定时控制逻辑、程序计数器PC、指令寄存器、指令译码器、数据指针寄存器DPTR、堆栈指针SP、以及地址译码器和地址缓冲器等。功能:从存储器逐条读取指令,进行指令译码,并且通过定时和控制电路,在规定的时刻发出各种操作所需要的控制信息以及CPU所需的控制信号,使各部分协调工作,完成指令所规定的各种操作。2、控制器控制器是用来统一指挥和控制计算机工作的部件。程序计数器PCPC是一个16位的专用寄存器。PC存放与指示下一条要执行指令的地址,当一条指令按照PC所指示的地址从存储器中取出来之后,PC会自动指向下一条指令。PC在物理结构上是独立的,不属于内部RAM,没有地址,是不可寻址的。用户无法对它进行读写,只有通过转移、调用和返回等指令来改变PC中的内容,以实现程序的转移。程序计数器PCPC是一个16位的专用寄存器。堆栈指针寄存器SP堆栈:在片内数据存储器中开辟的按照“先进后出,后进先出”的原则进行存取的RAM区。分布:是片内RAM的低128字节(00——7FH段)。用途:保护现场和断电保护(中断和调用子程序时)。操作:压栈和出栈通过堆栈指针SP来进行堆栈操作:SP随时跟踪栈顶地址;按照先进后出的原则进行压栈和出栈操作。开机复位后,SP指向片内RAM地址07H。堆栈指针寄存器SP堆栈:在片内数据存储器中开辟的按照“先进后数据指针DPTRDPTR是一个16位的寄存器,主要用来存放16位的地址,做间接寻址寄存器使用。可以对64K字节的外部数据存储器和I/O口进行寻址.DPTR可以拆成高字节DPH和低字节DPL两个独立的8位寄存器,分别占用83H和82H这两个地址,83H是DPH,82H是DPL。拆分之后,可以按照8位寄存器的方式进行操作和寻址。数据指针DPTRDPTR是一个16位的寄存器,主要用来存放1存储器在物理结构有4个空间片内程序存储器片外程序存储器片内数据存储器片外数据存储器89C51存储器程序存储器ROM数据存储器RAM存储器在物理结构有4个空间片内程序存储器片外程序存储器片内数哈佛结构片内RAM程序存储器系统分布片外RAM哈佛结构片内RAM程序存储器系统分布片外RAM程序存储器程序存储器可存放编译好的程序和表格常数。设计了两条特殊指令可以到程序存储器里面通过查表的方式取出表格常数。MOVCA,@A+DPTRMOVCA,@A+PC程序存储器程序存储器可存放编译好的程序和表格常数。程序存储器8051片内有4KROM,片外用16根地址线最多可以扩展64KROM,两者统一编址。8031没有片内ROM,只有向外扩展64KROM

。若EA=1,PC先在片内0000H——0FFFH4K字节范围内读取程序,当寻址范围超过0FFFH后,会自动转向片外1000H——FFFFH取指。若EA=0,所有取指均在片外ROM,即片外0000H——0FFFFH中。8031片内没有ROM,EA只能接地,PC指向片外,从片外取指令。程序存储器8051片内有4KROM,片外用16根地址线最多可程序存储器6个特殊功能单元:0000H:开机或系统复位入口0003H:外部中断0的中断入口000BH:定时器T0的溢出中断入口0013H:外部中断1的中断入口001BH:定时器T1溢出中断的入口0023H:串行口中断的入口程序存储器6个特殊功能单元:数据存储器数据存储器是用来存放运算的中间结果,数据的暂存以及缓冲。单片机片内有256字节的数据存储器,片外最多可以扩展成64K,构成两个地址空间。访问片内存储器用“MOV”指令,访问片外数据存储器用“MOVX”指令数据存储器数据存储器是用来存放运算的中间结果,数据的暂存以及工作寄存器工作寄存器:通过对程序状态字中的RS1和RS0的设置,决定CPU当前究竟使用那组工作寄存器。如果程序当中不需要4组工作寄存器,多余的寄存器单元可以作为一般寄存器使用的。工作寄存器工作寄存器:位寻址区位寻址区:工作寄存器后的16个字节(20H—2FH),可以位寻址。位寻址区位寻址区:工作寄存器后的16个字节(20H—2FH)专用寄存器特殊功能寄存器SFR,有21个专用寄存器,离散地分布在片内数据存储器的高128字节地址(80H—FFH),并没占满整个128个字节。专用寄存器SFRMSB位地址/位定义

LSB字节地址BF7F6F5F4F3F2F1F0F0ACCE7E6E5E4E3E2E1E0E0PSWD7D6D5D4D3D2D1D0D0CYACF0RS1RS0OVF1P

IPBFBEBDBCBBBAB9B8B8P3B7B6B5B4B3B2B1B0B0IEAFAEADACABAAA9A8A8EA

ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0SBUF

99SCON9F9E9D9C9B9A999898SM0SM1SM2RENTB8RB8TIRIP1979695949392919090TH1

8DTH0

8CTL1

8BTL0

8ATMODGATEC/TM1M0GATEC/TM1M089TCON8F8E8D8C8B8A898888TF1TR1TF0TR0IE1IT1IE0IT0PCONSMOD///GF1GF0PDIDL87DPH

83DPL

82SP

81P0878685848382818080SFRMSB位地址/位定义96I/O口的结构1、P0口2、P1口3、P2口4、P3口I/O口的结构1、P0口1、P0口P0口是最重要的,也是结构最复杂的一个口。P0口每一位由一个锁存器、两个三态输入缓冲器和输出驱动电路组成。P0口有两种用途:作为普通I/O口P0口是一个漏极开路的8位准双向I/O口。作为地址/数据总线P0口是一个真正的双向口,可以随意地读写。1、P0口P0口是最重要的,也是结构最复杂的一个口。1、P0口1)一般I/O口输出情况2)一般I/O口输入情况3)作为地址数据总线输出4)作为地址数据总线输入口1、P0口1)一般I/O口输出情况2、P1口P1是通用I/O口,是真正的用户口,用户可以随意使用它。P1比P0口上简单,包括一个锁存器两个三态缓冲器和一个驱动管V2,其漏极通过上拉电阻与电源相连。P1口也是一个准双向口,每次从输出转成输入

温馨提示

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

评论

0/150

提交评论