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

qq是腾讯的还是阿里的巩义网站优化公司

qq是腾讯的还是阿里的,巩义网站优化公司,网页设计 网站维护,django怎么做网站标准库代码示例 1、点亮LED2、LED闪烁3、LED流水灯4、按键控制LED5、蜂鸣器 本章源代码链接: 链接: link 1、点亮LED 实验要求:点亮LED ①LED.c文件的代码如下: #include "LED.h"/*** LED引脚初始化*//* 定义数组,想要添加引脚…

标准库代码示例

  • 1、点亮LED
  • 2、LED闪烁
  • 3、LED流水灯
  • 4、按键控制LED
  • 5、蜂鸣器

本章源代码链接:

链接: link

1、点亮LED

实验要求:点亮LED
在这里插入图片描述

①LED.c文件的代码如下:

#include "LED.h"/*** LED引脚初始化*//* 定义数组,想要添加引脚向里面添加即可 */
uint16_t GPIO_A[] = {PA0,PA1,PA2,PA3};
static uint8_t GPIONum = sizeof(GPIO_A)/sizeof(GPIO_A[0]);
void LED_Init(void)
{/* 1、开启GPIOA的时钟 */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);/* 2、对引脚工作模式进行配置:通用推挽输出 */GPIO_InitTypeDef GPIO_InitStruct;for(uint8_t i = 0; i < GPIONum; i++){GPIO_InitStruct.GPIO_Pin = GPIO_A[i];GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;GPIO_Init(GPIOA, &GPIO_InitStruct);}
}/*** 点亮LED* PAx:PA0~PA3*/
void LED_ON(uint16_t PAx)
{/* 点亮LED,引脚输出高电平 */GPIO_SetBits(GPIOA, PAx);
}/*** 熄灭LED* PAx:PA0~PA3*/
void LED_OFF(uint16_t PAx)
{/* 熄灭LED,引脚输出低电平 */GPIO_ResetBits(GPIOA, PAx);
}/*** 翻转LED* PAx:PA0~PA3*/
void LED_Turn(uint16_t PAx)
{/* 如果LED是点亮 */if(GPIO_ReadOutputDataBit(GPIOA, PAx))//输出引脚为高电平{/* 熄灭LED */LED_OFF(PAx);}else{/* 否则点亮LED */LED_ON(PAx);}
}

②LED.h文件的代码如下:

#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"   #define PA0 GPIO_Pin_0
#define PA1 GPIO_Pin_1
#define PA2 GPIO_Pin_2
#define PA3 GPIO_Pin_3void LED_Init(void);
void LED_ON(uint16_t PAx);
void LED_OFF(uint16_t PAx);
void LED_Turn(uint16_t PAx);#endif

③Delay.c文件的代码如下:(定时器章节进行讲解)

#include "Delay.h" /** 延迟函数us*/
void Delay_us(uint16_t us)
{// 设置 SysTick 的计数周期SysTick_Config(SystemCoreClock/1000000); // 每周期 1us// 关闭 SysTick 的中断,不可省略SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;// 开始计数for(uint32_t i=0; i<us; i++){   // 循环一次就是 1uswhile( !((SysTick->CTRL)&(1<<16)) );}// 关闭 SysTick 定时器SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;
}/** 延迟函数ms*/
void Delay_ms(uint16_t ms)
{while (ms--){Delay_us(1000);}
}/** 延迟函数s*/
void Delay_s(uint16_t s)
{while (s--){Delay_ms(1000);}
}

④Delay.h文件的代码如下:

#ifndef __Delay_h
#define __Delay_h
#include "stm32f10x.h"// Device headervoid Delay_us(uint16_t us);
void Delay_ms(uint16_t ms);
void Delay_s(uint16_t s);#endif

⑤main.c文件的代码如下:

#include "LED.h"int main(void)
{LED_Init();LED_ON(PA0);while(1) {}
}

2、LED闪烁

实验要求:LED每隔1s亮灭
在这里插入图片描述

⑤main.c文件的代码如下:

#include "LED.h"
#include "Delay.h"int main(void)
{LED_Init();while(1) {LED_ON(PA0);Delay_ms(500);LED_OFF(PA0);Delay_ms(500);}
}

3、LED流水灯

在这里插入图片描述
⑤main.c文件的代码如下:

#include "LED.h"
#include "Delay.h"extern uint16_t GPIO_A[];
int main(void)
{LED_Init();while(1) {for(uint8_t i = 0; i < 4; i++){LED_ON(GPIO_A[i]);           //点亮LED_OFF(GPIO_A[(i+3)%4]);    //熄灭Delay_ms(500);}}
}	

4、按键控制LED

在这里插入图片描述

①Key.c文件的代码如下:

#include "Key.h"/*** Key1引脚PB0的初始化*/
void Key_Init(void)
{/* 1、开启GPIOB的时钟 */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);/* 2、对引脚工作模式进行配置:上拉输入模式 */GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(GPIOB, &GPIO_InitStruct);
}/*** 检测按键是否按下*/
uint8_t Key_Num(void)
{uint8_t num = 0;if(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0))           //如果按键按下{Delay_ms(10);                                       //延时消抖if(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0))       //按键真的按下{while(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0));  //等待按键松开Delay_ms(10);                                      //延时消抖num = 1;}}return num;
}

②Key.h文件的代码如下:

#ifndef __Key_H
#define __Key_H
#include "stm32f10x.h"   
#include "Delay.h"void Key_Init(void);
uint8_t Key_Num(void);#endif

③main.c文件的代码如下:

#include "LED.h"
#include "Key.h"int main(void)
{LED_Init(PA0);Key_Init();while(1){if(Key_Num() == 1){LED_Turn(PA0);}}
}

5、蜂鸣器

在这里插入图片描述

😀蜂鸣器模块的IO引脚输入低电平时,蜂鸣器响;IO引脚输入高电平时,蜂鸣器不响。
图蜂鸣器IO连接着单片机的PC1引脚,PC1输出低电平,蜂鸣器响,输出高电平,蜂鸣器不响

①Buzzer.c文件的代码如下:

#include "Buzzer.h"/*** 蜂鸣器引脚的初始化*/
void Buzzer_Init(void)
{/* 1、开启GPIOC的时钟 */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);/* 2、对引脚工作模式进行配置:通用推挽输出 */GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;GPIO_Init(GPIOC,&GPIO_InitStruct);
}/*** 蜂鸣器响*/
void Buzzer_ON(void)
{/* PC1输出低电平 */GPIO_ResetBits(GPIOC, GPIO_Pin_1);
}/*** 蜂鸣器不响*/
void Buzzer_OFF(void)
{/* PC1输出高电平 */GPIO_SetBits(GPIOC, GPIO_Pin_1);
}

②Buzzer.h文件的代码如下:

#ifndef __Buzzer_H
#define __Buzzer_H
#include "stm32f10x.h"   void Buzzer_Init(void);
void Buzzer_ON(void);
void Buzzer_OFF(void);#endif

③main.c文件的代码如下:

#include "Buzzer.h"
#include "Delay.h"int main(void)
{Buzzer_Init();while(1){Buzzer_ON();    //响Delay_ms(200);Buzzer_OFF();   //不响Delay_ms(200);}
}
http://www.dtcms.com/a/513758.html

相关文章:

  • 网站关键词怎么设置可以直接进网站正能量小米
  • 网站评论列表模板自建网站定位
  • 简单 网站设计美工素材网站
  • 株洲营销型网站建设网站在那里
  • 更新网站的步骤wordpress评论微信通知
  • 湖北住房与城乡建设厅网站局机关门户网站建设自查报告范文
  • 东莞做网站微信巴巴淘宝网页制作素材
  • 手机网站模板制作企业网站建设合同方案
  • 【LeetCode】83. 删除排序链表中的重复元素
  • 网站建设流程咨询设计网站要包含信息类型
  • wordpress主题换字体如何结合搜索检索与seo推广
  • 中山网站建设文化机构百度推广广告收费标准
  • 网站 设计 趋势网站规划建设书
  • 孙红雷做的二手车网站公司企业网络推广
  • 哪些网站做任务可以赚钱平乡县网站建设平台
  • 西宁建站天元建设集团有限公司重要事件
  • c 做网站教程网络服务商的英文缩写
  • 简单的购物网站设计阿里巴巴外贸平台是什么
  • 沧州网站域名注册服务公司网站上的图片一般多大合适
  • 北京招聘网站建设网站 自定义表单
  • 在中国怎么做国外网站阿里巴巴1688采购平台官网
  • 西安网站建站优化北京海淀区居家办公
  • 田园综合体建设网站wordpress变404
  • 做汽配网站需要多少钱自己做网站不如帮别人做运营
  • 站长之家appwordpress 前台插件
  • 做门窗安装用哪些网站找生意wordpress使用邮箱
  • 帮别人做彩票网站电脑公司网站源码php
  • 做 网站 技术支持 抓获黄冈做网站的公司
  • 贵州桥梁集团建设有限公司网站2017年到2018年建设的网站
  • 一个公司网站设计需求潍坊公司网站模板建站