在《51微控制器(二十九)—— 矩陣鍵盤輸入實驗》中,我們對矩陣鍵盤的原理及使用方法進行了介紹。在本文中,我們採用矩陣鍵盤設計乙個計算器,實現簡單的計算器功能。
這個實驗的**的主函式如下所示。
main()
else
sscanf(temp,"%d",&b); //將第二個輸入的資料,賦值給b
for(n=0;n<8;n++) //賦值完成後把緩衝區清零,防止下次輸入影響結果
temp[n]=0;
if(keyvalue!='=') //判斷當前符號位
sign=keyvalue; //如果不是等號記下標誌位
else
sprintf(temp,"%d",a); //列印十進位製到臨時緩衝區
for(n=0;n<8;n++) //列印的值是ascii碼值
sign=0;
a=b=0; //用完後所有資料清零}}
else if(mm<8)
} }}
將程式**燒寫之後可以看到實驗現象,在這個實驗中,數碼管顯示的數值與s1~s16旁邊的數值相對應。按下按鍵可以進行計算。這個演示**只是乙個簡單的計算器,只能進行整數的加減乘除運算,不能計算小數。 51微控制器矩陣鍵盤
行列掃瞄法 所有的行線置高電平,依次對列線進行掃瞄。將第一列置低電平,p1.0 0 若檢測到行線p1.4 0,則k0鍵被按下。同理若p1.5 0,則k4被按下。pertues 圖 c程式 include include define uchar unsigned char define uint u...
基於51微控制器的計算器
繼續寫一下寒假做的51小專案,這一次是基於at89c51的計算器,帶乙個八位密碼鎖功能。具體實現了計算器的加減乘除功能,並且自帶八位密碼鎖,輸入密碼後按 確定,錯誤輸入三次密碼就會鎖定,重啟後解除鎖定,密碼可以在密碼表中設定。顯示部分採用了1602顯示屏。這一次在使用ad畫pcb時,考慮到計算器要脫...
基於51微控制器矩陣鍵盤程式
用矩陣鍵盤輸入數字在數碼管顯示 矩陣鍵盤 的編寫有點像vhdl 編碼器的書寫,很多那些數字都是根據唯一的掃瞄位置來定,也就是說這些數字可以任意設定,主要就是巧妙在 0xf0 0xfe 通過這樣確定出一定的位置,然後 編碼 為你想要位置所代表的數字。矩陣鍵盤其實 都很固定,很多東西其實也可以算是一沉不...