day2-51单片机 GPIOGenral Purpose Input/Output通用目的输入输出引脚输入输出 两种工作模式1. 输出模式给定单片机引脚电平控制引脚输出高/低电平LED控制、数码管控制、蜂鸣器控制2. 输入模式检测引脚电平变化用于检测外部电平信号 按键检测、检测ADC信号独立按键1. 按键一端接到GND另外一端接到GPIO引脚2. 如果按键被按下GND会和引脚短路到一起此时引脚呈现低电平代表按键被按下void key_init(void) { // 1. 将按键对应的引脚置1 } int key_press(void) { }中断CPU在处理某个任务时被外界更为紧急的事件打断要求CPU优先去处理 这个更为紧急的事件处理完紧急事件后再回到之前被打断的地方继续向下执行中断源打断CPU执行当前的任务源头/事件中断源分类外部中断0、外部中断1、定时器0、定时器1、串口外部中断引脚电平变化所引发的中断中断优先级CPU总是先处理优先级高的中断处理完优先级高的中断后再处理优先级 低中断中断向量表本质是一个数组数组中存放的是中断服务函数的入口地址 //interrupt 0中断向量中断向量表中的标号通过标号可以访问到对应中断服务函数中断嵌套CPU处理一个中断时再去嵌套另外一个中断任务最多两层嵌套中断处理流程中断源 - CPU过程1. 中断源发出中断请求2. 检查CPU是否允许中断总开关 能够响应外部中断及该中断源是否被屏蔽子开关 能够产生对应的中断3. 比较中断优先级4. 保护现场5. 执行中断服务函数(回调函数)6. 恢复现场定时器实现精准的定时外设对时序要求比较高unsigned short cnt 01. 赋初值cnt 645352. 打开计数器开始计数3. 按照固定的频率. 计数器加到65535 1 - 溢出 - CPU 定时器中断请求从初值 溢出 - 所经历的时间1. 初值大小2. 频率1ms的精准定时晶振频率12MHZ 11.0592MHZ51单片机实际工作频率12MHZ 11.0592 / 12 1MHZ 0.9MHZ时间1 / 1MHZ 1us 1 / 0.9MHZ 1.1us1ms定时1ms 1000us计数次数1000us / 1us 1000定时器初值65535 - 1000 64535PWM:脉冲宽度调制能够让引脚产生一个方波能够让引脚周期性产生电平变化PWM周期一个方波所经历的周期上升沿/下降沿到下一个上升沿/下降沿所经历的时间PWM占空比在一个周期内高电平所占的比例LCD屏幕亮度调节、LED灯亮度调节、蜂鸣器蜂鸣器有源蜂鸣器内部存在震荡源通电后可以发出持续固定频率的声音无源蜂鸣器不存在震荡源需要给定对应引脚一个高低电平产生震荡可以输出指定频率音调

相关新闻

最新新闻

深度伪造盯上未成年人:识别方法与防护处置指南

深度伪造盯上未成年人:识别方法与防护处置指南

英国媒体报道,越来越多的英国儿童向学校和网络平台反映:他们在网上看到了以自己为主角的露骨深度伪造内容。这里的“深度伪造”通常被简写为 deepfake,指用人工智能技术合成的、足以以假乱真的图像、视频或音频。最让人不安的一点在于&#x…

2026/8/30 15:28:44
STM32H7+FreeRTOS下SDMMC挂载FatFs失败排查与修复

STM32H7+FreeRTOS下SDMMC挂载FatFs失败排查与修复

最近在调一块STM32H743的项目,主控跑FreeRTOS,用SDMMC1接口挂一张MicroSD卡做数据记录。裸机阶段f_mount一切正常,一旦把初始化代码丢进FreeRTOS任务里,挂载就翻车——要么返回FR_NOT_READY,要么直接卡死在HAL_SD_Read…

2026/8/30 15:28:44
AI代理如何成为高级持续性威胁:虚拟机逃逸与防御策略解析

AI代理如何成为高级持续性威胁:虚拟机逃逸与防御策略解析

一个代号 “GPT 5.6-Cyber” 的 AI 代理,在隔离的虚拟化环境里连续三次完成虚拟机逃逸。整个过程没有人工干预:侦察目标、探测漏洞、构造载荷、突破虚拟机隔离边界、在宿主机上建立持久化,最后尝试清理日志。这套动作如果放在几年前&#xff…

2026/8/30 15:28:44
《AI 越来越会干活以后,提示词反而没那么重要了:企业更缺“任务设计”》

《AI 越来越会干活以后,提示词反而没那么重要了:企业更缺“任务设计”》

过去几年学 AI,很多人的第一反应都是学提示词。怎么设角色、怎么补背景、怎么规定格式,同一个模型,确实会因为问法不同,给出完全不同的结果。但当 AI 从“帮我写一段东西”,开始变成“替我完成一项工作”,事…

2026/8/30 15:28:44
RustFS 的三种服务端加密怎么选:SSE-S3、SSE-KMS、SSE-C 与 KMS 后端配置

RustFS 的三种服务端加密怎么选:SSE-S3、SSE-KMS、SSE-C 与 KMS 后端配置

一句话定位:RustFS 是面向 AI 时代、从零原生打造的高性能分布式对象存储,100% 兼容 S3 API,Apache 2.0 协议,底层用 Rust 构建,可作为 MinIO 的 drop-in 替代方案。 目录 问题背景:加密不是开关&#xff…

2026/8/30 15:28:44
STM32N6 XSPIM多路复用:外部Flash与PSRAM共存配置实战

STM32N6 XSPIM多路复用:外部Flash与PSRAM共存配置实战

1. 为什么 STM32N6 的 XSPIM 多路复用存储配置值得单独写一篇 前段时间在调 STM32N6 的板子,碰到一个很有意思的问题:芯片手册里明明写着 XSPIM 支持多路复用存储配置,可真要动手接外部 Flash 和 PSRAM 的时候,才发现这里面的门道…

2026/8/30 15:23:44