当前位置:文档之家› 单片机总结汇总

单片机总结汇总

单片机总结第一章(一)知识点梳理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 00HAcc (累加器A) 00H TCON 00HB 00H TH0 00HPSW 00H TL0 00HSP 07H TH1 00H 栈底地址固定不变,栈顶地址始终在SP中,可变. DPTR 0000H TL1 00HP0—P3 FFH SCON 00HIP xxx0 0000B SBUF xxxx xxxxBIE 0xx0 0000B PCON 0xxx 0000B8特殊功能寄存器(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, 低128B11单片机定义:即单片微型计算机,由单块集成电路芯片构成,内部集成了计算机的基本功能部件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中所存的数赋给AINC 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> 堆栈操作指令是直接寻址指令, 弹出指令不会改变堆栈区存储器单元中的内容。

<7> Rn之间不能直接进行数据传送算数运算指令(24条):对两个操作数进行加、减、乘、除等运算的指令。

说明:<1>加1指令,减1指令只影响奇偶校验标志位<2>乘法、除法指令MUL AB;A×B=BA, 结果的高8位在B中。

B=0,OV=1(Cy=0) DIV AB; A÷B=A…B 执行过程中,若发现B等于0,则OV=1; 逻辑操作和环移指令(25)条:对两个操作数进行逻辑乘、逻辑加、逻辑取反和异或等操作;对累加器A中数进行环移(左环移、右环移,带进位、不带进位)说明:<1>移位指令RL A ; A7 ←A6 ←….. ←A0 ←A7RR A ; A0→A7→….. →A1 →A0RLC A ; CY ←A7 ←A6 ←….. ←A0 ←CYRRC A ; CY →A7→….. →A0 →CYSWAP A ;高4位和低4位交换指令控制转移指令(17条):条件转移、无条件转移、调用和返回等指令(改变PC中值为目标)说明:<1>无条件转移指令LJMP addr16 ; PC ←addr16 吧16位目标地址直接给PC. ,64K范围内转移指令AJMP addr11;PC ←PC+2,PC10~PC0 ←addr11绝对转移指令:2K范围内转移指令SJMP rel ;PC ←PC+2,PC ←PC+rel 短转移指令:-126-129范围内转移指令, rel的取值范围-128-127JMP @A+DPTR ; PC ←A+DPTR 间接转移指令:变址转移指令,目标转移地址的基地址送入DPTR<2>条件转移指令说明:累加器A判零转移指令:JZ rel ;若A=0,则PC ←PC+2+rel,否则PC←PC+2 是双字节相对转移指令,rel为相对地址偏移量。

<3>比较不相等转移指令:CJNE A,#data,rel;若A=data,则PC←PC+3若A不等于data,则PC←PC+3+rel形成Cy标志。

指令的相对转移范围为-125 ~ +130<4>减1非零转移指令:DJNZ Rn,rel; 若Rn-1不等于0,则PC←PC+2+rel若Rn-1=0,则PC←PC+2DJNZ direct,rel;若,(direct)- 1不等于0,则PC←PC+3+rel若,(direct)-1=0,则PC←PC+3<5>子程序调用和返回指令——1.短调用指令:子程序起始地址在同一个2KB范围内。

相关主题