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

云南网站开发公司推荐电子商务考研最佳方向

云南网站开发公司推荐,电子商务考研最佳方向,在线html网站开发,ps教程自学网按键控制LED 按键抖动&#xff0c;电平发生变化&#xff0c;可用延时函数抵消按键抖动对系统的影响 传感器电路图 按键电路图 c语言对应类型 “_t”后缀表示使用typedef重命名的数据类型 枚举类型 #include<iostream> using namespace std; //定义枚举类型 typedef enu…

按键控制LED

按键抖动,电平发生变化,可用延时函数抵消按键抖动对系统的影响

在这里插入图片描述

传感器电路图

在这里插入图片描述

按键电路图

在这里插入图片描述

c语言对应类型

“_t”后缀表示使用typedef重命名的数据类型

在这里插入图片描述

枚举类型

在这里插入图片描述

#include<iostream>
using namespace std;
//定义枚举类型
typedef enum{Mon=1,Tue=2,Wed=3
} week_t;
int main(){week_t w;w=Wed; //对星期类型设定指定量cout << w << endl;return 0;
}

按键控制LED灯

主函数

#include "stm32f10x.h"                  // Device header
#include "MyDelay.h"   //自定义延时函数
#include "Delay.h"     //官方延迟函数
#include "Button.h"   //按键Led驱动
#include "stdio.h"uint8_t KeyNum ;
int main(void){//初始化Led_Init();Button_Init();//按键控制led灯while(1){KeyNum = Key_GetNum();if(KeyNum==1) {Led_One_Turn();}if(KeyNum==2){Led_Two_Turn();}}return 0;
}

Button

//头文件
#ifndef Led_h  //若没有定义该变量,则定义
#define led_h
//LED驱动
void Led_Init(void);
//按键初始化,按键用于输入,不用设置输出的速度
void Button_Init(void);
//获取是哪个按键被按下
uint8_t Key_GetNum(void);
//灯1亮
void Led_One_Turn(void);
//灯2亮
void Led_Two_Turn(void);
#endif//源文件
#include "stm32f10x.h" 
#include "Delay.h"
#include "stdio.h"
//Led初始化
void Led_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GI;GI.GPIO_Mode = GPIO_Mode_Out_PP;GI.GPIO_Pin = GPIO_Pin_All;GI.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GI);//设置led灯对应引脚为高电平GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1); //A0,A1引脚高电平,灯灭
}
//按键初始化,按键用于输入,不用设置输出的速度
void Button_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //时钟使能GPIO_InitTypeDef Button;Button.GPIO_Mode = GPIO_Mode_IPU; //上拉输入模式,保持高电平Button.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_11; //按键所在引脚  Button.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&Button);
}  
//获取是哪个按键被按下
uint8_t Key_GetNum(void){uint8_t KeyNum=0;//按键1if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0){  //按键按下读取输入数据Delay_ms(20); //按下抖动while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0 ); //等待度过按键触底期Delay_ms(20);  //弹起抖动KeyNum=1;  //按键一}//按键11if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0){  //读取输入数据Delay_ms(20); //按下抖动while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11) == 0); //等待度过按键触底期Delay_ms(20);  //弹起抖动KeyNum=2;  //按键二}return KeyNum; //返回按键号码
}
//灯1
void Led_One_Turn(void){uint8_t Light_Status = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);if(Light_Status==0) GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);else GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);
}//灯2
void Led_Two_Turn(void){uint8_t Light_Status = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1);if(Light_Status==0) GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_SET);else GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_RESET);
}

光敏传感蜂鸣器(绿灯常亮,光线变暗,红灯亮,警报响起,光线恢复,警报解除)

在这里插入图片描述

//光敏蜂鸣器头文件
#ifndef Buzzer
#define Buzzer
//读取光敏传感器的数据
uint8_t Read_Buzzer_Data(void);
//初始化环境
void Buzzer_PhotoResitors_Init(void);
//光敏电阻响应
void Reaction_PhotoResitors(void);
//蜂鸣器响应
void Buzzer_Ring(void);
//蜂鸣器安静
void Buzzer_Slient(void);
#endif//源文件
#include "stm32f10x.h"
#include "Button.h"
#include "Delay.h"
//读取光敏传感器的数据
uint8_t Read_Buzzer_Data(void){return  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13); //读取蜂鸣器引脚数据
}
//初始化蜂鸣器和光敏电阻环境
void Buzzer_PhotoResitors_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);  //B端口时钟使能GPIO_InitTypeDef Buzzer;Buzzer.GPIO_Mode = GPIO_Mode_IPU; //上拉输入,保持光敏电阻在线Buzzer.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_12; Buzzer.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&Buzzer);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_SET);
}
//蜂鸣器响应,红灯亮
void Buzzer_Ring(void){GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);  //红灯亮GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_SET);  //绿灯灭while(1){GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_RESET);  //低电平有效Delay_ms(200);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_SET);Delay_ms(300);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_RESET);  //低电平有效Delay_ms(300);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_SET);Delay_ms(100);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_RESET);  //低电平有效Delay_ms(200);GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_SET);Delay_ms(300);break;     //要退出循环,不然一直响,也回不到绿灯状态}}
//蜂鸣器安静,绿灯亮
void Buzzer_Slient(void){GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);  //红灯灭GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_RESET);  //绿灯亮GPIO_WriteBit(GPIOB,GPIO_Pin_12,Bit_SET);  //高电平无效
}
//光敏电阻响应
void Reaction_PhotoResitors(void){uint8_t  RP = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13);  if(RP==1) Buzzer_Ring();else Buzzer_Slient();
}

项目结构

在这里插入图片描述

http://www.yayakq.cn/news/783980/

相关文章:

  • 数据服务网站策划方案网站备案规则
  • 教育类网站开发需求说明书深圳网站建设吗
  • 建设网站商城wordpress的小程序
  • 小游戏网站欣赏移动互联网软件开发与应用
  • 企业为什么要做网站 作用是什么frp可以做网站吗
  • 南京本地网站建设10套免费ppt模板
  • 做的网站为什么图片看不了最近的广告公司在哪里
  • 佛山网站搭建公司哪家好代加工网
  • 网站在网站网站在哪里找到的wordpress 企业插件
  • 软文网站大全爱用建站官网
  • 重庆专业做淘宝网站wordpress 插件 后门
  • 陕西建设机械官方网站ICP备案和实际网站不是一个名字
  • 如何制作网站链接建筑工程发布网站
  • 想做一个静态网页网站不需要有后台数据库wordpress本地调试修改域名
  • 视频网站数据库设计个人接单做网站的平台
  • 电子商务网站的优势网站开发所要达到的目标
  • 建筑图集网站珠海在线网站建设
  • 珠海免费网站制作wordpress免费企业网站
  • 饮料网站建设wordpress站外链接页面
  • 做酒店网站的公司免费拥有自己的网站
  • 教育网站建设 培训网站建设仓储服务 东莞网站建设 技术支持
  • 网站制定公司wordpress与phpstudy
  • 网站对图片优化中国新闻社是央企吗
  • 有没有专门做帽子的网站嘉兴关键词优化服务
  • 明薇通网站建设首选wordpress国外主题下载
  • 企业建立网站需要国家网站后缀
  • 石家庄有哪些做网站的公司可以做彩票网站的工作室
  • 自己做电影网站违法吗大圣网站建设
  • 馆陶县网站做前端网站用什么软件写代码
  • 长春火车站高清图片wordpress搜索翻页404