单片机重点知识点整理.docx

上传人:b****6 文档编号:9104121 上传时间:2023-02-03 格式:DOCX 页数:23 大小:361.33KB
下载 相关 举报
单片机重点知识点整理.docx_第1页
第1页 / 共23页
单片机重点知识点整理.docx_第2页
第2页 / 共23页
单片机重点知识点整理.docx_第3页
第3页 / 共23页
单片机重点知识点整理.docx_第4页
第4页 / 共23页
单片机重点知识点整理.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机重点知识点整理.docx

《单片机重点知识点整理.docx》由会员分享,可在线阅读,更多相关《单片机重点知识点整理.docx(23页珍藏版)》请在冰豆网上搜索。

单片机重点知识点整理.docx

单片机重点知识点整理

1单片机内部RAM256个单元功能划分

通用工作寄存器区:

用于存放操作数及中间结果

位寻址区:

作为一般RAM单元使用,进行字节操作,也可对单元中每一位进行操作

用户区:

供用户一般使用

特殊功能寄存器区:

共专用寄存器使用

2串行通信的工作方式及特点

同步通信,依靠起始位和停止位实现同步

异步通信,依靠同步字符实现同步

1.方式0

串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。

TXD引脚输出同步移位脉冲,RXD引脚串行输入/输出。

2.方式1

在方式l时,串行口被设置为波特率可变的8位异步通信接口。

发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和1位停止位。

3.方式2

串行口工作为方式2时,被定义为9位异步通信接口。

发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。

控制/校验位为第9位数据。

4.方式3

方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式

3产品设计的步骤

1明确设计任务和性能指标2总体设计3硬件测试4软件设计5产品调试

4指令的寻址方式、分类,会举例

(1)立即数寻址指令本身直接含有所需要的8位或16位的操作数。

