99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

按鍵的復(fù)用應(yīng)該怎樣編寫程序?

以下的程序按鍵只能跳一次,如果按照我的流程圖工作應(yīng)該怎樣寫?

#include
void main()
{ unsigned char KeyValue;
for(;;)

{

    P2=0xff;
    
KeyValue=P2;
switch(KeyValue)
{
            if(P2=0xfe)
              else
     P1=0xfe;
case 0xfe:P1=0x00;break;  //P20
case 0xfd:P1=0xdd;break;  //P21
case 0xfb:P1=0xbb;break;  //P22
            case 0xf7:P1=0x77;break;  //P23
            case 0xef:P1=0x55;break;  //P23
}
}
}
全部回復(fù)(6)
正序查看
倒序查看
xing1234
LV.6
2
2009-03-28 09:19
可以用時(shí)間來區(qū)分,比如長(zhǎng)按多少時(shí)間,或連續(xù)按幾次,或按下后等多少時(shí)間再按下,具體要與用戶商量,看他們能接受哪種方式.這是我的一點(diǎn)小經(jīng)驗(yàn),供參考.
0
回復(fù)
madboy21
LV.8
3
2009-04-02 13:52
很簡(jiǎn)單的問題
你可以定義一個(gè)靜態(tài)變量或是全局變量KEY1_state;
if(KEY1_UP)KEY1_state++;
而執(zhí)行子程序按KEY1_state的數(shù)據(jù)來選擇就可以了.
0
回復(fù)
金箍棒
LV.3
4
2009-04-03 16:26
@madboy21
很簡(jiǎn)單的問題你可以定義一個(gè)靜態(tài)變量或是全局變量KEY1_state;if(KEY1_UP)KEY1_state++;而執(zhí)行子程序按KEY1_state的數(shù)據(jù)來選擇就可以了.
madboy21: 你好!我還是不明白,能否詳細(xì)點(diǎn)!因?yàn)槲沂浅鯇W(xué)的.謝謝!
0
回復(fù)
madboy21
LV.8
5
2009-04-03 17:11
@金箍棒
madboy21:你好!我還是不明白,能否詳細(xì)點(diǎn)!因?yàn)槲沂浅鯇W(xué)的.謝謝!
手上有實(shí)驗(yàn)板不?我看你上面程序也是錯(cuò)誤的,初學(xué)者最好能配實(shí)驗(yàn)板學(xué)習(xí)會(huì)更好.
            if(P2=0xfe)
              else
     P1=0xfe;
上面不要包含在switch里面,if括號(hào)里等號(hào)應(yīng)是"=="

關(guān)于上面的問題:KEY_state按一次就加一,如果按了三次是不是數(shù)值就是三?也就是說這時(shí)應(yīng)去做什么工作(執(zhí)行什么程序)
0
回復(fù)
金箍棒
LV.3
6
2009-04-06 22:56
@madboy21
手上有實(shí)驗(yàn)板不?我看你上面程序也是錯(cuò)誤的,初學(xué)者最好能配實(shí)驗(yàn)板學(xué)習(xí)會(huì)更好.            if(P2=0xfe)              else    P1=0xfe;上面不要包含在switch里面,if括號(hào)里等號(hào)應(yīng)是"=="關(guān)于上面的問題:KEY_state按一次就加一,如果按了三次是不是數(shù)值就是三?也就是說這時(shí)應(yīng)去做什么工作(執(zhí)行什么程序)
我自己用萬用板搭了有一塊試驗(yàn)板.下面的程序只能檢測(cè)到一個(gè)按鍵.如果我要檢測(cè)到8個(gè)按鍵的話應(yīng)該怎樣改一下啊?
#include
#define uint unsigned int
#define uchar unsigned char
sbit key1=P2^0;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
  uchar num;

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
P1=0xfe;
P2=0xff;
while(1)
{
if(key1==0)
{
delay(5);
if(key1==0)
{
num++;
if(num==10)
num=0;
}
while(!key1);
delay(5);
while(!key1);
}
else
P1=table[num];
}
}
0
回復(fù)
madboy21
LV.8
7
2009-04-07 09:51
@金箍棒
我自己用萬用板搭了有一塊試驗(yàn)板.下面的程序只能檢測(cè)到一個(gè)按鍵.如果我要檢測(cè)到8個(gè)按鍵的話應(yīng)該怎樣改一下啊?#include#defineuintunsignedint#defineucharunsignedcharsbitkey1=P2^0;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  ucharnum;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){P1=0xfe;P2=0xff;while(1){if(key1==0){delay(5);if(key1==0){num++;if(num==10)num=0;}while(!key1);delay(5);while(!key1);}elseP1=table[num];}}
單片機(jī)編程需要配合實(shí)際電路,上面只給你一個(gè)提示方法.在你程序中找不到與你所畫流程圖相符的程序.修正下廷時(shí)程序:void delay(uint z){uint y;for(;z>0;z--)           {for(y=110;y>0;y--);};}看看我做的C51單片機(jī)學(xué)習(xí)板 
0
回復(fù)
發(fā)
主站蜘蛛池模板: 影音先锋亚洲熟女av网 | 亚洲欧洲日韩综合二区 | 尤物丰满少妇大尺度喷血写真 | 成人精品一区二区三区免费看 | 奇米第四影视 | 69久久夜色精品国产69 | 欧美亚洲日韩国产网站 | 人人爽av| 亚洲精品视频在线观看视频 | 欧美午夜精品一区二区蜜桃 | avtt天堂资源网站 | 久久不射2019中文字幕 | 韩国hd高清xxxx视频 | 精品一区二区三区四区蜜桃 | 中文在线www | 欧美精品在线不卡 | 法国性迷宫hd在线观看 | 在线观看a视频 | 在线视频观看国产 | 四虎影视最新网站 | 91剧场在线观看 | 成年人免费观看网站 | 欧美黑人欧美精品刺激 | 中日韩一区二区 | 日韩色综合 | 天天爱综合网 | 成人软件在线观看 | 18禁成年免费无码国产 | 国产精品无码午夜福利 | 色久综合一二码 | 国产在线看片免费视频在线观看 | 久久久国产三级 | 男女视频免费看 | 国产精品不卡一区 | 亚洲欧美日韩天堂一区二区 | 中文字幕在线观看不卡视频 | 国产成人午夜片在线观看高清观看 | 色综合欧美 | 91亚洲国产成人久久精品麻豆 | 永久免费看毛片 | 国产av无码专区亚洲avjulia |