|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)各位大蝦看一下這個(gè)鍵盤程序的函數(shù) |
| 作者:cucunum 欄目:技術(shù)交流 |
uchar c,c1,i; bit iskey=0; uchar dout[4]={0xdf,0xef,0xf7,0xfb}; uchar din[8]={0,1,0,2,0,0,0,3}; uchar code key[4][4]={{'1','4','*','7'},{'2','5','0','8'},{'3','6','#','9'}, {'U','D','Y','C'}}; for(i=0;i<4;i++) { P3=dout[i]; //掃描線 P1=0xff; c=P1 & 0x0f; //讀 if (c!=0x0f) { c1=(key[din[14-c]][i]); //轉(zhuǎn)換出健碼 iskey=1; } } 從這個(gè)算法看,如果檢測(cè)到有兩列都為零,那么都以最后一列也就是p35為準(zhǔn),從din數(shù)組的取值就看得出來。 這個(gè)p3的用處?整個(gè)函數(shù)都是在檢測(cè)列值,我以前看見過的都是先檢測(cè)列值,再用行掃描碼判斷在哪一行,而這里似乎就是不斷循環(huán),一旦有列為0,循環(huán)到哪一行就算哪一行?怎么解釋不通?這個(gè)程序的行碼是如何翻譯的? |
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |