当前位置: 首页 > news >正文

【单片机复习笔记】51单片机核心寄存器与中断系统总结

【单片机复习笔记】51单片机核心寄存器与中断系统完美总结


1、寄存器总结

1.1 常用 SFR 汇总表格

在51单片机中,SFR(特殊功能寄存器)是控制单片机各个外设的“方向盘”。以下是必须要记住的核心寄存器:

SFR类别寄存器符号寄存器全称主要功能是否可位寻址
定时器/计数器TCON定时器控制寄存器控制定时器的启动、停止,以及标志溢出和外部中断
TMOD定时器工作方式寄存器设置定时器的工作模式(方式0~3)和功能(定时/计数)
中断系统IE中断允许控制寄存器控制总中断和各个子中断的开关(使能)
IP中断优先级控制寄存器设置各个中断源的高低优先级
串行通信SCON串行口控制寄存器设置串口的工作方式,包含发送/接收中断标志位
PCON电源控制寄存器主要用于设置串口波特率加倍 (SMOD位)

1.2、TCON(定时器控制寄存器)

核心考点:TCON 既管定时器,又管外部中断。它是可位寻址的(可以直接在代码里写TR0 = 1;EX0 = 1;)。

① 高4位(控制定时器/计数器)
  • TF1/TF0(Timer Overflow Flag):定时器1/0溢出中断请求标志位。
    • 当定时器计满溢出时,由硬件自动置1,向CPU请求中断。
    • 响应中断进入中断服务程序后,硬件会自动清0
  • TR1/TR0(Timer Run Control):定时器1/0运行控制位。
    • 1时启动定时器,写0时停止定时器。
② 低4位(控制外部中断)
  • IE1/IE0(Interrupt Edge Flag):外部中断1/0请求标志位。
    • 当引脚检测到有效的中断触发信号时,硬件自动置1
    • CPU响应中断后,硬件会自动清0
  • IT1/IT0(Interrupt Type Control):外部中断1/0触发方式控制位。
    • 0低电平触发(只要引脚是低电平就一直触发)。
    • 1下降沿触发(引脚电平从高电平跳变到低电平的瞬间触发,最常用)。

1.3、TMOD(定时器方式控制寄存器)

核心考点:TMOD 是不可位寻址的!这意味着你不能单独操作它的某一位,只能对整个字节赋值(例如:TMOD = 0x01;)。

TMOD 分为高4位(控制定时器1)和低4位(控制定时器0),两部分的位定义完全对称:

高4位(Timer 1)低4位(Timer 0)
GATEC//TM1M0GATEC//TM1M0
① 核心位功能解析
  • GATE(门控位)
    • GATE = 0:只要软件令TR0/TR1 = 1,定时器就开始工作(常规用法)。
    • GATE = 1:不仅需要TR0/TR1 = 1,还需要外部中断引脚 (INT0/INT1) 为高电平时,定时器才工作(常用于测量外部脉冲宽度)。
  • C/T(定时/计数选择位)
    • 0定时模式(对内部系统的机器周期脉冲进行计数)。
    • 1计数模式(对外部引脚T0(P3.4)T1(P3.5)的下降沿脉冲进行计数)。
  • M1,M0(工作方式选择位)
    • 0 0:方式0(13位定时/计数器,基本不用)。
    • 0 1方式1(16位定时/计数器,最常用,最大计数值 65536)
    • 1 0方式2(8位自动重装载定时/计数器,TL溢出时TH的值自动赋给TL,最常用于串口波特率发生器)
    • 1 1:方式3(定时器0拆分为两个独立的8位定时器)。

1.4、IE(中断允许控制寄存器)

核心考点:可位寻址。51单片机中断控制的“开关柜”,采用两级管理(总开关 + 分开关)。

  • EA(Enable All)中断总允许控制位
    • EA = 1:CPU开放中断,各分开关才起作用。
    • EA = 0:屏蔽所有中断(一键断电)。
  • ES(Enable Serial):串行口中断允许位。
    • ES = 1:允许串口发送/接收中断。
  • ET1(Enable Timer 1):定时器/计数器 1 中断允许位。
  • EX1(Enable External 1):外部中断 1 中断允许位。
  • ET0(Enable Timer 0):定时器/计数器 0 中断允许位。
  • EX0(Enable External 0):外部中断 0 中断允许位。

1.5、IP(中断优先级控制寄存器)

核心考点:可位寻址。用于人为改变51单片机的默认自然优先级顺序。

  • 配置规则:某位置1,则该中断源被设为高优先级;置0则为低优先级
  • PS:串行口中断优先级控制位。
  • PT1:定时器 1 中断优先级控制位。
  • PX1:外部中断 1 中断优先级控制位。
  • PT0:定时器 0 中断优先级控制位。
  • PX0:外部中断 0 中断优先级控制位。
  • (注:当多个中断源同时被设为高优先级时,它们内部依然按照自然优先级“排队”)

1.6、SCON(串行口控制寄存器)

核心考点:可位寻址。串口通信的灵魂寄存器,包含模式配置和收发标志。

  • SM0/SM1(Serial Mode):串行口工作方式选择位。
    • 0 0→\rightarrow方式0:移位寄存器模式。
    • 0 1→\rightarrow方式1:8位UART,波特率可变(最常用,填空题常客)
    • 1 0→\rightarrow方式2:9位UART,固定波特率。
    • 1 1→\rightarrow方式3:9位UART,波特率可变。
  • REN(Receive Enable)允许串行接收控制位
    • REN = 1:允许接收;REN = 0:禁止接收。
  • SM2:多机通信控制位(方式2/3中用于主从机多机通信)。
  • TI(Transmit Interrupt)发送中断标志位
    • 发送完一帧数据后硬件自动置1必须由软件手动清零 (TI=0)
  • RI(Receive Interrupt)接收中断标志位
    • 接收完一帧数据后硬件自动置1必须由软件手动清零 (RI=0)