将此数称为“立即数”(使用#标明)。

MOVA,#5FH;将(8位)立即数送累加器A

(2)直接寻址指令直接给出了操作数的地址。

MOVA,3AH;将RAM3AH单元内容送累加器

(3)寄存器寻址当所需要的操作数在内部某一个寄存器Rn中时,将此寄存器名Rn直接写在指令的操作数的位置上。

MOVA,R0

注意:

寄存器寻址方式的指令大多是单字节指令。

指令本身并不带有操数,而是含有存放操作数的寄存器的3位代码。

以MOVA,Rn为例,使用R7寄存器,所以rrr=111,既指令的机器码为:

0EFH

(4)寄存器间接寻址指令中含有保存操作数地址的寄存器Ri。

MOVA,@Ri(i=0、1)

如:

MOVR0,#3AH;立即数送R0寄存器

(5)变址寻址;指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。

指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。

MOVXA,@A+PC;PC内容与A的内容相加得操作数地址并将此操作数送A

(6)相对寻址;相对转移指令在执行中是将PC值与指令中的8位偏移量进行相加,形成指令要转移的目标地址。

SJMPrel

由指令中有一个8位偏移量rel为带符号位的补码,所以控制程序转移的范围为+127~-128。

例如:

SJMP54H;(80H、54H)

(7)位寻址。

在位寻址指令(位操作指令)中使用的位地址。

单片机在控制、检测的应用中,系统的输入、输出数据有很多属于开关量信号。

这些开关量信号以bit---“位”的形式进行各种运算、处理和存储的。

SETB20H;将位地址为20H的位置1

SETB90H;将P1口的d0位置1

五大类指令:

一:

数据传送类指令

内部RAM传送指令

外部RAM传送指令

数据交换类指令

堆栈操作指令

数据交换指令

2算术运算类指令

加法指令

减法指令

乘法指令

除法指令

3逻辑运算类指令

逻辑与指令

逻辑或指令

逻辑异或指令

累加器清零指令

累加器取反指令

循环移位指令

4控制转移类指令

无条件转移指令

条件转移指令

调用及返回指令

空操作指令

5位操作指令

位传送指令

位修改指令

位逻辑操作指令

位判断转移类指令

5行列键盘的扫描过程(4*4键盘)

扫描方法:

1整体扫描:

(1)令Y0=Y1=Y2=Y3=0

(2)读四个行的状态(P1.0~P1.3)若四根线全为1,则无键按下,继续整体扫描,等待有键按下;若四根线不全为1,则有一个键按下,转到第2步扫描

2具体扫描:

(1)先扫描P1.4,令Y0=0,P1.4=0,Y1=Y2=Y3=1

(2)读X0~X3,若全为1,则按下的键不在该列,转到第二列扫描;若不全为1,则按下的键在该列。

(3)若在该列,读X0,若X0=0,则0号键按下;若X0=1,则不是0号键按下,然后再依次读X1~X3

(4)若不在Y0这一列,再扫描Y1这一列,令Y1=0,Y0=Y2=Y3=1,方法同上。

(5)若不在Y1列,再扫描Y2这一列,令Y2=0,Y0=Y1=Y3=1,方法同上。

(6)若不在Y2列,再扫描Y3这一列,令Y3=0,Y0=Y1=Y2=1,方法同上。

6根据串行通信的波特率和定时器的关系计算初值

方式3:

波特率=

方式1时,K=16,方式3时K=8

7并行I/O接口的扩展方法,

常用的扩展方法有:

v简单的I/O口扩展

v可编程I/O口芯片

v利用串行口扩展并行口

8会利用8255进行I/O接口扩展,确定地址范围、接口地址并会简单编程

1.8255的结构和引脚

8255有40个引脚,采用双列直插封装,其引脚图和组成框图

(1)8255A的逻辑结构和信号引脚

1、数据总线:

D0~D7

2、3个并行IO接口:

A口PA0~PA7

B口PB0~PB7

C口PC0~PC7

3、控制总线

A1A0地址线(端口选择线)

10A口

11B口

20C口

11命令状态口

CS片选端端

RESET复位端

RD、WR读写线

总线接口电路

(1)数据总线缓冲器

(2)读/写控制器

8255A的工作方式

⏹8255A共有三种工作方式,即方式0、方式1和方式2。

(1)方式0基本输入/输出方式

⏹方式0适合于无条件数据传送,可供使用的是两个8位口(A口和B口)及两个4位口(C口高位部分和低位部分)。

(2)方式1选通输入/输出方式

方式1下,A口和B口分别用于数据的输入/输出。

而C口则作为数据传送的联络信号。

具体定义见表。

(3)方式2双向数据传送方式

只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。

在这种方式下需使用C口的五位口线作控制线。

方式2适用于查询或中断方式的双向数据传送。

如果把A口置于方式2下,则B口只能工作于方式0。

8255A芯片的各端口地址:

PA端口的地址为7FFCH,

PB端口的地址为7FFDH,

PC端口的地址为7FFEH,

控制寄存器的地址为7FFFH。

可用“MOVX”指令来访问这些端口。

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVA,#90H;方式0,A口输入C口输出

MOVDPTR,#7FFFH;控制寄存器地址→DPTR

MOVX@DPTR,A;写入控制寄存器

MOVDPTR,#7FFCH;A口地址→DPTR

MOVXA,@DPTR;接收A口数据

MOVDPTR,#7FFEH;C口地址→DPTR

MOVX@DPTR,A;将A口读入数据送C口输出

END

9单片机中断源及其入口地址

1.中断源分类

五个中断源,分别是

外部中断0:

INT0,由P3.2提供,

外部中断1:

INT1,由P3.3提供,

T0溢出中断;由片内定时/计数器0提供

T1溢出中断;由片内定时/计数器1提供

串行口中断RI/TI;由片内串行口提供

中断源入口地址

INT00003H

T0000BH

INT10013H

T1001BH

RI/TI0023H

10单片机复位后各主要寄存器的内容

复位后CPU状态

PC:

0000HTMOD:

00H

Acc:

00HTCON:

00H

B:

00HTH0:

00H

PSW:

00HTL0:

00H

SP:

07HTH1:

00H

DPTR:

0000HTL1:

00H

P0~P3:

FFHSCON:

00H

IP:

×××00000BSBUF:

不定

IE:

0××00000BPCON:

0×××0000B

11指令周期、机器周期、状态周期、振荡周期的概念、关系,根据振荡频率计算这些周期

⑴时钟周期(震荡周期)。

80C51振荡器产生的时钟脉冲频率的倒数,是最基本最小的定时信号。

⑵状态周期

它是将时钟脉冲二分频后的脉冲信号。

状态周期是时钟周期的两倍。

状态周期又称S周期。

在S周期内有两个时钟周期,即分为两拍,分别称为P1和P2

(3)机器周期

80C51单片机工作的基本定时单位,简称机周。

一个机器周期含有6个状态周期,分别为S1、S2、…、S6,每个状态周期有两拍,分别为S1P1、S1P2、S2P1、S2P2…,S6P1、S6P2

机器周期是6个状态周期、12个时钟周期。

当时钟频率为12MHz时,机器周期为1S;

当时钟频率为6MHz时,机器周期为2S。

(4)指令周期

指CPU执行一条指令占用的时间(用机器周期表示)。

80C51执行各种指令时间是不一样的,可分为三类:

单机周指令、双机周指令和四机周指令。

其中单机周指令有64条,双机周指令有45条,四机周指令只有2条(乘法和除法指令),无三机周指令。

牢牢记住:

振荡周期(时钟周期)=晶振频率fosc的倒数;

1个机器周期=6个状态周期

1个机器周期=12个时钟周期;

1个指令周期=1、2、4个机器周期

12指令:

跳转指令的分类及跳转范围

无条件转移指令:

1短转移指令AJMPaddr11;绝对转移,寻址范围2K;

2.相对转移指令SJMPrel;寻址范围256B;转移范围(+127~-128);

3.长转移指令

格式:

LJMPaddr16;长转移指令,寻址范围65535;

4.散转指令(变址转移)

格式:

JMP@A+DPTR单字节操作码为73H

特点:

转移地址由累加器A的内容与DPTR相加形成。

用途:

用来制作一个多分支的转移结构。

条件转移指令:

1累加器A判零转移指令(双字节指令)

JZrel;若A=0,则PC=PC+2+rel

;若A≠0,则PC=PC+2

JNZrel;若A≠0,则PC=PC+2+rel

;若A=0,则PC=PC+2

(2)比较不相等条件转移指令(3字节)

减1条件转移指令

调用和返回指令

(一)子程序调用指令:

1,短调用指令ACALLaddr11

2,长调用指令LCALLaddr16

(二)返回指令:

(一)调用指令

1,短调用指令ACALLaddr11

PC+2→PC

SP+1→SP,PC7~0→(SP)

SP+1→SP,PC15~8→(SP)

addr11→PC10~0

2,长调用指令LCALLaddr16

PC+3→PC

SP+1→SP,PC7~0→(SP)

SP+1→SP,PC15~8→(SP)

addr16→PC

(二)返回指令

格式:

RET

操作:

(SP)→PC15~8,SP-1→SP

(SP)→PC7~0,SP-1→SP

格式:

RETI

操作:

(SP)→PC15~8,SP-1→SP

(SP)→PC7~0,SP-1→SP

空操作指令

格式:

NOP

功能:

仅使程序计数器PC加一,消耗12个时钟周期,所以时常用作延时。

13定时计数器的工作方式及其特点(位数,功能)

1.方式0—13位方式

t=(213-T0初值)×机器周期

方式1—16位方式

其定时时间为:

t=(216-T0初值)×机器周期

方式2—8位自动装入时间常数方式

其定时时间为:

t=(28-T0初值)×机器周期

方式3—2个8位方式

计算计数器的计数初值;

要产生500μs的方波脉冲,只需在P1.0端以250μs为间隔,交替输出高低电平即可实现。

为此,定时间应为250μs。

使用6MHz晶振,则一个机器周期为2μs,设待求计数初值为X,则:

(216–X)×2×10-6=250×10-6

即216–X=125

X=216-125=10000H-7DH

=0FF83H

所以,初值为:

TH1=0FFH,TL1=83H

14长时间延时的实现方法

题目:

单片机采用12M晶振,试编写0.1s延时程序

ORG0100H

MOVR2,#200

LOOP:

MOVR3,#250

DJNZR3,$(2周期)

DJNZR2,LOOP

RET

例2:

50ms延时子程序。

设晶振频率为12MHz,

则机器周期为1us。

DEL:

MOVR7,#200;1MC

DEL1:

MOVR6,#123;1MC

NOP;1MC

DJNZR6,$;2MC

DJNZR7,DEL1;2MC

RET;2MC

延时时间:

t=1+200[(1+1+2*123)+2]+2

≈50000us=50ms

15中断允许控制寄存器IE的各个状态

0禁止1允许

D7

D6

D5

D4

D3

D2

D1

D0

EA

 

 

ES

ET1

EX1

ET0

EX0

EX0:

外部中断0中断请求允许位。

EX=1,允许外部中断0申请中断;EX=0,禁止

ET0:

定时器/计数器T0的溢出中断请求允许位。

ET0=1,允许T0溢出申请中断;ET0=0,禁止T0申请中断

EX1:

外部中断1中断请求允许位。

EX1=1,允许外部中断1申请中断;EX1=0,禁止

ET1:

定时器/计数器T1的溢出中断请求允许位。

ET0=1,允许T1溢出申请中断;ET0=0,禁止T1申请中断

ES:

串行口中断请求允许位。

ES=1,允许串行口申请中断;ES=0,禁止串行口申请中断

EA:

CPU总的中断开放允许位,是80C51单片机所有中断能否触发的先决条件。

EA=1,CPU开放中断,允许所有中断源申请中断;EA=0,CPU禁止中断,屏蔽所有中断申请

16单片机访问外部RAM和ROM的指令是什么

读写外RAM用MOVX指令,

控制信号是P3口中的RD和WR。

读写ROM用MOVC指令,控制信号是PSEN和EA。

MOVXA,@DPTR

MOVXA,@i;i=0,1

读ROMMOVCA,@A+DPTR

17根据存储器容量确定地址线和数据线的条数

数据线一般都为8条

1KB=1024=22KB=2

18四个并行I/O接口的作用,简要说明

P0~P3口具有字节寻址和位寻址功能

1普通I/O接口

P0口:

2地址/数据输入输出

3输出外部I/O接口的低8位电平

1普通I/O接口

P1口:

2P1.0/T2:

外部时钟脉冲输入信号

P1.1/T2EX:

输出一定频率的方波信号

P2口:

1普通I/O接口P3口:

1普通I/O接口

2输出外部I/O接口的低8位电平2第二功能

19单片机的工作方式有哪些

80C51单片机的工作方式共有四种:

⑴复位方式;

⑵程序执行方式;

⑶节电方式;

⑷片内ROM编程(包括校验)方式。

20外部中断的有效方式

外部中断的触发方式

外部中断的方式选择是通过定时/计数器及外部中断控制寄存器TCON中的标志位选择的。

1)TCON.2IT1:

外部中断1触发方式控制位。

当IT1=0,外部中断1为电平触发方式。

☐若IT1=1,外部中断1控制为边沿触发方式。

2)TCON.0IT0:

外部中断0触发方式控制。

定时器/计数器作为外部中断源的使用方法

中断和查询结合的方法

21DAC0832与单片机的连接,能看图并简单编程(实现D/A转换)。

10.2.18位D/A转换器0832的应用

1.DAC0832的逻辑结构与引脚功能

 

D/A转换电路是一个R-2RT型电阻网络,实现8位数据的转换。

对各引脚信号说明如下:

(1)DI7~DI0:

转换数据输入。

(2):

片选信号(输入),低电平有效。

(3)ILE:

数据锁存允许信号(输入),高电平有效。

(4):

第1写信号(输入),低电平有效。

控制输入寄存器是数据直通方式还是数据锁存方式,

当ILE=1和=0时,为输入寄存器直通方式;

当ILE=1和=1时,为输入寄存器锁存方式。

(5):

第2写信号(输入),低电平有效。

(6):

数据传送控制信号(输入),低电平有效。

控制DAC寄存器是数据直通方式还是数据锁存方式,

当=0和=0时,为DAC寄存器直通方式;

当=1和=0时,为DAC寄存器锁存方式。

