微控制器鍵盤顯示用鍵來顯示任意數,微控制器鍵盤顯示 用四個鍵來顯示任意五個數

時間 2021-09-10 12:11:59

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微控制器數碼管顯示問題 大草原黃花菜 等於零顯示,然後置一關掉,再顯示下一位吧 鎖存器吧。關掉後。...