标题:
51单片机独立按键的使用代码
[打印本页]
作者:
小老弟~
时间:
2020-11-22 13:25
标题:
51单片机独立按键的使用代码
/*发这些代码是为了把自己学习51单片机过程中的一些自己练习写的程序分享给大家
发出来的都是经过测试没问题的,算是给新入门朋友们的一个参考,也算是
对自己学习过程的一个记录,有问题给我留言哦,我会尽自己最大努力去解
答的 ---小老弟~ */
//独立按键的使用
#include "reg51.h" //包含头文件 //
typedef unsigned char u8; //设置无符号字符型变量为u8
typedef unsigned int u16; //设置无符号整型变量为u16
sbit led=P2^0; //将LED接在P2.0管脚,定义管脚
sbit key=P3^1; //将独立按键接在P3.1管脚,定义管脚
void delay(u16 i) //延时程序
{
while(i--);
}
void keypros() //按键处理函数(尽量将所用的功能模块化,这样可以使主函数看起来没那么冗长
//对后期进行程序调试时也会方便很多
{
if(key==0) // 按键检测
{
delay(1000); // 延时是为了消抖,按键有弹性,会产生抖动误判,也就是按一次可能会识别成很多次
if(key==0) // 消抖后再次检测
{
led=~led; // LED管脚取反,LED管脚便会在高低电平间转换,即LED闪烁
}
while(!key); // 松手检测,由于按键一端接管脚,一端接地,当按键按下时管脚检测为低电平
// 所以当松手后按键电平恢复为高电平,即结束while()循环
}
}
void main() //主函数
{
while(1) //无限循环,一直进行按键检测
{
keypros(); //调用按键检测函数
}
}
作者:
xqleft
时间:
2020-11-23 15:22
小老弟, 多看看工作时候的项目程序, 少看一点这些程序,用处不是很大. 我给你看下我实际项目的程序.
9ACPPMEAD7R5706EBXFIAVY.png
(38.24 KB, 下载次数: 72)
下载附件
2020-11-23 15:22 上传
作者:
小老弟~
时间:
2020-11-23 19:28
好的,谢谢大佬,最近我也在尝试着把自己所要写的程序工程化,但苦于找不到太多例子去参考,在其他一些模块的应用仿真上也有些问题,但又难于找不到人请教,谢谢大佬的指正和建议,我会尽量去实现的,还希望以后能向您多请教一些东西
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1