1樓:匿名使用者
要是只有四個按鍵,每個按鍵本身就不能直接代表乙個數字了,不夠用。
可以用乙個鍵作為數值「遞增」鍵,乙個鍵作為數值「遞減」鍵,用乙個鍵作為「確認」,用乙個鍵作為「修改」,這樣四個鍵全用上了。
微控制器上電後,led要顯示為0,此時只有「修改」鍵可用,若將其按下,「遞增」鍵、「遞減」鍵、「確認」鍵就都可用了。
每按「遞增」鍵一次,顯示值加一,按住不放則快速遞增;「遞減」鍵功能類似。
若調值完畢,按下「確認」鍵,此時顯示進入穩定狀態,數值將不會被改變,只有「修改」鍵可用,若按下,可再次修改數值。
之所以初始值是零,是考慮該值距兩個極值距離均等,修改時較容易。
2樓:
鍵盤這樣安排比較合適:
1.位置鍵,按一次修改位順序右移。
2.數值更改鍵。按一下第一位為正負變化,其他位為0-9變化。
3.修改鍵,按一下,從第一位開始修改。
4.確認修改結果。
操作方法:
按3鍵,進入修改狀態
按2鍵,第一位正負變化。
按1鍵,
按2鍵,繼續按2鍵,第2位數值依次增加
。。。。
直到6位修改完畢
按4鍵結束。
51微控制器用4個按鍵,每個按鍵被按下都會使數碼管顯示乙個數值
51微控制器 要求按鍵顯示 按一下顯示乙個數字
3樓:農凌柏
數碼管分共陽和共陰 我這裡給你舉個七段共陽數碼管的例子吧。
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 ,0x80,0x90,0x88,0x83 ,0xc6,0xa1,0x86,0x8e
數碼管是有8個管子構成的 具體的圖編號你可以在網上搜到
我現在寫的0xc0 代表數碼管的0 ,後面類推 對應從0-f 的編碼
程式編碼要和硬體設計相結合 這個程式是把七段數碼管的a-g 接到p0^0-p0^6口
沒有加按鍵消抖程式 有需要可以去網上搜搜就是加個延時
#include //包含標頭檔案,一般情況不需要改動,
//標頭檔案包含特殊功能暫存器的定義
sbit buzzer = p1^0;//定義蜂鳴器到p1.0口
sbit key1 = p1^1; //按鍵1
sbit key2 = p1^2; //按鍵2
sbit key3 = p1^3; //按鍵3
sbit key4 = p1^4; //按鍵4
sbit key5 = p1^5; //按鍵5
sbit key6 = p1^6;//按鍵6
p0=0x00; //設定p0口輸出都是低電平
buzzer = 1;//設定蜂鳴器 輸出為高電平 此時不響 (蜂鳴器+接5v -接微控制器口,中間串個電阻限流)
/*-------------- 主函式 ----------*/
void main (void)
if(key == 2)
if(key == 3)
if(key == 4)
if(key == 5)
if(key == 6)}
4樓:宋桓公
首先你要判斷按鍵是否按下,一旦按鍵按下,你就檢測按鍵是否彈起,一旦彈起就顯示這個數。
5樓:dou王帥
這個真是很簡單啊 新手都覺得很簡單哦
微控制器點陣流動顯示原理,微控制器點陣顯示問題
先顯示出一幅完整的靜態畫面,約200ms 再顯示出一幅完整的靜態畫面,約200ms 再顯示出一幅完整的靜態畫面,約200ms 再顯示出一幅完整的靜態畫面,約200ms 再顯示出一幅完整的靜態畫面,約200ms 各個靜態畫面,稍有不同,看起來,就是畫面動起來了。靜態畫面存留的時間越短,動作就越快。一行...
51微控制器控制數碼管並顯示,51微控制器控制8個數碼管並顯示1 8
啟巖 數碼管段選連線到微控制器p0口,位選連線到p2口org 0000h main call display ajmp main display mov r0,0 mov r1,0x01 mov dptr,tab loop inc r0 mov a,r0 movc a,a dptr mov p0,0...
微控制器驅動數碼管顯示問題,51微控制器數碼管顯示問題
引腳夠的話,直接p0口接個位的數碼管,p2口接十位數碼管,引腳不夠就兩個數碼管掃描顯示,用一暫存器存計數值,然後設一無限迴圈不斷讀暫存器值七段譯碼輸出就可以了,然後計數端接在中斷上,有計數就進中斷 51微控制器數碼管顯示問題 大草原黃花菜 等於零顯示,然後置一關掉,再顯示下一位吧 鎖存器吧。關掉後。...