导航:首页 > 操作系统 > 单片机按键释放检测程序

单片机按键释放检测程序

发布时间:2024-06-01 16:05:44

‘壹’ at89c51单片机等待键释放的程序怎么写

楼上的都是使用等待按键松手的方法,比较容易理解,还有一种等待按键释放的程序段思路大概是这样的:设置一个标志位,然后,有按键按下置位标志位,按键松开清空标志位,去判断标志位,就知道按键松开了没,这样不用让cpu等待按键松开,在等待的时间里,cpu还可以做其他的事情

‘贰’ 璋佽兘甯鎴戝啓涓涓绠鍗旷殑鎸夐敭妫娴媍璇瑷绋嫔簭 锷熻兘锛屾垜𨱍崇敤鍗旷墖链哄幓妫娴嬫寜阌鍦ㄤ竴绉挜挓鍐呮寜阌琚鎸変笅浜嗗氩皯娆★纴

#include<reg51.h>

#defineucharunsignedchar

#defineuintunsignedint


sbitled1=P2^0;//瀹氢箟绠¤剼锛

sbitled2=P2^1;

sbitled3=P2^2;

sbitled4=P2^3;

sbitled5=P2^4;

sbitled6=P2^5;

sbitkey=P1^0;


uchartcount=0,count=0;//瀹氢箟镞堕棿鍙橀噺鍜屾寜阌璁℃暟鍙橀噺锛


voidDelay(uchari)//链烘板欢镞讹绂

{

while(--i);

}


voidLedLight(void)//LED鎺у埗鍑芥暟锛

{

switch(count)

{

case3:led1=0;break;//3涓嬫椂,LED1浜锛

case5:led2=0;break;//5涓嬫椂,LED2浜锛

case7:led3=0;break;//7涓嬫椂,LED3浜锛

case9:led4=0;break;//9涓嬫椂,LED4浜锛

case11:led5=0;break;//11涓嬫椂,LED5浜锛

case13:led6=0;break;//13涓嬫椂,LED6浜锛

default:P2=0xff;break;//鍏朵綑镄勯兘涓崭寒锛

}

}


voidInitTimer0(void)//瀹氭椂鍣0鍒濆嫔寲锛

{

TMOD=0x00;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

}


voidmain(void)//涓诲嚱鏁

{

InitTimer0();

while(1)//镞犻檺寰鐜;

{

if(key==0)//妫镆ユ寜阌鏄钖︽寜涓嬶绂

{

Delay(10);//链烘板欢镞;

if(key==0){count++;}//鎸夐敭璁℃暟;

while(key==0);

}

if(TF0==1)//澶崭綅瀹氭椂鍣0;

{

TF0=0;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

tcount++;

if(tcount==20)//1绉掔殑镞堕棿;

{

LedLight();

Delay(100);

count=0;//澶崭綅鎸夐敭璁℃暟鍙橀噺;

}

}

}

}

阅读全文

与单片机按键释放检测程序相关的资料

热点内容
python类装饰器参数 浏览:345
均线pdf微盘 浏览:789
女生喜欢玩的解压游戏 浏览:440
支付宝暗号加密操作 浏览:133
柯洁在哪个app下围棋 浏览:751
平板用什么app看内在美 浏览:609
cad计算机命令 浏览:173
邮箱设置域名服务器错误什么意思 浏览:671
硬盘解压失败受损蓝屏 浏览:654
应用和服务器是什么意思 浏览:485
程序员需要知道的网站 浏览:713
微信支付页面加密码怎么加 浏览:57
网络加密狗问题 浏览:698
cnc曲面编程实例 浏览:170
什么app零粉分发视频有收益 浏览:164
肯尼亚程序员 浏览:640
新科源码 浏览:661
如何判断服务器有没有带宽 浏览:44
天正建筑批量删除命令 浏览:96
cad最下面的一排命令都什么意思 浏览:456