news 2026/4/16 19:44:29

学习笔记——51单片机学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习笔记——51单片机学习

51单片机学习笔记整理

一、GPIO(通用输入输出)

概念:GPIO是与外界交互最基本的形式,可以独立配置引脚为输入或输出模式

1.输出模式:控制引脚输出高电平/低电平

  • 开漏输出:只能输出低电平或高阻态,需外接上拉电阻

  • 推挽输出:可输出高/低电平,驱动能力强

  • 复用开漏:外设功能使用开漏输出

  • 复用推挽:外设功能使用推挽输出

2.输入模式:检测引脚电平

  • 上拉输入:内部上拉电阻,默认高电平

  • 下拉输入:内部下拉电阻,默认低电平

  • 浮空输入:无内部上下拉,电平不确定

  • 模拟输入:用于ADC采样

二、独立按键

1.原理图

VCC | 按键 | GPIO---→ CPU | GND

2.工作原理

  • 按键未按下:GPIO通过上拉电阻接VCC,呈高电平

  • 按键按下:GPIO直接接地,呈低电平

  • 判断方法:检测GPIO是否为低电平

3.注意:需要软件消抖(延时10-20ms再次检测)

三、中断系统

1.中断概念

当CPU执行任务时,发生紧急事件要求CPU暂停当前任务,转去处理紧急事件,处理完再返回原任务继续执行

2.中断源:能打断CPU执行的事件源

51单片机中断源分类:
  1. 外部中断0(INT0 → P3.2引脚)

  2. 外部中断1(INT1 → P3.3引脚)

  3. 定时器0中断

  4. 定时器1中断

  5. 串口中断

3.中断优先级

多个中断同时发生时,CPU优先处理优先级高的中断

4.中断嵌套

51单片机最多允许两层中断嵌套

5.中断处理流程

1. 中断源发出请求 2. 检查CPU是否允许中断 3. 比较中断优先级 4. 保护现场(压栈) 5. 执行中断处理函数 6. 恢复现场(出栈)

6.中断相关寄存器

(1)IE寄存器(中断允许寄存器)
名称功能
EA总中断允许1=允许所有中断,0=禁止所有中断
EX0外部中断0允许1=允许,0=禁止
ET0定时器0中断允许1=允许,0=禁止
(2)TCON寄存器(定时器控制)
名称功能
IT0外部中断0触发方式1=下降沿触发,0=低电平触发
IE0外部中断0标志位1=有中断请求,0=无请求

四、定时器

1.定时器数量:51单片机有2个定时器(Timer0和Timer1)

2.定时器类型自增型定时器

3.工作原理

  • 定时器内部有16位计数器(0-65535)

  • 给定计数器初值,按1μs速率自增(12MHz晶振)

  • 计数到65535溢出时产生中断请求

4.定时器相关寄存器

(1)TMOD寄存器(定时器模式)
TMOD &= ~(0x0F << 0); // 清0低4位(Timer0) TMOD |= (1 << 0); // 设置Timer0为16位模式(M1=0, M0=1)
(2)TCON寄存器
TCON |= (1 << 4); // TR0=1,启动Timer0
(3)计算定时器初值
初值 = 65536 - (所需定时时间 / 机器周期) 例:12MHz晶振,定时1ms 初值 = 65536 - (1000μs / 1μs) = 64536

五、PWM(脉冲宽度调制)

1.PWM概念

通过控制引脚周期性翻转产生方波

2.PWM周期

从一个上升沿(或下降沿)到下一个上升沿(或下降沿)的时间

3.占空比

高电平在一个PWM周期内所占的比例

占空比 = (高电平时间 / 总周期时间) × 100%

4.应用示例:控制LED亮度、电机速度

六、蜂鸣器

1.声音原理

  • 音调:由频率决定 → 高音(高频)、低音(低频)

  • 音量:由振幅决定 → 能量大小

2.蜂鸣器类型

类型特点驱动方式
有源蜂鸣器内部有震荡源直流电压即可发声
无源蜂鸣器内部无震荡源需要PWM方波驱动

3.无源蜂鸣器控制

// 通过PWM控制无源蜂鸣器音调 void beep_tone(unsigned int frequency) { // 根据频率计算PWM周期 // 控制引脚产生相应频率的方波 }

重点内容总结

