第3章 单片机的结构和原理-13-3_第1页
第3章 单片机的结构和原理-13-3_第2页
第3章 单片机的结构和原理-13-3_第3页
第3章 单片机的结构和原理-13-3_第4页
第3章 单片机的结构和原理-13-3_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章

MCS-51单片机结构和原理§3.1MCS-51单片机的内部组成及信号引脚§3.251子系列的内部存储器§3.3

并行输入/输出端口结构§3.4时钟电路与时序§3.5复位电路计算机常用术语解释1.位(bit):是计算机所能表示的最基本最小的数据单位,bit只能有两种状态:“0”或“l”。位(bit)、兆位(Mb)、吉位(Gb)和太位(Tb)

Mb是Megabit的缩写,代表220位,即1024*1024位。

Gb是Gigabit的缩写,代表230位,即1024Mb。

Tb是Terabit的缩写,代表240位,即1024Gb。2.字(Word):是CPU与输入/输出(I/O)设备和存储器之间传送数据的基本单位。它是数据总线的宽度(根数)。微型计算机字长有1位、4位、8位、16位、32位和64位等。3.字节(Byte):

1字节=8位二进制位(8bit)。4.K,KB,MB,GB和TBK=1024=210,1KB=1024Byte,是用来计算存储器存储容量的单位。

1M=1024KB,1GB=1024MB,ITB=1024GB。§3.1MCS-51单片机的内部组成及信号引脚3.1.18051单片机的基本组成:

MCS-51单片机结构框图

1.CPU:8位2.内部RAM:256单元

前128单元:用户使用

后128单元:专用寄存器占用。3.

内部ROM:4KB掩膜ROM4.

定时器/计数器:2×16位。5.

并行I/O口:4×8位。

P0,P1,P2,P3。6.串行口:一个,全双工。7.中断控制系统:5

外中断:2

定时/计数中断:2

串行中断:1个8.时钟电路:fosc――振荡频率最高为12MHz。3.1.2MCS-51信号引脚介绍DIP:40引脚双列直插封装(dual-in-linepackagePLCC:

44引脚方形封装带引线的塑料芯片载体(plasticsleadedchipcarrier)QFP:40引脚四侧引脚扁平封装(quadflatpackage)

40引脚图(DIP)PLCC和QFP的44引脚图1.主电源引脚Vcc和Vss

VCC(40脚):接+5V电源正端;VSS(20脚):接+5V电源地端。2.外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。3.控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有:RST/VPD、、和等4种形式。(1)RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。

(2)(30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。(3)(29脚):片外程序存储器读选通信号输出端,低电平有效。(4)(31脚):为访问外部程序存储器控制信号,低电平有效。4.输入/输出(I/O)引脚P0口、P1口、P2口及P3口(1)P0口(39脚~32脚):P0.0~P0.7统称为P0口。(2)P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。(3)P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。(4)P3口(10脚~17脚):P3.0~P3.7统称为P3口。表2-1P3口线的第二功能

口线第二功能第二功能P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2外部中断0请求输入线P3.3外部中断1请求输入线P3.4T0定时器/计数器0计数输入线P3.5T1定时器/计数器1计数输入线P3.6外部RAM写选通P3.7外部RAM读选通3.251子系列单片机的存储器配置

计算机的存储器结构:普林斯顿结构:程序和数据共存于一个存储器中,地址空间统一编址。应用于PC机及大部分计算机中。哈佛结构:程序存储器和数据存储器是相互独立的,即程序存放在ROM中,只能进行读操作;而数据存放在RAM中,可读可写。用于单片机中。

MCS-51单片机的存储空间分为:

程序存储器(64KBROM)

数据存储器(64KBRAM)。

8051有四个存储空间:

片内ROM,

片外ROM,片内RAM,片外RAM.

但从用户使用的角度,8051存储器地址空间分为三类:

(1)

片内、片外统一编址的程序存贮器ROM:

64KB,地址:0000~0FFFFH;(2)片外数据存贮器RAM:

64KB,地址:0000~0FFFFH;(3)内部数据存贮器RAM:

256B,地址:0~0FFH。

图3-680C51存储器配置图MOVC指令MOV指令MOVX指令3.2.1程序存储器(ROM)

用途:用于存放编好的程序和表格常数。

8051片内有4KBROM,片外16位地址线可扩展64KBROM,二者是统一编址的。当引脚,8051从0000H执行片内ROM中的程序。当指令地址超过0FFFH后,就自动转向片外ROM取指令。当引脚8051片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址可以从0000H开始编址。这种接法特别适合于没有内部ROM的8031单片机,此时必须使/EA=0,以便能够从外部扩展的EPROM中取指令。内部ROM中的一些特殊单元:

表3-2片内ROM的保留单元保留单元地址入口地址用途0000H~0002H0000H复位后初始化引导程序0003H~000AH0003H外部中断0中断服务程序000BH~0012H000BH定时/计数器0中断服务程序0013H~001AH0013H外部中断1中断服务程序001BH~0022H001BH定时/计数器1中断服务程序0023H~002AH0023H串行口中断服务程序002BH~0032H002BH定时/计数器2中断服务程序(52子系列才有)3.2.2数据存储器RAM

用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。

RAM分类:

片内RAM:256字节;地址从0000~00FFH;

片外RAM:64K字节;地址从0000~FFFFH。

1.片外RAM

由于片外RAM与片内RAM的低地址0000H~00FFH单元是重叠的。因此,MCS-51有两种指令使用

MOV--片内RAM MOVX--片外64KRAM。2.片内RAM1.2.1内部数据存储器低128单元三个区域真正的RAMSFR低128单元:1).存储器区:四组寄存器,每组8个寄存单元(8位),各组都以R0、R1、R2、R3、R4、R5、R6、R7作寄存单元编号。寄存器常用于存放操作数及中间结果等,由于它们的功能及使用不作预先规定因此称之为通用寄存器,有时也叫工作寄存器、四组通用寄存器占据内部RAM的00H~1FH单元地址。

在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是那一组由程序状态字寄存器PSW中RS0、RS1位的状态组合来决定。表3-3R0~R7寄存器与内部RAM的地址对应通用寄存器名称地址第0组第1组第2组第3组R000H08H10H18HR101H09H11H19HR202H0AH12H1AHR303H0BH13H1BHR404H0CH14H1CHR505H0DH15H1DHR606H0EH16H1EHR707H0FH17H1FH2)

