单片机复习内容.docx
- 文档编号:17675998
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:16
- 大小:460.75KB
单片机复习内容.docx
《单片机复习内容.docx》由会员分享,可在线阅读,更多相关《单片机复习内容.docx(16页珍藏版)》请在冰豆网上搜索。
单片机复习内容
1章微机基础知识
MCU是具有完整运算及控制功能的计算机。
微处理器(CPU),存储器,接口适配器(输入输出接口电路),输入/输出(I/O)设备
PC在程序开始执行前,必须将其起始地址,即程序第一条指令所在的内存单元地址送入PC;当执行指令时,CPU将自动修改PC的内容,使之总是指示出将要执行的下一条指令的地址。
SP:
堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H~7FHRAM的任何单元,永远是指向堆栈的栈顶。
SFR:
高128字节RAM有21个特殊功能寄存器,他们离散的分布在80H~FFH的RAM空间中,只能用直接寻址方式访问,如累加器ACC(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),栈指针SP(81H),数据指针DPTR(83H,82H),I/O端口P0~P3(80H,90H,A0H,B0).
I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H):
分别为四个并行端口的锁存器,每一个口锁存器还有位地址,所以每一条I/O线可独立输入或输出。
输出时,可以锁存;输入时,可以缓冲。
WDT看门狗,,定时计数器
EEPROM
LCD液晶显示器
LED发光二极管显示器
第2章结构、原理
单片机位数的确定,51单片机是几位?
8位
51单片机的引线和三总线(各端口作用)
电源引脚:
Vcc和Vss
Vcc(40脚):
电源端,为+5V。
Vss(20脚):
接地端。
时钟电路引脚:
XTAL1和XTAL2
XTAL2(18脚):
接外部晶体和微调电容的一端;在89C51片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。
XTAL1(19脚):
接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲
控制信号引脚:
RST、ALE、PSEN和EA
RST/VPD(9脚):
复位信号输入端,高电平有效。
当此输入端保持两个机器周期的高电平时,就可以完成复位操作。
VPD:
RST引脚的第二功能,备用电源输入端。
当主电源Vcc发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。
ALE/PROG(30脚):
地址锁存允许信号端。
正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。
CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。
它的负载能力为8个LS型TTL负载。
PROG:
是对片内带有4KBFlashROM的89C51编程写入时的编程脉冲输入端。
PSEN(29脚):
程序存储器允许信号输出端。
在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM的OE端。
它的负载能力为8个LS型TTL负载
EA/Vpp(31脚):
外部程序存储器地址允许输入端。
当该引脚接高电平时,CPU访问片内ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。
当该引脚接低电平时,CPU只访问片外ROM并执行外部程序存储器中的程序。
Vpp:
对89C51片内FlashROM固化编程时,编程电压输入端(12-21V)。
I/O端口P0、P1、P2和P3
准双向
当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。
P0口:
漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。
P0口可作为一个数据输入/输出口;
在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。
P1口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P2口:
P2口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
在CPU访问片外存储器时,它输出高8位地址。
P3口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P3口除作为一般I/O口外,每个引脚都有第二功能。
51单片机的寻址空间(p24~28,容量)
(1).片内,片外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16为地址)。
其中89C51片内为4KBFlashROM。
地址从0000H~0FFFH。
用途:
用于存放程序和表格常数。
寻址方式:
EA=“1”;PC先执行片内ROM中程序,当指令地址超过0FFFH后自动转向片外ROM中取指令。
EA=”0”时……用MOVC指令访问ROM
(2).64KB片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)编址,寻址用MOVX指令,用途:
用于存放运算的中间结果、数据暂存和缓冲、标志位等
(3).256字节数据存储器地址空间(用8为地址)片内RAM地址空间,寻址用指令MOV,最大可寻址256个单元
位地址与字节地址对应
工作寄存器组数和地址的确定(00H~1FH)
•由四组(32个)工作寄存器组成,每组8个寄存器(R0-R7),共占32个单元。
见下表
•通过程序状态寄存器PSW中RS1、RS0两位设定来选择CPU的当前工作寄存器组。
复位时,第0组为当前的工作寄存器。
•若不需要四组,则其余可作为一般RAM单元。
振荡周期、机器周期和指令周期的关系计算
设:
晶体振荡器频率fosc=6MHz,
则:
振荡周期=1/fosc=1/6μs(微秒)
因为:
一个机器周期包括12个振荡周期,
所以:
一个机器周期=12*(1/6)μs(微秒)
=2μs(微秒)
每条指令都由一个或几个机器周期组成。
例如:
•设振荡周期为6MHz,则一个机器周期为2μs(微秒)。
•单周期指令:
指令周期为2μs(微秒)
•双周期指令:
指令周期为4μs(微秒)
•四周期指令:
指令周期为8μs(微秒)
如果振荡周期为12MHz,则其指令周期分别为1μs、2μs和4μs。
•振荡周期:
晶振的振荡周期,为最小的时序单位。
•状态周期:
振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。
因此,一个状态周期包含2个振荡周期。
•机器周期(MC):
1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。
•指令周期:
执行一条指令所需的时间。
一个指令周期由1~4个机器周期组成,依据指令不同而不同,见附录A。
复位电路及复位后的状态
程序地址指针PC初始化为0000H,使单片机从0000H单元开始执行程序
当由于程序运行出错或操作错误使系统死锁状态时,为摆脱困境,也需要按复位键重新启动
第3章指令
操作数空间及寻址方法判别
•操作数包括的内容有:
(1)工作寄存器:
由PSW.3和PSW.4规定的当前工作寄存器区中的R0~R7。
(2)特殊功能寄存器:
21个SFR的名字。
(3)标号名:
赋值标号—由汇编指令EQU等赋值的标号;指令标号—指令标号指示的指令的第一字节地址是该标号的值。
(4)常数:
可用二进制(B)、十进制、十六进制(H),若常数以字符开头,前面加0。
(5)$:
用来表示程序计数器的当前值。
(6)表达式:
汇编时,计算出表达式的值填入目标码。
7种寻址方式:
•寄存器寻址:
由指令指出寄存器组R0~R7中的某一个或其他寄存器(A,B,DPTR等)的内容作为操作数。
MOVA,R0;(R0)→A
MOVP1,A;(A)→P1口
ADDA,R0;(A)+(R0)→A
•直接寻址方式:
在指令中直接给出操作数所在存储单元的地址。
指令中操作数部分是操作数所在地址。
直接寻址方式可访问片内RAM的128个单元以及所有的SFR。
对于SFR,既可以使用它们的地址,也可以使用它们的名字。
MOVA,3AH;(3AH)→A
MOVA,P1;(P1口)→A
或:
MOVA,90H;90H是P1口的地址
•即数寻址:
指令操作码后面紧跟的是一字节或两字节操作数,用“#”号表示,以区别直接地址。
MOVA,3AH;(3AH)→A
MOVA,#3AH;3AH→A
MOVDPTR,#2000H;2000H→DPTR
;(DPH)=20H
;(DPL)=00H
•寄存器间接寻址:
操作数的地址事先存放在某个寄存器中,寄存器间接寻址是把指定寄存器的内容作为地址,由该地址所指定的单元内容作为操作数。
89C51规定R0或R1为间接寻址寄存器,它可寻址内部地址RAM低位的128B单元内容。
还可采用DPTR作为间接寻址寄存器,寻址外部数据存储器的64KB空间
MOVA,@R0
•变址寻址:
以某个寄存器的内容为基地址,在这个基地址的基础上加上地址偏移量形成真正的操作数地址。
89C51中采用DPTR或PC为变址寄存器,A的内容为地址偏移量。
变址寻址只能访问程序存储器,访问范围为64KB
MOVCA,@A+DPTR
•相对寻址:
是以当前的PC值加上指令中规定的偏移量rel而形成实际的转移地址。
只出现在相对转移指令中,目的地址=源地址+相对转移指令字节数+rel,rel为补码表示的有符号数。
•位寻址:
采用位寻址方式的指令的操作数是8位二进制数中的某一位,指令中给出的是位地址。
位地址在指令中用bit表示。
位地址的两种表示方法:
直接使用位地址,如D3H;直接用寄存器名字加位数,如PSW.3
例如:
CLRbit
•
RnRi代表意义
Rn(n=0~7):
当前选中的工作寄存器组R0~R7。
Ri(I=0,1):
作为地址指针的两个工作寄存器R0,R1。
MOVC/MOVX/MOV指令与寻址空间的对应
XCH/SWAP意义及应用
如(A)=34H,(30H)=11H
则XCHA,30H;(A)=11H,(30H)=34H
MOVR1,#30H;(R1)=30H
XCHA,@R1;(A)=34H,(30H)=11H
如:
(R1)=30H,(30H)=11H,(A)=34H
则:
XCHDA,@R1;(A)=31H;(30H)=14H
SWAPA;(A)=13H
24H单元中存有压缩的BCD码(PBCD),请将其转换为非压缩的BCD码,并将转换结果存放到30H和31H单元中:
要求30H单元放十位,31H放个位。
JZ/JC/CJNE/DJNZ/JB/JBC意义及应用
JBCbit,rel;00010000先PC+3→PC,
bit若(bit)=1,则(PC)+rel→PC,0→bit
rel若(bit)=0,则顺序往下执行
PUSH/CALL(SP)SP堆栈的变化
PUSH指令是将直接地址单元进栈,其操作是首先将堆栈指针SP加1,然后将直接地址单元的内容送到SP所指的单元中去。
POP指令是退栈到直接地址单元。
其操作是先将SP所指的单元中的数送到直接地址单元,然后将堆栈指针SP减1
ADD/SUBB运行结果
带借位的减法,它将第一操作数A减去第二操作数及借位位C后,差放入ACC中,并根据结果决定奇偶标志位P,零标志Z,根据借位情况决定借位位C,辅助借位位AC和溢出位OV。
比较指令INCA和DECA除影响P和Z标志外,不影响其他标志位
ORL/ANL/XRL运行结果
要求P1.3,P1.4,P1.7输出低电平。
指令为;ANLP1,#01100111B
要求A累加器高4位置1:
ORLA,#0F0H
要求将P1.6,P1.4,P1.0的输出取反,P1的其它口线情况不变。
指令为;XRLP1,#01010001B
CLRA;0→A累加器A清0指令,只影响标志位P。
CPLA;(A)→A累加器A取反指令,不影响标志位
第4章程序设计
指令语句和伪指令的区别判别
•伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。
89C51有8个伪指令:
•ORG/END/EQU/DATA/DB
•DW/DS/BIT
基本程序分析,设计
数制转换(ascii-pbcd-二进制数)
R1中存有一个BCD码,编一子程序将其转换为ASCII码,存入片外RAM1000H单元中去。
(直接转换)
解:
ORG0100H
BAS1:
MOVA,R1
ADDA,30H
MOVDPTR,#1000H
MOVX@DPTR,A
RET
16进制数转ASCII码
(1)
A是16进制数(00~09,0A~0F),转换后的A是其ASCII码
SUB3:
ANLA,#0FH
MOVDPTR,#TAB1
MOVCA,@A+DPTR
TAB1:
DB30H,31H,32H,33H,34H,35H
DB36H,37H,38H,39H,41H,42H
DB43H,44H,45H,46H
SB4:
ANLA,#0FH
ADDA,#30H
CJNEA,#3AH,SB5
SB5:
JCSB6
ADDA,#7
SB6:
SJMP$;分析
BCD---------二进制数(看P95)
•21H(百位)(21H,20H)
•20H(十位个位)
多字节求补
求(20H21H22H)中的数的补码,并将结果仍放回到(20H21H22H)中
MOVA,22H;从最低字节开始
CPLA
ADDA,#1;最低字节取反加1,并影响C
MOV22H,A
MOVA,21H
CPLA
ADDCA,#0;取反加进位位C
MOV21H,A
MOVA,20H
CPLA
ADDCA,#0;取反加进位位C
MOV20H,A
16位数求补。
设16位二进制数在R1R0中,求补结果存于R3R2中。
(P95)
MOVA,R0
CPLA
ADDA,#01H
MOVR2,A
MOVA,R1
CPLA
ADDCA,#00H
MOVR3,A
SJMP$
加(bcd)减(P94)
位操作
分支程序:
求绝对值
求双字节补码数的绝对值程序:
(31H30H)=|(21H20H)|
XEQU20H
YEQU21H
MOVA,X
JNBACC.7,AAA;X为正数
CPLA;X为负数
INCA
AAA:
MOVY,A
SJMP$
循环程序的执行过程,时间计算及编制,送数
•在程序运行时,有时需要连续重复执行某段程序,可以使用循环程序。
其结构包括四部分:
1、置循环初值
2、循环体(循环工作部分)
3、修改控制变量
4、循环控制部分
第4/5/7章定时计数器、中断、串口
基本定时计数器原理及初值计算
•每个定时器都可由软件设置为定时工作方式或计数工作方式。
由特殊功能寄存器TMOD和TCON所控制。
•定时器/计数器有四种工作模式。
其中模式0-2对T0和T1是一样的,模式3对两者不同。
51定时计数器结构,SFR、使用:
初值计算,TMOD设定开计数器和中断开关计数满的处理
中断地址,应用方法
串行口方式与格式,波特率,适用范围
第6/8/9章系统扩展
51单片机三总线的连接
译码电路的连接
存储器的容量、引线及地址范围
程序编制
键盘显示部分的功能
简单数码管显示程序的分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习 内容
![提示](https://static.bdocx.com/images/bang_tan.gif)