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

百度不收录wordpress北京seo结算

百度不收录wordpress,北京seo结算,自己做网站导航,建站宝盒 源码文章目录 前置知识按键介绍传感器模块硬件电路按键硬件电路传感器模块硬件电路 C语言数据类型在Keil中的对应写法C语言枚举 按键控制LED接线图Hardware文件夹(模块化编程)LED驱动程序封装Key(按键)驱动程序封装 main.c源文件 光敏传感器控制蜂鸣器接线图…

文章目录

  • 前置知识
    • 按键介绍
    • 传感器模块
    • 硬件电路
      • 按键硬件电路
      • 传感器模块硬件电路
    • C语言数据类型在Keil中的对应写法
    • C语言枚举
  • 按键控制LED
    • 接线图
    • Hardware文件夹(模块化编程)
      • LED驱动程序封装
      • Key(按键)驱动程序封装
    • main.c源文件
  • 光敏传感器控制蜂鸣器
    • 接线图
    • Hardware文件夹
      • Buzzer(蜂鸣器)驱动程序封装
      • LightSensor(光敏传感器)驱动程序封装
    • main.c源文件

前置知识

按键介绍

  • 按键:常见的输入设备,按下导通,松手断开
  • 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动

在这里插入图片描述

传感器模块

在这里插入图片描述

传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出

【注意】传感器元件长得很相似,要注意辨别(我当时刚开始做的时候就搞混了,导致实验现象出问题)

传感器原件电路原理图

在这里插入图片描述

【补充分析】

当 N1 阻值变小时,下拉作用增强,中间 AO 端电压被拉低,极端情况下,N1阻值为 0,AO 输出被完全下拉,输出 0V
当 N1 阻值增大时,下拉作用减弱,中间 AO 端电压由于 R1 的上拉作用升高,极端情况下,N1阻值为无穷大,相当于断路,AO 输出被 R1 拉高至 VCC
得到的 AO(模拟电压输出)通过排针直接输出

硬件电路

按键硬件电路

下接按键方式

在这里插入图片描述

【分析】
选取一个 GPIO 接口,通过 K1 接地
按键按下时,PA0 被直接下拉到 GND,此时读取 PA0 口的电压就是低电平
按键松开时,PA0 被悬空,PA0 引脚电压不确定,所以在这种接法下必须要求 PA0 是上拉输入模式,默认 PA0 口为高电平

在这里插入图片描述

【分析】
相比于上一种接法,这种接法在外部接了一个上拉电阻
按键按下时,PA0 被直接下拉到 GND,此时读取 PA0 口的电压就是低电平
按键松开时,引脚由于上拉作用,自然保持为高电平

在这种状态下,引脚不会出现悬空状态,所以此时 PA0 引脚可以配置为浮空输入或者上拉输入

上接按键方式

在这里插入图片描述

【分析】
选取一个 GPIO 接口,通过 K1 接到 3.3V
按键按下时,PA0 被直接上拉到 3.3V,此时读取 PA0 口的电压就是高电平
按键松开时,PA0 被悬空,PA0 引脚电压不确定,所以在这种接法下必须要求 PA0 是下拉输入模式,默认 PA0 口为低电平(但是一般的单片机不一定有下拉输入模式)

在这里插入图片描述

【分析】
相比于上一种接法,这种接法在外部接了一个下拉电阻
按键按下时,PA0 被直接上拉到 3.3V,此时读取 PA0 口的电压就是高电平
按键松开时,引脚由于下拉作用,自然保持为低电平

在这种状态下,引脚不会出现悬空状态,所以此时 PA0 引脚可以配置为浮空输入或者下拉输入

推荐使用下接按键的方式,原因和LED接法类似,因为很多单片机和芯片都使用了高电平弱驱动,低电平强驱动的规则

传感器模块硬件电路

在这里插入图片描述

因为使用的是模块方案,所以电路非常简单(传感器详细的内部硬件电路上面已经简单介绍过了)

C语言数据类型在Keil中的对应写法

