单片机知识点概述简化版.docx
《单片机知识点概述简化版.docx》由会员分享,可在线阅读,更多相关《单片机知识点概述简化版.docx(21页珍藏版)》请在冰豆网上搜索。
![单片机知识点概述简化版.docx](https://file1.bdocx.com/fileroot1/2022-10/11/ed37b310-68db-4a3c-9731-52f61bf34bea/ed37b310-68db-4a3c-9731-52f61bf34bea1.gif)
单片机知识点概述简化版
概述
1、单片机的定义与内部组成
单片机是一种集成电路芯片,一片单片机芯片就具有组成计算机的全部功能。
它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统。
2、单片机的特点与发展前景。
从硬件角度看:
单片机具有小型化的特点,它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,一片单片机芯片就具有组成计算机的全部功能。
从软件角度看:
单片机指令系统有精单指令的特点,容易学习。
利用单片机指令编写的源程序短小精悍,使单片机应用产品即体积小又具有智能化。
发展前景:
纵观单片机的发展过程,可以预见单片机的发展有着广泛的前景。
尤其在工业控制、智能仪器仪表、计算机网络和通信领域、家用电器、医用设备等领域中将有着广泛的发展前景。
3、单片机的各种主要用途。
(1)在智能仪器仪表上的应用
(2)在工业控制中的应用
(3)在家用电器中的应用
(4)在计算机网络和通信领域中的应用
(5)单片机在医用设备领域中的应用
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
第1章单片机结构及原理
1、80C51单片机的内部组成及外观
(1) 中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器
(2)数据存储器(RAM):
特殊功能寄存器
初始态
特殊功能寄存器
初始态
ACC
00H
B
00H
PSW
00H
SP
07H
DPH
00H
TH0
00H
DPL
00H
TL0
00H
IP
xxx00000B
TH1
00H
IE
0xx00000B
TL1
00H
TMOD
00H
TCON
00H
SCON
xxxxxxxxB
SBUF
00H
P0-P3
1111111B
PCON
0xxxxxxxB
8051内部有128字节数据存储器(RAM)和21个专用寄存器单元,它们是统一编址的,专用寄存器有专门的用途,通常用于存放控制指令数据,不能用作用户数据的存放,用户能使用的RAM只有128个字节,可存放读写的数据,运算的中间结果或用户定义的字型表。
89S52供用户使用的数据存储器256个字节。
(3)程序存储器(ROM):
8051共有4K字节闪存,用于存放程序和固定的常数等。
89S52/C52配置了8KB闪存。
(4)定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数,当定时/计数器产生溢出时,可用中断方式控制程序转向。
(5)并行输入输出(I/O)口:
8051共有4个8位的并行I/O口(P0、P1、P2、P3),用于对外部数据的传输。
(6)全双工串行口:
8051内置一个全双工异步串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
(7)中断系统:
8051具备较完善的中断功能,有五个中断源(两个外中断、两个定时/计数器中断和一个串行中断),可基本满足不同的控制要求,并具有2级的优先级别选择。
(8)时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的时序脉冲,但需外接晶体振荡器和振荡电容。
2、按照写入的方式不同,ROM可分为MaskROM(掩膜ROM)、OTPROM、EPROM、E2PROM和FlashROM。
FlashROM:
FlashROM是一种新型的电可擦除、非易失性存储器,使用方便,价格低廉,可多次擦写,近年来应用广泛。
3、51系列单片机的存储器组织结构,采用典型的哈佛结构,即程序存储器、数据存储器完全独立。
片内RAM又按功能分为几个区,每个区都有自己独特的功能。
4、51单片机的四个并行I/O口,其中P0口可作I/O口,也可以分时实现地址数据总线功能。
P3口除了可作I/O口外,还具有第二功能,P2口除了可作I/O口外,还能作高位地址总线。
5、51单片机的复位电路有上电复位、手动复位电路两种。
复位后,一些特殊功能寄存器的内容会恢复为初始值。
第2章指令系统
1、指令寻址方式
直接寻址、立即寻址、寄存器寻址、间接寻址、变址寻址、相对寻址、位寻址。
2、指令系统
对指令功能的理解以及常用与不常用指令
(1)数据传送指令
数据传送指令中大部份指令的功能较为简单容易理解,难点是对查表指令MOVCA,@A+DPTR和MOVCA,@A+PC的理解。
(2)算术运算指令
算术运送指令大多是常用指令,功能简明确,大多数指令以累加A为第一操作数,运算结果保存在累加A中,同一种运算的指令,第二操作数的来源于以来自不同的存储空间,也可以是相同的存储空间,但采用不同的寻址方式,例如将累加器A中的内容与片内RAM中50H单元的内容相加。
第二操作数采用直接寻址:
ADD A,50H
第二操作数采用寄存器间接寻址:
MOVR0,#50H
ADDA,@R0
51单片机指令系统中有带进位的减法指令,应用时要根据实际情况确定是否对进位标志清零。
使用乘除法指令时,应注意每次操作(被乘数或被除数)与第二操作数(乘数或除数)的存储位置以及运算结果的存储位置。
(3)逻辑运算指令
逻辑运算指令大多也是功能简单常用指令,移位指令的作有征收数字电子技术中移位寄存器的作用类似,每次将累加器A中的内容左移(或右移)一位,数值上相当于将原数乘以2(或除以2)。
(4)转移指令
控制转移指令是系统学习的难点之一,它难在条件转移指令中对转移条件的理解,它即要判断条件是否满足,又要确定程序是否转移。
其实掌握这类指令并不难,简言之“满足条件则转移,不满足条件则执行下一条指令”。
无条件转移指令容易理解,但要注意转移范围分别是-127B~+128B(短转移)或±2KB范围(相对转移)或64KB范围(长转移)。
子程序调用与返回指令操作与堆拽操作有一定关系,要注意出入拽顺序。
(5)位指令
位操作指令是51单片机的特色,由于可以按位操作,方便了程序设计。
位操作指令中的条件转移指令是短转移指令(-127~+128B范围),而且都是以条件位的状态作转移条件的。
第3章汇编语言程序设计
1、单片机程序设计中常用伪指令
伪指令不是真正的指令,它只向编译程序提供编译信息,而不产生机器代码。
常用伪指令有:
(1)标号等值伪指令——EQU
格式:
〈标号:
〉EQU〈表达式〉
指令的含义为本语句的标号等值于表达式,亦即将表达式值赋予标号。
这里的标号和表达式是必不可少的。
(2)数据存储说明伪指令
数据存储说明伪指令的作用是将数据存储在程序存储器单元中。
①定义字节数据伪指令——DB
格式:
〈标号:
〉DB〈表达式或表达式串〉
② 定义字数据伪指令——DW
格式:
〈标号:
〉DW〈表达式或表达式串〉
(3)程序起始地址伪指令——ORG
格式:
ORG〈表达式〉
(4)汇编结束伪指令——END
格式1:
〈标号:
〉END〈表达式〉
格式2:
〈标号:
〉END
或者 END
2、程序设计
(1)顺序程序设计
一种最简单、最基本的程序(也称为简单程序)。
特点是按程序编写的顺序依次执行,程序流向不便。
需要正确地选择指令,以达到提高程序执行效率、减少程序长度、最大限度地优化程序的目的。
(2)循环程序
任何计算机程序都不可能是无限长的顺序程序,程序总是根据不同的条件不断循环的转移执行的。
将循环程序从结构上分成循环初始化,循环体,循环修改和循环结构四个部分,是为了便于理解。
实际应用时应视具体问题灵活应用。
(3)分支程序
条件转移指令是指分支程序产生的原因,条件转移指令执行时,如果转移条件(yes)程序转向一个分支,如果不转移条件(no)程序转向是一个分支。
(4)散转程序设计
用间接转移指令,也称为散转指令,即“JMP@A+DPTR”。
把16位数据指针DPTR的内容与累加器A中的8位无符号数相加,形成散转的目的地址,装入程序计数器PC,使程序转入响应的分支程序中去。
通常方法是固定DPTR的内容,然后根据A中的内容进行散转。
(5)查表程序
数学变量与函数之间的关系是一种确定的关系,可以用数学表达式表示,计算机编程时,可根据变量及与函数的关系式计算出函数值。
但有的变量与函数之间的关系不能用数学表达式表示,如七段数码显示代码(函数)与显示字符(变量)就是这样。
它们之间只能用表格形式建立函数关系,单片机程序设计中的查表程序就是解决这类问题。
当然有确定数学关系的数学变量也可以用查表程序求函数值。
(3)子程序
采用子程序结构的程序设计最大的好处是优化了程序设计,将可局部独立处理的问题编写成子程序,可供主程序反复多次调用,它将复杂的运标或检制问题,细分成许多小的事件进行处理,这种主程序调用子程序的结构形式被称为模块式的结构形式。
第4章定时/计数器及中断系统
1、定时/计数器内部结构
51单片机内部设有两个16位可编程的定时器\计数器,简称定时器0、定时器1。
2、定时器的工作原理
(1)定时功能
定时功能是通过计数的计数来实现的,不过此时的计数脉冲来自单片机的内部,每个机器周期产生一个计数脉冲,计数器加1,直到计数器溢出。
由于1个机器周期等于12个时钟振荡周期。
因此计数频率为振荡周期的1/12。
(2)计数功能
所谓计数是对外部事件进行计数,计数脉冲来自相应的外部输入引脚T0、T1。
当外部输入脉冲信号产生由1至0的跳变时,计数器的值加1。
计数方式下,单片机在每个机器周期的S5P2期间对外部计数脉冲进行采样。
如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,则在紧跟着的再下一个(第三个)机器周期的S3P1期间计数器加1。
由于确认一次由1至0的跳变要花两个机器周期,即24个振荡周期,故计数脉冲的频率不能高于振荡频率的1/24。
3、定时/计数器的控制
51单片机对内部定时器\计数器的控制主要是通过模式控制寄存器—TMOD、控制寄存器---TCON两个特殊功能寄存器实现的。
(1)工作方式寄存器—TMOD
工作方式寄存器—TMOD为8位寄存器,各位定义如图所示:
D7D6D5D4D3D2D1D0
GATE
C\T
M1
M0
GATE
C\T
M1
M0
控制定时器T1
控制定时器T0
GATE:
门控位。
GATE=0时,定时器由软件控制位TR0或TR1来控制启停。
TRi位为1时,定时器启动开始工作;为0时定时器停止工作。
GATE=1时,定时器的启停由外部中断引脚和TRi位共同控制。
只有当外部中断引脚INT0或INT1为高时,TR0或TR1置1才能启动定时器工作。
C\T:
功能选择位。
当C\T=0时设置为定时器工作模式;当C\T=1时设置为计数器工作模式。
M1、M0:
工作方式选择位。
定时器\计数器有4种工作方式,由M0、M1来定义:
M0
M1
操作方式
功能说明
0
0
方式0
13位定时器\计数器,TLi只用低5位
0
1
方式1
16位定时器\计数器
1
0
方式2
自动重装初值的8位定时器\计数器,Thi的值在保持不变,TLi溢出时,THi的值自动装入TLi中。
1
1
方式3
仅适用于T0,T0分成2个独立的8位计数