一、单片机介绍
-
定义 -
概念
- 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机(SingleChip Microcomputer)
-
特点
- 体积小、价格低
- 速度快、抗干扰好、可靠性高
- 控制功能强:实时响应速度 + I/O直接操作
- 使用方便、易扩展:硬件设计简单 + 开发工具资料丰富
- 性价比高:电路板小 + 接插件少
- 易产品化:研制周期短
- 受集成度限制,片内存储器容量较小:一般片内ROM在8KB以下,片内RAM在256B字节内
-
单片机应用=硬件设计 + 软件程序设计
二、结构与原理
外部引脚图
注意上图中所有引脚的位置,需要熟记,并且其第二功能也应熟记。
- I/O端口引脚,如P0,P1,P2,P3,4组8位并行I/O端口(32个)
- 电源和时钟引脚,如Vcc,GND,XTAL1,XTAL2(4个)
- 编程控制引脚,如RST(复位引脚)/VPD(备用电源输入),PSEN,ALE/PROG,EA/Vpp(4个)
- Vcc(第40脚)为电源正端
- GND或Vss(第20脚)为接地端
- Vcc典型值值为+5V,最低3.3V
- XTAL1 ( 第 19 脚 ) 、 XTAL2 (第18脚)为外接时钟引脚.XTAL1为片内振荡电路输入端,XTAL2为内振荡电路输出端
- PSEN(第29脚)为外部ROM程序存储器的读选通信号端(不常用到)
- ALE/PROG(30脚)为地址锁存信号输出端/EPROM编程脉冲输入端(少用到)
- P0处出现的是数据,则该口置0.若出现的是地址,则置为1
- EA/Vpp(第31脚)为内部/外 部ROM存储器选择端。高电平先读内部存储器,若有外部rom则自动读外部;低电平读外部ROM。一般都接高电平
- 8051时钟有两种方式:第一种是片内时钟振荡方式;第二种是外部时钟方式
++++++++++++++++++++++++++++++++++
- P0(0.0-0.7):双向8位三态I/O端口,每个端口或引脚可独立控制,其为高阻态时不能正常输出高/低电平(外接上拉电阻)。P0端口的第二功能访问外部RAM/ROM,分时发送低8位地址或读写数据
- P1(1.0-1.7): 准双向8位通用I/0口,每个引脚可独立控制(内带上拉电阻).准双向IO口。第二功能,编程/校验8751时,接收低八位地址信号
- P2(2.0-2.7):准双向8位I/0口,每个引脚可独立控制(有内置上拉电阻)。其第二功能:访问外部RAM/ROM,分时发送高8位地址或读写数据;编程/校验8751时,接收高四位地址/控制信号
- P3(3.0-3.7):准双向8位多用途I/0口,每个引脚可独立控制(内带上拉电阻)。第一功能同P1作普通I/O口。
CPU时序
- 启动单片机后,指令经过取指令->分析->执行->取指令 这样的顺序执行。一个指令周期即从取指令到执行的所需时间
最简系统
总线
读锁存器、内部总线、写锁存器、读管脚
- 总线(BUS):计算机各部件之间传送信息的公共通道
- 有内部总线和外部总线之分,内部总线是CPU内部之间的连线,外部总线则是CPU与其他部件之间的连线
- 外部总线:数据总线DB、地址总线AB、控制总线CB
内部单元
- 中央处理单元CPU(8位)
- 只读存储器ROM(4KB)
- 用于永久性存储应用程序,掩膜ROM、EPROM、EEPROM、Flash Memory(闪存)
- 随机存取存取器RAM(256B)
- 并行输入/输出口 I / O(32线)
- 串行输入/输出口 UART (二线)
- 定时/计数器 T(16位增量可编程)
- 它与CPU之间各自独立工作,当它计数满时向CPU中断
- 时钟电路 fosc
- 中断系统
三、存储器与组织
存储空间
-
51单片机存储空间划分:
- 片内ROM程序存储器4KB (地址为:0000—0FFFH)
- 片外ROM程序存储器60KB(地址为:1000—0FFFFH)
- 片内RAM数据存储器256B(地址为:00—0FFH)。它分为前128字节和后128字节。前128可位寻址,后128位为特殊功能寄存器
- 片外RAM数据存储器,容量最大可扩展到64KB
-
RAM
- 片内RAM数据存储器前128B可分成三个部分:工作寄存器区、位寻址区、堆栈或数据缓冲区
-
- 重要它前128字节的组成
PSW程序状态字
上电默认的工作寄存器组别是第0组,通过修改PSW中的PS0和PS1改变工作寄存器组别
、
特殊功能寄存器SFR
Special Function Register
- 每个特殊功能寄存器长度都是1个字节(8位)
-
四、单片机定时器/计数器
TMOD(Timer模式控制寄存器)
注意右侧的说明中的内容
重要例题
TCON
工作模式0的初值的计算
工作模式1的计算
- 工作模式1下的Timer是一个16位的定时器或计时器
工作模式2的计算
一个具有自动重新载入功能的8位定时器或计数器。
定时器/计数器的初始化
- 设置TMOD,确定T0与T1工作模式
- 计算并装入初值(THx+TLx)
- 根据需要设置中断(IE、IP)
- 启动计数器(对TCON编程)
上面的步骤没有顺序要求
五、中断系统
中断的概念
-
中断发生:CPU在运行处理某一事件A时,发生了另一事件B,请求CPU迅速转去处理 -
中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B -
中断返回:待CPU将事件B处理完毕后,再回到原来事件A被中 断的代码处继续执行处理事件A -
以上的整个过程称为中断
中断的优点
- 分时操作:CPU可以分时为多个I/O设备服务,提高了计算机的利用率
- 实时响应:CPU能够及时处理应用系统的随机事件(顺序编程难以处理),系统的实时性大大增强(以硬件为代价)
- 可靠性高
中断向量表
定时器控制寄存器(TCON 88H)
串行口控制寄存器(SCON 98H)
中断响应及处理
注意它的一个概念
中断允许寄存器(IE A8H)
中断优先级的原则
- CPU同时接收到几个中断时,首先响应优先级别最高的中断请求
- 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断
- 正在进行的低优先级中断服务,能被高优先级中断请求所中断
中断控制
中断优先级控制寄存器IP
- 寄存器IP 位于特殊功能寄存器区的地址B8H上,是专门用于设置单片机中断优先级的寄存器
中断响应条件
- 有中断源发出中断请求
- 中断总控允许位EA=1,即CPU开中断
- 申请中断的中断源的中断允许位为1,即没有被屏蔽
- 以上三条同时满足,CPU才可能响应中断
利用Timer中断作信号发生器
注意下面的例子
六、串行通信
串行通信的特点
- 传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂
奇偶校验
并行通信的特点
- 控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难
异步通信的特点
- 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程
- 特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高
波特率
- 串行口1秒传输1024个字节,则数据传输率为1024Bps,即1KBps。单位Bps代表“字节/秒”(Bytesper second) ? 更小的单位的是bps,即“位/秒”(bits per second)
- 广泛使用的描述数据传输率的物理量是波特率,对应的单位为波特
串行口控制寄存器SCON
背会上面两张表!!!
SM2多机通信控制位
上面的流程图!!!以及前面的也了解一下
波特率的计算
上面例题类型一定注意!!!
双机通信应用
七、C51语言编程
概述
如何确定编程语言
特殊数据类型
位变量禁忌
位变量与整形变量的对应关系
注意它们的对应关系
sbit、bit和位域区别
指针
通用指针和具体指针
填空时的指针类型
左右两边应该可以熟悉变换!!!!!
中断函数遵循的原则
串行通信程序举例
八、汇编指令
汇编的六种寻址方式
- 立即寻址
- 直接寻址
- 寄存器寻址
- 间接寻址
- 变址寻址
- 寄存器特征寻址
注意给出指令做出是否正确的判断
数据传送类指令
算数运算指令
逻辑运算指令
与操作
异或操作
+++++++++++++++++++++++++++++++
布尔指令
控制转移类指令
上题为阅读题
汇编、目标程序的对应转换
|