微控制器PROTEUS 4X4鍵盤 求高手幫忙看下哪裡錯了。。

2025-02-01 14:45:11 字數 2377 閱讀 5106

1樓:網友

原理圖的七段數碼管可能選錯了,你應該換乙個共陰級,現在電路圖顯示的共陽級,你連乙個「地」,當然不會顯示了。

proteus和keil**4x4矩陣鍵盤 **求救!!!!!!!!!!!!!!

2樓:網友

你的程式邏輯有很多錯誤,如p2=oxfe的,有按鍵按下後,相應的讀回來的值是0xee,0xde,0xbe,0x7e才對,還有去抖不用重新給p2付值,延時直接判斷讀回來的結果就行了,寫程式層次感要分明,方便自己和別人的修改和閱讀。

微控制器 4x4鍵盤 程式

3樓:學者無量

我試了試你的程式,在51上面,成功了,我用的是3*4的矩陣鍵盤。

這是我的程式:

#include

#include

#define uint unsigned int#define uchar unsigned charuchar code table

for(e=0;e<=3;e++)

p1=tab[e];

delay(10);

temp=0x02;

for(f=0;f<3;f++)

if(!(p1&temp))

x=e+f*4;

break;

temp=_crol_(temp,1);

return x;

void main()

while(1)

p1 = 0xf0;

if(p1 !=0xf0)

delay(5); 按鍵消抖。

if(p1 !=0xf0)

key_value = yy();

p0 = table[key_value];

p2=p1;

另外,你程式的思路真的很棒!但是感覺不大實用,因為在實際中用到迴圈時我們往往很謹慎,一丁點的區別就會出錯,這是我的一點看法。

求 時鐘程式 微控制器 .按鍵控制時分秒?用proteus驗證過的.

4樓:matrix小翔

您好,我可以給你提供乙個學習的地方 是關於proteus的。。免費註冊的、。

誰能給我講明白微控制器的4x4矩陣鍵盤工作原理

5樓:諾諾百科

給p1賦值0xf0,這時p1^4,p1^5,p1^6,p1^7為高電平,p1^0,p1^1,p1^2,p1^3為低電平。如果這時候有按鍵按下那麼p1^4,p1^5,p1^6,p1^7就有乙個會變成低電平。因此p1的值就不等於0xf0,這是就可以判斷有按鍵按下。

4x4矩陣鍵盤的工作原理是在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過乙個按鍵加以連線。當按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,通過讀入輸入線的狀態就可得知是否有鍵被按下。

用微控制器做4x4鍵盤,狀態變化怎麼觀察????

6樓:

呵呵,你這的確是個4*4鍵盤程式,可惜給本就沒有輸出啊哥們,他只是一段子程式,你可以加上數碼管,然後讓他顯示出來。

微控制器4x4按鍵中斷掃瞄法中的鍵盤編碼的問題

7樓:網友

掃瞄p0口資料,用下面的語句:

unsigned char key=0xff; /存編碼值for(i=0;i<16;i++)

if(key_tab[i]==p0)

key=i;

break; /如果找到與表中相等的,就退出for迴圈。

明白了吧? 追加點分吧。 ^

微控制器4x4鍵盤c程式不知道哪出問題了

8樓:渴望乙份平淡

真難為你啦。寫個鍵盤你寫那麼複雜。卡你寫的。。。

微控制器 4x4鍵盤c程式

9樓:網友

把 if(p1!=k) 該做 if(p1!==k) 其他的沒看了。

閣下你用的什麼語言啊?

我編譯了,沒報錯啊?

你說的不能用指的是什麼?

10樓:網友

把 if(p1!=k) 該做 if(p1!==k) 其他的沒看了·

11樓:甘運

不知道怎麼報的錯 不過4*4鍵盤 你搞出了16個case 外加乙個 default肯定是不對的 那個default沒有必要啊 再說也不會出現第17種情況。

12樓:小箬是棉花籽

你的這段程式太原始了。建議網上找找有新意的程式。

求微控制器4X4矩陣鍵盤掃描程式,C語言的

好久沒接觸微控制器了。矩陣鍵盤掃描的話,好像就用迴圈來做吧。4x4矩陣,一共用到8個io口,八位的,正好是一個byte,做一個迴圈每次讀取這八位的值,只要有按鍵的話,這八位中總有兩位是1,其餘的是0,這16個按鍵每個都是一個固定的數字,做一個對映表對應一下就可以了。微控制器按鍵好像要做防抖處理,同時...

如何利用微控制器讓4位數碼管顯示

程式如下 用的是stc89c52晶片 include 52系列微控制器標頭檔案 define uchar unsigned char define uint unsigned int uint x,y uchar code table 共陰極數碼管編碼 void display uchar,ucha...

使用微控制器驅動4位數碼管,求解亮度不足問題

void seg display unsigned char dis i,unsigned char dis 1,unsigned char dis 2,unsigned char dis 3,unsigned char dis 4 試試看。消隱之前多延時一點,亮度就高了 使用微控制器驅動4位數碼管...