单片机的结构和原理.ppt
《单片机的结构和原理.ppt》由会员分享,可在线阅读,更多相关《单片机的结构和原理.ppt(92页珍藏版)》请在三一文库上搜索。
1、第二章 89C51单片机的结构和原理,返回主目录,2.1 89C51系列单片机的结构,2.2 89C51单片机引脚及其功能,2.3 89C51存储器配置,2.4 CPU时序,2.5 复位及复位电路,2.6 输入输出端口结构,2.1 MCS51系列单片机的结构 89C51是Intel公司生产的一个单片机系列的名称。该公司继1976推出MCS-48系列8位单片机后,又于1980年推出了89C51系列高档8位单片机。属于这一系列的单片机芯片有很多种,如8051,8031,8751,80C51BH等等,它们的基本组成、基本性能和指令系统都是相同的。为了叙述方便,今后如不作说明,则常用89C51代表MC
2、S51系列单片机。 其它常用系列 89Cxx pic单片机原理 凌阳16位单片机 avr单片机,2.1.1 89C51单片机的基本组成,图2-1所示为89C51系列单片机的基本结构框图。,在一小块芯片上,集成了一个微型计算机的各个组成部分。每一个单片机包括: (1)一个8位的微处理器(CPU)。 (2)片内数据存储器RAM(128B/256B)。 存放可以读/写的数据-运算的中间结果、最终结果、欲显示的数据等。 (3)片内程序存储器ROM/EPROM(4KB/8KB) 。 存放程序,一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。 (4)四个
3、8位并行I/O接口P0-P3。 每个口既可以用作输入,也可以用作输出。,(5)两个定时器/计数器。 每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。 (6)五个中断源的中断控制系统。 (7)一个全双工UART(通用异步接收发送器)的串行I/O口。 用于实现单片机之间或单片机与微机之间的串行通信。 (8)片内振荡器和时钟产生电路。 但石英晶体和微调电容需要外接。最高允许振荡频率24MHZ。 以上各个部分通过内部数据总线相连接。,2.1.2 89C51单片机内部结构,89C51单片机内部结构如图2-2所示。,8051/
4、8751/8031芯片的外部引脚和指令系统完全兼容,其内部结构除ROM/EPROM不同外,其余完全相同。 一个完整的计算机应该由运算器,控制器,存储器(ROM及RAM)和I/O接口组成。一般微处理器(如Z80)只包括运算器和控制器两部分。和一般微处理器相比,89C51增加了四个8位I/O口,一个串行口,4KB ROM,128B RAM,很多工作寄存器及特殊功能寄存器(SFR)。各部分的功能简述如下.,一、中央处理单元(CPU) CPU是单片机的核心,是计算机的控制和指挥中心,有运算器和控制器等部件组成。 1.运算器 运算器包括一个可进行8位算术运算和逻辑运算的单元ALU,8位的暂存器1,暂存器
5、2,8位的累加器ACC,寄存器B和程序状态寄存器PSW等。 ALU:可对4位(半字节),8位(一字节)和16位(双字节)数据进行操作。能作加、减、乘、除、加1、减1、BCD数十进制调整及比较等算术运算和与、或、异或、求补及循环移位等逻辑操作。,ACC:累加器ACC ,8位,一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回 ACC。在指令中用助记符A来表示。 PSW:程序状态寄存器,用于指示指令执行后的状态信息,相当于一般微处理器的标志寄存器。PSW中各位状态供程序查询和判别用。 B:8位寄存器,在乘、除运算时,B寄存器用来存放一个操作数,也用来存放运
6、算后的一部分结果;若不做乘、除运算时,则可作为通用寄存器使用。,2.控制器 控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。 程序计数器PC:由两个8位的计数器PCH及PCL组成,共16位。PC实际上是程序的字节地址计数器,PC中的内容是将要执行的下一条指令的地址。 指令寄存器IR及指令译码器ID:由PC中的内容指定ROM地址,取出来的指令经指令寄存器IR送至指令译码器ID,由ID对指令译码并送PLA产生一定序列的控制信号,以执行指令所规定的操作。 振荡器及定时电路:89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1
7、.2MHz-12MHz。,二、存储器 89C51片内有ROM(程序存储器,只能读)和RAM(数据存储器,可读可写)两类,他们有各自独立的存储地址空间,与一般微机的存储器配置方式很不相同。 1.程序存储器(ROM) 89C51及8751的片内程序存储器容量为4KB,地址从0000H开始,用于存放程序和表格常数。 2.数据存储器(RAM) 89C51/8751/8031片内数据存储器均为128B,地址为00H-7FH,用于存放运算的中间结果、数据暂存以及数据缓冲等。,在这128B的RAM中,有32个字节单元可指定为工作寄存器,这同一般微处理器不同。89C51的片内RAM和工作寄存器排在一个队列里统
8、一编址。 由图2-2可见,89C51单片机内部还有SP,DPTR,PCON,IE,IP等特殊功能寄存器,它们也同128字节RAM在一个队列编址,地址为80HFFH。在这128字节RAM单元中有21个特殊功能寄存器(SFR),在这些特殊功能寄存器中还包括P0P3口锁存器。,(3)I/O接口 89C51有四个8位并行接口,即P0-P3。它们都是双向端口,每个端口有8条I/O线,均可输入/输出。P0-P3口四个锁存器同RAM统一编址,可以把I/O口当作一般特殊功能寄存器来寻址。,2-2 89C51单片机引脚及其功能,89C51系列中各种芯片的引脚是互相兼容的,如89C51,8751和8031均采用4
9、0脚双列直插封装(DIP)方式。当然,不同芯片之间引脚功能也略有差异。89C51单片机是高性能单片机,因为受到引脚数目的限制,所以有不少引脚具有第二功能,如图2-3所示。,RD,各引脚功能简要说明如下: 1.电源引脚Vcc和Vss Vcc(40脚):电源端,为+5V。 Vss(20脚):接地端。 2.时钟电路引脚XTAL1和XTAL2 XTAL1(19):接外部晶体和微调电容的一端; 在采用外部时钟时,该引脚必须接地。 XTAL2(18):接外部晶体和微调电容的另一端; 若采用外部时钟电路时,该引脚输入 外部时钟脉冲。 注意:要检查89C51/8031的振荡电路是否正常工作,可用示波器查看 X
10、TAL2端是否有脉冲信号输出。,3.控制信号引脚RST,ALM,/PSEN和/EA RST/VPD(9脚):复位信号与备用电源的输入端。 RST是复位信号输入端,高电平有效。保持两个机器周期 的高电平时,就可以完成复位操作。 RST引脚的第二功能是VPD,即备用电源的输入端。 ALE/PROG(30脚):地址锁存允许信号端。 当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。,不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时
11、信号。 注意:如果想确定89C51/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有脉冲信号输出,则89C51/8031基本上是好的。 ALE负载驱动能力-8个LS型TTL(低功耗甚高速TTL)负载。 第二功能PROG在对片内带有4KB EPROM的8751编程写入(固化程序)时,作为编程脉冲输入端。,PSEN(29脚):程序存储允许输出信号端。 在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接EPROM的OE端。 PSEN端有效,即允许读出EPROM/ROM中的指令码。 PSEN负载-8个LS型TTL负载。 注意:要检查一个89C51/8031
12、小系统上电后CPU能否正常到EPROM/ROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。,EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。 当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/89C51为4KB)时,将自动转去执行片外程序存储器的程序。 当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。 对于无片内ROM的8031或8032,需外扩EPROM,此时必须
13、将EA引脚接地。如是拥有片内ROM的89C51,外扩EPROM也是可以的,但 也要将EA接地。 第二功能Vpp是对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V-21V)的输入端。,4.输入/输出端口P0,P1,P2和P3 P0 口(P0.0-P0.7,39-32脚):P0口是一个漏极开路的8位准双向I/O端口。 作为漏极开路的输出端口,每个能驱动8个LS型TTL负载。当 P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向的含义。 在CPU访问片外存储器(8031片外EPROM或RA
14、M )时,P0口是分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。,P1口(P1.0-P1.7,1-8脚): P1口是一个带内部上拉电阻的8位准双向I/O端口。P1口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。 在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1口引脚有内部上拉电阻拉成高电平。 P2口(P2.0-P2.7,21-28脚): P2口是一个带内部上拉电阻的8位准双向I/O端口。 P2口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。 在访问片外EPROM/ROM时,它输出高8位地址。,P3口(P3.0-P3.7,1
15、0-17脚): P3口是一个带内部上拉电阻的8位准双向I/O端口。 P3口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。 P3口与其他I/O端口有很大区别,它除作为一般准双向I/O口外,每个引脚还具有第二功能。,2.3 89C51存储器配置,片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 89C51存储器地址空间分为三类: (1)片内、片外统一编址0000H-FFFFH的64KB程序存储器地址空间(用16位地址)。 (2)64KB片外数据存储器地址空间,地址也从0000H-FFFFH(用16位地址)编址。 (3)256B数据存储器地址空间(用8位地址)。 89C51存储
16、器空间配置如图2-4所示。,共有四个存储空间:,统一编址,上述三个存储空间地址是重叠的,如何区别这三个不同的逻辑空间呢?89C51的指令系统设计了不同的数据传送指令符号: MOVC :CPU访问片内、片外ROM指令用 MOVX:访问片外RAM指令用 MOV:访问片内RAM指令用,2.3.1 程序存储器地址空间,89C51存储器地址空间分为程序存储器(64KB ROM)和数据存储器(64KB RAM)。程序存储器用于存放编好的程序和表格常数。程序存储器通过16位程序计数器PC寻址,寻址能力为64KB 。这使得指令能在64KB地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。
17、89C51/8751片内ROM/EPROM的容量为4KB,地址为0000H-0FFFH,片外最多可扩至64KB ROM/EPROM,地址为1000H-FFFFH,片内外统一编址。,当引脚EA接高电平时,89C51的程序计数器PC在0000H-0FFFH范围内(即前4KB地址)执行片内ROM中的程序;当指令地址超过0FFFH后,就自动转向片外ROM中去取指令。 当引脚EA接地电平(接地)时,89C51片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址可以从0000H开始编址。这种接法特别 适用于采用8031单片机的场合。由于8031片内不带ROM,所以使用时必须使EA=0,以便
18、能够从片外扩展EPROM中取指令。 问题:如果89C51扩展了64KB片外ROM/EPROM,那么它能够访问的ROM空间是多少?地址为多少?,存储器( ROM )中某些单元是保留给系统使用的。见表2-2。,0000H-0002H-上电复位后引导程序的存放单元。 0003H-002AH-均匀地分为五段,用作五个中断服务程序的入口。 例如,外部中断引脚INT0(P3.2)有效时,即引起中断申请,CPU响应中断后自动将地址0003H装入PC,程序就自动转向0003H单元开始执行。如果事先在0003H-000AH存有引导(转移)指令,程序就被引导(转移)到指定的中断服务程序空间去执行。这里,0003H
19、称为中断矢量地址。中断矢量地址如表2-3所示。,表2-3 中断矢量地址表 0000H 系统复位,PC指向此处; 0003H 外部中断0入口 000BH T0溢出中断入口 0013H 外中断1入口 001BH T1溢出中断入口 0023H 串口中断入口 002BH T2溢出中断入口,2.3.2 数据存储器地址空间,数据存储器RAM用于存放运算的中间结果、数据暂存和缓 冲、标志位等。 数据存储器空间也分成片内和片外两大部分,即片内RAM和片外RAM。 89C51片外数据存储器空间为64KB,地址从0000H-FFFFH;片内存储器空间为256B,地址从0000H-00FFH。,一.片外RAM 片外
20、数据存储器与片内数据存储器空间的低地址部分(0000H-FFFFH)是重叠的。 89C51有MOV和MOVX两种指令 MOV-片内RAM MOVX-片外64KB RAM 二.片内RAM 片内数据存储器最大可寻址256个单元,它们又分为两个部分,低128B(00H-7FH)是真正的RAM区,高128B(80H-FFH)为特殊功能寄存器(SFR)区。如图2-5所示。 问题:如果89C51扩展了64KB片外ROM/EPROM,那么它能够访问的ROM空间是多少?地址为多少?,图2-5 片内RAM地址空间,1.低128B RAM 89C51的32个工作寄存器与RAM安排在同一个队列空间里,统一编制并使用
21、同样的寻址方式(直接寻址和间接寻址)。 00H-1FH地址安排为四组工作寄存器区,每个有8个工作寄存器(R0-R7),共占32个单元,见表2-4。通过对程序状态字PSW中RS1,RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。CPU复位后,选中第0组寄存器为当前的工作寄 存器。,工作寄存器区后20H2FH单元,可用于位寻址方式访问其各位,这128位的位地址为00H7FH,其位地址分布见表2-5。 低128B RAM单元地址范围也是00H-7FH,89C51采用不同寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低128B单元用直接寻址和间接寻址。这样就可以区分开00H-7F
22、H是位地址还是字节地址。 这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0或判1、判0等,可用软件标志位或用于位(布尔)处理。这是一般微机和早期的单片机所没有的。这种寻址能力是89C51的一个特点。 问题:什么是位地址,什么是字节地址,同一字节的8位是否有字节地址?作为位寻址区的单元可否作为普通RAM使用?,89C51片内高128B RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80H-FFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。 这些特殊功能寄存器见表2-5,2.高128B RAM特殊功能寄存器(SFR),E0H F0H D0H 81H 83H(高
23、),82H(低),下面介绍部分特殊功能寄存器。 (1)累加器ACC(E0H) 存放操作数、运算中间结果。 在指令系统用A作为累加器ACC的助记符。 (2)寄存器B(F0H) 乘法指令中乘积存于B和A两个8位寄存器中。 除法指令中,A中存放被除数,B中放除数,商存放于A中,B中存放余数。 在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。,(3)程序状态寄存器PSW(D0H) CY(PSW.7)-进位标志位、位累加器。 在指令中用C代替CY。 注意:如果要根据加减运算是否有进位来决定程序的转移方向,则必须在运算前对清零 AC(PSW.6)-半进位标志位,也称辅助进位标志。 F0(PSW.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 结构 原理
链接地址:https://www.31doc.com/p-2309442.html