位寻址区:地址:20H~2FH单元,共128位。位地址:00H~7FH。性质:既可作为一般RAM单元使用进行字节操作,也可以对单元中的每一位进行位操作,因此把该区称之为位寻址区。表3-4片内RAM中的位寻址区地址分配3)

用户RAM区:单元地址为30H~7FH,主要的数据缓冲区。把堆栈开辟在此区。3.2.3内部数据存储器高128单元特殊功能寄存器区、专用寄存器区简称SFR。

单元地址:80H~FFH。SFR(1)累加器A或ACC(Accumulator)

8位寄存器,是最常用的专用寄存器

大部分单操作数指令的操作数就取自ACC,许多双操作数指令中的一个操作数也取自累加器。(2)

B寄存器

8位寄存器,主要用于乘除运算。如MULABB寄存器也可作为一般数据寄存器使用。如MOVB,#20HMOVA,#30HADDA,#40H(3)程序状态字PSW(ProgramStatusWord)

8位寄存器,用于寄存程序运行的状态信息。其中:有些位状态是根据程序执行结果,由硬件自动设置的而有些位状态则使用软件方法设定.D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P

·

CY——进位标志位。有进位/借位,CY=1,否则,CY=0

·

AC——辅助进位标志位

低4位向高4位的进位或借位。有AC=1,否则AC=0。

·P——奇偶标志位。表明累加器A中1个个数的奇偶性。

奇1偶0。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P

·OV(PSW.2)——溢出标志位

8位带符号数字加减运算结果是否超出运算范围。

8位有符号数字表示的范围:-128~+127。

OV=0,运算正确,即无溢出产生。

在乘法运算中,OV=1,表示乘积超过255;

在除法运算中,OV=1,表示除数为0,除法不能进行。

D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P

10101010B-86例:(+72)+(+98)。

01001000B+72+01100010B+98例:(-83)+(-80)。

10101101B-83+10110000B-80[1]01011101B+93无符号数:CY=0有符号数:OV=1无符号数:CY=1有符号数:OV=1

·F0——用户标志位,需要时用软件方法置位或复位,用以控制程序的转向。

·RS0和RS1(PSW.4,PSW.5)——寄存器组选择位RS1RS0寄存器组片内RAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P(4)

数据指针(DPTR)

16位寄存器。

MCS-51中唯一的一个16位寄存器。

DPH:

DPTR高位字节

DPL:

DPTR低位字节

作用:通常在访问外部RAM时作地址指针使用,由于外部数据存储器的寻址范围64KB。DPTR既可按16位寄存器使用,也可以按两个8位寄存器分开使用。如:MOVDPTR,#1234H

MOV DPH,#12HMOVDPL,#34H(5)程序计数器PC(ProgramCounter)

PC:16位的计数器。

其内容为将要执行的指令地址,寻址范围达64KB。

有自动加

1功能,从而实现程序的顺序执行、

但PC没有地址,是不可寻址的、因此无法对它进行读写。但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。可见单片机中的大部分数据操作都是通过累加器进行的.

(6)I/O端口P0~P3(80H,90H,A0H,B0H)

P0~P3为四个8位特殊功能寄存器,分别是四个并行I/O端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,所以当每一条I/O线独立地用作输入或输出时,数据可以锁存;作输入时,数据可以缓冲。

当I/O端口某一位用于输入信号时,对应的锁存器必须先置“1”。

MCS-51共有22个专用寄存器中。有21个是可字节寻址的。可字节寻址寄存器的名称、符号及单元地址见表1-3。

SFR特殊功能寄存器地址表SFR特殊功能寄存器地址表几点说明:①

专用寄存器不连续地分散在内部RAM高128单元之中、空闲地址不能被用户使用。②22个专用寄存器中,程序计数器PC是唯一一个不可寻址的SFR.③

使用SFR时,既可使用寄存器符号,也可使用寄存器单元地址。例如:

MOV B,

ACC MOV B,

0E0H可位寻址专用寄存器:

在21个可寻址的专用寄存器中,有11个寄存器是可以位寻址的,见表l-4。SFR特殊功能寄存器地址表表2.6SFR特殊功能寄存器地址表(5)堆栈指针SP

堆栈:只允许在其一端进行数据插入和数据删除操作的线性表。堆栈是内存在一个特殊的存储区域。图3-8堆栈和堆栈指针示意图传送数据方式:入栈:PUSH出栈:POP。堆栈操作的最大特点:“后进先出”。堆栈是为子程序调用和中断操作而设立的。堆栈的功能:保护断点和保护现场。

保护断点:PC。

保护现场:寄存器中的内容。举例:以P131例6-1说明堆栈的存在。int

addfunc(inta,intb) /*加法子函数*/{intc;c=a+b;

return(c);}voiddelay() /*延时10ms子函数,假设fOSC=11.0592MHz*/{

inti,ms=10;while(ms--){for(i=0;i<115;i++); } /*延时1ms*/}voidmain() /*主函数*/{intx=10,y=3,z;z=addfunc(x,y);

delay();

z=z+3;} ORG 1000H1000H: MOV A,#34H1002H: ADD A,#10H1004H: LCALLDELAY1007H: MOV 20H,A ---- ORG 2000H2000H DELAY: PUSH A MOV A,#30H2002H ----- POPA RET堆栈要求:具有足够的容量(或者说足够的堆栈深度)。堆栈开辟

1)外堆栈:在主存储器中开辟堆栈.例如8080,Z80等早期的微型机。主要优点是堆栈容量大。但外堆栈的操作速度较慢。

2)内堆栈:在CPU芯片内部存储器中开辟。MCS-51的堆栈就是开辟在内部RAM中。

主要优点是操作速度快,但堆栈容量有限。堆栈使用方式:两种

(1):自动方式:(保护断点)在调用子程序或中断时,返回地址(断点)自动进栈。程序返回时,断点再自动弹回PC.

操作的特点:堆栈操作无需用户干预--自动方式。

LCALLNEXTJMPLOOP(2):指令方式(保护现场) 进栈指令:PUSH

出栈指令:POP。例如:

PUSH A PUSH B POP B POP A3.3并行输入/输出端口结构MCS-51单片机共有4个8位双向并行输入/输出(I/O)口,分别为:P0、P1、P2、P3。口:是一个集数据输入缓冲、数据输出缓冲、驱动及锁存等多项功能为一体的I/O电路,也称端口。四个I/O口在结构和特性上基本相同的,但又各具特点。下面介绍这些口的特性和功能。3.3.1P0~P1口的功能

(1)P0口为准双向(输入/输出)三态口--AD线。

用作:

地址/数据总线口。

低8位地址/8位数据总线分时复用。

