单片机核心知识点总结:寄存器、中断与IO端口

1、寄存器总结

寄存器是单片机编程的基础,掌握特殊功能寄存器(SFR)的使用是嵌入式开发的关键。

1.1 常用SFR汇总表格

SFR类别 寄存器 功能描述
定时器/计数器 TCON 定时器控制寄存器,控制定时器的启动、停止和中断标志
定时器/计数器 TMOD 定时器模式设置寄存器,设置定时器的工作模式
中断系统 IE 中断允许控制寄存器,控制各个中断源的使能
中断系统 IP 中断优先级设置寄存器,设置中断的优先级顺序
串行通信 SCON 串口控制寄存器,控制串行通信的工作方式和状态

说明:

  • TCON:定时器控制寄存器,包含定时器的运行控制和中断标志位
  • TMOD:定时器模式寄存器,设置定时器的工作模式(模式0、1、2、3)
  • IE:中断使能寄存器,控制CPU和各中断源的使能状态
  • IP:中断优先级寄存器,设置中断源的优先级(高/低)
  • SCON:串行口控制寄存器,控制串行通信的工作方式

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

TCON(Timer Control Register)是8051单片机中重要的控制寄存器之一,地址为0x88,可位寻址。

TCON寄存器位定义
符号 地址 功能说明
7 TF1 0x8F 定时器1溢出标志位。定时器1溢出时由硬件置1,响应中断后由硬件清0
6 TR1 0x8E 定时器1运行控制位。1=启动定时器1,0=停止定时器1
5 TF0 0x8D 定时器0溢出标志位。定时器0溢出时由硬件置1,响应中断后由硬件清0
4 TR0 0x8C 定时器0运行控制位。1=启动定时器0,0=停止定时器0
3 IE1 0x8B 外部中断1请求标志位。检测到INT1引脚下降沿时由硬件置1,响应中断后由硬件清0
2 IT1 0x8A 外部中断1触发方式控制位。1=下降沿触发,0=低电平触发
1 IE0 0x89 外部中断0请求标志位。检测到INT0引脚下降沿时由硬件置1,响应中断后由硬件清0
0 IT0 0x88 外部中断0触发方式控制位。1=下降沿触发,0=低电平触发
TCON相关知识点
  1. 定时器控制功能

    • TR0/TR1:控制定时器0/1的启动和停止
    • TF0/TF1:定时器溢出标志,可用于查询方式或中断方式
  2. 外部中断控制功能

    • IT0/IT1:设置外部中断的触发方式
    • IE0/IE1:外部中断请求标志
  3. 截图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、中断总结

中断是单片机响应外部或内部事件的重要机制,能够提高CPU的利用率和系统的实时性。

2.1 外部中断

外部中断是单片机通过外部引脚(INT0、INT1等)接收中断请求的方式。

外部中断相关寄存器
  1. TCON寄存器中的外部中断控制位

    • IT0/IT1:中断触发方式控制
    • IE0/IE1:中断请求标志
  2. IE寄存器(中断允许寄存器)

    • EA:总中断允许位(1=允许,0=禁止)
    • EX0:外部中断0允许位
    • EX1:外部中断1允许位
  3. IP寄存器(中断优先级寄存器)

    • PX0:外部中断0优先级设置
    • PX1:外部中断1优先级设置
外部中断配置步骤
  1. 设置中断触发方式
    IT0 = 1; // 设置INT0为下降沿触发
    IT1 = 0; // 设置INT1为低电平触发

  2. 开启中断允许
    EX0 = 1; // 允许外部中断0
    EX1 = 1; // 允许外部中断1
    EA = 1; // 开启总中断

  3. 编写中断服务函数
    // 外部中断0服务函数
    void ext0_isr(void) interrupt 0 {
    // 中断处理代码
    // 硬件会自动清除IE0标志
    }

    // 外部中断1服务函数
    void ext1_isr(void) interrupt 2 {
    // 中断处理代码
    // 硬件会自动清除IE1标志
    }

外部中断应用场景
  1. 按键检测:通过外部中断实现按键的实时响应

  2. 外部事件触发:如传感器信号、通信信号等

  3. 紧急处理:系统故障、报警信号等需要立即处理的事件

  4. 中断嵌套:高优先级中断可以打断低优先级中断

  5. 中断响应时间:从中断发生到执行中断服务程序的第一条指令的时间

  6. 中断标志清除:有些中断标志需要手动清除

  7. 资源共享:中断服务程序与主程序共享变量时需要注意互斥访问

3、IO端口总结

IO端口是单片机与外部设备进行数据交换的接口,是嵌入式系统的重要组成部分。

3.1 IO端口基本概念

8051单片机的IO端口

8051单片机有4个8位并行IO端口:P0、P1、P2、P3,每个端口都有特定的功能。

端口 引脚数 主要功能 特殊功能
P0 8位 通用IO/数据地址总线 外部存储器访问时作为地址/数据总线
P1 8位 通用IO端口 无特殊功能,纯IO口
P2 8位 通用IO/高8位地址总线 外部存储器访问时作为高8位地址总线
P3 8位 通用IO/第二功能 每个引脚都有特定的第二功能
P3端口的第二功能
引脚 第二功能 说明
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 外部数据存储器读选通
  1. P0口内部无上拉电阻:作为输出口时需要外接上拉电阻
  2. 端口模式:准双向口、推挽输出、开漏输出等不同模式
  3. 端口负载能力:不同端口的驱动能力不同
  4. 第二功能切换:使用P3口第二功能时,相应引脚自动切换功能
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