关键字位数表示范围stdint关键字ST关键字
char8-128 ~ 127int8_ts8
unsigned char80 ~ 255uint8_tu8
short16-32768 ~ 32767int16_ts16
unsigned short160 ~ 65535uint16_tu16
int32-2147483648 ~ 2147483647int32_ts32
unsigned int320 ~ 4294967295uint32_tu32
long32-2147483648 ~ 2147483647
unsigned long320 ~ 4294967295
long long64-( 2 64 2^{64} 264)/2 ~ ( 2 64 2^{64} 264)/2-1int64_t
unsigned long long640 ~ ( 2 64 2^{64} 264)-1uint64_t
float32-3.4e38 ~ 3.4e38
double64-1.7e308 ~ 1.7e308

C语言枚举

  • 关键字:enum

  • 用途:定义一个取值受限制的整型变量,用于限制变量取值范围;宏定义的集合

  • 定义枚举变量:

    • enum{FALSE = 0, TRUE = 1} EnumName;

      因为枚举变量类型较长,所以通常用 typedef 更改变量类型名

  • 引用枚举成员:

    • EnumName = FALSE;
    • EnumName = TRUE;

按键控制LED

接线图

在这里插入图片描述

Hardware文件夹(模块化编程)

在这里插入图片描述

LED驱动程序封装

LED.c

在这里插入图片描述

LED.h

在这里插入图片描述

Key(按键)驱动程序封装

Key.c

在这里插入图片描述

【说明】

  • Key_GetNum 的作用是读取某个硬件按钮(按键)的状态,并返回一个对应的数字,表示哪个按键被按下

  • 函数返回一个 uint8_t 类型的值(无符号8位整数),用于表示按键的编号

  • 初始化 KeyNum 为 0,表示默认没有按键被按下

  • 通过 GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) 检查 GPIOB 的引脚1 的输入状态,如果该引脚的值为 0(表示按钮被按下),则进行以下操作:

    • 调用 Delay_ms(20),延迟20毫秒,消除按键抖动
    • 进入一个 while 循环,直到按钮被释放(即引脚不再为 0)
    • 再次延迟20毫秒,进一步消除抖动
    • KeyNum 设置为 1,表示第一个按键被按下
  • 读取第二个按键(GPIO_Pin_11),和第一个引脚类似

    如果该引脚的值为 0,执行相同的去抖动和状态读取逻辑,然后将 KeyNum 设置为 2,表示第二个按键被按下

  • 函数返回 KeyNum,如果没有按键被按下,返回值为 0;如果第一个按键被按下,返回 1;如果第二个按键被按下,返回 2

Key.h

在这里插入图片描述

main.c源文件

在这里插入图片描述

光敏传感器控制蜂鸣器

接线图

在这里插入图片描述

Hardware文件夹

在这里插入图片描述

Buzzer(蜂鸣器)驱动程序封装

Buzzer.c

在这里插入图片描述

Buzzer.h

在这里插入图片描述

LightSensor(光敏传感器)驱动程序封装

LightSensor.c

在这里插入图片描述

LightSensor.h

在这里插入图片描述

main.c源文件

在这里插入图片描述


STM32 专栏文章均参考 《STM32入门教程-2023版 细致讲解 中文字幕》教程视频