1.7、PCON(电源控制寄存器)

核心考点不可位寻址。虽然主要用于单片机的低功耗(掉电/休眠)管理,但在串口通信中扮演重要角色。

  • SMOD(Serial Baud Rate Modify)波特率倍增位
    • SMOD = 1:在使用定时器1作为波特率发生器时,串口的波特率加倍
    • SMOD = 0:波特率不加倍(复位时默认为0)。
  • PD(Power Down):掉电模式控制位。写 1 进入掉电/停机模式,内部振荡器停止工作,极其省电。
  • IDL(Idle):空闲模式控制位。写 1 进入空闲模式,CPU 停止工作,但定时器、中断、串口等外设继续工作。

2、中断总结

51单片机标配5个中断源2个优先级(可以实现中断嵌套)。

2.1 外部中断

  • 触发引脚INT0 (P3.2)INT1 (P3.3)
  • 配置流程
    1. 开启总中断:EA = 1;
    2. 开启对应的外部中断允许:EX0 = 1;EX1 = 1;
    3. 选择触发方式(以TCON中的IT0/IT1决定):通常设为下降沿触发IT0 = 1;
  • 中断号
    • 外部中断0:interrupt 0
    • 外部中断1:interrupt 2

2.2 定时器中断

  • 触发条件:定时器寄存器计满溢出,硬件将TF0TF1置 1 时触发。
  • 配置流程
    1. 开启总中断:EA = 1;
    2. 开启对应的定时器中断允许:ET0 = 1;ET1 = 1;
    3. 配置好TMOD并写入THxTLx的初值。
    4. 开启定时器计数:TR0 = 1;TR1 = 1;
  • 中断号
    • 定时器0中断:interrupt 1
    • 定时器1中断:interrupt 3

2.3 串口中断

  • 触发条件
    • 接收完毕:接收完一帧数据,硬件将RI置 1。
    • 发送完毕:发送完一帧数据,硬件将TI置 1。
  • 🚨 特殊注意(期末大考必考点)
    • 串口中断发生后,硬件不会自动清除RITI
    • 必须在中断服务程序中,通过软件手动清零(即显式写出RI = 0;TI = 0;),否则程序会死循环不断进入中断!
  • 配置流程
    1. 开启总中断:EA = 1;
    2. 开启串口中断:ES = 1;
    3. 配置串口工作模式(SCON)及允许接收(REN = 1;)。
  • 中断号
    • 串行口中断:interrupt 4

💡 附:单片机默认中断查询优先级表(从高到低)

中断源触发标志位中断允许位默认自然优先级中断号 (C语言interrupt后面的数字)
外部中断 0IE0EX01 (最高)0
定时器 0 中断TF0ET021
外部中断 1IE1EX132
定时器 1 中断TF1ET143
串行口中断RI/TIES5 (最低)4
http://www.jsqmd.com/news/1000950/

相关文章:

  • MCF5272嵌入式通信处理器:架构解析与工业网关应用实践
  • WEB入门——反序列化
  • 5分钟掌握终极HTML转Word工具:html-to-docx完全指南
  • 温州闲置奢品二手包钻石首饰上门回收靠谱吗?本地7家优质门店全解析 2026实时行情 - 速递信息
  • HCS08 CPU核心深度解析:寻址模式、中断处理与指令集优化实战
  • 营收增长42%:品牌羽绒服贴牌加工厂哪家好? - 速递信息
  • 深入解析MC9S08SH8 ADC模块:从寄存器配置到低功耗实战
  • WEB入门——SSRF
  • 终极Windows 10 OneDrive卸载指南:三步告别系统卡顿与空间占用
  • 2026品牌羽绒服贴牌加工厂哪家好?睿牛制衣23年高端代工值得选 - 速递信息
  • Ofd2Pdf:彻底解决OFD格式兼容性难题的专业转换工具
  • 微积分期末笔记(我已急哭)
  • 2026北京翡翠回收防坑技巧:附五家门店实拍对比,教你找出最省心的一家 - 奢侈品回收测评
  • 多维聚合中的数据操作:切片钻取旋转滚动实战指南
  • 5分钟掌握d2s-editor:暗黑2存档修改的终极免费工具
  • 2026广深佛莞夏令营品牌盘点 综合实力优质营地推荐 - 13724980961
  • 每日AI新闻推送 | 2026年6月12日
  • WEB入门——SSTI
  • Mesen模拟器:终极NES/Famicom怀旧游戏体验完全指南
  • 2026年6月郴州黄金奢侈品回收实时行情与正规机构排名指南 - 小仙贝贝
  • Google与ChatGPT协同工作流:搜索与理解的分工实践
  • MC9S08SH8时钟系统与IIC通信:原理、配置与实战调试指南
  • i.MX 8QuadXPlus MEK开发指南:多核异构架构与嵌入式系统实战
  • MPC8323E MII/RMII接口硬件设计:电气与时序规范详解
  • Jupyter中用%%manim魔法命令实时写代码、即时看动画效果
  • 别再只盯着FedAvg了!聊聊横向联邦学习里,P2P架构和C/S架构到底该怎么选?
  • 如何快速解决vmulti虚拟HID驱动的3大常见问题:完整指南
  • STM32迎宾机器人Keil工程包:含uGUI界面、原理图与PCB文件
  • 终极指南:LyricsX - 如何在macOS上完美显示桌面歌词的完整教程
  • MLflow PyFunc模型生产部署实战:FastAPI+Gunicorn+K8s全链路指南