序号问题答案
1GPIO的输入模式有哪些?上拉输入、下拉输入、浮空输入、模拟输入
2GPIO的输出模式有哪些?开漏输出、推挽输出、复用开漏、复用推挽
3独立按键工作原理?按下时GPIO接地呈低电平,释放时上拉呈高电平
4中断概念?CPU暂停当前任务处理紧急事件,再返回原任务
5中断源概念?能打断CPU执行的事件源
651单片机中断源分类?外部中断0/1、定时器0/1、串口中断
7中断处理流程?请求→检查允许→比较优先级→保护现场→执行→恢复
851单片机有几个定时器?2个(Timer0和Timer1)
9定时器是自增还是自减?自增型定时器
10定时器工作原理?16位计数器按1μs自增,溢出产生中断
11PWM相关概念?脉冲宽度调制,产生可调方波
12PWM周期?方波一个完整周期的时间
13PWM占空比?高电平时间占总周期的比例
14有源/无源蜂鸣器区别?有源内部有震荡源,无源需要外部PWM驱动

实用代码示例

1.中断初始化

void int0_init(void) // 外部中断0初始化 { IT0 = 1; // 下降沿触发 EX0 = 1; // 允许外部中断0 EA = 1; // 开总中断 }

2.定时器初始化

void timer0_init(void) // 定时1ms { TMOD &= 0xF0; // 清除Timer0模式位 TMOD |= 0x01; // Timer0模式1(16位) TH0 = 0xFC; // 定时1ms初值高位 TL0 = 0x66; // 定时1ms初值低位 ET0 = 1; // 允许Timer0中断 TR0 = 1; // 启动Timer0 EA = 1; // 开总中断 }

3.按键检测

unsigned char key_scan(void) { if(KEY == 0) // 按键按下 { delay_ms(10); // 消抖 if(KEY == 0) // 确认按下 { while(!KEY);// 等待释放 return 1; } } return 0; }

这份笔记系统整理了51单片机的核心知识点,适合复习和快速查阅。每个部分都有理论说明和代码示例,便于理解和实践。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:06:18

MediaPipe Hands优势解析:AI手势追踪为何选择官方独立库

MediaPipe Hands优势解析&#xff1a;AI手势追踪为何选择官方独立库 1. AI 手势识别与追踪的技术演进 在人机交互日益智能化的今天&#xff0c;手势识别与追踪已成为连接人类意图与数字世界的重要桥梁。从早期基于传感器的手套式设备&#xff0c;到如今纯视觉驱动的端侧AI方案…

作者头像 李华
网站建设 2026/4/16 9:09:24

显卡性能不够?AMD FSR 技术救场!跨品牌通用,游戏帧率飙升秘籍

玩 3A 大作时帧率卡顿、画质模糊&#xff0c;换显卡又成本太高&#xff1f;很多台式机、笔记本&#xff08;包括 ThinkPad、ThinkCentre 等系列&#xff09;用户都面临这样的困境 —— 硬件配置有限&#xff0c;想体验高画质游戏却力不从心。而 AMD 推出的 FSR&#xff08;Fide…

作者头像 李华
网站建设 2026/4/16 10:39:34

数据模型:让数据“开口说话”的智慧翻译官

数据模型&#xff1a;让数据“开口说话”的智慧翻译官想象一下&#xff0c;当你打开手机地图规划路线时&#xff0c;系统能精准避开拥堵路段&#xff1b;网购时&#xff0c;APP总能推荐你心仪的商品&#xff1b;疫情期间&#xff0c;健康码能实时追踪行程轨迹——这些便捷体验的…

作者头像 李华
网站建设 2026/4/16 9:05:07

Wnt信号共受体LGR5

富含亮氨酸重复序列的G蛋白偶联受体5&#xff08;LGR5&#xff09;&#xff0c;作为R-脊椎蛋白&#xff08;RSPO1、RSPO2、RSPO3或RSPO4&#xff09;的受体&#xff0c;可增强经典Wnt信号通路&#xff0c;并作为肠上皮和毛囊的干细胞标志物发挥作用。LGR5通过包括WNT/β-cateni…

作者头像 李华
网站建设 2026/4/16 9:08:00

直播时如何用提词器——芦笋提词器实操指南

1. 直播前准备稿件 提前把直播讲稿或要点整理好&#xff0c;文本格式建议为Word、TXT或PDF。 口语化表达&#xff0c;分段清晰&#xff0c;方便提词器阅读。 2. 导入稿件到芦笋提词器 打开芦笋提词器软件或App&#xff0c;选择“导入”功能。 选择准备好的直播稿件文件&…

作者头像 李华
网站建设 2026/4/16 15:30:42

【dz-1138】基于温度控制器的便携式电脑水冷却系统

基于温度控制器的便携式电脑水冷却系统 摘要 随着高性能电脑的普及和运行负载的增加&#xff0c;设备发热问题日益突出。长时间高温运行不仅会导致电脑性能下降、运行卡顿&#xff0c;还可能缩短硬件使用寿命&#xff0c;甚至引发死机、硬件损坏等严重问题。因此&#xff0c;研…

作者头像 李华