第二章 MCS-51系列单片机的结构和原理图

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/1/211第二章MCS-51系列单片机的结构和原理2.1单片机分类2020/1/212功能上,该系列单片机有基本型和增强型两大类:增强型:8052/8752/803280C52/87C52/80C32基本型:8051/8751/803180C51/87C51/80C312020/1/213在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess。如:80C51有4K字节的掩膜ROM87C51有4K字节的EPROM80C31在芯片内无程序存储器89C51片内有4KFepROM2020/1/214无ROM型,要在片外扩展程序存储器;掩膜ROM型,程序由芯片生产厂写入;EPROM型,程序通过写入装置写入;FlashROM型,程序可电写入(常用)。片内ROM的配置形式:还有OTPROM型,具有较高的可靠性。2020/1/215§2.2MCS-51单片机的结构以8051为例给出的单片机功能方块图如下。由图可见,在这一块芯片上,集成了一台微型计算机的各个部分。其中主要有CPU、存储器、可编程I/O、定时/计数器、串行口等。各部分通过内部总线相连。2020/1/216时钟OSCCPU各种I/O定时器/计数器程序存储器ROM数据存储器RAM中断MCS-51单片机组成框图2020/1/2178051内部有21个特殊功能寄存器,分别叫SP、IE、IP、PCON......(与内部RAM统一编址80H~FFH)★§2.3MCS-51单片机的存储器组织8051在物理结构上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。2020/1/21864KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00HSFRRAM64KBRAM(I/O)0000HFFFFH片内片外片外程序存储器数据存储器MOVMOVXMOVC2020/1/2198051在逻辑上,即从用户角度上8051有L;两个存储空间:片内外统一编址的程序存储器片内外不统一编址的数据存储器★访问这几个不同的逻辑空间时,采用的指令:片内外程序存储器空间----MOVC片内数据存储器空间和SFR----MOV片外数据存储器地址空间----MOVX2020/1/2110一、程序存储器及地址空间作用--程序存储器用于存放编好的程序和表格常数。①8051片内有4K字节ROM,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。★如果EA端保持高电平,8051执行片内前4KBROM地址(0000H~0FFFH)中的程序。当寻址范围超过4KB(1000H~FFFFH)时,则从片外存储器取指令。★当EA端保持低电平时,8051的所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从0000H开始编址。2020/1/2111②在程序存储器中,有6个单元具有特殊功能0003H:外部中断0入口。000BH:定时器0溢出中断入口。0013H:外部中断1入口。001BH:定时器1溢出中断入口。0023H:串行口中断入口。使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。0000H:8051复位后,PC=0000H,即程序从0000H开始执行指令。2020/1/2112二、数据存储器及地址空间数据存储器片外RAM64KB,地址范围0000H~FFFFH片内RAM256B,地址范围00H~FFH使用时只能用MOVX指令访问使用MOV指令访问,可以进行堆栈操作2020/1/2113片内数据存储器空间分布图通用RAM区(80B)位地址区(16B)寄存器区4组(32B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).........①由PSW中的2位RS1、RS0来决定选哪一组为当前工作寄存器:RS1、RS0=00选0组RS1、RS0=01选1组RS1、RS0=10选2组RS1、RS0=11选3组②在位地址区,每一个BIT都有一个地址,共16×8=128位00H30H2FH20H1FH...③共80个字节,作为一般的数据缓冲区并可设置堆栈区通用RAM区2020/1/2114三、特殊功能寄存器(21个字节)SFR(SpecialFunctionalRegister)见书P20表2-2①与ALU相关的(3个)ARegister(Accumulator):累加器,通常用A或ACC表示。可字节寻址(E0H),也可位寻址(E0H~E7H)它是一个寄存器,而不是一个做加法的部件。在运算器做运算时其中一个数一定是在ACC中。BRegister:暂存寄存器。暂存寄存器。在做乘、除法时放乘数或除数及结果。PSW(ProgramStatusWord):PSW是8位寄存器,用于作为程序运行状态的标志。这是一个很重要的部件,里面存放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。2020/1/2115它的各位功能如下:当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如上所示,下面说明各标志位的作用。D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址2020/1/2116CY:进位标志。加减运算时,保存最高位进位、借位状态。AC:半进位标志。例:78H+97H01111000+10010111100001111D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址有进位CY=1没有半进位AY=02020/1/2117RS1、RS0:工作寄存器组选择位。00选择工作寄存器0组MOVPSW,#00H01选择工作寄存器1组MOVPSW,#08H或SETBRS010选择工作寄存器2组MOVPSW,#10H或SETBRS111选择工作寄存器3组MOVPSW,#18H或setbrs0,setbrs1P:奇偶校验位,它用来表示累加器A内容中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。例:某运算结果是78H(01111000),P=0。D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS11RS01OVPPSW位地址2020/1/2118F0:用户标志位。作为软件标志,由编程人员决定何时使用。OV:溢出标志位。有符号数运算时,如果发生溢出,OV置“1”,否则清“0”。D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址2020/1/2119②与指针相关的(2个)SP(StackPointer):堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。它是加1计数.DPTR(DataPointer)(分成DPH、DPL两个):数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。唯一一个人为可以给予数据的16位寄存器MOVDPTR,#1234H83H=DPH=50H82H=DPL=13HDPTR=5013H2020/1/2120P0、P1、P2、P3:四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。SCON(SerialControlRegister)SBUF(SerialDateBuffer)PCON(PowerControlRegister)③与端口相关的(7个)④与定时/计数器相关的(6个)TMOD(Timer/CounterModeRegister)定时器工作模式寄存器。TCON(Timer/CounterControlRegister)定时器控制寄存器。TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。2020/1/2121IP(InterruptPriorityRegister)IE(InterruptEnableRegister)③与中断相关的(2个)课堂练习及思考题1.下列是关于8031单片机存储空间的描述,分析其对错:a.特殊功能寄存器容量为21B,没有位地址。b.外部数据存储器容量可达64kB,字节地址和位地址范围均为0000H~FFFFHc.程序存储器容量可达64kB,字节地址范围为0000H~FFFFH2020/1/2122d.内部数据存储器容量为256B,字节地址00-FFH和位地址范围为00H~7FHe.特殊功能寄存器容量为21B,有一部分特殊功能寄存器具有位地址。2.MCS-51单片机的工作寄存器组如何选择?若PSW的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是多少?3.MCS-51内部RAM的寄存器区一共有多少个存储单元?分为多少组?每组有多少个存储单元?分别以什么作为寄存器名?2020/1/21234.8051存储空间的结构与8086/8088有什么不同?它的物理结构是怎样的?5.MCS-51单片机的内部数据存储器容量是多少?它有什么特点?2020/1/2124§2.4MCS-51单片机的引脚8051单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0~P3。2020/1/2125在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。P3有第二功能.2020/1/2126P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制2020/1/2127复位电路(两种)80519RST10U/22U1K/10K+5V上电复位电路复位后,PC指向0000H,使单片机从起始地址0000H开始执行程序。2020/1/212880519RSTCR+5VK上电且开关复位2020/1/2129复位后单片机的状态复位后各寄存器的状态PC0000H(程序入口)P0、P1、P2、P30FFH(可以直接输入)SP07H(栈底已经设好)PSW00H(选择0组寄存器)其余大部分都是02020/1/2130XTAL1和XTAL280C51振荡器C1C2CYS80C51悬空外部时钟信号XTAL1XTAL2XTAL2XTAL1内部时钟外部时钟12M/6M30P/20P2020/1/21313.机器周期:一个机器周期包括12个振荡周期。4.指令周期:执行一条指令的时间。1\2\3\4个机器周期1.振荡周期:晶体振荡器的周期。1/12M2.状态周期:振荡周期2分频,也称时钟周期。INTEL对每一条指令都给出了它的指令周期数,MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。2020/1/2132§2.5最小系统----最少外部电路条件下,可以独立工作的单片机系统。80519RSTCR+5VK2020/1/2133课堂复习补充题:1.MCS-51单片机的哪些端口,有两种功能?分别是什么功能?2.在系统扩展片外程序存储器时,P2口是否可以再作为通用I/O口?在系统扩展时,P0\P2做为地址口,P2是高8位,P0是低8位.P3口也有第二功能.在P35P36作业:2\4\5\6\72020/1/21343.某控制程序有如下片段:MOVP1,#00H…MOVA,P1执行后结果不正常,请问为什么会出现这种情况,如何修改程序,才能保证输入的数据正常?M

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功