在微控制器C語言中,將按鍵設為1到9的數,怎樣記錄下按鍵的次數,並且將按鍵的鍵值按順序在LCD上顯示

2021-04-28 03:34:27 字數 1375 閱讀 1978

1樓:萬條拙手

假定你的微控制器和lcd的關聯部分已經做好了,直接呼叫函式就能在lcd上顯示版內容。

鍵盤的權話,假定是每個鍵都和乙個引腳串聯(即按下該鍵,為高電平-1,否則低電平-0)

int num[16];//一般的lcd是16位數字吧,不知道你用的什麼字型檔啊!

int index=15;

int i=0;

for( i=0; i<16; i++)num[i]=0;//初始化陣列

//如果有按鍵

int getkeypress( k:int )

每次接受到按鍵後都將num陣列的資料傳送到lcd去顯示,傳送的順序是從index位置開始往後

2樓:匿名使用者

在按鍵程式裡計數,到達9就清零,注意一定要消鬥

就是按鈕按一下,數碼管從0開始加1,加到9,用c語言微控制器編寫並且要用計數器的方法編寫.

3樓:匿名使用者

這程式我剛打的,我也不知道能不能行,你看看吧,試試。能幫上點算點。

不好意思我沒好好看清題目

!我沒用計數器,sorry耽誤你時間了

4樓:匿名使用者

# include< reg51.h>

unsigned char count=0;

unsigned char a=;

void main()

}void int1() interrupt 2 //外部中斷1(int1)

5樓:再上樓

#include

main()

printf("%d=%d\n",i,sum);}

51微控制器c語言程式設計如何實現長按按鍵實現數值的累加

6樓:匿名使用者

這個可以用定時器來做,比如檢查某鍵,按鍵時間超過2秒後乙個變數開始累加知道鍵釋放為止專。實現方法如下屬:

#include

#define uint unsigned int#define uchar unsigned charuint v=0,time=0;

sbit key=p1^0;

void t0isr() interrupt 1main()

7樓:匿名使用者

先設定一定時器,比如定時0.5s加一,再設定乙個標誌位,當加數達到乙個標準值時,定時器定時改為更短時間。

關鍵是設定定時器,標誌位,在中端程式檢驗按鍵的電位。

8樓:匿名使用者

你可以這樣去試試:

if (k1==0)

if (k2==0)

微控制器c語言中斷中的return返回

嗯,可以這麼理解,發生中斷時,主函式停止執行,調至中斷 執行了。因為中斷時可以巢狀的,也有可能返回到之前被中斷的中斷程式那執行了。總之就是返回之前中斷出的 繼續執行。 牛xx的小 如果這個條件滿足則直接返回,否則執行下面的語句! 如果滿足條件則返回值,否則執行下面語句。 return返回一個值。後面...

微控制器c語言程式設計語句temp temp《1和temp temp《1 1怎麼理解,他們有什麼區別

temp temp 1表示將temp左移一位 temp temp 1 1則是將temp左移一位後加1。左移的含義 比如temp 00001111b 二進位制 那麼temp 1的結果是00011110,也就是temp的資料位依次向左移動一位,最高位可以認為被捨棄,最低位由0補齊。這是基本的位運算,可以...

51微控制器c語言中斷函式不能進行引數傳遞,是什麼意思,誰能解釋一下

是指中斷處理函式不能有輸入引數也不能有函式返回。因為中斷都是些硬體自動呼叫,沒有程式去給他傳遞引數,也沒有硬體去接收引數。不過x86計算機的軟中斷可以有引數傳遞,不過他是用暫存器傳遞的。1 51微控制器c51語言中斷函式本身不帶引數傳遞,但你可以使用全域性變數進行引數傳遞。2 所謂中斷函式不能進行引...