MCS硬件基础.ppt
《MCS硬件基础.ppt》由会员分享,可在线阅读,更多相关《MCS硬件基础.ppt(148页珍藏版)》请在冰点文库上搜索。
微机原理与应用多媒体课件江南大学,第二部分第三章单片机的结构及原理,3.1MCS-51单片机的结构,3.1MCS-51单片机的引脚定义,3.2CPU的工作原理,3.3MCS-51单片机的存储器的配置,3.4输入输出端口,3.5震荡器、时钟电路和CPU的时序,3.6复位电路,3.7低功耗方式,微机原理与应用多媒体课件江南大学,3.1.1MCS-51单片机的结构,简图,微机原理与应用多媒体课件江南大学,MCS-51内部结构框图,详图,微机原理与应用多媒体课件江南大学,MCS-51系列单片机配置一览表,微机原理与应用多媒体课件江南大学,AT89S51单片机的主要性能和特点,8位中央处理器(CPU);内部程序存储器ROM:
4K的存储容量;内部数据存储器RAM:
256B(128B的RAM+21B的SFR);寄存器:
设4个寄存器区,各区有R0R7八个工作寄存器;4个8位并行输入输出端口:
P0、P1、P2和P3;定时/计数器:
2个16位的定时/计数器;串行口:
全双工的端口(RXD:
接收端,TXD发送端);中断系统:
设有5个中断源;,微机原理与应用多媒体课件江南大学,系统扩展能力:
可外接64K的ROM和64K的RAM;堆栈:
设在RAM单元中,可以浮动既通过堆栈指针SP来确定堆栈的位置(堆栈是一种数据管理方法);布尔处理机:
配合布尔运算的指令进行各种逻辑运算;指令系统:
111条指令。
按功能可分为5大类。
有:
数据传送;算术运算;逻辑运算;控制转移;布尔操作。
微机原理与应用多媒体课件江南大学,3.1.2MCS-51单片机的引脚定义,AT89S51有三种封装形式:
a.40脚的双列直插DIP-40封装;b.44脚的PLCC-44方型封装。
c.44脚的PQFP-44表贴方型封装。
微机原理与应用多媒体课件江南大学,RST/VPD,Vss,Vcc,芯片外形及逻辑符号,RXDTXDINT0INT1T0T1WRRD,微机原理与应用多媒体课件江南大学,MCS-51单片机外型图(DIP封装)MCS-51单片机的逻辑符号图,VCCRSTXTAL1P0口XTAL2/EA/PSENALEP1口P3口RXDTXD/INT0/INT1P2口T0T1/WR/RDGND,AT89S51ATMELFLASH型,微机原理与应用多媒体课件江南大学,引脚功能介绍,1,主电源引脚:
Vcc(+5V-40脚)和Vss(GND-20脚);2,外接晶体引脚:
XTAL1(19脚)、XTAL2(18脚)只要在这两脚之间接入一个晶体震荡器(相当于一电感线圈,与电容构成并联谐振电路),单片机就可以按此晶体的频率工作。
晶体频率范围0-40M。
频率越高单片机的工作速度就越快,但单片机的功耗就要增加。
微机原理与应用多媒体课件江南大学,定时元件采用由石英晶体和电容组成并联谐振电路。
晶体和电容尽可能靠近单片机芯片。
19,18,C1,C2,振荡频率1.2MHz40MHz,晶振,内时钟方式电路图,微机原理与应用多媒体课件江南大学,3,控制线(4条):
RST/Vpd(第9脚):
单片机复位输入端,高电平有效。
通过在该以脚上施加高电平,使系统达到复位的目的。
另外在系统上电震荡器开始工作时,单片机内部加在此引脚上有一个两个时钟周期的高电平使单片机复位,但是为了时整个单片机系统能够可靠复位,一般还需要外加复位电路(如下页图)。
备用电压输入端。
当单片机的电源引故障而下降到某一个值时,RST/VPD上的电源可自动与片内RAM连接以确保信息不丢失。
微机原理与应用多媒体课件江南大学,复位相当于重新启动的意思,就是出错时可以使CPU从头开始执行程序。
MCS-51RST,Vcc,MCS-51RST,Vcc,1K,10,t,V,T,延长上电复位时间的电路和RST端上电电压曲线,具有手动复位功能的复位电路,R,C,10uF,微机原理与应用多媒体课件江南大学,ALE/PROG(第30脚):
以一个不变的频率(系统时钟fosc/6)周期性输出正脉冲。
当单片机使用外部存储器时,此信号作为低八位地址的锁存信号。
对于EPROM型的单片机,此脚还是用于烧写程序(编程)时,输入编程脉冲。
/PSEN(29脚):
外部程序程序存储器的选通信号。
当单片机使用外部程序存储器时,此脚在一个机器周期内产生两次负脉冲。
注意:
访问外部数据存储器时,此信号无效。
由于现在片内的程序存储器基本已够使用,所以不再使用该脚。
微机原理与应用多媒体课件江南大学,三总线结构的组成:
P2.5P2.4:
P2.0P0.7:
P0.0ALE/RD/WR,CEA12:
A8A7O7:
A0O0/OE/WE,D7Q7D0Q0G,62648KRAM,AT89S51,/CE=P2.5(A12),读,写,地址总线,数据总线,地址锁存,微机原理与应用多媒体课件江南大学,/EA/Vdd(31脚):
外部程序存储器的选择控制输入端:
当/EA=“1”电平时,单片机使用内部的程序存储器;当/EA=“0”电平时,系统使用外部的程序存储器。
【但要特别注意】:
如果/EA=1,既使用单片机内部的程序存储器时,如果程序计数器PC的值超过0FFFH(4K)时,单片机将自动转向外部程序存储器,且从1000H单元开始执行程序。
对于EPROM型的单片机,此脚还是用于写程序时,加入12伏的编程电压。
微机原理与应用多媒体课件江南大学,4,并行输入输出端口引脚(P0-P3)
(1)P0.0-P0.7P0端口线(39-32脚):
输出能力最强的I/O端口,可以带动8个TTL负载。
驱动MOS负载时,应接一个10K左右的上拉电阻。
如果系统使用外接存储器时,该口还作为低八位地址和数据的复用总线。
在这种情况下,P0口不再作I/O端口。
LSTTL负载:
我们通常把100uA的输入电流定义为一个TTL负载,即1个LSTTL负载100uA。
(2)P1.0-P1.7P1端口线(18脚):
只能用作通用I/O端口,负载能力为4个TTL负载。
(3)P2.0P2.7P2端口线(2128脚):
通用I/O端口,负载能力为4个TTL负载。
当系统使用外接存储器时,该口还作为高八位地址总线。
在这种情况下,P0口就不再作I/O端口。
微机原理与应用多媒体课件江南大学,片外RAM的扩展:
P2.5P2.4:
P2.0P0.7:
P0.0ALE/RD/WR,CEA12:
A8A7O7:
A0O0/OE/WE,D7Q7D0Q0G,62648KRAM,AT89S51,/CE=P2.5(A12),读,写,地址总线,数据总线,地址锁存,微机原理与应用多媒体课件江南大学,(4)P3.0P3.7P3端口线(1017脚):
通用I/O端口,负载能力为4个TTL。
它还具有第二功能。
P3口第二功能表,微机原理与应用多媒体课件江南大学,3.2CPU的工作原理(P36),中央处理器CPU是单片微机内部的核心部件,主要包括运算器、控制器和工作寄存器及时序电路。
一、控制器控制器是用来控制计算机工作的部件,包括程序计数器、指令寄存器、指令译码器、堆栈指针、数据指针、时钟发生器和定时控制逻辑。
控制器的功能是:
从程序程序器读取指令代码,暂存到指令寄存器,由指令译码器进行译码,并通过定时和控制电路,在规定时刻发出指令操作所需的各种控制信息和CPU外部所需的各种控制信号,使各部分协调工作,完成指令所规定的操作。
微机原理与应用多媒体课件江南大学,1,程序计数器程序计数器PC是16位专用寄存器,其内容表示下一条将要执行的指令的16位地址。
取完一个字节的指令后,PC值自动加1,准备读取下一个地址单元的数据。
当系统复位后,PC0000H,重头开始执行程序。
注意:
请仔细阅读P37文字说明。
特殊用途的存储器,微机原理与应用多媒体课件江南大学,指令的执行过程,指令执行的两个阶段:
取指阶段与执指阶段,以直接寻址的指令为例,微机原理与应用多媒体课件江南大学,2,指令寄存器、指令译码器和CPU定时控制CPU从程序存储器内取出的指令首先要送到指令寄存器,然后送入指令译码器,由指令译码器对指令进行译码,即把指令转变成执行该指令所需的电信号,再通过CPU的定时和控制电路,发出特定的时序信号,使计算机正确地执行程序所需的各种操作。
(CPU时序在专门一节中进行叙述),微机原理与应用多媒体课件江南大学,二、运算器运算器包括算术逻辑部件ALU、累加器A、B寄存器、暂存寄存器TMP1/TMP2、程序状态字PSW、BCD码运算调整电路、位处理逻辑电路等。
1,算术逻辑部件ALU算术逻辑部件ALU由加法器和其他逻辑电路组成,主要实现各种算术运算和逻辑运算,典型操作包括对8位数据进行算术加、减、乘、除及逻辑与、或、异或、取反等运算,还有循环移位、位操作等。
2,寄存器寄存器包括累加器A、B寄存器和程序状态字寄存器PSW。
(将在下节详细介绍),微机原理与应用多媒体课件江南大学,3.2.3单片机执行程序的过程,请仔细阅读P38-40文字说明。
微机原理与应用多媒体课件江南大学,3.3MCS-51单片机的存储器(P41),了解、掌握MCS-51单片机的存储器的特点,是掌握、使用MCS-51单片机的关键。
在MCS-51单片机中,存储器分:
程序存储器(ROM)4KB;数据存储器(RAM)256B。
而在数据存储器RAM中又被划分为:
特殊功能寄存器区(SFR);普通数据存储器区(包括工作寄存器和堆栈)。
课程重点和难点!
微机原理与应用多媒体课件江南大学,3.3.1MCS-51单片机的存储器的配置特点,在MCS-51单片机的内部集成了4K的程序存储器和256B的数据存储器,同时还可以使用片外的程序存储器和数据存储器,其扩展能力都是64K。
从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:
既片内ROM,RAM和片外ROM、RAM。
从逻辑上讲(既用户编程的角度讲)51单片机的存储系统又可分为三个存储空间。
即片内或外连续的程序存储器ROM和片内RAM,片外RAM。
微机原理与应用多媒体课件江南大学,从物理结构上单片机系统的存储器结构图(四个部分),MCS-51单片机,片内ROM4K(EA=1),片内RAM256B,片外RAM64K,片外ROM64K(EA=0或片内溢出),0000H,0FFFH,0000H,FFFFH,0FFFH,1000H,编址类似门牌号,用于区分和查询不同的存储单元,微机原理与应用多媒体课件江南大学,MCS-51系列存储器结构图,特殊功能寄存器,微机原理与应用多媒体课件江南大学,MCS-52系列存储器结构图,微机原理与应用多媒体课件江南大学,3.3.2程序存储器(片内与片外),1.程序存储器是存放编好的程序、常数和表格的。
2.在MCS-51单片机中,当引脚EA=1时,系统使用片内的4KROM来存储程序;EA=0时,系统使用片外的ROM。
3.无论是使用片内还是使用片外的ROM(既EA=1或EA=0),其起始地址都是从0000H单元开始。
微机原理与应用多媒体课件江南大学,4.如果EA=1(使用片内的程序存储器时):
程序从0000H开始执行。
注意:
在这种情况下,如果程序计数器的指针PC值超过0FFFH(4K)时,单片机就要自动的转向片外的ROM存储器(尽管EA=1),且从片外ROM的1000H单元开始执行程序(此时,单片机是无法使用片外ROM的0000H-0FFFH这4K单元)。
微机原理与应用多媒体课件江南大学,MCS-51单片机片内、外程序存储器的使用示意图,0FFFH0000H,0FFFH0000H,FFFFH1000H,EA=1时,ROM的使用,EA=0时ROM的使用,片外程序存储器(最大64K),单片机内部程序存储器(4K),微机原理与应用多媒体课件江南大学,程序存储器六个特殊的单元,在程序存储器中,有六个单元是具有特定功能。
编程者是不能随便使用的。
0000H单元:
上电时,程序计数器PC所指向的单元0003H单元:
外部中断/INT0的入口地址;000BH单元:
定时器T0的溢出中断入口地址;0013H单元:
外部中断/INT1的入口地址;001BH单元:
定时器T1的溢出中断入口地址;0023H单元:
串行口接收、传送的中断入口地址。
重新开始执行程序,在第八章中断系统中有专门讲述,微机原理与应用多媒体课件江南大学,3.3.3内部数据存储器RAM,特殊功能寄存器区SFR,通用数据存储器区,80H7FH,00H,FFH,片内数据存储器片外数据存储器256B个字节64KB个字节,片外数据存储器64KB,0000H,FFFFH,微机原理与应用多媒体课件江南大学,数据存储器无论在物理上还是逻辑上都分为两个地址空间,即一个内部和一个外部的数据存储空间。
访问内部数据存储单元时,使用MOV指令;而访问外部数据存储器时,使用MOVX指令。
注意:
1,访问片内RAM20H存储单元;MOVA,20H2,访问片外RAM存储单元;MOVR0,#20HMOVXA,R03,尽管片内与片外的RAM单元的00H-FFH地址相重叠,但由于使用不同的指令和产生的不同时序,不会发生地址混乱。
微机原理与应用多媒体课件江南大学,内部数据存储器从功能上又将256B空间分为二个不同的块:
1,低128B的RAM块(包括工作寄存器区和堆栈区);2,高128B的SFR(SpecialFunctionRegister)块。
在低128B的RAM存储单元中又可划分为:
工作寄存器区、可位寻址区、通用存储数据区。
SFR使用了21个RAM单元(51系列),其它单元未定义不能使用。
微机原理与应用多媒体课件江南大学,位寻址区,3组,2组,1组,0组,普通数据缓冲区,08H07H00H,7FH,30H2FH,20H1FH,18H17H,10H0FH,四个工作寄存器组每个组中有R0-R7八个工作寄存器,位寻址区16个单元20H-2FH,共有128个可寻址的位。
位地址:
00H-7FH注意:
位地址与字节地址的区别,普通数据缓冲区地址:
30H-7FH,堆栈区设置,片内RAM低128B功能分配图,微机原理与应用多媒体课件江南大学,四组工作寄存器结构图,返回,微机原理与应用多媒体课件江南大学,2FH,20H,字节地址,位地址(24H).0,有下页,片内RAM(20H-2FH)中的位寻址区结构图,微机原理与应用多媒体课件江南大学,位寻址区内的地址是位地址。
共有00-7FH(共128个位);要区分字节地址和位地址这两个不同的地址概念:
从物理的角度:
每一个字节地址内包含了8个位,既:
D7,D6,D5,D4,D3,D2,D1,D0(我们提到的RAM地址一般都是指字节地址)。
从逻辑的角度:
字节地址和位地址是靠不同类型的指令来区分的。
如,MOVA,20H;将RAM的20单元内容送累加器A;MOVC,20H;将RAM位寻址区中20H位送CY中。
在这二个例子中,第一条指令为字节传送指令,既20H为字节地址;第二个例子中的指令为位操作指令,20H为位地址。
有关详细内容将在第四章中详细描述。
返回,微机原理与应用多媒体课件江南大学,堆栈是在内部RAM区域开辟的一个特定的数据存储区,专门用来暂时存放数据和地址,按照“先进后出”的原则进行操作。
堆栈指针SP是一个用于管理堆栈的8位寄存器,用于存放栈顶地址,进栈加1,出栈减1。
当系统复位后,SP07H,即第一个数据存放在08H单元。
07H,08H,09H,0AH,SP,StackBottom,StackTop,0BH,0CH,0DH,堆栈:
微机原理与应用多媒体课件江南大学,07H,08H,09H,0AH,0BH,0CH,0DH,StackBottom,SP,SP,SP,SP,SP,SP,SP,进栈操作,微机原理与应用多媒体课件江南大学,07H,08H,09H,0AH,0BH,0CH,0DH,StackBottom,SP,SP,SP,SP,SP,SP,SP,出栈操作,返回,微机原理与应用多媒体课件江南大学,特殊功能寄存器SFR,特殊功能寄存器SFR(SpecialFunctionRegister)特殊用途寄存器的集合。
用来设定或启用单片机内部各个功能模块的工作方式,存放相关模块的状态、中断标志等。
尽管特殊功能寄存器与RAM在同一个存储模块中,但不能作为普通的RAM存储单元来使用。
SFR是在编程中,根据需要进行一些特定功能的设定或启用,或者是从中查寻相关模块的状态时才能进行读、写操作。
如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等。
微机原理与应用多媒体课件江南大学,特殊功能寄存器SFR(表一),微机原理与应用多媒体课件江南大学,SFR(表二),SFR高128B,低128B,0FFH,80H7FH,00H,特殊功能寄存器SFR在片内RAM中的位置,注:
表中黄色的单元为可按位寻址的字节,微机原理与应用多媒体课件江南大学,特殊功能寄存器SFR说明,微机原理与应用多媒体课件江南大学,1.程序状态字PSW:
8位寄存器,表征程序执行的状态信息。
CY(PSW.7)进位标志:
在加减法运算中,累加器A的最高位A7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1.因此CY往往作为无符号数运算是否有溢出的标志。
【举例】:
有两个数0FH和F8H,试将两数相加MOVA,#0FH;将立即数0FH送累加器AADDA,#0F8H;A的内容与立即数0F8H相加,结果送A00001111运算结果:
A=07H,CY=1+11111000Cy100000111,微机原理与应用多媒体课件江南大学,AC(PSW.6):
辅助进位位:
用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位)。
往往用来判断压缩的BCD码的运算处理.,BCD加法运算1:
试写出完成85+59的BCD码的加法程序。
85A=10000101B+59data=01011001B14411011110B低4位9,所以加06H+00000110B11100100B高4位9,所以加60H01100000B101000100B结果为144H(1包含在Cy)【注意】:
144H是用16进制数来表示十进制,即BCD码。
出现为AF的非BCD码,微机原理与应用多媒体课件江南大学,BCD加法运算2:
试写出完成88+89的BCD码的加法程序。
88A=10001000B+89data=10001001B177100010001B低4位有进位,所以加06H+00000110B100010111B高4位有进位,所以加60H01100000B101110111B结果为177H(1包含在Cy)【注意】:
177H是用16进制数来表示十进制,即BCD码。
低半字节进位AC=1,微机原理与应用多媒体课件江南大学,F0,F1用户标志位:
完全由用户来定义和使用。
RS1,RS0工作寄存器区选择位:
确定工作寄存器R0-R7在哪个区中.单片机在上电或复位后RS1、RS0=00。
当需要人为的修改RS1,RS0的值来改变工作寄存器区的位置。
不管在哪组,总是用Ri表示,当前只能使用其中一组物理地址不同,微机原理与应用多媒体课件江南大学,OV(PSW.2)溢出标志位:
判断有符号数加减乘除法运算时是否有溢出。
OV的结果可以用一个算法来表示:
OV=C7C6其中:
C7为A7的进位;C6为A6的进位。
OV=1表明有溢出。
(异或运算,两者之一为1时,表示有溢出),只对有符号数有效,对于无符号数没有这项指标,微机原理与应用多媒体课件江南大学,溢出标志位理解:
(1)在进行有符号数加减时,OV1表示进行加减的结果超出可以一个存储单元允许的范围,即-128+127,只能得到一个不正确的数据结果;,P(PSW.0)奇偶标志位:
用来标志累加器A中运算后1的个数。
当P=1时,表明A中1的个数为奇数个,如:
0111,0110B;当P=0时,表明A中1的个数为偶数个,如:
0101,0110B。
(2)在进行乘法运算时,OV1表示乘法运算的结果超出累加器A可以存储的范围,必须从B寄存器读取乘积高8位;,(3)在进行除法运算时,OV1表示除数为0,不能正常进行运算。
不同于原来理解的奇偶数性质!
微机原理与应用多媒体课件江南大学,2.累加器ACC它是一个8位寄存器,通过暂存器与ALU相连,是使用频率最高的一种寄存器。
在进行算术逻辑运算时,通常一个数就来自累加器,通过ALU运算后仍又存入累加器A中。
3.B寄存器B寄存器一般用于乘、除法运算,与累加器A配合使用。
运算前B寄存器存放乘数或除数;运算后B寄存器中保存乘积的高8位或余数,当然也可以作为一般暂存器用。
(速度最快,指令相对较短),微机原理与应用多媒体课件江南大学,4.数据指针DPTR(P50)数据指针DPTR是16位专用寄存器,专门用来存放16位地址,主要用于对64K范围片外RAM存储单元的访问(MOVX指令),当然也可用于访问程序存储器中的表格或常数(MOVC指令)。
它由DPH0和DPL0(或DPH1和DPL1)两个8位寄存器组合而成。
通过辅助寄存器1(AUXR1)的DPS为选择DPTR0或DPTR1,默认DPS=0,选择DPTR0。
微机原理与应用多媒体课件江南大学,6.并行端口P0-P3:
SFR中的P0-P3实际上就是I/O端口的数据锁存器。
与RAM中的任意一个单元一样,P0-P3都有自己的RAM地址:
80H、90H、A0H、B0H。
所以,在51单片机中的输入、输出操作实际上就是个普通的RAM单元操作一样:
如输出指令MOV80H,A;将累加器中的数据送到P0口输出输入指令MOVA,90H;将P1口的数据输入到累加器A中既MCS-51的指令系统中没有专用的输入、输出(IN、OUT)指令,而是把P0-P3作为普通的内存单元来使用。
上面的第一个例子实际上就是MCS-51的输出指令;同理后者是MCS-51的输入指令。
微机原理与应用多媒体课件江南大学,7.串行数据缓冲器SBUF:
它是专门用来存放发送或接收的数据,实际上它是两个独立的寄存器。
尽管在SFR中的RAM地址只是99H,但根据指令“发送”或“接收”两种不同的操作,硬件会自动的区分,将数据送如对应的缓冲单元。
微机原理与应用多媒体课件江南大学,8.定时/计数器T0、T1:
无论是定时还是计数,对于MCS-51单片机的定时/计数器来说,都是一个“计数器”在计数。
这个“计数器”是由两个8位寄存器(高位和低位)构成的16位计数器,分别是TH0、TL0(T0)或TH1、TL1(T1)。
TH和TL中的数据直接与“定时操作”或“计数操作”有关,因此在使用定时/计数器之前,要对它进行初始化,其中就要对TH、TL赋初值。
如:
MOV8CH,#01HMOV8AH,#20H大家试分析上面两条指令的作用。
有关SFR中其它寄存器的说明将相关的章节中作介绍。
TH0,TL0,微机原理与应用多媒体课件江南大学,9,堆栈指针SP(P51)堆栈是在内部RAM区域开辟的一个特定的数据存储区,专门用来暂时存放数据和地址,按照“先进后出”的原则进行操作。
堆栈指针SP是一个用于管理堆栈的8位寄存器,用于存放栈顶地址,进栈加1,出栈减1。
微机原理与应用多媒体课件江南大学,07H,08H,09H,0AH,SP,StackTop,0BH,0CH,0DH,Stackbottom,栈底的后一个单元用于存放第一个数据,栈顶是指存放的最后一个数据的单元地址,堆栈相当于一个有底的容器!
微机原理与应用多媒体课件江南大学,3.3.4外部数据存储器(P45),在片内RAM不能满足需要时,就要外接RAM。
此时P0、