51单片机自学笔记基础部分.docx
- 文档编号:10479515
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:20
- 大小:293.88KB
51单片机自学笔记基础部分.docx
《51单片机自学笔记基础部分.docx》由会员分享,可在线阅读,更多相关《51单片机自学笔记基础部分.docx(20页珍藏版)》请在冰豆网上搜索。
51单片机自学笔记基础部分
一、51单片机的硬件结构
1.硬件结构框图
说明:
微处理器(CPU):
51单片机含一个8位CPU,与通用的CPU功能基本相同,含运算器和控制器,不仅可以字节处理,还可以位处理。
例如:
未处理、查表、状态检测、中断处理等。
数据存储器(RAM):
51为128B,52为256B;片外最大可扩展到64K。
程序存储器(ROM/EPROM):
8031没有,8051有4K的ROM,8751有4K的EPROM;片外可扩展至64K。
中断系统:
5个中断源,2级优先权。
定时器/计数器:
2个16位定时/计数器,四种工作方式。
串行口:
1个全双工串行口,四种工作方式。
可进行串口通信,扩展并行I/O口,多机通信等。
P1、P2、P3、P0口:
四个8位并行I/O口。
特殊功能寄存器(SFR):
共21个,对片内部件进行管理、控制、监视;实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
2.引脚排列
(1)电源及时钟引脚
电源引脚:
Vcc(40脚)解5V电源、Vss(20脚)接地。
时钟引脚:
两个始终引脚XTAL1、XTAL2外接晶振,或接晶体与片内反相放大器构成振荡器。
XTAL1(19脚):
内部反相放大器的输入端。
若接晶振则应接地;XTAL2(18脚):
内部反相放大器的输出端。
若采用外部时钟振荡器,该引脚接收时钟振荡信号。
(2)控制引脚
RST/Vpd(9脚):
复位信号输入,高电平有效。
单片机运行时,此脚持续2个机器周期(24个时钟振荡周期)的高电平,就可复位。
平时应为0.5V低电平;Vpd为第二功能,备用电源输入端。
:
ALE为地址锁存允许,正常
工作时,ALE不断输出正脉冲信号。
当访问外部存储器时,ALE输出信号的负跳变沿用作低8位地址的锁存信号;PROG’为编程脉冲输入端。
PSEN’(ProgramStrobeEnable,29脚):
程序存储器允许输出控制端。
低电平是外部程序存储器选通。
EA’/Vpp(EnableAddress/VoltagePulseofPrograming,31脚):
EA’为内外程序存储器选择控制端。
当为高电平时,访问内部程序存储器,超出0FFFH时,自动跳变为低电平访问外部程序存储器;当保持为低电平时,只访问外部程序存储器。
Vpp为第二功能,用于施加较高编程电压。
(2)I/O口引脚
P0口:
8位双向三态I/O口;地址总线低8位及数据总线分时复用。
P1口:
8位准口双向I/O;可驱动4个TTL负载。
P2口:
8位准口双向I/O;与地址总线高8位复用。
P3口:
8位准口双向I/O;双功能复用口。
注意:
除P0口外,其他三组I/O口内部均有固定上拉电阻,只有P0口有“悬空”状态。
3.微处理器
(1)运算器
算术逻辑运算单元ALU:
可对8位变量进行“与”“或”“异或”运算、循环、求补和清零等基本操作;还可进行加减乘除运算;还有一般微计算机ALU不具备的位操作。
累加器A:
是一个8位累加器,在CPU中使用最频繁,或叫Acc。
其作用为:
是ALU单元的输入之一,因而是数据处理源之一;也是ALU运算结果的存放单元。
寄存器B:
为执行乘法和除法而设置的。
乘法时,输入为A、B,结果放在BA寄存器对中,B中放高8位,A中放低8位。
除法时,A为被除数,B为除数,商存在A中,余数存在B中。
不执行乘除法时,可作为普通寄存器使用。
程序状态字寄存器PSW:
Cy(PSW.7):
进位标志,可有软、硬件置位或清零
Ac(PSW.6):
辅助进位标志,硬件
F0(PSW.5):
标志位,用户使用,可用软件置1或清0
RS1、RS0(PSW.4、PSW.3):
4组工作寄存器区选择控制为1和0;用来选择4组工作寄存器去中的哪一组为当前工作寄存器区;4组寄存器如下:
OV(PSW.2):
溢出标志位,有硬件置1或清0
PSW.1位:
保留位,未用
P(PSW.0):
奇偶标志位,表示累加器A中的‘1’的位数,
P=1,A中“1”的位数为奇数
P=0,A中“1”的个数为偶数
在串口通信中用于奇偶校验。
(2)控制器
程序执行顺序:
程序存储器中取指令——>指令寄存器——>指令译码器——>定时控制逻辑电路——>产生各种定时信号和控制信号——>各部件执行
程序计数器PC(ProgramCounter):
MCS-51单片机中PC为16位,决定的其直接寻址范围为2^16=65536=64k;其基本工作方式有以下几种:
程序计数器自动加1。
执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生改变。
在执行调用子程序指令或响应中断时,单片机自动完成如下操作:
PC的现行值,即下一条将要执行的指令的地址,即断点值,自动送入堆栈;将子程序的入口地址或中断向量的地址送入PC,程序流向发生变化,执行子程序或中断子程序。
子程序或中断子程序执行完毕,遇到返回指令RET或RET1时,将栈顶的断点值弹回到PC中,程序的流程又返回到原来的地方,继续执行。
指令寄存器IR、指令译码器及控制逻辑电路:
IR用来存放指令操作码的专用寄存器。
条件转移逻辑电路主要用来控制程序的分支转移。
2.存储器的结构
(1)程序存储器(ROM):
程序存储器的某些单元被固定用于中断源的终端服务程序的入口地址。
如下:
MCS-51单片机复位后,程序存储器PC的内容为0000H,故系统必须从0000H单元开始取指令,执行程序。
程序存贮器中的0000H地址是系统程序的启动地址。
一般在该单元存放一条绝对他跳转指令,跳向用户设计的主程序的起始地址。
(2)内部数据存储器(RAM)
00H~1FH的32个单元为4组通用工作寄存器区,每区含8个8位寄存器,编号为R7~R0.用户可以通过指令改变PSW中的RS1、RS0来切换当前的工作寄存器区。
20H~2FH的16个单元可进行共128位的位寻址,这些单元构成了1位处理机的存储空间。
也可进行字节寻址。
30H~7FH的单元为用户RAM区,只能进行字节寻址。
(3)特殊功能寄存器(SFR-SpecialFunctionRegister)
SFR实质上是一些具有特殊功能的片内RAM单元,字节地址为80H~FFH。
特殊功能寄存器的总数为21个,离散分布在该区域中,其中有些SFR还可以进行位寻址。
堆栈指针SP:
堆栈是在片内RAM中开辟出来的一个区域,其主要是为子程序调用和中断操作而设立的。
其具体功能有两个:
保护断点和保护现场,也可用于数据的临时存放。
堆栈指针SP是一个8位的特殊功能寄存器,其内容指示出堆栈顶在内部RAM中的位置。
他可指向内部RAM00H~7FH的任何单元。
单片机复位后,SP中的内容为07H,即指向07H的RAM单元,使得堆栈事实上有08H单元开始,考虑到08H~1FH单元分别属于1~3组的工作寄存器区,若在程序设计中要用到这些区,则最好把SP值改为1FH或更大的值。
当一个字节数据压入堆栈,SP自动加1;当一个字节数据弹出堆栈后,SP自动减1。
.
数据指针DPTR:
是一个16位的SFR,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示;DPTR即可作为一16位寄存器DPTR来用,也可以作为两个独立的8位寄存器DPH和DPL来用。
端口P0~P3:
每一个8位I/O口都为RAM的一个单元(8位)。
串行数据缓冲器SBUF:
用于存放欲发送或已接收的数据,在SFR块中只有一个字节地址,但实际上是有两个独立的寄存器组成,一个发送缓冲器,一个接收缓冲器。
定时器/计数器:
两个16位定时器/计数器T1和T0,它们各有两个8位寄存器组成,公子哥独立寄存器:
TH1、TL1、TH0、TL0可字节寻址,不能当做16位寄存器寻址。
(4)位地址空间
在RAM和SFR中共有211个寻址位的位地址,位地址范围在00H~FFH内,其中00H~7FH这128个位处于内部RAM字节地址20H~2FH单元中,如下图:
其余83个可寻址位分布在SFR中,有11个可位寻址寄存器,共有位地址88个,其中5个未用,其余83个位的位地址分布于片内字节地址80H~FFH内,其最低的位地址等于其字节地址,并且其字节地址的末位都为0H或8H。
如下图:
(5)外部数据寄存器:
RAM扩展最大64K。
使用存储器应注意以下几点:
地址的重叠性:
内部与外部存储器地址会重叠,ROM和RAM回地址重叠,通过EA’来控制。
ROM和RAM在使用上严格区分,不同操作指令不得混用。
位地址空间共有两个区域,即片内RAM中的20H~2FH的128位,以及SFR中的位地址。
堆栈指针SP的内容可任设,复位时SP=07H。
片外数据存储器中,数据区与用户外部扩展的I/O口统一编址。
51单片机的存储器结构如下:
3.并行I/O端口
(1)P0口
字节地址为80H,位地址为80H~87H。
每位包含:
一个数据输出锁存器;
两个三态的数据输入缓冲器;
一个多路转接开关MUX,一个输入来自锁存器,
另一来自“地址/数据”。
输入转接有“控制”
信号控制,传送系统的低8位地址和8位数据;
数据输出的驱动和控制电路;
多数情况下都是作为单片机系统的
地址/数据线使用;
注意:
做输入口使用时,应区分读引脚和读端口(或叫做读锁存器)
(2)P1口
P1口只传数据,没有MUX;
准双向I/O口,无三态;
字节地址90H,位地址为90H~97H;
(3)P2口
字节地址为A0H,位地址为A0H~A7H;
为系统提供高位地址,有MUX;
准双向I/O口,无三态;
(4)P2口
字节地址为B0H,为地址为B0H~B7H;
P3口无论是作为输入口使用还是第二功能信号的输入,输出电路中的锁存器输出和
“第二功能输出信号”线都应保持高电平。
(5)P0~P3口电路小结
P0~P3口都是并行I/O口,都可以作数据的输入和输出;
P0口和P2口通常还用来构建系统的数据总线和地址总线,所以都有MUX;
P0口可作为“地址/数据”复用线使用,需传送系统的低8位地址和8位数据,因
此MUX的一个输入端为“地址/数据”信号。
而P2口仅作为高地址线使用,不涉及
数据,所以MUX的一个输入信号为“地址”。
4组口中,只有P0口是真正的双向口,其他三组都是准双向口,原因是他们的输出
缓冲器不是三态的。
4.时钟电路与时序
(1)时钟电路
内部时钟方式:
C1、
C2的取值通常为30pF;
晶振范围在1.2MHz~
12MHz之间,晶振频率
越高系统时钟频率越
高,单片机运行速度越
快。
晶振常选用6MHz
或12MHz,高速单片机
时钟频率可达40MHz。
外部时钟方式:
用于多片单片机同步,要求高电平持续时间大于20μS,一般低于12MHz
的方波;由于XTAL2的逻辑电平不是TTL的,故要接一个4.7K~10K的上拉电阻。
时钟信号的输出:
需要增加驱动能力,电路如下:
(2)机器周期和指令周期
时钟周期:
基本时间单位。
晶振频率为fosc,则时钟周期为Tosc=1/fosc
机器周期:
完成一个基本操作所需时间。
12个时钟周期,即Tcy=12/fosc;51单片机一
个机器周期包括12个时钟周期,分为六个状态:
S1~S6。
每个状态又分为两拍,为P1
和P2,所以,一个机器周期可表示为S1P1、S1P2、S2P1……S6P2
指令周期:
执行一条指令所需时间;单双字节指令一般为单双机器周期,三字节指令为
双机器周期,乘除指令为4个机器周期。
(3)MCS-51的指令时序:
一个机器周期有两次读取指令的操作
5.复位和复位电路
(1)复位操作:
RESET引脚加2个机器周期以上的高电平,就复位。
复位时,片内个寄存器的
状态为:
(2)复位电路:
如下图:
二、指令系统
1.概述
基本指令共111条;其中单字节指令49条,双字节指令45条,三字节指令17条;按机器周期分:
1个机器周期指令64条,2个机器周期指令45条,4个机器周期指令2个(乘、除指令)。
2.指令格式
操作码+操作数,操作数既可以是数据也可以是地址;
3.指令系统寻址方式
寻址方式就是在指令中说明操作数所在地址的方法
(1)寄存器寻址方式:
就是说操作数在寄存器中,如:
MOVA,Rn;//n=0~7
表示把寄存器Rn的内容传送给累加器A,操作数在Rn中。
寻址范围包括:
4组通用工作寄存器区共32个工作寄存器。
但只能寻址当前的工作及存区
的8个工作寄存器,所以寄存器只能是R0~R7;
部分SFR,如累加器A、寄存器B及数据指针DPTR等;
(2)直接寻址方式:
操作数直接以单元地址的形式给出,如:
MOVA,40H//表示把内部RAM40H
单元的内容传送给A;(访问SFR的唯一方法)
寻址范围包括:
内部RAM的128个单元
SFR,除以单元地址给出外,还可以以寄存器符号给出。
(3)寄存器间接寻址方式:
此处寄存器存放的是操作数的地址,即操作数是通过寄存器间接得到
的,所以叫做间接寻址;在寄存器名前加一个“@”符号,则表示间接寻址。
如:
MOVA,@Ri;i=0/1//若Ri内容为40H,表示从Ri中找到原操作数所在单元地
址40H,把该地址的内容传给A。
此类指令为单字节指令,其指令代码中最低位是表示采用
R0还是R1作为地址寄存器。
寻址范围包括:
内部RAM的128个单元,形式为@Ri;
片外数据存储器的64K字节只能使用DPTR作为间接寻址寄存器,形式为
@DPTR;
片外数据存储器低256字节,除用@DPTR,也可以用@Ri;
堆栈区:
堆栈操作指令PUSH(压栈)和POP(出栈),使用堆栈指
针(SP)作间接地址寄存器
(4)立即寻址方式:
操作数直接在指令中给出,如:
MOVA,#40H//前面加“#”
(5)基址寄存器加变址寄存器间址寻址方式:
用于访问程序存储器中的数据表格,如:
MOVCA,@A+DPTR//若A的内容为05H,DPTR的内容为0400H,执行结果是把程序存
储器0405H单元的内容传送给A;
说明:
只对程序存储器进行寻址,范围达64K
该方法指令有3条:
MOVCA,@A+DPTR
MOVCA,@A+PC
JMPA,@A+DPTR
前两条是读程序存储器指令,最后一条是无条件转移指令;都为单字节指令。
(6)位寻址方式:
可以直接使用位地址,如:
MOVC,40H//把40H位的值送进位位C。
寻址范围:
内部RAM中的位寻址区,单元地址20H~2FH的16个单元,128个位,位地
址00H~7FH,使用时用地址直接表示,或单元地址加上位数,如(20H).6
SFR中的可寻址位,11个寄存器,83个位;可直接使用位地址,位的名称,
单元地址加位数,如:
(0D5H).5,单元地址名加位数,如:
PSW.5
(7)相对寻址方式:
为解决程序转移而专门设置的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 自学 笔记 基础 部分