標(biāo)題: 單片機矩陣按鍵程序問題 [打印本頁]

作者: hxy52zero    時間: 2024-10-28 20:52
標(biāo)題: 單片機矩陣按鍵程序問題
[attach]331772[/attach]這兩個函數(shù)是控制晉中51實驗板的矩陣按鍵的,但是左邊的jiance函數(shù)在執(zhí)行下面的主函數(shù)時無論按什么鍵都是4個重復(fù)的數(shù)字,
而右邊的MatrixKey函數(shù)就可以(例如:按下1顯示0001,再按下2顯示0012.....)
下面是主函數(shù),那個壓縮包里面就是源文件

有人可以幫忙看看嗎?
搞一下午了




新建文件夾.zip

11.74 KB, 下載次數(shù): 11


作者: qinlu123    時間: 2024-10-29 08:03
不行得話你直接用我的程序算了,驗證好多年了穩(wěn)定可靠功能多
作者: hxy52zero    時間: 2024-10-29 09:35
qinlu123 發(fā)表于 2024-10-29 08:03
不行得話你直接用我的程序算了,驗證好多年了穩(wěn)定可靠功能多

其實我就是想知道是什么原因?qū)е碌?br />
作者: glinfei    時間: 2024-10-29 10:30
我沒看全啊,就是想問問這個函數(shù) int jiance() 為啥返回INT 型數(shù)據(jù)
作者: qinlu123    時間: 2024-10-29 10:36
hxy52zero 發(fā)表于 2024-10-29 09:35
其實我就是想知道是什么原因?qū)е碌?/blockquote>

你是咋理解^這個運算符的,你這個矩陣鍵盤掃描算法t1和t2應(yīng)該是或的關(guān)系為啥要用異或呢
作者: qinlu123    時間: 2024-10-29 10:52
用異或也是可以的在這里效果和或一樣。你的8個IO都加上拉電阻了嗎
作者: hxy52zero    時間: 2024-10-29 11:16
glinfei 發(fā)表于 2024-10-29 10:30
我沒看全啊,就是想問問這個函數(shù) int jiance() 為啥返回INT 型數(shù)據(jù)

給它定義的不是int嗎?
作者: lkc8210    時間: 2024-10-29 11:30
4個重復(fù)的數(shù)字是按什么鍵?出現(xiàn)哪4個?
作者: hxy52zero    時間: 2024-10-29 11:40
qinlu123 發(fā)表于 2024-10-29 10:36
你是咋理解^這個運算符的,你這個矩陣鍵盤掃描算法t1和t2應(yīng)該是或的關(guān)系為啥要用異或呢

開始是用的或,也檢查了幾遍,但是行不通,然后用異或就行得通了,所以用的異或
作者: hxy52zero    時間: 2024-10-29 11:52
qinlu123 發(fā)表于 2024-10-29 10:52
用異或也是可以的在這里效果和或一樣。你的8個IO都加上拉電阻了嗎

都加上了,我看的原理圖
作者: hxy52zero    時間: 2024-10-29 15:04
lkc8210 發(fā)表于 2024-10-29 11:30
4個重復(fù)的數(shù)字是按什么鍵?出現(xiàn)哪4個?

就是按什么鍵,這個鍵對應(yīng)的數(shù)字重復(fù)4次
作者: lkc8210    時間: 2024-10-29 15:36
hxy52zero 發(fā)表于 2024-10-29 15:04
就是按什么鍵,這個鍵對應(yīng)的數(shù)字重復(fù)4次

因為你沒有松手檢測啊,MatrixKey()有while(P1_x==0);


作者: qinlu123    時間: 2024-10-29 16:59
lkc8210 發(fā)表于 2024-10-29 15:36
因為你沒有松手檢測啊,MatrixKey()有while(P1_x==0);

按道理將他這程序按鍵一直按下可以檢測到的,我上學(xué)那會也這么做過行得通
作者: hxy52zero    時間: 2024-10-29 17:00
lkc8210 發(fā)表于 2024-10-29 15:36
因為你沒有松手檢測啊,MatrixKey()有while(P1_x==0);

原來是這樣,等下去試試




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1