news 2026/7/14 4:39:51

单片机DAY_2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单片机DAY_2

1.GPIO

GPIO:通用目的输入输出

两种工作模式

输出模式:LED控制,数码管控制,蜂鸣器控制

输入模式:检测引脚电平变化(检测外部电平信号 按键检测、检测ADC变化)

2.中断

中断的概念:CPU在处理某个任务时,被外界更为紧急的事件打断,要求CPU优先去处理这个更为紧急的事件;处理完紧急事件后,再回到之前被打断的地方继续向下执行

3.51单片机中断源类型及个数

外部中断0、外部中断1、定时器0、定时器1、串口

个数:5个

4.什么是外部中断

引脚电平变化引起的中断

INT0:外部中断0 P3_2引脚

INT1:外部中断1 P3_3引脚

5.中断处理流程

  1. 中断源发出中断请求

  2. 检查CPU是否允许中断(总开关 能够响应外部中断)及该中断源是否被屏蔽(子开关 能够产生对应的中断)

  3. 比较中断优先级

  4. 保护现场

  5. 执行中断服务函数(回调函数)

  6. 恢复现场

6.51单片机中有几个定时器

两个定时器,定时器0和定时器1

7.定时器工作模式

模式0 :13位定时器

  • 工作方式:仅作为定时器,自动重载。

  • 工作情景:用于周期性的定时任务,产生固定时间间隔的中断。

模式1:16位定时器

  • 工作方式:仅作为定时器,手动重载。

  • 工作情景:用于需要更长时间跨度的定时任务,由软件手动控制定时器的重装值。

模式2:8位自动重装定时器

  • 工作方式:作为定时器,并在中断处理程序中自动重装初值。

  • 工作情景:适用于需要周期性定时任务,且中断处理程序需要花费较长时间。

模式3:双重8位定时器

  • 工作方式:两个8位定时器/计数器一起工作。

  • 工作情景:适用于需要同时进行两个定时任务或频率测量的情况。

8.定时器配置流程

1.赋初值(TH、TL 配置)

赋初值:cnt = 64535 TL 初值低位 TH 初值高位

2.启动定时器

打开计数器,开始计数

3.计数运行逻辑

按照固定的频率 ++

计数器加到 65535 + 1 -> 溢出 -> CPU 定时器中断请求

4.定时时间计算(配置初值的依据)

从初值 + 溢出 -> 所经历的时间:1. 初值大小 2. 频率 1ms 的精准定时: 晶振频率:12MHZ 11.0592MHZ 51 单片机实际工作频率:12MHZ 11.0592 / 12 = 1MHZ 0.9MHZ 时间:1 / 1MHZ = 1us 1 / 0.9MHZ = 1.1us 1ms 定时:1ms = 1000us 计数次数:1000us / 1us = 1000 定时器初值:65535 - 1000 = 64535

9.8位自动重装载定时器工作原理

10.PWM周期

一个方波所经历的周期(上升沿/下降沿到下一个上升沿/下降沿所经历的时间)

11.PWM占空比

在一个周期内高电平所占的比例(LCD屏幕亮度调节、LED灯亮度调节、蜂鸣器)

12.有源蜂鸣器和无源蜂鸣器

有源蜂鸣器:内部存在震荡源,通电后可以发出持续固定频率的声音 无源蜂鸣器:不存在震荡源,需要给定对应引脚一个高低电平产生震荡(可以输出指定频率音调 )

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

L9958与TM4C1294NCZAD电机控制方案解析

1. 为什么选择L9958与TM4C1294NCZAD组合在电机控制领域,硬件选型直接决定了系统性能上限。L9958作为意法半导体(ST)推出的H桥驱动芯片,与德州仪器(TI)的TM4C1294NCZAD微控制器组合,形成了当前中高端电机控制方案的黄金搭档。L9958的核心优势在…

作者头像 李华
网站建设 2026/7/14 4:36:54

Chapter 2 The Well: Navigating Parasitics and Performance in CMOS Fabrication

1. CMOS制造中的阱技术:性能与寄生的博弈第一次接触CMOS工艺设计时,我被N-Well和P-Well的复杂关系弄得晕头转向。这就像在建造一栋高楼时,既要考虑每个房间的独立功能,又要确保整栋建筑的结构稳定。在40nm工艺节点的一个项目中&am…

作者头像 李华
网站建设 2026/7/14 4:35:08

Lua C接口封装设计:构建安全高效的C/C++与Lua双向通信桥梁

1. 项目概述:为什么需要重新设计Lua的C接口?在游戏引擎、嵌入式系统或者任何需要脚本扩展能力的C/C项目中,集成Lua虚拟机几乎是标准操作。但如果你真的动手做过,大概率会和我一样,对Lua原生的C API又爱又恨。爱的是它足…

作者头像 李华
网站建设 2026/7/14 4:33:20

RoPE旋转位置编码原理与工程实践:从数学本质到CUDA优化

1. 项目概述:为什么RoPE不是又一个“嵌入补丁”,而是Transformer架构的底层呼吸方式你有没有试过让模型理解“昨天”和“明天”在时间轴上的相对距离,而不是把它们当成两个孤立的词?或者在长文档里,让模型清楚地知道“…

作者头像 李华
网站建设 2026/7/14 4:31:36

本地AI音乐生成实战:为游戏开发打造史诗级战斗配乐

1. 项目概述:当游戏开发遇上本地AI音乐生成如果你是一名独立游戏开发者,或者正在参与一个小型团队的项目,那么“配乐”这件事,大概率是你开发流程中的一个痛点。外包给专业作曲家,预算吃紧;使用免费或廉价的…

作者头像 李华
网站建设 2026/7/14 4:30:14

Mythos:AI原生安全时代的数字安全分析师

1. 这不是一次普通模型发布:Mythos背后的真实技术分水岭 “Claude Mythos Preview”这七个字,最近在安全圈和AI工程一线刷屏了。但如果你只把它当成又一个“更强的Claude”,那你就完全错过了这次发布的本质——它标志着AI能力跃迁的判定标准&…

作者头像 李华