
第2章MCS-51单片机构成课件.ppt
52页单片机原理及应用单片机原理及应用高正中高正中第第2 2章章 MCS-51MCS-51单片机的结构与组成单片机的结构与组成 主要内容主要内容2.1 MCS-512.1 MCS-51单片机的构成单片机的构成2.2 MCS-51/522.2 MCS-51/52存储器的结构存储器的结构2.3 MCS-512.3 MCS-51的时钟与复位电路的时钟与复位电路2.4 89C512.4 89C51引脚及功能引脚及功能2.5 89C51 I/O2.5 89C51 I/O接口特性接口特性 2022/6/23 2.1 MCS-51MCS-51单片机的构成单片机的构成 2.1.1 MCS-51基本结构基本结构 (MCS-51核)核)2022/6/238位位CPUROMRAM MCS-51MCS-51微处理器的结构微处理器的结构振荡器振荡器2022/6/23OscillatorInterruptC P UROMRAMTimer 1Timer 0I/O portsSerialExternal interruptsCounter inputsP0P1P2P3TXD RXDMCS-51 微处理器简化结构微处理器简化结构2022/6/23 2.1.1 MCS-51核核 8 8位位CPUCPU,片内振荡器;,片内振荡器; 4KB/8KB4KB/8KB字节字节ROMROM; 128B/256B128B/256B字节字节RAMRAM; 2/32/3个个1616位定时器位定时器/ /计数器;计数器; 3232个可编程的个可编程的I/OI/O线;线; 一个可编程全双工串行口;一个可编程全双工串行口; 5/65/6个中断源,两个中断优先级;个中断源,两个中断优先级; 可寻址可寻址64KB64KB外部数据存储器空间、外部数据存储器空间、64KB64KB外部程外部程序存储器空间的控制电路;序存储器空间的控制电路; 布尔处理器。
布尔处理器2022/6/23山东科技大学1)核内总线)核内总线 数据总线:数据总线:8位位(D0-D7) 地址总线:地址总线:8位位(A0-A7)2)核外总线)核外总线 数据总线数据总线DB:D0-D7 地址总线地址总线AB:A0-A15(可管理片内及片外可管理片内及片外RAM-XRAM/ROM)核内与片内、核外与片外;核内与片内、核外与片外;2.1.2 MCS-51总线总线2022/6/23山东科技大学运算器运算器n 进行算术和逻辑运算进行算术和逻辑运算 ,8位;位;n 组成:组成:ALU、ACC、TEMP、PSW、B;主要任务:主要任务:n算术运算、逻辑运算、数据处理算术运算、逻辑运算、数据处理n利用程序状态寄存器利用程序状态寄存器PSW表述当前运行状态表述当前运行状态主要由运算器、控制器、位处理器等组成主要由运算器、控制器、位处理器等组成决定单片机的性能决定单片机的性能(字长、运行速度、数据处理,中断)字长、运行速度、数据处理,中断)2.1.3 中央处理器中央处理器CPU2022/6/23山东科技大学 控制器控制器 CPU的大脑中枢,以定时控制逻辑为中心,按照预的大脑中枢,以定时控制逻辑为中心,按照预先给定的步骤(即程序)发出一系列控制信号,控制计先给定的步骤(即程序)发出一系列控制信号,控制计算机各个部件的工作。
算机各个部件的工作 包括包括: 指令寄存器指令寄存器IR、指令译码器、指令译码器ID、数据指针、数据指针DPTR、程序计数器(指针)程序计数器(指针)PC、堆栈指针堆栈指针SP、以及控制电路以及控制电路(时序电路、中断控制部件、微操作控制部件)时序电路、中断控制部件、微操作控制部件) 位处理器位处理器每次处理的数据是一位它能完成逻辑与、或、非、异每次处理的数据是一位它能完成逻辑与、或、非、异或等各种逻辑运算用于逻辑电路的仿真、开关量的控制或等各种逻辑运算用于逻辑电路的仿真、开关量的控制及设置状态标志位非常有效及设置状态标志位非常有效2.1.3 中央处理器中央处理器CPU2022/6/23山东科技大学 SFRSFR共共128128字节地址空间,控制内部特殊字节地址空间,控制内部特殊功能单元的实现功能单元的实现 使用部分单元:使用部分单元:P0-P3P0-P3、C/TC/T、INTINT、SerialSerial2.1.4 特殊寄存器特殊寄存器SFR2022/6/23山东科技大学2.2 MCS-51/52的存储器结构的存储器结构根据作用分类根据作用分类: 程序存储器程序存储器ROMROM 数据存储器数据存储器RAMRAM根据位置分类根据位置分类: 核内核内RAMRAM和和SFR SFR 核外核外: : 数据存储器数据存储器-XRAM-XRAM 程序存储器程序存储器-ROM-ROM 哈佛存储结构哈佛存储结构 普林斯顿存储结构普林斯顿存储结构2022/6/23直接寻址直接寻址 间接寻址间接寻址核内核内RAM SFR2.2.1 核内RAM与SFR5252子系列中子系列中SFRSFR区与高区与高128RAM128RAM区地址重叠,如何区地址重叠,如何区分访问区分访问SFRSFR还是附加的高还是附加的高128RAM?128RAM?利用指令的不同寻址方式来区利用指令的不同寻址方式来区别访问哪个区域,别访问哪个区域,SFRSFR区采用区采用直接寻址;访问附加高直接寻址;访问附加高128RAM128RAM区采用间接寻址。
区采用间接寻址2022/6/23核内核内RAM SFRPSW.4/PSW.32.2.1 核内RAM与SFR2022/6/23山东科技大学核内核内RAMRAM结构结构工作寄存器区:工作寄存器区:字节地址:字节地址:00H1FH访问:间接访问:间接/直接直接/寄存器寻址;寄存器寻址;位寻址区:位寻址区:字节地址:字节地址:20H2FH位地址为:位地址为:00H7FH访问:间接访问:间接/直接寻址;直接寻址;字节地址、位地址区别字节地址、位地址区别通用通用RAM区区字节地址:字节地址:30H7FH访问:间接访问:间接/直接直接/寄存器寻址;寄存器寻址;2022/6/23山东科技大学 SFR可读可写,可视为专用可读可写,可视为专用RAM均可以进行字节寻址,其中字节地址能被进行字节寻址,其中字节地址能被8整除的可整除的可以位寻址以位寻址2.2.2 特殊功能寄存器特殊功能寄存器SFR2022/6/23山东科技大学特殊功能寄存器位地址特殊功能寄存器位地址(地址可被(地址可被8整除的整除的SFR )2022/6/23山东科技大学 ACCACC累加器累加器 地址地址0E0H0E0H,在指令中用,在指令中用A A表示,可位寻址表示,可位寻址【ACC.XACC.X】。
B B寄存器寄存器地址地址0F0H0F0H,可位寻址,主要用于,可位寻址,主要用于乘除法乘除法,也作通用的,也作通用的8 8位数位数据缓冲单元据缓冲单元 SPSP地址为地址为81H81H,8 8位堆栈指针,只能字节寻址,复位值为位堆栈指针,只能字节寻址,复位值为07H07H堆栈:堆栈:栈底:栈底:栈顶栈顶【堆栈指针堆栈指针】SPSP;堆栈区设置(设定栈底):堆栈区设置(设定栈底):2.2.4 特殊功能寄存器特殊功能寄存器SFR堆栈堆栈LIFO2022/6/23山东科技大学堆栈堆栈堆栈堆栈: 是在核内是在核内RAM中开辟的暂存区中开辟的暂存区,一般设在一般设在3F-7FH;作用作用:保护现场、保护断点保护现场、保护断点应用场合应用场合:子程序调用、中断操作子程序调用、中断操作在响应中断或子程序调用时,发生入栈操作,自动将在响应中断或子程序调用时,发生入栈操作,自动将16位的位的PC值入栈,值入栈,PSW值并不自动入栈值并不自动入栈特点特点:先进后出,后进先出先进后出,后进先出指令指令:入栈入栈PUSH,出栈,出栈POP PUSH和和POP都是对栈顶单元进行的都是对栈顶单元进行的SP指示栈顶指示栈顶. SP始终指向最后压入或即将弹出的数据单元,即栈顶。
始终指向最后压入或即将弹出的数据单元,即栈顶 SP为一个为一个8位寄存器,它的内容是栈顶存储单元的地址位寄存器,它的内容是栈顶存储单元的地址 2022/6/23山东科技大学进栈进栈PUSHPUSH: 先先SP+1SP+1再写入数据再写入数据; ;出栈出栈POPPOP: 先读数据先读数据, ,再再SPSP1;1;进栈、出栈有两种方式:进栈、出栈有两种方式:1 1、自动方式:执行子程序、中断响应时自动方式:执行子程序、中断响应时2 2、指令方式:、指令方式:PUSHPUSH、POPPOP关于进栈和出栈关于进栈和出栈2022/6/23山东科技大学PUSH 36hSP36h37h35hXXXX2022/6/23山东科技大学POP 37hStack Pointer36h37h35hXXXX2022/6/23山东科技大学关于堆栈区的划定关于堆栈区的划定 堆栈深度要有足够的容量堆栈深度要有足够的容量 初始化初始化SPSP值,则值,则SPSP7FH7FH均为堆栈区均为堆栈区 系统复位后,系统复位后,SPSP07H07H,则实际堆栈从,则实际堆栈从08H08H开始,与开始,与1 1区区R R重重叠通常通常SPSP设在设在60H60H以后,即在用户以后,即在用户RAMRAM(30H30H7FH7FH)之间开辟。
之间开辟52(52系列,可设系列,可设SP=80H)SP=80H)2022/6/23山东科技大学 I/OI/O端口端口P0P0P3P3 为为P0P0P3P3引脚的锁存器可位寻址引脚的锁存器可位寻址定时定时/计数器计数器T0/T1 为由两个独立的为由两个独立的8位寄存器位寄存器(THx、TLx)组成的组成的16位寄存器,具有位寄存器,具有加加1功能串行口数据缓冲器串行口数据缓冲器SBUF 用于串行通信,存放欲发送和已接送数据,逻辑上为用于串行通信,存放欲发送和已接送数据,逻辑上为1个寄存器,个寄存器,物理上为物理上为2个寄存器个寄存器 数据指针数据指针DPTR 16位寄存器,包括两个位寄存器,包括两个8位寄存器位寄存器DPL和和DPH,地址分别为,地址分别为82H和和83H只能字节寻址也可作为两个只能字节寻址也可作为两个8位寄存器来处理位寄存器来处理 作为访问核外作为访问核外RAM或或ROM时的地址指针时的地址指针【采用间接寻址采用间接寻址】2.2.4 特殊功能寄存器特殊功能寄存器SFR-续续2022/6/23山东科技大学地址地址0D0H0D0H,8 8位寄存器,可位寻址位寄存器,可位寻址。
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 PF1 OVRS0RS1 F0 AC Cy程序状态寄存器程序状态寄存器PSWPSW进位标志进位标志Cy: 算术逻辑指令时,最高位算术逻辑指令时,最高位D7有进(借)位,则有进(借)位,则Cy=1,否则,否则Cy=0; 在布尔处理器中,它起着在布尔处理器中,它起着“位累加器位累加器”的作用17条布尔处理指令条布尔处理指令多数是针对多数是针对CY来完成的程序中写成来完成的程序中写成C辅助进位标志辅助进位标志AC:加(减)法运算时,如果低半字节的最高位加(减)法运算时,如果低半字节的最高位D3有进(借)位,则有进(借)位,则AC=1,否则,否则AC=0;AC在作在作BCD码运算而进行二十进制调整时有码运算而进行二十进制调整时有用用户标志用户标志FO、F1: 是用户定义的状态标志可通过软件对它置位、清零;在编程时,是用户定义的状态标志可通过软件对它置位、清零;在编程时,也常测试其状态进行程序分支也常测试其状态进行程序分支工作寄存器区选择位工作寄存器区选择位RS1、RS0:可软件置位或清零,以选定可软件置位或清零,以选定4个工作寄存器区中的一个区个工作寄存器区中的一个区投入工作投入工作(同一时刻仅可选择一个区同一时刻仅。












