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

查找做影评的工作网站校园超市网站开发背景

查找做影评的工作网站,校园超市网站开发背景,手机app定制,网站开发不用mvc行不行目录 前言 按键控制LED 光敏传感器控制蜂鸣器 前言 上拉输入#xff1a;若GPIO引脚配置为上拉输入模式#xff0c;在默认情况下#xff08;GPIO引脚无输入#xff09;#xff0c;读取的GPIO引脚数据为1#xff0c;即高电平。 下拉输入#xff1a;若GPIO引脚配置为下…目录 前言 按键控制LED 光敏传感器控制蜂鸣器 前言 上拉输入若GPIO引脚配置为上拉输入模式在默认情况下GPIO引脚无输入读取的GPIO引脚数据为1即高电平。 下拉输入若GPIO引脚配置为下拉输入模式在默认情况下GPIO引脚无输入读取的GPIO引脚数据为0即低电平。 //如下函数用于读取输入模式某个位返回值就是输入数据寄存器的某一位的值 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) //如下函数用于读取输入模式整个输入数据寄存器的值 uint8_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) //如下函数用于输出模式下用来看一下自己输出的是什么 uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) //如下函数用来读取整个输出寄存器 uint8_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 按键控制LED 代码如下  mian.c#include stm32f10x.h // Device header #include Delay.h #include LED.h #include Key.huint8_t KeyNum; //定义用于接收按键键码的变量int main(void) {/*模块初始化*/LED_Init(); //LED初始化Key_Init(); //按键初始化while (1){KeyNum Key_GetNum(); //获取按键键码if (KeyNum 1) //按键1按下{LED1_Turn(); //LED1翻转}if (KeyNum 2) //按键2按下{LED2_Turn(); //LED2翻转}} }LED.c#include stm32f10x.h // Device header/*** 函 数LED初始化* 参 数无* 返 回 值无*/ void LED_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin GPIO_Pin_1 | GPIO_Pin_2;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA, GPIO_InitStructure); //将PA1和PA2引脚初始化为推挽输出/*设置GPIO初始化后的默认电平*/GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2); //设置PA1和PA2引脚为高电平 }/*** 函 数LED1开启* 参 数无* 返 回 值无*/ void LED1_ON(void) {GPIO_ResetBits(GPIOA, GPIO_Pin_1); //设置PA1引脚为低电平 }/*** 函 数LED1关闭* 参 数无* 返 回 值无*/ void LED1_OFF(void) {GPIO_SetBits(GPIOA, GPIO_Pin_1); //设置PA1引脚为高电平 }/*** 函 数LED1状态翻转* 参 数无* 返 回 值无*/ void LED1_Turn(void) {if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_1) 0) //获取输出寄存器的状态如果当前引脚输出低电平{GPIO_SetBits(GPIOA, GPIO_Pin_1); //则设置PA1引脚为高电平}else //否则即当前引脚输出高电平{GPIO_ResetBits(GPIOA, GPIO_Pin_1); //则设置PA1引脚为低电平} }/*** 函 数LED2开启* 参 数无* 返 回 值无*/ void LED2_ON(void) {GPIO_ResetBits(GPIOA, GPIO_Pin_2); //设置PA2引脚为低电平 }/*** 函 数LED2关闭* 参 数无* 返 回 值无*/ void LED2_OFF(void) {GPIO_SetBits(GPIOA, GPIO_Pin_2); //设置PA2引脚为高电平 }/*** 函 数LED2状态翻转* 参 数无* 返 回 值无*/ void LED2_Turn(void) {if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_2) 0) //获取输出寄存器的状态如果当前引脚输出低电平{ GPIO_SetBits(GPIOA, GPIO_Pin_2); //则设置PA2引脚为高电平} else //否则即当前引脚输出高电平{ GPIO_ResetBits(GPIOA, GPIO_Pin_2); //则设置PA2引脚为低电平} }LED.h#ifndef __LED_H #define __LED_Hvoid LED_Init(void); void LED1_ON(void); void LED1_OFF(void); void LED1_Turn(void); void LED2_ON(void); void LED2_OFF(void); void LED2_Turn(void);#endifKey.c#include stm32f10x.h // Device header #include Delay.h/*** 函 数按键初始化* 参 数无* 返 回 值无*/ void Key_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //开启GPIOB的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin GPIO_Pin_1 | GPIO_Pin_11;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOB, GPIO_InitStructure); //将PB1和PB11引脚初始化为上拉输入 }/*** 函 数按键获取键码* 参 数无* 返 回 值按下按键的键码值范围0~2返回0代表没有按键按下* 注意事项此函数是阻塞式操作当按键按住不放时函数会卡住直到按键松手*/ uint8_t Key_GetNum(void) {uint8_t KeyNum 0; //定义变量默认键码值为0if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) 0) //读PB1输入寄存器的状态如果为0则代表按键1按下{Delay_ms(20); //延时消抖while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) 0); //等待按键松手Delay_ms(20); //延时消抖KeyNum 1; //置键码为1}if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) 0) //读PB11输入寄存器的状态如果为0则代表按键2按下{Delay_ms(20); //延时消抖while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) 0); //等待按键松手Delay_ms(20); //延时消抖KeyNum 2; //置键码为2}return KeyNum; //返回键码值如果没有按键按下所有if都不成立则键码为默认值0 }Key.h#ifndef __KEY_H #define __KEY_Hvoid Key_Init(void); uint8_t Key_GetNum(void);#endif光敏传感器控制蜂鸣器 main.c#include stm32f10x.h // Device header #include Delay.h #include buzzer.h #include lightsenoer.hint main(void) {buzzer_init(); //初始化蜂鸣器lightsenoer_init(); //初始化光敏传感器while(1){if(lightsenoer_get() 1) //光线暗模块本身不亮指示灯{buzzer_off(); //关闭蜂鸣器}else{buzzer_on(); //否者打开蜂鸣器}}} buzzer.c#include stm32f10x.h // Device headervoid buzzer_init(void) //蜂鸣器初始化 {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //开启时钟GPIO_InitTypeDef GPIO_InitStruct; //定义结构体变量GPIO_InitStruct.GPIO_Mode GPIO_Mode_Out_PP;//推挽输出GPIO_InitStruct.GPIO_Pin GPIO_Pin_12; //pa12端口GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOB,GPIO_InitStruct);//传递地址GPIO_SetBits(GPIOB,GPIO_Pin_12);//初始化为高电平蜂鸣器不响 }void buzzer_on(void) {GPIO_ResetBits(GPIOB,GPIO_Pin_12); } void buzzer_off(void) {GPIO_SetBits(GPIOB,GPIO_Pin_12); }void buzzer_turn(void) {if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12) 0){GPIO_SetBits(GPIOB,GPIO_Pin_12);}else{GPIO_ResetBits(GPIOB,GPIO_Pin_12);} } buzzer.h#ifndef __BUZZER_H #define __BUZZER_Hvoid buzzer_init(void); void buzzer_on(void); void buzzer_off(void); void buzzer_turn(void);#endif lightsenoer.c#include stm32f10x.h // Device headervoid lightsenoer_init(void) //光敏传感器初始化函数 {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPU; //上拉输入默认高电平状态若始终接在端口上也可以选择浮空输入只要保证引脚不会悬空即可GPIO_InitStruct.GPIO_Pin GPIO_Pin_13; //pb13端口GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOB,GPIO_InitStruct); }uint8_t lightsenoer_get(void) //返回端口值函数 {return GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13); } lightsenoer.h#ifndef __LIGHTSENOER_H #define __LIGHTSENOER_Hvoid lightsenoer_init(void); uint8_t lightsenoer_get(void);#endif 希望对你有帮助
http://www.dnsts.com.cn/news/107279.html

