单片机(2)

51单片机进阶中断、定时器、IO电路与时序

一、中断系统

中断核心思想:CPU正常执行主程序,外部/内部事件触发中断,CPU暂停主程序,跳转执行中断服务函数,处理完毕返回继续运行主程序。

  1. 中断向量:51内置中断源,对应固定入口地址
  • External interrupt 0 外部中断0
  • Timer0 定时器0中断
  • Timer1 定时器1中断
  • External interrupt 1 外部中断1
  • UART串口中断
  1. 中断触发方式
  • 电平触发:引脚低电平触发中断
  • 边沿触发:引脚电平下降沿(高→低跳变)触发中断
  1. 中断配置流程
    开启中断总开关 → 开启对应外设中断使能 → 设置触发方式 → 编写中断服务函数
  2. 注意:中断服务函数尽量简短,不要放耗时代码。

二、定时器/计数器

定时器本质:硬件计数器,对机器周期脉冲计数。计数溢出后触发中断。

  • 定时器模式:对内部系统时钟计数,用来做延时、定时。
  • 计数器模式:对外部引脚脉冲计数,统计外部信号次数。
  • 寄存器: TMOD (模式配置)、 THx 、 TLx (计数高低字节,装载初值)
  • 自动重装:溢出后自动把初值重新载入寄存器,循环定时,不用软件反复赋值。
  • 时序波形:时钟脉冲不断输入,计数器逐次累加,达到最大值溢出,产生中断信号。

三、IO口驱动电路(重点:灌电流、拉电流)

  1. LED电路(普中开发板)

LED阳极接VCC,阴极接单片机IO引脚。

  • IO输出低电平 → 电流流入芯片引脚(灌电流),LED点亮。
  • IO输出高电平 → 无电流,LED熄灭。

51的P0口是开漏输出,必须外接上拉电阻才能输出高电平;P1/P2/P3内置上拉电阻。

  1. 独立按键电路

一端接IO,一端接GND。

  • 按键未按下:IO为高电平。
  • 按键按下:IO拉低到GND。
    按键消抖:机械按键按下/松开瞬间存在电平抖动(数ms),会误触发多次检测。
    两种消抖方案:软件延时消抖;外部硬件电容消抖。

四、时序基础

  1. 机器周期:单片机执行一条基础指令的最小时间单元。12M晶振下,1机器周期=1μs。
  2. 时钟周期:晶振原始振荡周期,机器周期由多个时钟周期构成。
  3. 波形图:方波高低电平,边沿(上升沿、下降沿)是触发信号的关键。

五、寄存器与位运算复用

定时器、中断的配置,依旧使用位运算操作SFR特殊功能寄存器:

// 置位使能

IE |= (1 << 0);

// 清零关闭

TMOD &= ~(1 << 0);

相关推荐
Horn Still Sounds2 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
智感子2 小时前
无人值守称重:地磅系统架构与流程
嵌入式硬件
新晨单片机设计4 小时前
S011C-基于STM32智能灯光控制系统(光强、声音、人体)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·proteus·智能灯光控制系统
无敌贵点大王4 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
女神下凡6 小时前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
zd8451015006 小时前
DSLogic逻辑分析仪连接失败
嵌入式硬件
国科安芯7 小时前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
AOI小白新手上路8 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
测试学习test8 小时前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
xingzhemengyou19 小时前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件