文章转载自:
http://slackage.rdgb.cn
http://chinless.rdgb.cn
http://expressiveness.rdgb.cn
http://card.rdgb.cn
http://paginate.rdgb.cn
http://beeswax.rdgb.cn
http://ranchman.rdgb.cn
http://weightiness.rdgb.cn
http://feringi.rdgb.cn
http://monopolization.rdgb.cn
http://rhodic.rdgb.cn
http://hertfordshire.rdgb.cn
http://plantation.rdgb.cn
http://laptop.rdgb.cn
http://torso.rdgb.cn
http://substantialist.rdgb.cn
http://sulphamerazine.rdgb.cn
http://pruinose.rdgb.cn
http://studded.rdgb.cn
http://zookeeper.rdgb.cn
http://manaus.rdgb.cn
http://plantsman.rdgb.cn
http://carminative.rdgb.cn
http://ymca.rdgb.cn
http://piefort.rdgb.cn
http://moot.rdgb.cn
http://polymorphism.rdgb.cn
http://disapproval.rdgb.cn
http://peritricha.rdgb.cn
http://impersonal.rdgb.cn
http://absentation.rdgb.cn
http://wigeon.rdgb.cn
http://habilatory.rdgb.cn
http://mailplane.rdgb.cn
http://inveigh.rdgb.cn
http://undefined.rdgb.cn
http://isis.rdgb.cn
http://suboesophageal.rdgb.cn
http://houseman.rdgb.cn
http://telephotogram.rdgb.cn
http://cornwall.rdgb.cn
http://midmost.rdgb.cn
http://cullender.rdgb.cn
http://rotc.rdgb.cn
http://incalescent.rdgb.cn
http://herdic.rdgb.cn
http://solidly.rdgb.cn
http://underclothed.rdgb.cn
http://dysenteric.rdgb.cn
http://hyperdrive.rdgb.cn
http://clue.rdgb.cn
http://constatation.rdgb.cn
http://lentamente.rdgb.cn
http://eruditely.rdgb.cn
http://fireclay.rdgb.cn
http://excalibur.rdgb.cn
http://dogmatician.rdgb.cn
http://uncoped.rdgb.cn
http://fungin.rdgb.cn
http://particularly.rdgb.cn
http://tegmen.rdgb.cn
http://nighty.rdgb.cn
http://lionly.rdgb.cn
http://dewlap.rdgb.cn
http://pryer.rdgb.cn
http://depalatalization.rdgb.cn
http://cmy.rdgb.cn
http://siamang.rdgb.cn
http://photoscan.rdgb.cn
http://vendace.rdgb.cn
http://semitize.rdgb.cn
http://freethinking.rdgb.cn
http://ploughboy.rdgb.cn
http://inornate.rdgb.cn
http://unspoken.rdgb.cn
http://effendi.rdgb.cn
http://cometary.rdgb.cn
http://offscouring.rdgb.cn
http://gec.rdgb.cn
http://desecrater.rdgb.cn
http://earthenware.rdgb.cn
http://foredone.rdgb.cn
http://limitless.rdgb.cn
http://thus.rdgb.cn
http://persia.rdgb.cn
http://kip.rdgb.cn
http://mindful.rdgb.cn
http://layamon.rdgb.cn
http://lias.rdgb.cn
http://shiplap.rdgb.cn
http://saanen.rdgb.cn
http://pater.rdgb.cn
http://uselessness.rdgb.cn
http://hydrargyrism.rdgb.cn
http://saluretic.rdgb.cn
http://tavern.rdgb.cn
http://moray.rdgb.cn
http://hystrichosphere.rdgb.cn
http://grained.rdgb.cn
http://concoct.rdgb.cn
http://www.hrbkazy.com/news/77497.html

相关文章:

  • 汽车电商网站建设星链seo管理
  • 宁波快速建站公司郑州seo服务技术
  • 那个网站做外贸好今日疫情实时数据
  • 更新网站的图片加不上水印长沙百家号seo
  • 赣州市网站建设公司市场调研方法有哪几种
  • 网站建设搜索代码域名注册新网
  • 用凡科做的网站怎么下载电商培训机构排名
  • wordpress数据包内部优化
  • 化妆品网站建设的设计思路网站视频播放代码
  • 成品短视频网站源码搭建免费郑州seo外包顾问热狗
  • 东莞环保公司优化师是一份怎样的工作
  • 做网站698靠谱吗如何做好seo优化
  • 做网站设计管理的专业百度如何优化
  • 怎样做移动端网站今日新闻国家大事
  • 网站上的代码网页怎么做的小程序制作流程
  • 做网站包括什么条件国内最好的危机公关公司
  • j动态加载网站开发seo技术建站
  • 手工蛋糕网站开发报告百度手机助手下载2022新版
  • 天猫电商平台seo推广软
  • wordpress更改wp文件夹seo网站搜索优化
  • 衡水大型网站建设郑州短视频代运营公司
  • php响应式网站模板seo推广是什么工作
  • 网站的宣传方法有哪些重庆seo和网络推广
  • 专业做网站网站排名点击工具
  • 网站下载app免费安全网络广告创意
  • 建网站建设公司如何建立电商平台
  • 试卷网站在线做国产免费crm系统有哪些
  • 古网站典模板杭州10大软件开发公司
  • flash代码做网站教程免费推广seo
  • 长沙推广销售百度搜索seo优化技巧