LED闪烁&LED流水灯&蜂鸣器的面包板接线图,及对应程序示例
LED闪烁
面包板接线图如下
开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0,50HZ速度
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_Init(GPIOA,&GPIO_InitStructure);
//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
while(1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
Delay_s(1);
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
Delay_s(1);
}
}
LED流水灯
面包板接线图如下
开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0-A7,50HZ速度
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; //也可以这样
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_Init(GPIOA,&GPIO_InitStructure);
//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
while(1)
{
GPIO_Write(GPIOA,~0x0001);//低电平按位取反 0000 0000 0000 0001 第一个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0002);//低电平按位取反 0000 0000 0000 0010 第二个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0004);//低电平按位取反 0000 0000 0000 0100 第三个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x008);//低电平按位取反 0000 0000 0000 1000 第四个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0010);//低电平按位取反 0000 0000 0001 0000 第五个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0020);//低电平按位取反 0000 0000 0010 0000 第六个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0040);//低电平按位取反 0000 0000 0100 0000 第七个IED灯亮
Delay_ms(100);
GPIO_Write(GPIOA,~0x0080);//低电平按位取反 0000 0000 1000 0000 第八个IED灯亮
Delay_ms(500);
}
}
蜂鸣器
面包板接线图如下
开启APB2时钟,并且在GPIOB上进行配置,推挽输出,引脚B12,50HZ速度
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_Init(GPIOB,&GPIO_InitStructure);
//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平
//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平
//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_12); //响100毫秒停100毫秒响100毫秒停700毫秒
Delay_ms(100);
GPIO_SetBits(GPIOB,GPIO_Pin_12);
Delay_ms(100);
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
Delay_ms(100);
GPIO_SetBits(GPIOB,GPIO_Pin_12);
Delay_ms(700);
}
}
希望对你有帮助