单片机原理与应用设计考试复习知识点.docx
《单片机原理与应用设计考试复习知识点.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用设计考试复习知识点.docx(16页珍藏版)》请在冰豆网上搜索。
![单片机原理与应用设计考试复习知识点.docx](https://file1.bdocx.com/fileroot1/2023-1/9/1bf3fcce-df89-46ac-aff9-bfce3f8126eb/1bf3fcce-df89-46ac-aff9-bfce3f8126eb1.gif)
单片机原理与应用设计考试复习知识点
单片机原理与应用设计考试复习知识点
张毅刚彭道元编著版
第一章:
单片机概述
考试知识点:
1、各种进制之间的转换
(1)各种进制转换为十进制数
方法:
各位按权展开相加即可。
(2)十进制数转换为各种进制
方法:
整数部分采用“除基取余法”,小数部分采用“乘基取整法”。
(3)二进制数与十六进制数之间的相互转换
方法:
每四位二进制转换为一位十六进制数。
2、带符号数的三种表示方法
(1)原码:
机器数的原始表示,最高位为符号位(0‘+’1‘-’),其余各位为数值位。
(2)反码:
正数的反码与原码相同。
负数的反码把原码的最高位不变,其余各位求反。
(3)补码:
正数的补码与原码相同。
负数的补码为反码加1。
原码、反码的表示范围:
-127~+127,补码的表示范围:
-128~+127。
3、计算机中使用的编码
(1)BCD码:
每4位二进制数对应1位十进制数。
(2)ASCII码:
7位二进制数表示字符。
0~9的ASCII码30H~39H,A的ASCII码41H,a的ASCII码61H。
第2章89C51单片机的硬件结构
考试知识点:
1、89C51单片机的内部逻辑结构
单片机是把CPU、存储器、输入输出接口、定时/计数器和时钟电路集成到一块芯片上的微型计算机,主要由以下几个部分组成。
(1)中央处理器CPU
包括运算器和控制器。
运算电路以ALU为核心,完成算术运算和逻辑运算,运算结果存放于ACC中,运算结果的特征存放于PSW中。
控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。
程序计数器PC是一个16位寄存器,PC的内容为将要执行的下一条指令地址,具有自动加1功能,以实现程序的顺序执行。
(2)存储器
分类:
随机存取存储器RAM:
能读能写,信息在关机后消失。
可分为静态RAM(SRAM)和动态RAM(DRAM)两种。
只读存储器:
信息在关机后不会消失。
掩膜ROM:
信息在出厂时由厂家一次性写入。
可编程PROM:
信息由用户一次性写入。
可擦除可编程EPROM:
写入后的内容可由紫外线照射擦除。
电可擦除可编程EEPROM:
可用电信号进行清除和改写。
存储容量:
存储容量指存储器可以容纳的二进制信息量,M位地址总线、N位数据总线的存储器容量为2M×N位。
89C51单片机的存储器有内部RAM(128B,高128B为专用寄存器)、外部RAM(64KB)、内部ROM(4KB掩膜ROM)、外部ROM(64KB)。
(3)输入输出接口
4个8位并行I/O口(P0、P1、P2、P3)
(4)其它资源
一个全双工串行口、5个中断源、2个16位的定时/计数器、时钟电路。
2、89C51单片机的信号引脚
(1)电源部分:
VCC接+5V、VSS接地。
(2)时钟电路部分:
XTAL1和XTAL2接晶振。
1个机器周期=6个状态=12个拍节
6MHZ的晶体机器周期2us,12MHZ的晶体机器周期1us。
(3)I/O口部分:
P0——8位数据总线/地址总线低8位、P1——用户口、P2——地址高8位、P3——第二功能。
(4)控制部分:
地址锁存控制信号ALE,用于控制把P0口输出的低8位地址送入锁存器锁存地起来。
外部程序存储器读选通信号PSEN,低电平有效,以实现外部ROM单元的读操作。
访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读内部ROM,再读外部ROM。
复位信号RST,当输入的复位信号延续2个机器周期以上高电平时即为有效。
复位值:
PC=0000H,SP=07H,P0=0FFH。
3、内部RAM的基本结构与功能
89C51的内部数据存储器低128单元区,称为内部RAM,地址为00~7FH。
(1)寄存器区(00~1FH)
共分为4组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7~R0编号。
由PSW中RS1、RS0位的状态组合来决定哪一组。
(2)位寻址区(20H~2FH)
可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为00~7FH。
位起始地址D0=(字节地址-20H)*8
(3)用户RAM区(30H~7FH)堆栈、缓冲区
堆栈是在内部RAM中开辟的,最大特点就是“后进先出”的数据操作原则。
两项功能:
保护断点和保护现场。
两种操作:
进栈和出栈。
SP堆栈指针,它的内容就是堆栈栈顶单元的地址。
4、专用寄存器(内部数据存储器高128单元)
(1)累加器A(ACC)
(2)寄存器B
(3)程序状态字PSW
CY——进位标志位,最高位的进位或借位。
AC——半进位标志位,低4位向高4位的进位或借位。
OV——溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和减数符号相同,有溢出。
P——A中1的个数,奇数个P=1,偶数个P=0。
(4)数据指针DPTR:
89C51中惟一一个供用户使用的16位寄存器。
高8位DPH,低8位DPL。
第3章89C51单片机指令系统
考试知识点:
1、寻址方式
(1)立即寻址(#data,#data16)例:
MOVA,#00H
(2)直接寻址(direct)内部RAM:
00~7FH、特殊功能寄存器例:
MOVA,00H
(3)寄存器寻址(A、B、Rn、DPTR)
(4)寄存器间接寻址(@Ri、@DPTR)例:
MOVXA,@DPTR
(5)变址寻址(@A+DPTR,@A+PC)例:
MOVCA,@A+DPTR
(6)位寻址(bit)20~2FH:
00~7FH、特殊功能寄存器例:
MOVC,00H
(7)相对寻址(rel)例:
JZrel
2、数据传送类指令
(1)内部RAM数据传送指令
MOV目的,源;目的→源
交换指令:
XCHA,direct/Rn/@Ri;A和源交换
XCHDA,@Ri;只换低4位
SWAPA;A的高低4位交换
注意:
A作目的操作数会影响P。
PUSHdirect
POPdirect
(2)外部RAM数据传送指令
MOVXA,@Ri/@DPTR;外部地址内容→A
MOVX@Ri/@DPTR,A;A→外部地址内容
(3)ROM数据传送指令
MOVCA,@A+DPTR/@A+PC;查表指令
3、算术运算指令
(1)加法指令
ADD/ADDCA,#data/direct/Rn/@Ri;会影响CY、AC、OV、P
INCA/direct/Rn/@Ri/DPTR;加1,P
DAA;十进制调整,大于9加6
(2)减法指令
SUBBA,#data/direct/Rn/@Ri;会影响CY、AC、OV、P
DECA/direct/Rn/@Ri;减1
(3)乘除指令
MULAB;(A)*(B)→BA,会影响CY=0,OV,P
DIVAB;(A)/(B)的商→A,余数→B
4、逻辑运算及移动指令
(1)逻辑运算指令
ANL/ORL/XRLA,#data/direct/Rn/@Ri
ANL/ORL/XRLdirect,A/#data
与→清0,或→置1,异或→取反
CLR/CPLA;清0和取反
(2)移位指令
RL/RR/RLC/RRCA
注意:
每左移一位相当于乘2,每右移一位相当于除2,带进位的移会影响CY和P。
5、控制转移类指令
(1)无条件转移指令
LJMPaddr16;addr16→PC,64KB
AJMPaddr11;(PC)+2→PC,addr11→PC10~0,2KB
SJMPrel;(PC)+2+rel→PC,256B
JMP@A+DPTR;(A)+(DPTR)→PC,64KB
(2)条件转移指令
累加器A判0转移指令
JZrel;A为0
JNZrel;A不为0
比较不相等转移指令
CJNEA/Rn/@Ri,#data,rel
CJNEA,direct,rel
注意:
第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY=0,第一小于第二,CY=1。
第一操作数和第二操作数相等,程序顺序执行,CY=0。
减1不为0转移指令
DJNZRn/direct,rel;(Rn/direct)-1不为0,程序转移。
(3)调用和返回指令
LCALLaddr16;(PC)+3→PC,先入低8位,再入高8位,addr16→PC
ACALLaddr11;(PC)+2→PC,先入低8位,再入高8位,addr11→PC10~0
RET;先出高8位,再出低8位
6、位操作类指令
(1)位传送指令
MOVC,bit
MOVbit,C
(2)位赋值指令
CLRC/bit
SETBC/bit
(3)位逻辑运算指令
ANL/ORLC,bit或/bit
CPLC/bit
注意:
实现逻辑表达式
(4)位控制转移指令
JCrel;(CY)=1
JNCrel;(CY)=0
JBbit,rel;(bit)=1
JNBbit,rel;(bit)=0
JBCbit,rel;(bit)=1,转移,清0
第4章89C51单片机汇编语言程序设计
考试知识点:
1、汇编语言的语句格式
【标号:
】操作码【操作数】【;注释】
标号:
语句地址的标志符号。
操作码:
语句执行的操作内容,用指令助记符表示。
操作数:
为指令操作提供数据。
注释:
对语句的解释说明。
2、伪指令
起始地址ORG、结束END、赋值EQU、字节DB、字DW、空DS、位BIT
3、汇编语言程序的基本结构形式
(1)顺序结构
(2)分支结构
(3)循环结构:
数据传送问题、求和问题
4、定时程序
例:
延时100ms的子程序,设晶振频率6MHZ。
DELAY:
MOVR5,#250
LOOP2:
MOVR4,#49
LOOP1:
NOP
NOP
DJNZR4,LOOP1
DJNZR5,LOOP2
RET
5、查表程序
(1)要查找的数据在表中的位置给A
(2)表的首地址给DPTR
(3)MOVCA,@A+DPTR
(4)数据表
第5、6章89C51单片机的中断与定时
考试知识点:
1、中断源和中断请求标志位
中断名称
中断请求标志
中断向量
外部中断0
IE0
0003H
T0中断
TF0
000BH
外部中断1
IE1
0013H
T1中断
TF1
001BH
串行发送中断
TI
0023H
串行接收中断
RI
0023H
2、和中断相关的寄存器的设置
(1)定时器控制寄存器TCON
格式如下:
位
D7
D6
D5
D4
D3
D2
D1
D0
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8F
8E
8D
8C
8B
8A
89
88
IT0=0,为电平触发方式。
低电平有效。
IT0=1,为边沿触发方式。
输入脚上电平由高到低的负跳变有效。
IE0=1,说明有中断请求,否则IE0=0。
(2)中断允许控制寄存器IE
其各位的定义如下:
位
D7
D6
D5
D4
D3
D2
D1
D0
代号
EA
—
—
ES
ET1
EX1
ET0
EX0
EA:
开放或禁止所有中断。
ES:
开放或禁止串行通道中断。
ET1:
开放或禁止定时/计数器T1溢出中断。
EX1:
开放或禁止外部中断源1。
ET0:
开放或禁止定时/计数器T0溢出中断。
EX0:
开放或禁止外部中断源0。
(3)中断优先级控制寄存器IP
各位的定义如下:
位
D7
D6
D5
D4
D3
D2
D1
D0
代号
—
—
—
PS
PT1
PX1
PT0
PX0
1为高优先级、0为低优先级。
如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。
查询次序为:
外部中断0、T0中断、外部中断1、T1中断、串行中断。
3、响应中断的必要条件
(1)有中断源发出中断请求。
(2)中断允许寄存器IE相应位置“1”,CPU中断开放(EA=1)。
(3)无同级或高级中断正在服务。
(4)现行指令执行到最后一个机器周期且已结束。
若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且其紧接着的指令也已执行完。
中断响应的主要内容是由硬件自动生成一条长调用指令,指令格式为“LCALLaddr16”。
这里的addr16就是程序存储器中断区中相应中断的入口地址。
4、中断程序设计
(1)在0000H处存放一条无条件转移指令转到主程序。
(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。
(3)设置触发方式(IT0/IT1)
(4)设置IE和IP。
(5)设置SP。
(6)原地踏步。
(7)中断服务子程序。
最后RETI。
5、定时计数的基本原理
(1)定时功能:
每个机器周期计数器加1。
(2)计数功能:
T0(P3.4)和T1(P3.5)输入计数脉冲,每一来一个脉冲计数器加1。
6、用于定时计数的寄存器的设置
(1)定时器控制寄存器TCON
格式如下:
位
D7
D6
D5
D4
D3
D2
D1
D0
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8F
8E
8D
8C
8B
8A
89
88
TF1、TF0——计数溢出标志位。
当计数器产生计数溢出时,由硬件置1。
采用查询方式,它是供查询的状态位。
采用中断方式,作为中断请求信号。
TR1、TR0——计数运行控制位。
为1时,启动定时器/计数器工作;为0时,停止定时器/计数器工作。
(2)工作方式控制寄存器TMOD
其格式如下:
TMOD:
GATEC/
M0M1GATEC/
M1M0
GATE:
门控位。
当GATE=1时,同时INTx为高电平,且TRx置位时,启动定时器,外部启动。
当GATE=0时,每当TRx置位时,就启动定时器,是内部启动方式。
C/T:
选择定时器功能还是计数器功能。
该位置位时选择计数器功能;该位清零时选择定时器功能。
M1M0:
这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式:
M1
M0
方式
说明
0
0
0
TLx低5位与THx中8位构成13位计数器
0
1
1
TLx与THx构成16位计数器
1
0
2
可自动再装入的8位计数器,当TLx计数溢出时,THx内容自动装入TLx。
1
1
3
对定时器0,分成两个8位的计数器;对定时器1,停止计数。
7、各种工作方式计数初值计算公式
方式0:
定时时间T=(8192-计数初值)×机器周期
计数次数C=8192-X
方式1:
定时时间T=(65536-计数初值)×机器周期
计数次数C=65536-X
方式2:
定时时间T=(256-计数初值)×机器周期
计数次数C=256-X
8、定时器程序设计
查询方式:
(1)在0000H处存放一条无条件转移指令,转到主程序。
(2)设置工作方式TMOD。
(3)设置计数初值。
(4)启动定时计数。
(5)等待时间到或计数计满。
LOOP:
JBC TF0/TF1,LOOP1
SJMP LOOP
LOOP1:
……
(6)重新设置计数初值(除方式2),再转第5步。
中断方式:
(1)在0000H处存放一条无条件转移指令,转到主程序。
(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。
(3)设置工作方式TMOD。
(4)设置计数初值。
(5)启动定时计数。
(6)设置IE和IP。
(7)设置SP。
(8)原地踏步。
(9)中断服务子程序。
重新设置计数初值(除方式2),最后RETI。
例 选用定时器/计数器T1工作方式0产生500µS定时,在P1.1输出周期为1ms的方波,设晶振频率=6MHZ。
(1)根据定时器/计数器1的工作方式,对TMOD进行初始化。
按题意可设:
GATE=0(用TR1位控制定时的启动和停止),=0(置定时功能),M1M0=00(置方式0),因定时器/计数器T0不用,可将其置为方式0(不能置为工作方式3),这样可将TMOD的低4位置0,所以(TMOD)=00H。
(2)计算定时初值
( 8192 -X)×2=500
X=7942D=1111100000110B
将低5位送TL1,高8位送TH1得:
(TH1)=F8H,(TL1)=06H
(3)编制程序(查询方式)(定时器1方式0)
ORG 0000H
LJMP MAIN
ORG 0300H
MAIN:
MOV TMOD,#00H ;TMOD初始化
MOV TH1,#0F8H ;设置计数初值
MOV TL1,#06H
SETB TR1 ;启动定时
LOOP:
JBC TF1,LOOP1 ;查询计数溢出
AJMP LOOP
LOOP1:
CPL P1.1 ;输出取反
MOV TL1,#06H ;重新置计数初值
MOV TH1,#0F8H
AJMP LOOP ;重复循环
END
更多例程在P104开始
第七章89C51的串行口
考试知识点
1、串行口控制寄存器SCON
SCOND7D6D5D4D3D2D1D0
SM0SM1SM2RENTB8RB8TIRI
位地址9FH9EH…99H98H
(1)SM0、SM1----串行口4种工作方式选择位
串口的4种工作方式
SM0SM1方式
000
011
102
113
(2)SM2----多机通信控制位
(3)REN----允许串行接收位
(4)TB8----发送的第9位数据
(5)RB8----接收的第9位数据
(6)TI----发送中断标志位
(7)RI----接收中断标志位
SMOD----波特率选择位
2、串行口的4种工作方式
方式0:
同步移位寄存器方式波特率固定位时钟频率
的1/12
方式1:
方式1波特率=
X定时器的溢出率
方式2:
方式2波特率=
X
---晶振频率
方式3:
方式3波特率=
X定时器的溢出率
注意:
定时方式1或方式3时,用定时器1作为波特率发生器
定时器溢出率=
=
3、串行口的编程应用P128
***
第8章单片机并行存储器扩展
考试知识点:
1、单片机并行扩展总线的组成
(1)地址总线:
传送地址信号
(2)数据总线:
传送数据、状态、指令和命令
(3)控制总线:
控制信号
2、89C51单片机并行扩展总线
(1)以P0口的8位口线充当低位地址线/数据线
(2)以P2口的口线作高位地址线
(3)控制信号:
使用ALE作地址锁存的选通信号,以实现低8位地下锁存。
以PSEN信号作为扩展程序存储器的读选通信号。
以EA信号作为内外程序存储器的选择信号。
以RD和WR作为扩展数据存储器和I/O端口的读/写选通信号。
3、单片机并行存储器扩展的方法
各种外围接口电路与单片机相连都是利用三总线实现。
(1)地址线的连接
将外围芯片的低8位地址线(A7~A0)经锁存器与P0口相连,高8位地址线(A15~A8)与P2口相连。
如果不足16位则按从低至高的顺序与P0、P2口的各位相连。
(2)数据线的连接
外围芯片的数据线(D7~D0)可直接与P0口相连。
(3)控制线的连接
ROM:
OE—PSEN
RAM:
OE—RD、WE—WR
片选信号CE的连接方法:
(1)接地,适用于扩展一块存储器芯片。
(2)线选法
第10章89C51与键盘、显示器…的接口设计
考试知识点
1、8段LED的断码、键盘的工作原理
2、按键的三种工作方式:
编程扫描、定时扫描和中断扫描
编程扫描要用软件延时10ms消抖
3、89C51与液晶的接口
第十一章89C51与D/A、A/D转换器的接口
考试知识点
1、D/A转换器
(1)、D/A转换器有两种输出方式。
分别是电流与电压输出。
对于电流输出的如果需要电压输出,需要在输出端加个运算放大器构成的I-V转换电路。
(2)、技术指标:
分辨率:
输出满刻度/
、技术时间、精度
(3)、DAC0832芯片介绍:
8位、
单极性输出:
=-BX
双极性输出:
=(B-128)X
(4)、DAC0832的应用:
锯齿波、三角波、矩形波的产生P231
2、A/D转换器
ADC0809是8路模拟输入、8位数字量输出的A/D转换器
ADC0809的应用:
采集8路模拟信号,并依次把结果转储到数据存储区转换程序P242