51系列单片机常用复位方法(玩转51单片机3-1)
51系列单片机常用复位方法(玩转51单片机3-1)图1-4 主函数图1-2 所需元器件图1-3 完整原理图软件部分代码见评论区,这里选取主函数进行讲解。主函数如下图1-4所示: 首先是变量value申明;GPIO_led =0是关闭LED灯,使得默认状态LED灯是关闭的;在主循环里调用key_scan()函数来判断按键是否按下,如果按键按键则返回值是1,按键没有按下返回值是0;通过对value值的判断,来确定按键,当按一下时,value=1,LED灯打开;再按一下,value=0,LED灯关闭。依次循环。
按键介绍本章开始,我们学习按键相关的知识。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘。在单片机组成的各种系统中我们经常用的是非编码键盘,又分为:独立键盘和行列式(又称为矩阵式)键盘。本章着重讲解独立按键。
所谓独立按键,就是每个按键占用单片机的一个 I/O 口,读取I/O 口的高低电平,所读取到的电平的状态反映了所接按键的状态。如图 1-1所示,如果按键未按下,由于 I/O 自身内部和外部4.7K上拉电阻的作用,则对应的 I/O 口为高电平;如果按键按下,则会形成一条电流通路,这样标号“Key1~Key4”都为低电平(0V),继而对应的端口就为低电平。
图1-1 独立按键原理图
硬件设计部分本章硬件资源主要包括有两个部分,其一是独立按键的检测,其二是LED灯的显示。实现的功能是:按键按下,LED灯点亮,当按键释放时,LED灯熄灭。原理图设计如下(资料在评论区)
图1-2 所需元器件
图1-3 完整原理图
软件设计部分软件部分代码见评论区,这里选取主函数进行讲解。主函数如下图1-4所示: 首先是变量value申明;GPIO_led =0是关闭LED灯,使得默认状态LED灯是关闭的;在主循环里调用key_scan()函数来判断按键是否按下,如果按键按键则返回值是1,按键没有按下返回值是0;通过对value值的判断,来确定按键,当按一下时,value=1,LED灯打开;再按一下,value=0,LED灯关闭。依次循环。
图1-4 主函数
实验效果