没有合适的资源?快使用搜索试试~ 我知道了~
单片机mooc知识点 .docx
需积分: 0 1 下载量 90 浏览量
2021-01-04
13:22:23
上传
评论
收藏 19.21MB DOCX 举报
温馨提示
试读
30页
单片机mooc知识点 .docx
资源详情
资源评论
资源推荐
CPU
字长(2
3
~2
6
bit): 8位 16位 32位 ——同一时刻处理的二进制位数
ALU(8bit+1 位位处理器~每次可处理 8 位二进制数)
寄存器
:工作寄存器 R0~R7(8*8bit)<R0、R1 特殊>
工作寄存区 0~3 区(4*8 个)——PSW.3&PSW.4 切换
特殊功能寄存器
:ACC(8bit~256)(是 ALU 也是寄存器)(存放数据或中间结
果)
寄存器 B(8bit)(乘除运算)
PSW(8bit)(Cy AC F0 RS1 RS0 OV – P)
数据指针 DPTR(16bit~64K)(DPH(8bit)&DPL(8bit))
(片外 RAM 指针)(存放外部 RAM 地址)
D7 D6 D5 D4 D3 D2 D1 D0
CY AC F0 RS1 RS0 OV —— P
进位标志位 辅助进位标志位 用户标志位 寄存器组选择位 寄存器组选择位 溢出标志位 无定义 A 的 1 的奇偶标志位
作
用
执 行 算 术 运
算 时 , 判 断
进位
十进制调整,判
断第四位向高四
位的进位
用 指 令 置 位
或 复 位 控 制
程序转向
判断加减乘除计算结果
(存放在 A)中的溢出
判 断 A 中数 的奇 偶
性
1
最 高 位 有 向
前进位/从前
借位
第四位有向高四
位进位 /从 高四
位借位
指令置位…
带符号+/-:结果有
溢出;*:结果超 8
位 ( 255 ) , 存 放
BA 中 ; / : 除 数 为
0,无意义
A 中 1 的个数为奇
0
无 无 指令复位… 无;仅放 A;有意义 A 中 1 的个数为偶
堆栈指针 SP(8bit~256)(片内 RAM 堆栈区指针)
(堆栈区:30H~7FH(80B)<先进后出>)
(内容始终为栈顶地址)(复位~07H)
(可自动加 1 或减 1)
程序计数器 PC(16bit~64K)
(可自动加 1~顺序执行)
(可强制改写~转移、子程序调用、中断、复位
(复位~0000H)
(片内 ROM 指针)
(存放要执行的指令地址)
存储器
容量(Byte):1 K=2
10
(1024)
1 M=2
20
1G=2
30
1 T=2
40
1 P=2
50
n 位的系统最大能够管理的程序存储器内存为 2
n
Byte
ROM ( 最 大 64KB=4KB+60KB , 地 址 ~16 位 二 进 制 数 , 指 针 ~PC , 访 问
~MOVC)
(存放程序代码)
只读,读取指令(2 条)
MOVC A,@A+DPTR
MOVC A,@A+PC
复位:PC 指向 0000H
中断:
中断源 入口地址
外部中断 0(INT0)
0003H
定时器 0(T0)
000BH
外部中断 1(INT1)
0013H
定时器 1(T1)
001BH
串行口(T1orR1)
0023H
内部 ROM<EA 非=1>(0000H~0FFFH,4KB)
外部 ROM<EA 非=0>(0000H~0FFFH,4KB)
外部可扩展 ROM (1000H~0FFFFH,60KB)
内部
RAM(256B=128B+128B,地址~8 位二进制数,访问~MOV)(临时存放
数据)
(指针~R0、R1、SP)
内部 RAM(00H~7FH,128B)
地址单元 功能
00H~1FH ( 32B
)
4*8B(*8bit)4 个工作寄存器组(字节/位)
(复用)
20H~2FH ( 16B
)
16B(*8bit)128 位 可位寻址区(字节/位)
30H~7FH ( 80B
)
最大堆栈深度 80B 用户区 (字节)
堆栈(后进先出);(功能)保护断电和现场信息;(栈底)低地址单
元;(可堆栈空间)30H~7FH;(堆栈指针)SP
内部 RAM 之特殊功能寄存器区,SFR 区(80H~0FFH,128B)(除 SFR 外不
可用)
(21B 的特殊功能寄存器,通过总线,用于和硬件打交道)
标识 名称 地址 位 标识 名称 地址
ACC
累加器
E0H √ IE
允许中断控制
A8H
B
B 寄存器
F0H √ TMOD
定时方式控制
89H
PSW
程序状态字
D0H √ TCON
定时/计数控制
88H
SP
堆栈指针
81H TH0
T0 高字节
8CH
DPT
R
数据指针 DPH、DPL 82H、83
H
TL0
T0 低字节
8AH
P0
P0 口锁存器
80H TH1
T1 高字节
8DH
P1
P1 口锁存器
90H TL1
T1 低字节
8BH
P2
P2 口锁存器
A0H SCON
串行控制
98H
P3
P3 口锁存器
B0H √ SBUF
串行数据缓冲器
99H
IP
中断优先级控制
B8H √ PCON
电源控制
97H
… … … … … …
除 PC 外,21 个 SFR 均可按字节寻址,但仅可直接寻址(可用寄存器名 or 寄存器单元地址)
有 11 个 SFR 可按位寻址(共性:字节地址可被 8 整除,末位 0H 或 8H)
外部可扩展
RAM(最大 64KB,0000H~0FFFFH,地址~16 位二进制数,指针
~DPTR,访问~MOVX)(作用~扩展数据存储器+扩展 I/O 接口(扩展接口芯片驱动外
部设备,实现扩展,一旦地址扩展了外部接口芯片,则不可作为存储器空间—— >地址译
码确定扩展接口用的地址)
访问指令(4 条)
MOVX A,@Ri
MOVX A, @DPTR
MOVX @Ri,A
MOVX @DPTR,A
Ps:Ri 仅指 R0 or R1
I/O
端口
可编程并行
I/O
口
(4 个双向 8 位并行 I/O 口,P0~P3)
(每个口有一个 8 位锁存器,复位后状态全为 1)
(外接发光二极管供电电流 3~5mA,故需接保护电阻)
P0 口:三态双向口<0/1/Z>,可作为并行 I/O 口或数据总线口,当外部扩展了存储
器或 I/O 口,则只能作为数据总线和地址总线低 8 位
内部无上拉电阻,仅作通用 I/O 口时,外接上拉电阻;每位输出可驱动 8 个
LSTTL 负载
P1 口:专供用户使用,准双向口
有上拉电阻,作输入方式时,对应的口锁存器需现置 1,每位输出可驱动 4 个
LSTTL 负载
P2 口:准双向口,可作为并行 I/O 口或数据总线高 8 位口,当外部扩展了存储器或
I/O 口,则只能作为数据总线和地址总线高 8 位
有上拉电阻,作输入方式时,对应的口锁存器需现置 1,每位输出可驱动 4 个
LSTTL 负载
P3 口:准双向口,双功能口,每一位可独立定义第二功能;作第一功能时同 P1 口。
有上拉电阻,作输入方式时,对应的口锁存器需现置 1,每位输出可驱动 4 个
LSTTL 负载
端口引脚 第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断 0)
P3.3
INT1(外部中断 1)
P3.4
T0(定时器 0 外部中断)
P3.5
T1(定时器 1 外部中断)
P3.6
WR(外部数据存储器写信号)
P3.7
RD(外部数据存储器读信号)
复位电路
复位
:PC~0000H(程序入口地址~0000H)
PSW~00H(工作寄存区~0 区:00H~08H)(用户标志位:0)
SP~07H(设定堆栈栈底位 07H)
P1~3 锁存器全为 1 状态,这些准双向口均处于输入状态
ALE、PSEN 非 均为高电平
内部 RAM(非 SFR 区)不受复位影响
SMOD~0
CPU
时序
(特征值:时钟频率)
周期
:
1 个机器周期=6 个状态周期(S1~S6)=12 个时钟周期(P1,P2)(晶体震荡周期)
大多数 8051 指令执行时间为 1 个机器周期,MUL&DIV 需要 4 个机器周期
CPU
引脚功能
封装方式
:双列直插式(DIP)(缺口左下为 1);贴片式;方形封装(PLCC)
引脚功能
:
端口线(4*8=32)
P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7
电源线(2):VCC~5V;VSS~地线
控制线 (6):ALE/PROG 非:地址锁存允许/编程线
EA 非/VPP:允许访问片外存储器/编程电源线
PSEN 非:片外 ROM 选通线;
RST/VPD:复位/备用电源线
XTAL1&XTAL2:片内振荡电路输入/输出线
总线
数据总线&地址总线&控制总线
单片机的工作方式
复位
开机时自动复位(使得有确认初始状态)
复位信号输入端(RST 引脚)
复位信号高电平有效,持续时间:≥24 个时钟周期
复位后状态
程序执行方式
单步执行方式(F10)(用于用户调试)(利用单片机外部中断功能实现)
连续执行方式
断电调试方式
下载工作方式
单片机工作模式切换(下载模式/仿真模式)
节点方式
待机方式
掉电保护方式
指令系统(
64
条一个机器周期
+45
条两个机器周期
+
乘除法指令四个机器周期)
指令:
[标号:]助记符 操作数 1,操作数 2 [; 注释]
标号~ 1~8 个字符组成,第一个字符必为字母,用于指示指令地址
注释~ 不可执行部分
操作数~ 二进制(B)、十进制(D\不写)、十六进制(H)数、字符串(““)
原理:
给指令编码
指令编码格式:操作码 操作数 1,操作数 2
单字节指令:操作码(8 位二进制数)
操作码(5 位二进制数)操作数(3 位二进制数)
例:单字节指令空操作 NOP
双字节指令:操作码(8 位二进制数)
操作数(8 位二进制数)(数据或地址)
三字节指令:操作码(8 位二进制数)
操作数(8 位二进制数)
操作数(8 位二进制数)
按功能分类
指令类别 特点 分类及具体指令内容
数 据 传 输 类 指 令
(29)
目的地址<-源地址内容
源地址内容、PSW 不变
内部数据传送类:
MOV A\Rn\direct\@Ri,#data
MOV DPTR,#data16
MOV A\Rn\direct\@Ri A\Rn\direct\@Ri
A
与外部
RAM
(由
Ri\DPTR
提供外部
RAM
的单元地址)之间传送
类:
MOVX A, @Ri\@DPTR
MOVX @Ri\@DPTR, A
Ps:Ri 传送第八位地址,P2 口决定高八位地址
程序存储器(包括内部
ROM
及外部
ROM
)数据传送指令
MOVC A,@A+DPTR
MOVC A,@A+PC
Ps:用于查找程序中的数据表格
堆栈操作指令(堆栈区
30H~7FH
)
PUSH direct ;SP<-(SP)+1,(SP)<-(direct):指针先+1,数据再压
入
POP direct ;direct<-((SP)),(SP)<-(SP)-1:数据先弹出,指针再-1
数据交换指令
字节交换指令
XCH A, Rn\direct\@Ri
半字节交换指令
XCHD A, @Ri; (A
3~0
)<->(Ri
3~0
):只交换低四位
SWAP A; (A
3~0
)<->(A
7~4
):A 的低四位与高四位互换
Ps:半字节交换指令常用于十六进制数\BCD 码数位交换
算 术 运 算 类 指 令
(24)
有+-*/,影响 PSW
加法类运算指令
加法指令(用于低八位相加)(影响
CY
、
OV
、
AC
、
P
)
ADD A,#data\Rn\direct\ @Ri ;A+X 送入 A
带 进 位 位
CY
的 加 法 指 令 ( 用 于 高 八 位 相 加 ) ( 影 响
CY
、
OV
、
AC
、
P
)
ADDC A, #data\Rn\direct\@Ri ;A+X+C 送入 A
加
1
指令
INC A(
影响
P) \Rn\direct\@Ri
减法类运算指令
带借位位
CY
的减法指令(低八位相减前
C
清零)(影响
C\OV\AC\
P
)
剩余29页未读,继续阅读
weixin_41507231
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C# OpenCvSharp Demo - 最大内接圆.rar
- 基于python和Matlab的爬虫+情感分析+时间序列+长图自动分割项目合集(高分项目).zip
- ME2308-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 使用Java实现的基于最小生成树的旅行商问题.zip
- ME2308D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 数据并行C++(Data Parallel C++) 英文版
- MongoDB数据库操作和面试专题及答案.zip
- C#实现通用USB摄像头的读取,拍照,视频录制等功能
- 基于Python实现的多目标旅行商问题算法优化.zip
- LN2312LT1G-VB一款SOT23封装N-Channel场效应MOS管
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0