(2)P1口:作为可编程的输入或输出线。

(3)P2口:用作:输入或输出线用;

作为扩展系统的高8位地址总线,与P0口一起组成16位地址总线。说明:对8031单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。

(4)P3口:双功能口。

可作为输入或输出口线用;特殊的第二功能。3.3.2P0~P3口的结构与操作1.P0口I/O口应用时:“控制”=0;数据/地址时:“控制”=1。Vcc用作输入口时,需先给P0.x口输出高电平。MOVP0,#0FFHVcc2.P1口图3-10P1.X口线的逻辑电路图ORG100HMOVP1,#0FEHEND注意问题:1.当用作输入时,必须先输出1;2.P1口为准双向口;3.外接电路一般采用共阳极。2.P2口图3-11P2.X口线的逻辑电路图4.P3口图3-12P3口某一位口线的逻辑电路图3.4时钟电路与CPU时序 时钟电路:用于产生单片机工作所需要的时钟信号;时序:指令执行中各信号之间的相互关系。3.4.1时钟电路

(1)内部时钟方式 芯片内部的高增益反向放大器和在引脚XTAL1和XTAL2两端跨接晶体振荡器和微调电容,就构成了一个稳定的自激振荡器,其发出的脉冲直接输入单片机的内部时钟电路。

(2)外部时钟方式图3-13内部时钟电路与HMOS和CHMOS型单片机的外部时钟电路接法3.4.2CPU的时序MCS-51的时序定时单位共有4个,从小到大依次是:

拍节,状态、机器周期、指令周期。(1)拍节与状态拍节(P):振荡脉冲的周期,又称振荡周期。状态(S):时钟信号的周期,又称时钟周期。关系:振荡频率=2倍时钟频率时钟周期=2倍振荡周期,即1S=2P

(拍节1(P1),拍节2(P2))。(2)机器周期机器周期:指CPU访问存储器一次所需要的时间。例如取指令,读存储器、写存储器等。MCS-51的一个机器周期包括12个振荡周期(12P)=6S

即6个状态:S1~S6。而每个状态又分为两拍,称为P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1、S1P2、S2P1……、S6P2。(3)指令周期定义:执行一条指令所需要的时间称之为指令周期。最大的时序定时单位,无固定值。指令不同,指令周期不同。MCS-51的指令包含一、二、四个机器周期。例如:外接晶振频率fOSC为12MHz时,MCS—51单片机的4个时间周期值为:

振荡周期P=1/fosc=1/12μs;

状态周期S=2P=1/6μs;

机器周期=6S=12P=1μs;

指令周期=1、2、4μs。单片机指令的两种操作:读操作和写操作。假定:8位计算机,256个单元组成,每个单元存储8位二制信息,即256×8位的读/写存储器。

11000111

000011000011111001110010FFH00H

地址内容内存单元的地址和内容100101110004FF地址译码器00000100AB控制读DB10010111地址内存读操作00100110

00

08FF地址译码器000001000AB控制写DB00100110地址内存写操作假定CPU要把数据26H写入存储器08H单元。附加:

微型计算机工作过程,5+6=?名称汇编语言程序机器代码二进制十六进制汇编起始地址命令ORG80H无立即数送入累加器MOVA,#0501110100000001017405加立即数ADDA,#0600100100000001102406空操作NOP0000000000汇编终止END无1)第1条指令的执行过程取指令阶段:1)第1条指令的执行过程执行指令阶段:2)第2条指令的执行过程取指令阶段:2)第2条指令的执行过程执行指令阶段:3.4.3典型指令的时序根据指令代码所占的字节不同:单字节、双字节、三字节。根据指令执行时间的不同:单机器周期、双机器周期四机器周期。执行指令的两个阶段:取指令和执行指令。ALE:地址锁存允许信号,每有效一次对应单片机进行的一次读指令操作,取指有效时间:S1P2和S2P1,S4P2和S5P1。

ALE取指有效时间:S1P2和S2P1,S4P2和S5P1,出现频率为振荡脉冲频率的1/6。04H说明:以上时序图仅表现了取指令的有关时序,而没有表现执行指令的时序。而实际上,每条指令都有具体的数据操作,例如算术和逻辑操作在拍节1进行,片内寄存器对寄存器传送操作在拍节2进行。由于指令种类繁多,不逐一列出。3.5复位电路复位:单片机的初始化操作。复位的功能: (1)进入系统的正常初始化;(PC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论