版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机原理
及应用2第2章MCS-51单片机根本结构2.1 引脚及功能2.2 结构及组成2.3 存储器结构2.4 并行I/O口电路2.5 时钟电路与时序2.6 工作方式
3(a)管脚图(b)引脚功能分类
MCS-51系列单片机芯片引脚4(a)引脚排列(b)逻辑符号80C51单片机芯片引脚52.1MCS-51系列单片机芯片引脚及其功能80C51是标准的40引脚双列直插封装〔DIP〕集成电路芯片1.主电源和时钟振荡电路引脚VCC〔40脚〕 运行和程序校验时接+5V电源VSS〔20脚) 地线XTAL1〔19脚〕用作晶体振荡电路的反相器输入端,内部接至振荡器的反相放大器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。XTAL2〔18脚〕 用作晶体振荡电路的反相器输出端,内部接至时钟发生器。当采用外部时钟时,对于HMOS单片机,该引脚接收振荡器信号;对于CHMOS单片机,该引脚悬浮。62.输入/输出〔I/O〕引脚P0.0~P0.7〔39脚~32脚〕:8位漏极开路的双向I/O口 当使用片外ROM和RAM时,用作低8位地址和数据分时复用。P1.0~P1.7〔1脚~8脚〕:8位带上拉电阻的准双向I/O口 在编程/校验期间,用作输入低8位地址。对于8052,P1.0是定时器T2的计数输入端;P1.1是定时器T2的外部输入端。P2.0~P2.7〔21脚~28脚〕:8位带上拉电阻的准双向I/O口 当使用片外ROM和RAM时,输出高8位地址。P3.0~P3.7〔10脚~17脚〕:8位带上拉电阻的准双向I/O口 P3口具有第二功能在单片机中,“口〞是一个集数据输入缓冲、输出驱动及锁存等多项功能于一体的I/O电路。7P3口的第二功能83.控制信号引脚RST/VPD〔9引脚〕:RST为复位信号输入端。当RST端保持2个机器周期以上高电平时,单片机完成复位操作。第二功能VPD为内部RAM的备用电源输入端。当主电源VCC发生断电,降到一定电压值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丧失,上电后能继续正常运行。ALE /PROG〔30引脚〕:ALE为地址锁存允许信号在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低8位地址和数据的分时传送。由于ALE是以1/6晶振频率的固定频率输出的正脉冲,故可作为外部时钟或外部定时脉冲使用。ALE可驱动8个LSTTL门。第二功能PROG是对8751内部EPROM编程时的编程脉冲输入端。9PSEN〔29引脚〕:外部程序存储器〔ROM〕读选通信号访问外部ROM时,PSEN产生负脉冲作为外部ROM选通信号。访问外部RAM或内部ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL门。EA/VPP〔31引脚〕:EA为访问程序存储器〔ROM〕控制信号对8051和8751,它们的片内有4KB的ROM,当EA为高电平时,假设访问的地址空间在0~4KB范围内,CPU访问片内ROM;假设访问的地址范围超过4KB时,CPU将自动访问外部ROM。EA保持低电平,那么访问外部ROM。对于8031,EA必须接地,只能访问外部ROM。第二功能为对8751的+25V编程电源输入。10图MCS-51系列单片机内部结构简化框图
2.2MCS-51系列单片机结构及组成CPU11MCS—51系列单片机由8大局部组成:一个8位CPU,包括运算器和控制器。128个字节〔52子系列为256字节〕的片内RAM。4KB〔52子系列为8KB〕的片内ROM或EPROM〔8031和8032无〕18个〔52子系列为21个〕特殊功能存放器SFR。4个8位并行I/O接口:P0口、P1口、P2口、P3口1个串行I/O接口2个〔52子系列为3个〕16位定时器/计数器1个具有5个〔52子系列为6个或7个〕中断源,可编程为2个优先级的中断系统。它可以接收外部中断申请、定时器/计数器中断申请和串行口中断申请。12MCS-51单片机芯片内部结构框图131.中央处理器CPU〔8位〕 单片机内部的核心部件,完成运算和控制操作。包括运算器、控制器以及假设干存放器等部件组成。运算器 以算术逻辑单元ALU为核心,加上累加器ACC、存放器B、暂存器TMP1和TMP2、程序状态存放器PSW、十进制调整电路及专门用于位操作的布尔处理机组成的。 功能:实现数据的算术逻辑运算,位变量处理和数据传送操作。14功能:完成8位二进制数的加〔带进位加〕、减〔带借位减〕、乘、除、加1、减1、BCD加法的十进制调整、比较等算术运算;对8位变量进行逻辑“与〞、“或〞、“异或〞、求补、清零等逻辑运算;左、右移位和半字节〔4位〕交换等操作;数据传送、程序转移。ALU〔算术逻辑单元〕15累加器A是一个8位存放器,它是CPU中使用最频繁的存放器。累加器A的功能有:用于存放操作数,是ALU数据的一个来源。单片机中大局部单操作数指令的操作数都取自累加器A,许多双操作数指令中的一个操作数也取自累加器A。累加器A是ALU运算结果的暂存单元,用于存放运算的中间结果。累加器A是数据传送的中转站,单片机中的大局部数据传送都通过累加器进行。在变址寻址方式中把累加器A作为变址存放器使用。ACC或A〔累加器〕16B存放器是一个8位存放器,主要用于乘除运算。乘法运算时,A中为被乘数,B中为乘数;乘法操作完成后,乘积的高8位存于B中,低8位存于A中。除法运算时,A中为被除数,B中为除数;除法操作完成后,余数存于B中,商存于A中。其他情况下,B存放器也可以作为一般的数据存放器使用,地址为F0H。B存放器17PSW〔程序状态字〕 PSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。PSW格式及含义如下:CY〔PSW.7〕——进位标志位AC〔PSW.6〕——辅助进位〔或称半进位〕标志F0〔PSW.5〕——由用户定义的标志位。复位时该位为“0〞RS1和RS0〔PSW.4和PSW.3〕——工作存放器组选择位OV〔PSW.2〕——溢出标志位。由硬件置位或清零。PSW.1——未定义位P〔PSW.0〕——奇偶标志位〔A中1的个数:偶0,奇1〕18CY是PSW中最为常用的标志位,共有4项功能:在加法运算中存放进位标志,有进位时CY置1,无进位时CY清0;在减法运算中存放借位标志,有借位时CY置1,无借位时CY清0;在位操作中作累加位使用,在位传送和位运算中都要用到CY;在带进位的移位操作中用于构成循环移位通路。【注意】对于加/减运算,无论参与运算的数是带符号数还是无符号数,都按无符号数的原那么来设置进/借位标志位CY。CY〔PSW.7〕——进位标志位19在加/减运算中,当低4位向高4位有进/借位时,AC由硬件置位,否那么AC被清0。在进行十进制数运算时需要十进制调整,此时要用到AC位的状态进行判断。AC〔PSW.6〕——半进位标志位F0〔PSW.5〕——用户标志位 由用户定义使用的标志位。用户可根据需要用软件方法置位或复位。20 这两个选择位的状态由软件设置,被选中的工作存放器组即为当前工作存放器组。RS1和RS0〔PSW.4和PSW.3〕——工作存放器组选择位P〔PSW.0〕——奇偶标志位说明累加器A中1的个数的奇偶性:假设1的个数为偶数,那么P=0;假设1的个数为奇数,那么P=1。在每个指令周期由硬件根据A的内容对P位进行置位或复位。21在加/减运算中,如果OV=1,那么表示运算结果超出了累加器A所能表示的符号数的有效范围〔-128~+127〕,运算结果是错误的,即产生了溢出;否那么,OV=0,那么表示运算结果正确,即未产生溢出。溢出的判断:OV=C6⊕C7在乘法运算中,OV=1表示乘积超过255,即乘积分别在B〔高8位〕与A〔低8位〕中;否那么,OV=0表示乘积只在A中。在除法运算中,OV=1表示除数为0,除法不能进行;否那么,OV=0表示除数不为0,除法可正常进行。【注意】对于加/减运算,无论参与运算的数是带符号数还是无符号数,都按带符号数的原那么来设置溢出标志位。OV〔PSW.2〕——溢出标志位22布尔处理机布尔处理〔即位处理〕是MCS-51单片机ALU所具有的一种功能。单片机指令系统中的布尔指令集〔17条位操作指令〕,存储器中的位地址空间〔内部RAM中的128个位和特殊功能存放器里的位地址空间〕,以及借用程序状态标志存放器PSW中的进位标志CY作为位操作“累加器〞,构成了单片机内的布尔处理机。可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑"与"、"或"等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等。23控制器 控制器是单片机的神经中枢,识别指令并根据指令性质控制单片机各部件,保证单片机各局部能自动而协调地工作。它包括程序计数器〔PC〕、数据指针存放器〔DPTR〕、指令存放器〔IR〕、指令译码器、条件转移逻辑电路以及定时和控制电路等部件。 功能:控制指令的读出、译码和执行。对指令的执行过程定时控制,并根据执行结果断定是否分支转移。24PC〔程序计数器〕PC是专门用来控制指令执行顺序的存放器,其内容为将要执行的下一条指令的地址,即下一条将要从ROM中取出的指令地址。PC是一个16位的存放器,它在物理上是独立的,不在内部RAM之列,没有地址,是不可寻址的。16位地址的寻址范围为64KB〔ROM〕。用户不需要也无法对PC进行读/写,PC的内容是通过执行指令改变的。在执行指令过程中,PC具有自动加1功能。在执行转移、调用、返回等指令时能自动改变PC内容,以改变程序的执行顺序。复位时,PC自动装入0000H,使程序从0000H单元开始执行。25DPTR〔数据指针〕16位特殊功能存放器,也可作为两个8位存放器,高8位用DPH表示,低8位用DPL表示。它是MCS-51中唯一一个供用户使用的16位存放器。功能:在访问外部RAM时作地址指针使用。在变址寻址方式中,用作基址存放器,用于对ROM的访问。26指令存放器IR、指令译码器以及控制逻辑IR是用来存放指令操作码的专用存放器。整个程序的执行过程就是在控制器的控制下,将指令从ROM中逐条取出,进行译码,然后由定时控制逻辑电路发相应的定时控制信号,控制指令的执行,是一个取指令→指令译码→执行指令的不断循环的过程。272.内部数据存储器〔内部RAM〕 包括RAM〔128×8位〕和RAM地址存放器等。 80C51芯片中共有256个RAM单元,但其中后128单元被特殊功能存放器占用,供用户使用的只有前128单元,用于存放可读写的数据。故“内部RAM〞指前128单元。3.内部程序存储器〔内部ROM〕 包括ROM〔4K×8位〕和程序地址存放器等。 80C51共有4KB掩膜ROM,用于存放程序和原始数据。4.定时器/计数器 出于控制应用的需要,80C51共有2个16位的定时器/计数器,以实现定时或计数的功能,并以其定时或计数结果对单片机进行控制。285.并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入输出。可寻址64KB外部RAM和64KB外部ROM
。6.串行口
MCS-51有一个可编程全双工的串行口,以实现单片机和其它数据设备之间的串行数据传送。该串行口既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7.中断控制系统
MCS-51共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。全部中断分为高级和低级两个优先级。298.时钟电路为单片机产生时钟脉冲序列,典型的晶振频率为12MHz。MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,输出端为XTAL2。9.位处理器〔布尔处理器〕单片机主要用于控制,需要有较强的位处理功能,因此,位处理器是它的必要组成局部。10.总线系统的地址信号、数据信号和控制信号都是通过总线传送的。总线结构减少了单片机的连线和引脚提高了集成度和可靠性。MCS-51单片机硬件结构MCS-51系列单片机的分类表MCS-51系列单片机配置一览表MCS-51单片机的内部结构图MCS-51单片机结构框图
中央处理器CPU
运算器算术逻辑单元ALU2.累加器ACC〔Accumulator〕3.存放器B4.程序状态字PSW〔ProgrameStateWord〕D7D6D5D4D3D2D1D0PSW表RS1、RS0与片内工作存放器组的对应关系
控制器1.时钟电路图单片机时钟电路〔a〕内部时钟电路;〔b〕外部振荡源2.复位电路图单片机复位电路〔a〕上电复位电路;(b)开关复位电路表复位后内部存放器状态3.指令存放器和指令译码器指令存放器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器译码后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。4.程序计数器PC〔ProgramCounter〕PC用于存放CPU下一条要执行的指令地址,是一个16位的专用存放器,可寻址范围是0000H~0FFFFH共64KB。程序中的每条指令存放在ROM区的某一单元,并都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在的单元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。5.堆栈指针SP〔StackPointer〕堆栈操作是在内存RAM区专门开辟出来的按照“先进后出〞原那么进行数据存取的一种工作方式,主要用于子程序调用及返回和中断处理断点的保护及返回,它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回,进入栈区的“断点〞数据应遵循“先进后出〞的原那么。SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址〔栈底层〕。当数据推入栈区后,SP的值也自动随之变化。MCS-51系统复位后,SP初始化为07H。6.数据指针存放器DPTR数据指针DPTR是一个16位的专用存放器,其高位字节存放器用DPH表示,低位字节存放器用DPL表示。既可作为一个16位存放器DPTR来处理,也可作为两个独立的8位存放器DPH和DPL来处理。DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址存放器用。在访问程序存储器时,用作基址存放器。412.3MCS-51单片机存储器组织结构MCS-51单片机的存储器组织结构与一般微机不同:一般微机通常是程序和数据共用一个存储空间,属于VonNeumann结构〔冯·诺依曼型〕MCS-51单片机把程序存储器空间和数据存储器相互别离开来,属于Harvard结构〔哈佛型〕42存储器ALU〕算逻部件〔ALU〕控制部件中央处理器
CPU输入/输出部件输入/输出部件算逻部件〔ALU〕控制部件中央处理器
CPU程序存储器数据存储器单片机体系结构冯·诺依曼型哈佛型43MCS-51的存储器组织分3个不同的存储地址空间:64KB的程序存储器地址空间〔包括片内ROM和片外ROM〕64KB的外部数据存储器地址空间256B的内部数据存储器地址空间 对这3个不同的存储器空间进行数据传送时,必须分别采用3种不同形式的指令。44MCS-51单片机存储器组织结构内部ROM4KBEA=1外部ROM4KBEA=0内部RAM128B0FFFH0000H0FFFH0000HFFFFH1000H外部RAM64KB特殊功能存放器(21个SFR)外部ROM60KBFFH80H7FH00H程序存储器地址空间数据存储器地址空间FFFFH0000H〔MOV指令操作域〕〔MOVX指令操作域〕〔MOVC指令操作域〕45程序存储器〔ROM〕ROM用于存放程序及表格常数,读取ROM的指令为“MOVC〞。8051〔8751〕片内驻留有4KB的ROM〔EPROM〕,外部可用16位地址线扩展到最大64KB的ROM空间。片内ROM和外部扩展ROM是统一编址的。46程序存储器〔ROM〕当芯片引脚EA为高电平时,8051的程序计数器PC在0000H~0FFFH〔4KB〕地址时从内部ROM取指令,超过4KB时,CPU自动转向外部ROM执行程序。如果EA为低电平〔接地〕,那么所有取指令操作均在外部ROM中进行,这时外部扩展的ROM从0000H开始编址。8031单片机无片内ROM,只能使用外部扩展ROM且从0000H开始编址,EA必须接低电平。47ROM中的某些特定单元是给系统默认使用的0000H单元是复位入口,单片机复位后,CPU总是从0000H单元开始执行程序。0000H~0002H单元安排一条无条件转移指令,使之转向主程序的入口地址。0003H~002AH共40个单元均匀地分为5段,分别作为5个中断源的中断地址区。中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。48系统复位和中断地址区一般从中断首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断效劳程序的实际入口地址。49数据存储器〔RAM〕RAM用于存放运算中间结果,用作缓冲和数据暂存,以及设置特征标志等。8051片内有256B的RAM空间,片外有64KB的RAM空间,两个存储空间独立寻址。内部RAM低128字节地址空间〔00H~7FH〕为内部RAM区,是供用户使用的数据存储器单元,作为处理问题的数据缓冲器。高128字节地址空间〔80H~FFH〕为特殊功能存放器区〔SFR区〕,共21个特殊功能存放器,也就是128个字节单元中只有21个字节单元能够被用户使用。内部RAM存储空间小,仅用8位地址寻址,但存取速度比外部RAM快。50内部RAM低128单元的划分工作存放器组0位寻址区〔位地址:00H~7FH〕用户RAM区〔堆栈、数据缓冲〕7FH30H2FH20H工作存放器组3工作存放器组2工作存放器组11FH18H17H10H0FH08H07H00HR7R0R7R0R7R0R7R0………………………工作存放器区〔共32个字节单元,分为4组,每组8个8位存放器,只能按字节寻址〕用户RAM区〔共80个字节单元,只能按字节寻址〕位寻址区〔共16个字节单元,128个位,可按位寻址,也可按字节寻址〕51内部RAM低128单元,按用途可分为3个区域:工作存放器区内部RAM的00H~1FH为工作存放器区,共32个字节,分为4组,每组8个8位存放器R0~R7。在任一时刻,CPU只能使用其中的一组存放器,当前程序使用的工作存放器组是由程序状态字PSW的RS0、RS1位来选择的。52工作存放器的使用方法:①以存放器的形式使用,用存放器符号表示; ②以存储单元的形式使用,以单元地址表示。工作存放器区各存放器对应的地址53位寻址区内部RAM的20H~2FH字节为可位寻址区域,这16个字节共128位,每一位都有一个位地址,位编址为:00H~7FH,用户可用程序对它们直接进行清0、置位、取反和测试等操作。位寻址区的RAM单元也可按字节寻址,作为一般的数据缓冲器使用。“位〞的两种表示方式:以位地址的形式,如位寻址区的最后一个位是7FH;以存储单元地址加位的形式表示,如位寻址区的最后一个位表示为2FH.7。54内部RAM位寻址区的位地址55
用户RAM区内部RAM的30H~7FH字节为用户RAM区,即通用数据缓冲区,共80个单元,作为一般数据缓冲使用。52子系列的用户RAM区为30H~FFH范围内的208个字节。对于用户RAM区,只能以存储单元的形式来使用,没有其它任何规定和限制。一般把堆栈开辟在此区中。56内部RAM高128单元:特殊功能存放器〔SFR〕区单元地址为80H~FFH,用于存放相应功能部件的控制命令、状态或数据。80C51片内包括21个SFR,其中可位寻址的有11个。对可位寻址的SFR,在表示某一位时,可以用位地址,也可以用位定义名,或用“存放器名.位〞表示。例如程序状态字PSW中的D3位可表示为: D3H〔位地址〕 RS0〔位定义名〕 PSW.3〔存放器名.位〕57特殊功能存放器地址映像58特殊功能存放器地址映像〔续〕59对SFR的字节寻址问题的说明:21个SFR不连续地分散在内部RAM高128单元中。用户不能使用剩余的的空闲单元,如果访问了这些没有定义的单元,读出的为不定数,写入的数将被舍弃。每个SFR都有字节地址,并定义了符号名。其中11个可位寻址,对应的位也定义了位名。〔但凡字节地址能被8整除的SFR都具有位地址〕只能使用直接寻址方式访问特殊功能存放器,指令中既可使用存放器符号表示,也可使用存放器地址表示。在P3~P0口中,作为特殊功能存放器的是它们的锁存器,由各位口线的锁存位组成。60MCS-51的堆栈操作堆栈是一种数据结构,就是只允许在其一端进行数据插入和数据删除操作的线性表。数据写入堆栈叫入栈〔PUSH〕,数据从堆栈中读出叫出栈〔POP〕。堆栈的最大特点是“后进先出〞〔LIFO,Last-In-First-Out〕的数据操作规那么。61堆栈的功用堆栈可用于响应中断或调用子程序时,保护断点和保护现场。在中断效劳程序或子程序结束时,执行中断返回或子程序返回指令,原断点地址会自动从堆栈中弹出给PC,使程序从断点处顺序执行下去。堆栈也可用于数据的临时存放。堆栈的开辟堆栈只能开辟在芯片的内部RAM中〔内堆栈〕,通常设在内部RAM的30H~7FH地址空间内的顶部,但要考虑到堆栈的最大深度。内堆栈的特点:操作速度快,但堆栈容量有限62堆栈指针〔SP〕堆栈指针SP是8位的特殊功能存放器,可指向片内RAM128字节〔00H~7FH〕的任何单元。堆栈的两种操作〔进栈和出栈〕都是对栈顶单元进行的。SP用来指示栈顶,SP的内容就是堆栈栈顶的存储单元地址。系统复位后,SP的内容为07H,但由于堆栈一般在内部RAM的30H~7FH单元中开辟,所以在程序设计时应注意把SP值初始化为30H以后,以免堆栈占用工作存放器区和位寻址区。SP的内容一经确定,堆栈的位置也就跟着确定下来,由于SP可初始化为不同值,因此堆栈位置是浮动的。63堆栈类型向上生长型堆栈:栈底在低地址单元。 操作规那么: 进栈操作:先SP加1,后写入数据 出栈操作:先读出数据,后SP减1向下生长型堆栈:栈底在高地址单元。 操作规那么: 进栈操作:先SP减1,后写入数据 出栈操作:先读出数据,后SP加1MCS-51的堆栈属于向上生长型栈底栈底SP←SP+1SP进栈出栈出栈进栈SPSP←SP-164堆栈的使用方式自动方式〔保护断点〕 无需用户干预,在调用子程序或中断时,返回地址〔断点〕自动进栈;程序返回时,断点再自动弹回PC。指令方式〔保护现场〕 使用专用的堆栈操作指令,进行进出栈操作。进栈指令为PUSH〔保护现场〕,出栈指令为POP〔恢复现场〕。65总结:MCS-51单片机系统的存储器结构特点数据存储器和程序存储器截然分开
RAM和ROM的地址空间、存取指令和控制信号各有一套。存储器有内外之分
为扩展外部存储器,单片机的芯片引脚已经作了预先准备:通过口线最多可提供16位地址,对外部存储器的寻址范围达64KB;ALE信号用于外部存储器的地址锁存;WR和RD信号分别用于外部RAM的写选通和读选通;PSEN信号用于外部ROM的读选通;EA信号用于内外ROM的访问控制。补充51单片机存储器的结构图MCS-51单片机的存储器结构1.程序存储器对于8051来说,程序存储器〔ROM〕的内部地址为0000H~0FFFH,共4KB;外部地址为1000H~FFFFH,共60KB。当程序计数器由内部0FFFH执行到外部1000H时,会自动跳转。对于8751来说,内部有4KB的EPROM,将它作为内部程序存储器;8031内部无程序存储器,必须外接程序存储器。8031最多可外扩64KB程序存储器,其中6个单元地址具有特殊用途,是保存给系统使用的。0000H是系统的启动地址,一般在该单元中存放一条绝对跳转指令。0003H、000BH、000BH、001BH和0023H对应5种中断源的中断效劳入口地址。2.内部数据存储器MCS-51单片机片内RAM的配置如图2.4〔b〕所示。片内RAM为256字节,地址范围为00H~FFH,分为两大局部:低128字节〔00H~7FH〕为真正的RAM区;高128字节〔80H~FFH〕为特殊功能存放器区SFR。在低128字节RAM中,00H~1FH共32单元是4个通用工作存放器区。每一个区有8个通用存放器R0~R7。存放器和RAM地址对应关系如表2.4。表存放器与RAM地址对照表表RAM中的位寻址区地址表表SFR特殊功能存放器地址表表SFR特殊功能存放器地址表表SFR特殊功能存放器地址表3.外部数据存储器外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定,最大可扩展到64KBRAM,地址是0000H~0FFFFH。CPU通过MOVX指令访问外部数据存储器,用间接寻址方式,R0、R1和DPTR都可作间接存放器。注意,外部RAM和扩展的I/O接口是统一编址的,所有的外扩I/O口都要占用64KB中的地址单元。752.4MCS-51单片机并行I/O口电路 在单片机中,“口〞是一个集数据输入缓冲、输出驱动及锁存等多项功能于一体的I/O电路。MCS-51单片机4个8位的并行I/O口:P0、P1、P2、P3,这4个口既可以按字节寻址,也可以按位寻址,共32位。每个口输出具有锁存功能,前一次输出的信息将一直锁存到下一次输出新信息时为止;输入没有锁存功能,所以输入信息应一直保持到输入指令把信息取走时为止。每个口都能用作通用输入/输出,其中P0口又能作为地址/数据总线,P2口能传送高8位地址;P3口有第二功能;P1口只能用作通用I/O口。76P0口字节地址:80H,位地址:80H~87H既能用作通用I/O口,又能用作地址/数据总线的复用。V1V2123477P0口由8个完全相同又相互独立的逻辑电路组成:锁存器用于进行数据位的锁存,8个锁存器构成了特殊功能存放器P0;场效应管V1、V2组成数据输出的驱动和控制电路;与门3、反相器4及多路转接开关MUX构成输出控制电路;三态门1是引脚输入缓冲器;三态门2是用于读锁存器端口。读引脚是指将引脚P0.x上的值通过内部总线读入CPU,而读锁存器是读入一个口锁存器的值,进行处理后重新写回锁存器中〔读-修改-写〕。由指令决定是读引脚还是读锁存器,例如指令ANLP1,A就是读锁存器,它是将P1口的8位分别与累加器A中的8位进行与操作,结果写回P1口的8个锁存器中。78P0口用作通用I/O口 CPU发来的控制信号为低电平,MUX接通锁存器Q端的输出通路。与门3输出低电平并将输出驱动电路的上拉场效应管V2截止,输出端处于漏极开路状态。【注意】:P0口在输出数据时,由于V2截止,输出级是漏极开路电路,要使“1〞信号正常输出,必须外接上拉电阻。P0口作为输入口使用时,应区分读引脚和读锁存器。读引脚时应使V1截止〔先向该端口锁存器写入“1〞〕79P0口作为地址/数据总线 CPU发来的控制信号为高电平,MUX接通反相器4。作总线输出时,从“地址/数据〞端输入的地址〔低8位〕或数据信号同时作用于与门3和反相器4,并分别驱动V1、V2,结果在引脚上得到地址或数据输出信号。外部数据输入时,CPU使V1、V2均截止,从引脚上输入的外部数据经读引脚缓冲器2进入内部数据总线。【注意】:P0口在有外部扩展存储器时被作为地址/数据总线口,此时是一个真正的双向口;在没有外部扩展存储器时,P0口也可作为通用的I/O接口,但此时只是一个准双向口。80P1口字节地址:90H,位地址:90H~97H只能作为通用I/O口使用,是准双向口。12V181P1口电路与P0口的区别:因只传送数据,所以没有地址/数据的传送电路和多路转接开关MUX。输出驱动电路中有上拉电阻,上拉电阻与场效应管共同组成输出驱动电路。输出数据时,已能对外提供推拉电路负载,外电路无需再接上拉电阻。输入数据时,应先向其锁存器写入“1〞,使输出驱动电路的V1截止。82P2口字节地址:0A0H,位地址:0A0H~0A7H可作为通用I/O口或地址总线高8位,是准双向口。123V183P2口作为通用I/O口 当控制信号为低电平时,多路开关MUX接到左端,P2口作为通用I/O口使用,其功能和使用方法与P0、P1相同。用作输入时,也必须先向锁存器写入“1〞。P2口作为地址总线 当控制信号为高电平时,多路开关MUX接到右端,由程序计数器PC送来的高8位地址PCH或数据指针DPTR送来的高8位地址DPH经反相器3和V1管二次反相后从引脚输出。 〔P2口输出地址总线高8位,供系统扩展用〕对于8051、8751型单片机,P2口能作为通用I/O或地址总线使用。对于8031型单片机〔无片内ROM〕,P2口只能作为地址总线高8位。84P3口字节地址:0B0H,位地址:0B0H~0B7H可用作通用I/O口,同时每个引脚还有第二功能。准双向口3V141285P3口作为通用I/O口“第二功能输出〞端为高电平,用作输出时,与非门3的输出取决于锁存器Q端信号,引脚输出信号与内部总线信号相同。其功能和使用方法与P1、P2相同。用作输入时,也须先写入“1〞。P3口用作第二功能P3口的某一位作为第二功能输出使用时,该位的锁存器置“1〞,使与非门3和输出状态只受“第二功能输出〞端控制。第二功能输出信号经与非门3和V1管二次反相后输出到该位引脚。P3口的某一位作为第二功能输入使用时,该位的“第二功能输出〞端和锁存器自行置“1〞,该位引脚上的信号经缓冲器4送入“第二功能输入〞端。补充:51单片机并行输入/输出接口图P0口内部一位结构图1.P0口2.P1、P2和P3口P1、P2和P3口为准双向口,在内部差异不大,但使用功能有所不同。P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1〞,然后才能进入输入操作。P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。对于8031而言,P2口一般只作为地址总线使用,而不作为I/O线直接与外部设备相连。表P3口的第二功能89时钟电路用于产生单片机工作所需要的时钟信号。单片机本身是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序协调工作。时序研究的是指令执行中各信号之间的相互时间关系。2.5MCS-51单片机时钟电路与时序90时钟电路时钟信号的产生〔内部方式时钟〕MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。外接作为反响元件的晶体后成为自激振荡器,晶体呈感性,与微调电容C1、C2构成并联谐振回路。
振荡器的频率主要取决于晶体,电容有微调作用。晶体的振荡频率范围通常是1.2~12MHz,电容C1、C2一般取30pF。晶体振荡频率越高,系统的时钟频率越高,单片机运行速度越快。91引入外部脉冲信号〔外部方式时钟〕在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的震荡脉冲。外接的脉冲应是上下电平持续时间大于20ns的方波,且脉冲频率应低于12MHz。92
分频电路振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。时钟频率为振荡频率的2分频,ALE信号频率为振荡频率的6分频,机器频率为振荡频率的12分频。当振荡脉冲频率为12MHz时,一个机器周期为1ms;当振荡脉冲频率为6MHz时,一个机器周期为2ms。93时序定时单位振荡周期〔节拍P〕:振荡脉冲的周期。时钟周期〔状态S〕:两个振荡周期为一个时钟周期。一个状态包含两个节拍,前半周期对应的节拍叫P1,后半周期对应的节拍叫P2。机器周期:一个机器周期的宽度为6个状态,用S1、S2、…、S6表示;共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。指令周期:执行一条指令所需要的时间,它以机器周期为单位,是最大的时序定时单位。MCS-51的指令周期根据指令的不同,可包含有1、2、4个机器周期。94
典型指令时序MCS-51共有111条指令,按长度可分为: 单字节指令、双字节指令、三字节指令。执行这些指令所需要的机器周期数目是不同的,概括起来有以下几种情况:单字节单机器周期指令、单字节双机器周期指令、双字节单机器周期指令、双字节双机器周期指令、三字节的指令都是双机器周期、单字节的乘、除指令为四个机器周期ALE信号为MCS-51扩展系统的外部存储器地址低8位的锁存信号,ALE信号每有效一次对应单片机进行1次的读指令操作。ALE信号以振荡脉冲的1/6频率出现,在一个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为1个状态。补充51单片机单片机工作的根本时序1.机器周期和指令周期〔1〕振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。〔2〕状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。〔3〕机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。〔4〕指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。2.MCS-51指令的取指/执行时序图MCS-51单片机取指/执行时序3.访问外部ROM和RAM的时序图
读外部程序ROM时序
图读外部数据RAM时序图
写外部数据RAM的时序100MCS-51单片机有5种不同的工作方式,每种工作方式都代表着单片机的一种工作状态。包括:程序执行方式〔分为连续执行和单步执行〕复位方式掉电方式低功耗节电工作方式EPROM编程和校验方式2.6MCS-51单片机工作方式101程序执行方式〔单片机的根本工作方式〕连续执行方式〔正常工作方式〕 由于单片机复位后PC=0000H,因此程序执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作办学项目协议范本
- 重型吊车租赁合同范本
- 展览活动参展协议书模板
- 2024装修大包合同模板
- 2024年离婚协议书范本简易
- 新服装定制合同样本
- 2.2 创新永无止境导学案 2024-2025学年统编版道德与法治九年级上册
- 债券认购与债权转让合同实务
- 门店租赁合同协议书
- 上海市超市洗涤产品流通安全协议
- 行政服务中心窗口工作人员手册
- 最新患者用药情况监测
- 试桩施工方案 (完整版)
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- 中工商计算公式汇总.doc
- 深圳市建筑装饰工程消耗量标准(第三版)2003
- 《初中英语课堂教学学困生转化个案研究》开题报告
- 钢筋桁架楼承板施工方案
- 恒温箱PLC控制系统毕业设计
- 176033山西《装饰工程预算定额》定额说明及计算规则
评论
0/150
提交评论