相关文章:

  • 高青网站建设wordpress 新建 模板
  • 电商 网站 备案如何在门户网站做推广方案
  • 美的网站建设域名解析ip
  • iis 网站设置做网站制作外包
  • 国家对网站建设的要求可以写程序的软件
  • .net如何做直播网站太原市住房和城乡建设局的网站
  • 坪山网站建设多少钱dede网站模板客
  • 免费企业官网怎么做seo是做什么工作内容
  • 青岛易龙网站建设云南网页
  • 企业网站怎么搜索优化做微商自己建网站合适吗
  • 网站建设总结经验jsp网站开发教学视频
  • 绍兴网站制作系统湖南常德邮编
  • 代做ansys网站自己开网店
  • 北京中小型网站建设北京最大做网站的公司
  • 民宿网站建设方案钟祥网站开发
  • 可以做彩字的网站网站外链有死链
  • 服装网站建设需要什么内容免费推广网站怎么做
  • 南阳网站建设赛科出于安全保障需要
  • 中卫网站推广外包服务高端网站建设公司有必要做吗
  • 网站建设目的与意义电子商务网站建设实训报告文章
  • 线上注册公司是在哪个网站互联网营销是做什么
  • 网站访问量大打不开做一家公司网站要注意哪些
  • 网站外链建设到底该怎么做石狮网站建设制作
  • wordpress模板 站长ui设计优秀案例
  • 网站设置保存登录密码怎么取消服务器搭建网站用什么系统
  • 甘肃省住房和建设厅官方网站选择大连网站建设
  • 做租凭网站是经营性吗长治网站制作教程
  • 门户网站后台管理系统开发三味风车动漫无修
  • 东莞 骏域网站建设平面设计师务所
  • 慈溪网站制作哪家最便宜长沙做官方网站