欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2388|回復(fù): 7
收起左側(cè)

C語(yǔ)言鍵盤(pán)掃描程序的疑問(wèn)

[復(fù)制鏈接]
ID:597405 發(fā)表于 2019-10-23 22:13 | 顯示全部樓層 |閱讀模式
void keydown()
{
u8 a;
key=0x0f;
if(key!=0x0f)
{
delay(1000);
   if(key!=0x0f)
    {
        key=0x0f;//為什么這里要再一次賦值,如果賦值后,KEY置不沖突嗎??前面明明判斷為不等于0x0f.
         switch(key)
         {
         case(0x07):keyvalue=0;break;
         case(0x0b):keyvalue=1;break;
         case(0x0d):keyvalue=2;break;
         case(0x0e):keyvalue=3;break;         
         }

回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2019-10-23 23:46 | 顯示全部樓層
void keydown()
{
u8 a;
key=0x0f;                    //這里的key應(yīng)該是定義為按鍵的端口了,如P0,key=0x0f是打通低4位輸入通道
if(key!=0x0f)               //讀出端口判斷有無(wú)鍵按下
{
delay(1000);               //一般是延時(shí)10ms進(jìn)行消抖
   if(key!=0x0f)           //再次讀低4位進(jìn)行判斷
    {
        key=0x0f;          //再一次打通低4位輸入通道
         switch(key)       //讀出端口值進(jìn)行判斷
         {
         case(0x07):keyvalue=0;break;     //這個(gè)地方似乎常量不對(duì),應(yīng)包括高4位的的值,,否則要改為switch(key&0x0f)
         case(0x0b):keyvalue=1;break;
         case(0x0d):keyvalue=2;break;
         case(0x0e):keyvalue=3;break;         
         }
回復(fù)

使用道具 舉報(bào)

ID:411550 發(fā)表于 2019-10-24 01:15 | 顯示全部樓層
再一次賦值,是為了進(jìn)行列掃描。雖然賦了值,但按下按鍵的所在列的管腳會(huì)被拉低,switch語(yǔ)句則可以正常識(shí)別哪一列導(dǎo)通,所以KEY值并不會(huì)沖突
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2019-10-24 07:47 | 顯示全部樓層
在這個(gè)程序中,樓主的疑問(wèn)基本是對(duì)的。這是一贅句,沒(méi)有好處也沒(méi)有害處。只是白占了一點(diǎn)資源。
回復(fù)

使用道具 舉報(bào)

ID:597405 發(fā)表于 2019-10-24 18:38 | 顯示全部樓層

謝謝,說(shuō)的很詳細(xì)!!
回復(fù)

使用道具 舉報(bào)

ID:597405 發(fā)表于 2019-10-24 18:39 | 顯示全部樓層
噗噗噗p 發(fā)表于 2019-10-24 01:15
再一次賦值,是為了進(jìn)行列掃描。雖然賦了值,但按下按鍵的所在列的管腳會(huì)被拉低,switch語(yǔ)句則可以正常識(shí)別 ...

大概明白了,就是說(shuō)在按鍵按下時(shí),賦值,立馬拉低,單片機(jī)會(huì)更好的識(shí)別。
回復(fù)

使用道具 舉報(bào)

ID:597405 發(fā)表于 2019-10-24 18:41 | 顯示全部樓層
wulin 發(fā)表于 2019-10-24 07:47
在這個(gè)程序中,樓主的疑問(wèn)基本是對(duì)的。這是一贅句,沒(méi)有好處也沒(méi)有害處。只是白占了一點(diǎn)資源。

嘿嘿,謝了哦,一開(kāi)始不好理解。后來(lái)我把這行刪除,似乎不影響效果~
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2019-10-24 20:58 | 顯示全部樓層
原則上付一次1就可以了,贊同地板的說(shuō)法。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表