MCS-51单片机原理与接口技术--阅读笔记(原创)
由 王宇 原创并发布
:
第1章 单片机概述
MSC-51美国Intel公司
第2章 基本机构
制造工艺为HMOS
MSC-51外部引脚,40引脚
2.1外部引脚及功能
时钟引脚
XTAL1(19脚)、XTAL2(18脚)
Vcc(+540脚)、Vss(-520脚)电源引脚
RST/Vpd(RESET9脚)复位信号输入端
,备用电源保持内部RAM数据
ALE/PROG(地址锁存允许30脚)
PSEN(程序存储器允许输出控制端
29脚)
EA/Vpp(内外程序存储器选择控制端
31脚)
P0 P1 P2 P3 输入输出引脚
P0三态双向I/O口,通用I/O,访问外部存储器时,分时复用口
P18位准双向I/O
P2地址总线高8位复用
P3双功能口
通用I/O
控制口,参考功能表
ARM9A-J9组130个
2.2内部结构
处理器(CPU
)
运算器ALU
定时控制器
程序计算器(PC)
指令寄存器IR
指令译码器
定时控制逻辑
OSC配合下产生指令的时序脉冲
振荡器
专用寄存器
程序计数器(PC)
专门用来存放下一条需要执行的指令在程序存储器中的地址
工作方式
程序计数器自动加1
执行有条件或无条件转移指令时,放入新的数值使程序流向发生改变
执行子程序或响应中断
下一条指令地址自动送入堆栈
将程序入口地址或中断向量地址送入PC,程序流向发生改变
子程序结束后,将栈顶的断点值弹到PC中。程序又返回到原来的地址
16个触发器构成,编码范围:0000H~FFFFH,即程序存储器寻址范围64k
累加器(A,ACC)
专门存放操作数或运算结果
作用
是ALU单元的输入一,是数据处理器之一。同时它还是ALU运算结果的存放单元
相当数据的中转站
通用寄存器
(B)
专门为乘法和除法设置的寄存器
程序状态字寄存器
(PSW)
CY进位标志位
AC辅助进位标志
F0用户标志位
RSI、SR0寄存器选择位
OV溢出标志位
P奇偶标志位
堆栈指针
(SP,StackPointor)
指示堆栈的位置
先进后出或后进先出
数据指针(DPTRDataPointer)
端口
P0-P3
串行数据缓冲器
SBUF
定时器计数器
其他控制寄存器
存储器结构
MCS-51有4个存储器空间:
片内程序存储器
片外程序存储器
片内数据存储器
片外数据存储器
程序存储器
EA引脚接高电平时,程序将从片内程序存储器开始执行
EA引脚接低电平时,程序将从片外程序存储器开始执行
8051和8751内部有4KBROM/EPROM程序存储器,1000H-FFFFH为外部扩展程序存储器空间。总共是64K0000H-FFFFH
系统从0000H单元开始取指令,执行程序
片内数据存储器(片内RAM)
RAM有片外和片内之分
片外RAM可有64KB,地址范围为:0000H-FFFFH
片内RAM(255b)分为3个不同的块
工作寄存器区
00H-1FH32B
分为4个通用工作寄存器区,每个区含8个寄存器,编号为R0-R7
位寻址区
20H-2FH
16个RAM单元具有双重功能。它们既可以像普通RAM单元一样按字节存取,也可以对每个RAM单元中的任何一位单独存取,这就是位寻址
数据缓冲区
30H-7FH
总共80个RAM单元
用于存放用户数据或做堆栈操作使用
中断系统中的堆栈一般都设在这一区域内
51对数据缓冲区中的每个RAM单元是按字节存取的
RAM主要是用来存放数据的,又称数据存储器
特殊功能寄存器
80H-FFH
特殊功能寄存器是指有特殊用途的寄存器集合,本质上是一些具有特殊功能的片内RAM单元,它离散地分布在地址范围:80H-FFH
位地址空间
外部数据存储器
I/O端口
并行I/O端口
串行I/O端口
定时器/计算器
中断系统
布尔(位)处理器
2.3 工作方式
复位方式
程序执行方式
单步执行方式
连续执行方式
省电工作方式
空闲方式
掉电模式
EPROM编程和校验方式
EPROM的编程方式
EPROM程序校验方式
EPROM加密方式
2.4 时钟电路
内部方式时钟电路
外部方式时钟电路
2.5 工作时序
机器周期和指令周期
指令的取指/执行时序(51111指令共6类)
单字节单周期指令时序
双字节单周期指令时序
单字节双周期指令时序
访问片外ROM/RAM的指令时序
读写片外RAM指令时序
第3章 指令系统
3.1 指令系统(111条指令)
基本概念
指令分类
按字节分类
按执行时间分类
按功能分类
指令格式
单字节指令:操作码和操作数同在一个字节中
双字节指令:操作码和操作数各占一个字节
三字节指令:操作码占一个字节,操作数占两个字节
符号说明(参考表)
指令过程
取指令
执行指令
3.2 7种寻址方式
立即寻址
前缀#同地址区别
寄存器寻址
直接寻址
寄存器间接寻址
基址寄存器加变址寄存器间接寻址
相对寻址
位寻址
3.3 指令系统详解
数据传送指令(28条)
MOV
PUSH入栈
POP出栈
算数运算指令(24条)
ADD
ADDC带进位加法
SUBB带带借位减法
MUL乘法
DIV除法
INC加1指令
DEC减一指令
逻辑运算指令(25条)
CLR清零
CPL取反
RL逻辑左移
RLC加上进位位逻辑左移
RRC加上进位位逻辑右移
SWAP低4位交换
ANLA,RnA与Rn中的值按位与,结果存放在累加器A中
ORLA,RnA与Rn中的值按位或,结果存放在累加器A中
XRLA,RnA与Rn中的值按位异或,结果存放在累加器A中
SETB进位标志位指令
控制转移指令(17条)
无条件转移
AJMP2K
LJMP64K
SJMP256K
间接转移
JMP
条件转移
JZ按顺序执行指令
判断A内容是否为零
JNZ跳转后,执行下一条指令
判断A内容是否不是零
比较转移
CJNE
环转移
DJNZ
调用与返回
LCALL(长调用指令)调用子程序,子程序结束使用RET
ACALL
空操作指令
NOP
布尔变量操作类指令(17条)
第4章 汇编语言设计
4.1 汇编语言概述
4.2 汇编语言
格式
标号:操作数操作码;注释
伪指令
ORG汇编起始地址伪指令
END汇编结束伪指令
EQU赋值伪指令
DL定义标号值伪指令
DB定义字节伪指令
DW定义字伪指令
DS定义存储区伪指令
BIT位定义伪指令
4.3 汇编程序设计
顺序结构程序设计
分支程序设计
散转程序设计
循环程序设计
查表程序设计
子程序设计
4.4 实验程序设计
数码转换类程序
查找与排序
第5章 中断系统原理与应用
5.1系统概述
基本概念
中断:暂停当前处理过程,转去处理所发生事件,处理后再回到原来被中止地方
中断优先级
中断嵌套
主要功能
实现CPU与外部设备的速度配合
实现实时控制
实现过账及时发现和处理
实现人机联系
5.2 中断系统结构(图)
5个中断源
两个外部中断
两个定时器、计数器中断
一个串口中断
ARM730个中断源
ARM960个中断源
5.3 中断请求源
TCON简介(锁存外部中断请求)
地址:88H
IT0跳沿触发方式(1)或电平触发方式(0)
IT1外部1跳沿触发方式或电平触发方式,同IT0类似
IE0中断请求标志位
IE1外部中断请求标志位
TF0T0溢出中断请求标志位
TF1T1溢出中断请求标志位
SCON简介(串口控制寄存器,锁存串行口接收中断和发送中断标志)
地址:98H
T1:串行口发送中断请求标志位
RI:串行口接收中断请求标志位
5个中断源
INT0外部中断0请求INT0引脚输入中断请求IE0
INT1外部中断0请求INT1引脚输入中断请求IE1
定时器、计时器T0溢出中断请求,中断标志:TF0
定时器、计时器T1溢出中断请求,中断标志:TF1
串行口中断请求,中断请求标志为T1或RI
5.4 中断控制
中断允许寄存器IE
EA:中断允许总控制位0关中断,1开中断
ES:串行口中断允许位0关中断,1开中断
ET1:定时器计算器T1溢出中断允许位
EX1:外部中断1中断允许位
ET0:定时器计算器T0溢出中断允许位
EX0:外部中断0中断允许位
中断优先级寄存器IP,1高优先级、0低优先级
PS:串口中断优先级控制位
PT1:定时器T1中断优先级控制位
PX1:外部中断1中断优先级控制位
PT0:定时器T0中断优先级控制位
PX0:外部中断0中断优先级控制位
5.5 中断响应过程
中断响应条件
该中断源发出中断请求
CPU开中断,EA=1
申请中断的中断源的中断允许=1
无同级或更高级中断正在被服务
中断响应封锁条件
CPU正在处理优先级相同或更高的中断
所查询的机器周期不是所执行指令的最后一个机器周期
正在执行的指令是RETI或访问IE、IP寄存器的指令
5.6 外部中断的响应时间
5.7 外部中断的触发方式选择
跳沿触发方式
电平触发方式
5.8 中断请求撤销
定时器计数器中断请求的撤销
外部中断请求的撤销
串行口中断请求的撤销
5.9 中断服务程序设计
中断服务程序设计的任务
设置中断允许控制寄存器IE,允许相应的中断请求源中断
设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级
若是外部中断,设置请求的触发方式IT1或IT0
编写中断服务程序
主程序结构
程序流程
关中断
现场保护
开中断
中断处理
关中断
现场恢复
开中断
中断返回
5.10 多个外部中断源系统设计
定时器计算器作为外部中断源的使用方法
中断和查询结合的方法
用优先权编码器扩展外部中断源
5.11 中断编程实例
第6章 定时器计数器
6.1 概述
T0 T1两个定时器计数器
定时计数计算机控制中两个重要功能
定时器计数器结构
工作模式控制寄存器TMOD
控制寄存器TCON
初始化
初始化的步骤
计算初值的计算
工作方式
6.2 应用举例
第7章 串行口
7.1 概念
传输方式
单工传输
半双工传输
全双工传输
多工传输
通讯方式
传送速率
bit/s每秒传送的位数
波特率每秒传送的符号数
PC输出串口终端信号是并行
串口终端传送PC信号是串行
7.2 工作方式
方式0
方式1
方式2
7.3 波特率的设计
7.4 多机通讯
7.5 编程和应用
第8章 单片机的存储器扩展
第9章 I/O接口扩展及应用
第10章 D/AA/D的接口设计
第11章 应用系统设计及开发
分享到:
相关推荐
1. **理论与实践相结合**:书中不仅详尽阐述了MCS-51单片机的基本原理、内部结构和工作方式,还提供了大量实例,帮助读者将理论知识转化为实际操作能力。 2. **全面性**:覆盖了MCS-51单片机的各个方面,包括硬件...
《MCS-51单片机学习笔记》 MCS-51单片机,作为微型计算机的一种,遵循冯诺依曼的计算机架构原理,主要包括输入、处理和输出三大部分。其中,输入输出通过I/O接口实现,处理则依赖于处理器和存储器。MCS-51单片机的...
7. **串行通信**:MCS-51单片机的串行接口支持UART通信,可以实现与其它设备的数据交换,例如RS-232、SPI、I2C等接口协议。 8. **开发工具与编程**:学习MCS-51单片机通常需要掌握汇编语言编程,也可以使用C语言...
第九章 MCS-51单片机的其他接口
- **Intel公司**的MCS-48系列和MCS-51系列:MCS-48是单片机的早期形态,而MCS-51则是其改进版,拥有更先进的结构和更多指令,至今仍被广泛应用。 - **Atmel公司**的AT89系列和AVR系列:AT89系列以其内部的Flash...
【标签】"MCS51 清翔"进一步确认了主题是围绕MCS51单片机和清翔公司的产品。清翔作为一家在单片机开发领域有一定影响力的公司,其提供的开发板通常会包含详尽的文档、软件工具和支持,便于初学者和专业开发者快速...
什么是MCS-51单片机的震荡周期,状态周期,机器周期,指令周期。当采用6MHz晶振时,每个机器周期是多少? mcs-51单片机中断优先级寄存器IP 51单片机寄存器功能一览表 51单片机常用波特率初值表(12M晶振)
"51单片机复习笔记经典" 本资源摘要信息主要涉及到MCS-51单片机的硬件结构、总线结构、中央处理器(CPU)、程序存储器、数据存储器、堆栈、时序、指令系统等方面的知识点。 MCS-51单片机的硬件结构 MCS-51单片机...
**MCS51单片机原理** MCS51,由Intel公司开发,是CISC(复杂指令集计算)架构的代表,广泛应用于工业控制、消费电子和教育领域。它的主要特点包括: 1. **内部结构**:MCS51具有8位数据总线和16位地址总线,可以...
"《单片机原理及应用技术》读书笔记模板.pptx" 本资源主要讲述单片机的组成及结构、单片机指令系统及汇编语言的设计、单片机内部功能及系统的扩展应用,并在最后一章里介绍了单片机的新技术及单片机的发展方向。 ...
在本资源包中,我们关注的是“0407、制作MCS-51串行HEX调试器.rar-教程与笔记习题”,这显然是一份关于如何制作针对MCS-51单片机的串行HEX调试器的详细教程。MCS-51,也称为8051,是英特尔公司推出的一种8位微控制器...
本权威文档旨在为51单片机开发者提供全面的技术指南,涵盖了从基本架构到高级应用的各个方面。Intel公司对于该文档中的任何错误不承担责任,同时也保留了随时修改规格的权利。 #### 二、MCS-51系列微控制器架构概览...
【单片机接口技术】是电子工程领域中的一个重要分支,主要研究如何使单片机与外部设备有效地通信和交互。单片机,全称为微控制器(Microcontroller Unit, MCU),是一种集成了处理器、内存和外围接口的微型计算机...
本文主要围绕51单片机的中断函数展开,解析其工作原理和使用注意事项。 首先,中断函数的命名并不固定,例如`void Timer0() interrupt 1 using 1`中的`Timer0`是开发者自定义的函数名,用于处理定时器0的中断事件。...
这份"51单片机PPT电子教案"包含了从基础知识到高级应用的全面讲解,非常适合学习者深入理解51单片机的工作原理和应用。 首先,我们来看看第1章 "单片微型计算机概述"。这一章主要介绍了单片机的基本概念,以及51...
适用于STC89c58单片机学习,适用于STC89c58单片机学习,适用于STC89c58单片机学习,适用于STC89c58单片机学习,适用于STC89c58单片机学习
这份资料详细介绍了MCS-51单片机的硬件结构,帮助读者理解其工作原理和主要功能。 MCS-51单片机是8位微处理器,具有丰富的硬件资源。它的核心部分是中央处理器(CPU),负责执行计算和控制任务。CPU内部包含一个8位...
"单片机笔记" 单片机笔记是计算机系统中的一种重要组件,负责执行指令和存储数据。在单片机系统中,CS(代码段寄存器)和DS(数据段寄存器)是两个重要的寄存器,分别保存代码段和数据段的基地址。IP(指令指针)...
3. 阅读参考书籍,比如《单片机原理与应用及C51程序设计》,该书包含了汇编语言和C语言两种编程语言的实例,有利于学习者从理论到实践全面掌握单片机编程技术。 51单片机的生产厂商众多,其中知名的国外厂商有Atmel...