当前位置: 首页 > news >正文

自学linuxday46

一、GPIO(通用输入输出)

  • 定义:单片机与外界交互的基础接口,引脚可独立配置为输入或输出模式。
  • 输出模式
    • 开漏输出:需外接上拉电阻输出高电平。
    • 推挽输出:直接输出高/低电平,驱动能力强。
    • 复用模式:引脚复用为外设功能(如串口、定时器)。
  • 输入模式
    • 上拉/下拉输入:内置电阻确保默认电平。
    • 浮空输入:无默认电平,易受干扰。
    • 模拟输入:用于连接模拟传感器(如ADC)。

二、独立按键

  1. 硬件原理

    • 未按下:引脚通过上拉电阻保持高电平($V_{CC}$)。
    • 按下:引脚与GND短路,电平拉低至$0$。
    • 判断逻辑:检测引脚是否为低电平($V < 0.3V_{CC}$)。
  2. 消抖处理

    if (KEY == 0) { // 检测低电平 delay_ms(10); // 延时消抖 if (KEY == 0) { // 执行按键动作 } }

三、中断

  1. 中断流程
    $$
    \text{中断请求} \rightarrow \text{优先级裁决} \rightarrow \text{保护现场} \rightarrow \text{执行ISR} \rightarrow \text{恢复现场}
    $$

  2. 寄存器配置示例(外部中断0):

    IT0 = 1; // 下降沿触发 EX0 = 1; // 允许外部中断0 EA = 1; // 全局中断使能

四、定时器

  1. 定时器初值计算
    若需定时$T$(微秒),晶振频率$f=12\text{MHz}$,则:
    $$
    \text{初值} = 65536 - \frac{T \times f}{12}
    $$

  2. 定时器0模式配置

    TMOD |= 0x01; // M1=0, M0=1 → 16位定时器 TR0 = 1; // 启动定时器0

五、PWM(脉冲宽度调制)

  • 参数定义
    • 周期$T$:高电平+低电平时间。
    • 占空比$D$:
      $$
      D = \frac{t_{\text{high}}}{T} \times 100%
      $$
  • 实现方法
    通过定时器中断调整引脚电平翻转时间。

六、蜂鸣器

  1. 驱动电路
    • 无源蜂鸣器需串联限流电阻(如$100\Omega$),避免过流。
  2. 音调生成
    音符频率$f$与定时器初值关系:
    $$
    \text{初值} = 65536 - \frac{10^6}{2f} \quad (\text{单位:}\mu\text{s})
    $$

综合应用示例

按键控制蜂鸣器音调

#include <REG52.H> sbit Buzzer = P1^0; // 蜂鸣器引脚 sbit KEY = P3^2; // 按键(外部中断0) void Timer0_Init() { TMOD = 0x01; // 定时器0,模式1 TH0 = 0xFC; TL0 = 0x18; // 1kHz中断初值 ET0 = 1; EA = 1; TR0 = 1; } void main() { Timer0_Init(); while(1); } void Timer0_ISR() interrupt 1 { TH0 = 0xFC; TL0 = 0x18; // 重载初值 Buzzer = !Buzzer; // 翻转电平 } void Key_ISR() interrupt 0 { if (KEY == 0) { TH0 = 0xF8; TL0 = 0x30; // 切换为500Hz } }
http://www.jsqmd.com/news/240543/

相关文章:

  • 高效学术写作工具推荐:8个AI网站功能PK,专注论文降重与内容优化
  • 吐血推荐!10款AI论文平台测评:本科生毕业论文全攻略
  • HBase在电信领域的应用:CDR记录存储
  • Spring Boot 与 MyBatis-Plus 的组合价值:效率背后的工程逻辑
  • 冥想第一千七百六十三天(1763)
  • 深度学习毕设项目推荐-基于python-CNN深度学习识别混凝土是否有裂缝
  • 万物互联时代的连接基石与技术演进
  • VisionPro二开之九点标定案例
  • MaRCA:大规模推荐系统中动态计算分配的多智能体强化学习
  • LoRaWAN 节点模组 OTAA 激活配置与LoRaWAN 节点模组 ABP 激活配置区别
  • 计算机毕业设计springboot博物馆藏品管理系统 基于SpringBoot的文物典藏智慧管理平台 SpringBoot驱动的博物馆珍宝数字化运营系统
  • 计算机毕业设计springboot博物馆藏品管理系统 基于SpringBoot的文物典藏智慧管理平台 SpringBoot驱动的博物馆珍宝数字化运营系统
  • 深度学习毕设选题推荐:基于机器学习python-CNN卷积神经网络对蔬菜识别基于python-CNN卷积神经网络对蔬菜识别
  • 零碳园区商业模式创新的政策支持有哪些?
  • PPT模板怎么改才快?告别手动复制粘贴,这3个技巧效率翻倍
  • 表的约束条件
  • 与进口直线模组同台竞争:威洛博如何用尺寸兼容和服务打动工程师
  • 2026年最新7.1版本pFBA(switch街机模拟器)-适配大气层21.1.0
  • A.每日一题——1266. 访问所有点的最小时间
  • 基于SpringBoot的校园零售管理系统(源码+lw+部署文档+讲解等)
  • 计算机毕业设计springboot博物馆藏品管理系统 基于SpringBoot的文博珍品信息管理平台 SpringBoot驱动的数字化文物典藏与展示系统
  • 今日行情明日机会——20260113
  • AI原生应用领域免费工具使用推荐
  • 深度学习毕设项目:基于python-CNN深度学习卷积神经网络对蔬菜识别基于python-CNN卷积神经网络对蔬菜识别
  • 冥想第一千七百六十二天(1762)
  • 档案管理系统是什么?解锁档案管理痛点,开启档案全流程智能管理
  • 直播电商系统源码搭建直播带货APP/小程序的完整流程
  • 拉菲协议只是开始?2025年区块链三大“黑天鹅”与生存指南
  • 无线网络仿真:6G网络仿真_(1).6G网络基础理论
  • 基于 YOLOv8 的河道漂浮垃圾智能检测|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!