(7) Iout1:

电流输出1。

(8) Iout2:

电流输出2。

DAC转换器的特性之一是:

Iout1+Iout2=常数。

(9) Rfb:

反馈电阻端。

DAC0832是电流输出,为取得电压输出,需在电压

输出端接运算放大器,Rfb为运算放大器反馈电阻端。

(10)Vref:

基准电压,范围是-10V~+10V。

(11) DGND:

数字地。

(12) AGND:

模拟地。

其主要特性参数:

(1)分辨率:

8位;

(2)增益温度系数:

0.02%;

(3)单电源供电:

电源范围为+5V~+15V;

(4)转换速度:

约1us;

(5)数据输入可采用双缓冲、单缓冲或

直通方式。

主要引脚功能:

(1)IOUT1:

DAC电流输出1端:

当8位输入数字量全为1时,此电流最大;

当8位输入数字量全为0时,此电流为0;

(2)IOUT2:

DAC电流输出2端。

IOUT1+IOUT2=常数;

(3)VREF:

参考电压输入端,可在-10V~+10V范围内选择;

(4)AGND、DGND:

模拟地和数字地。

(5)VCC:

电源,可在+5V~+15V间选择。

DAC0832与8051的接口电路

MCS-51与DAC0832接口时,可以有三种连接方式:

单缓冲方式、双缓冲方式和直通方式。

 

 

用DAC产生锯齿波

ORG0200H

MAIN:

MOVDPTR,#7FFFH

MOVA,#00H

WW:

MOVX@DPTR,A

INCA

NOP

NOP

NOP

AJMPWW

 

DAADREQU7FFFH;DAC0832端口地址

ORG1000H

STAR:

MOVDPTR,#DAADR

;选中DAC0832

MOVA,#00H

LP:

MOVX@DPTR,A;向DAC0832输出数据

INCA

SJMPLP

22会设计8路温度采集系统(会话框图并说明各个部分作用)

温度巡检系统的设计

一设计方案

1.设计描述

本系统使用89C51作为控制单元,对来自温度传感器的信号进行采集,并把采集到的温度数据实时显示。

系统设计上可以进行8路温度数据采集。

但在程序中,只模拟现场3个点温度数据的巡回检测,温度范围0~85(温度信号用电位器可调电压模拟),1对应数字量03H。

每隔15s检测一次,每一路连续检测4次,取其平均值,经标度变换,转为BCD码送LED显示,三路循环显示,每路持续2s。

二硬件系统组成

三软件设计

1.主程序:

完成定时器T0、T1和8255的初始化;开放CPU、T0、T1中断;循环调用显示子程序,等待定时中断。

2.定时中断0服务程序

3.定时中断1服务程序

4.温度检测子程序

5.显示子程序

 

 

集成温度传感器,测量温度;---------------1分

信号调理:

信号的放大与转换;---------------1分

A/D转换;模拟到数字的转换;---------------1分

复位电路;单片机处于初始状态

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1