前言 点亮led灯实验是单片机内部向指定引脚发送信号(高低电平),而按键实验是外部输入个指定引脚的信号(比如:人按下按键,外部传感器的输入信号等)。 原始代码和原理图在这
首先按照上面链接建立一个KEY文件夹,里面同样建立ked.c和key.h文件,文件书写如下
key.c
//按键初始化函数
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA时钟,对应按键引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置模式
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
key.h
void KEY_Init(void);
同样主函数将key.h文件与函数名包含,详情见
参照上半张图,KEY1与地分别通过两条连接3v3,正常情况下KEY1那条支路不导通,3v3与地相连,当K1按下时,KEY1那条路导通,PA0就变为高电平了,通过测得PA0的电平高低,来实现灯的亮灭,附上一部分程序,当按键按下时,红灯亮
if(KEY1 ==1)LEDG = 0;
|