久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6651|回復: 5
收起左側

哪位高手幫我看看這個4*4矩陣鍵掃描函數謝謝

[復制鏈接]
ID:15792 發表于 2009-7-31 17:22 | 顯示全部樓層 |閱讀模式
 

4*4矩陣鍵掃描函數,我有一句話不明白,

麻哪位給我解釋一下多謝

Uchar kbscan(void)

Uchar sccode,recode

P1=0xf0

If(p1&0xf0)!=0xf0

{sccode=0xfe

While((sccode&0x10)!=0)這句是什么意思???

{p1=sccode;

If((p1&0xf0)!=0xf0)

{recode=(p1&0xf0)|0xf0)

Return((~sccode)+(~recode))

}

Else

Sccode=(sccode<<1)|0x01}}}return(0)}

回復

使用道具 舉報

ID:12258 發表于 2009-7-31 22:56 | 顯示全部樓層

這一句放在這里的意思是:當sccode.4=1時,執行while的內嵌語句,當sccode.4=0時,結束循環!

回復

使用道具 舉報

ID:15792 發表于 2009-8-1 10:40 | 顯示全部樓層

謝謝剛才的回答,p1.0-p1.3是行掃描輸出線p1.4-p1.7是列檢測輸入線,將第一行置0,列線也為0這個條件怎么判斷,sccode。4是列線判斷它有什么用

回復

使用道具 舉報

ID:12258 發表于 2009-8-1 17:35 | 顯示全部樓層

將第一行置0,則相當于第一行所有按鍵的公共端接地,這時你就可以通過檢測P1.4-P1.7的信號來確定是第一行的哪個按鍵按下。sccode.4應該是對應與P1.4的吧,
判斷他可以確定它所對應的按鍵是否按下,如果sccode.4=0,則按鍵按下!

回復

使用道具 舉報

ID:15792 發表于 2009-8-5 10:22 | 顯示全部樓層
p1.4是第一列呀,而且是是固定的,那另外三列如何檢測呢?我想把列信號輸入來比對,是這個意思吧它的p1。4我不明白難道它是列信號嗎
回復

使用道具 舉報

ID:12258 發表于 2009-8-5 21:28 | 顯示全部樓層

你讀取P1口的信號,按下相應的按鍵應該只有一個值與之相對應!譬如:你置第一行為0,如果你按下的按鍵是P1.4所接的按鍵,那么,P1口的數值應該是01110111即0x77。
如果你要檢測第一列其他行的按鍵,那么你只要將對應行置0即可!別忘了,每一次只能有一行為0,這樣行與列的交點就只有一個,那個點就是你要檢測的按鍵!
P1.0-P1.3是需要你來設置的位,它代表你選通的行;而P1.4-P1.7就是你用來檢測按鍵用的位,它代表你所按下的按鍵所在的列!
知道按鍵在第幾行第幾列了,你不就知道是哪個按鍵了嗎!!!

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 人操人免费视频 | 国产视频久久久 | 亚洲精品久久久久久久久久久久久 | 91精品国产91久久久久久最新 | 亚洲二区精品 | 一级免费毛片 | 国产在线网址 | 国产性网 | 国产精品黄色 | 午夜精品久久久 | 国产一区二区欧美 | 女同久久 | 国产99久久精品一区二区300 | 国产高清视频在线观看 | 国产精品中文字幕在线观看 | 久久另类 | 国产电影一区二区三区爱妃记 | 欧美一级二级三级视频 | a级在线观看 | 午夜视频在线观看视频 | 中文字幕一级 | 久久久久无码国产精品一区 | 婷婷五月色综合香五月 | 精品欧美一区二区在线观看 | 97精品一区二区 | 久草中文在线 | 日本精品视频一区二区三区四区 | 九九综合 | www.99热这里只有精品 | 欧美成人h版在线观看 | 久久99精品久久久久久青青日本 | 99久久国产免费 | av网站在线播放 | 国产精品a一区二区三区网址 | 国产一二三区在线 | 欧美成年网站 | 国产一区视频在线 | 久久久国产精品入口麻豆 | 国产在线精品一区二区三区 | 国产一区二区电影 | www国产亚洲精品久久网站 |