单片机总结汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机总结
第一章
(一)知识点梳理
1.1946年2月15日,第一台电子数字计算机问世。
冯·诺依曼提出“程序存储”和“二进制运算”的思想,构建了计算机经典结构:
<1>电子计算机经历了五个时代 电子管计算机;晶体管计算机;集成电路计算机;大规模
集成电路计算机;超大规模集成电路计算机
微处理器+存储器+I/O
接口= 微型计算机
3.8051内含1个8位CPU 、128个字节的RAM 、4K 字节的ROM ,4个8位并行I/O 口、1个全双工的串行口、2个16位的定时器/计数器。
4.P3口的第二功能
P3.0——RXD (串行输入口)
P3.1——TXD (串行输出口)
P3.2——INT0(外部中断0)
P3.3——INT1(外部中断1)
P3.4——T0(定时器0外部输入)(两个16位可编程定时/计数器,分别由两个8位寄
P3.5——T1(定时器1外部输入)存器拼装而成。最大计数值为216-1,即65535。) P3.6——WR (外部数据存储器写控制)
P3.7——RD (外部数据存储器读控制)
5.8051内部CPU 是由三部分电路构成:运算器(ALU )、控制器(定时控制部件等),专用寄存器组。其中8051 ALU 由1个加法器、2个8位暂存器(TMP1与TMP2)和1个布
尔处理器组成。
6.51系列单片机的机器周期时间是固定不变的,均有12个时钟周期T 组成,分为6个状态
1个指令周期= 1~4个机器周期;1个机器周期= 6个状态,1个状态= 2个时钟周期7.复位的主要功能:
(1).把PC初始化为0000H,使CPU从0000H单元开始执行程序;(2).当程序运行出错或操作错误系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。
复位后的内部寄存器状态
专用寄存器复位状态专用寄存器复位状态
PC 0000H TMOD 00H
Acc (累加器A) 00H TCON 00H
B 00H TH0 00H
PSW 00H TL0 00H
SP 07H TH1 00H 栈底地址固定不变,栈顶地址始终在SP中,可变. DPTR 0000H TL1 00H
P0—P3 FFH SCON 00H
IP xxx0 0000B SBUF xxxx xxxxB
IE 0xx0 0000B PCON 0xxx 0000B
8特殊功能寄存器(SFR)
8051有21个SFR,每个SFR占有一个RAM单元,他们分布在80H~FFH地址范围内。8051的寻址范围是64KB。(0000H-FFFFH)
9.数据存储器:片内存储器——集成在芯片内部
片外存储器——MCS—51只提供地址和控制命令,需要通过外部三总线才能工作。
内部RAM(00H—7FH, 低128B(单元为真正的RAM); 80H—FFH, 高128B(特殊功能寄存器))外部RAM(0000H——FFFFH,64K单元)
ROM地址空间(片内4K、片外60K), 0000H-FFFFH;
注意:位地址与字节地址的区别7F---位地址;2FH.7字节地址(见课件)
10.程序状态寄存器:RS1,RS0——寄存器选择位(用于决定8051的8个8位工作寄存器
—7FH, 低128B
11单片机定义:即单片微型计算机,由单块集成电路芯片构成,内部集成了计算机的基本功能部件CPU、存储器和I/O接口电路。
12单片机优势:单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
13DDC控制系统原理图:
14.汇编:将符号指令转换成机器码的过程称为汇编。
说明<1> 常用的汇编方法有手工汇编,驻留汇编,交叉汇编
<2>开发过程1)电路板制作2)目标文件生成3)目标程序烧写4)目标程序的生成
5)仿真调试
15.51系列单片机时序
<1>定义:CPU在执行指令时所需控制信号的时间顺序。
<2>分类:片内功能部件控制时序信号; 片外存储器或I/O端口控制时序信号。
<3> 周期性信号ALE在每个机器周期内出现两次高电平,出现时刻为S1P2和S4P2,持续时间为一个状态S。ALE每出现一次高电平,CPU就进行一次取指操作(有时无效)。16.单片机的内部结构
第二章
(一)知识点梳理
1.指令是程序的最基本单位,指CPU所能进行的操作
程序:指完成某项任务的计算机指令的有序集合。
2.计算机编程语言包括机器语言,汇编语言,高级语言
机器语言具体包含两个基本的部分:操作码和操作数
3.51单片机寻址方式
<1>立即寻址
特点:1.指令码中直接含有操作数本身(立即数)2. 立即数可以是8位或16位
3.立即数通常用#data或#data16表示
4.立即数只能作为源操作数
5.立即数同操作码一起存放在程序存储器中
<2>直接寻址例:MOV 40H,A;(40H)←A
特点:1指令码中含有操作数地址(8位二进制数;
2直接寻址通常用direct(操作数所在存储单元的物理地址)表示;
3可用于直接寻址的存储空间是:片内RAM的低128字节和特殊功能寄存器SFR;
<3>寄存器寻址
特点:操作数在R7-R0,A,B,AB,DPTR中,指令码中含有该操作数的寄存器号
操作数位于片内RAM中MOV A,Rn ;A ←Rn 将Rn中所存的数赋给A
INC Rn ;Rn ←Rn+1
<4>寄存器间接寻址
特点:1指令码中含有存放该操作数地址的寄存器号;
2间址寄存器采用@R0,@R1,@DPTR表示;
3@R0,@R1用于对片内RAM和外部RAM (0000H~00FFH)寻址,@DPTR的寻址范围是片外ROM/RAM的全部64KB区域;
4寄存器间址指令不能用于寻址SFR(特殊功能寄存器)
例: MOV A,@R0 ;A ←(R0) 将地址为R0的寄存器所存的数装入A寄存器
<5>变址寻址
特点:1.指令码中隐含有作为基地址寄存器用的数据指针DPTR或程序计数器PC(存放基地址)2.指令码中也隐含有累加器A(A中存放地址偏移量,00H~FFH范围内的无符号数);
寻址空间是程序存储器。
例:假设A中的内容为05H,DPTR的内容为0400H,程序存储器0405H单元的内容为2DH,则MOVC A, @A+DPTR 执行后A的内容为2DH
<6>相对寻址
特点:1.相对转移指令的指令码中含有相对地址偏移量;
2.相对转移指令分为:短转移指令和长转移指令(分别为双字节和三字节);
3.PC的当前值+ 相对地址偏移量rel = 下一条要执行指令的地址;
4.PC的当前值是指相对转移指令从程序存储器中取出后的PC值。
例:2000H 8054H SJMP 54H ;PC ←2056H 80H在地址为2000的寄存器中,54H 在地址为2001H的寄存器中,将54H传给A,此时PC=2002,然后PC=PC+A.
<7>位寻址
特点:1位寻址指令的指令码中含有位地址;
2位寻址指令中位地址用bit表示(字节地址direct);
3位寻址区:片内RAM位寻址区20H~2FH和11个SFR;
例:MOV C,7FH ;Cy ←(7FH), 位地址
MOV C,2FH.7 ;Cy ←(7FH)。字节地址
4单片机常用指令类型
数据传送指令(28条):将源地址中操作数传送到目的地址的指令。
说明:1此类指令不影响Cy, AC, OV标志,
2指令的源操作数和目的操作数地址都在单片机内部,是片内RAM或SFR的地址。
<1>立即寻址型MOV A,#data ; A←data将数据data送入累加器A
<2>直接寻址型传送指令MOV A,direct ; A←(direct)将地址为direct的中的数据给A
<3> MOV A,@Ri ; A←(Ri)先看寄存器Ri中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中
<4> 外部数据传送指令: 16位立即数是外部RAM/ROM的地址
<5>外部ROM的字节传送指令(查表指令)
MOVC A,@A+DPTR ; A ←(A+DPTR) 远程查表DPTR自己控制MOVC A,@A+PC ; PC ←PC+1, A ←(A+PC) 近程查表PC自加1
<6> 堆栈操作指令是直接寻址指令, 弹出指令不会改变堆栈区存储器单元中的内容。