欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
c51單片機(jī)獨(dú)立按鍵控制一盞燈亮滅編程問題
[打印本頁]
作者:
單片機(jī)之神
時(shí)間:
2020-4-4 16:32
標(biāo)題:
c51單片機(jī)獨(dú)立按鍵控制一盞燈亮滅編程問題
各位大佬,如果我不用位定義,改為總線操作方法編寫這個(gè)程序,那么判斷按鍵抬起while(! )這個(gè)括號(hào)里我該怎么編寫?
附圖片
IMG_20200404_162945.jpg
(549.15 KB, 下載次數(shù): 48)
下載附件
2020-4-4 16:30 上傳
作者:
單片機(jī)之神
時(shí)間:
2020-4-4 17:22
為什么沒有大神幫我解答一下,各位大神幫忙看看
作者:
mffhxa
時(shí)間:
2020-4-4 19:37
P3^0XFF 就可以了,不要 !。
作者:
tyrl800
時(shí)間:
2020-4-4 19:44
while(P3!=0xfe );
作者:
benclee
時(shí)間:
2020-4-4 20:26
不加while判斷抬起也可以實(shí)現(xiàn)功能了吧。
作者:
xxpp2011
時(shí)間:
2020-4-4 20:28
無鍵按下P3為0XFF,按鍵按下P3為0XFE,按鍵抬起P3恢復(fù)到0XFF,所以判斷按鍵抬起可以用while(P3!=0XFF);
意思是直到P3=0XFF時(shí)才跳出循環(huán),也可以寫作while(!P3==0XFF);
作者:
我叫小大打
時(shí)間:
2020-4-4 21:35
#include<reg51.h>
#define uchar unsigned char
sbit KEY_S1=P3^0; //定義輸入引角
sbit KEY_S2=P3^1;
sbit KEY_S3=P3^2;
sbit KEY_S4=P3^3;
void main(void)
{
uchar temp;
P3=0xff; //將p3口置成輸入狀態(tài)
while(1)
{
temp=P3;
switch(temp&=0x0f) //屏蔽高4位
{
case 0x0e:P1=0xe7;break; //按下k1,p1端口位3、位4控制的led燈亮
case 0x0d:P1=0xdb;break; //按下k2,p1端口位2、位5控制的led燈亮
case 0x0b:P1=0xbd;break; //按下k3,p1端口位1、位6控制的led燈亮
case 0x07:P1=0x7e;break; //按下k4,p1端口位0、位7控制的led燈亮
default:P1=0xc3;break; //不按鍵或同時(shí)按下多個(gè)按鍵時(shí),p1端口位2、位3、位4、位5控制的led燈亮
}
}
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1