微控制器怎麼把液晶與鍵盤結合程式,程式我已經寫好了不過寫出來顯示沒有錯誤,可是液晶上顯示的是亂碼

時間 2021-05-07 20:00:39

1樓:匿名使用者

void display(uchar *p1)

我姑且不論你這函式怎樣,但是我看見了呼叫這函式的地方

display(&keydat);

樓下幾位甚至喊出程式沒有錯,我表示想打兩個字:呵呵。

1、不懂指標,就低調一點,要麼不用,要麼回去複習一下c語言基礎知識,就是一定不能亂用。

2、不懂你在這裡對p3操作是什麼意思,p0我懂了,你想對資料口賦值,問題是……你看過1602的時序麼……write_dat函式已經幫你幹好這事了,你在這裡拋棄了他自己創業。

3、keydat=keyscan(); 這裡我簡單地看了一下,發現返回按鍵的值是1234這種資料

write_dat(keydat); 然後,你直接把1234寫入1602,我想說,你在那裡急得抓頭撓耳,到處在網上找幫助找**,就不能好好看一下1602的資料手冊?你知道要顯示字元『1』要輸入什麼資料嗎?

這裡我用字元'1',而不是資料1,你該知道兩個是不一樣的。他們的值相差30h。

所以write_dat(keydat+0x30);

4、而這個display函式就搞笑了,你回去複習一下c語言吧

2樓:星璇少宇

你的程式的目的是按下某個鍵,同時液晶顯示這個鍵代表的號碼是嗎,建議鍵盤和液晶分塊除錯吧

3樓:匿名使用者

程式沒有錯,那你查一下硬體接線是否有錯

4樓:it消防員

沒有電路圖 ,你是怎麼寫出來的程式 紙上談兵麼?

大俠 大俠!!! c51微控制器 單個按鍵 短按抬起和長按兩功能程式怎麼寫,弄了好久都沒弄出來 5

5樓:做而論道

void main()

//2s

if(i > 800) break; //4s}if(i <= 400) led1 = ~led1; //《短按》

dao則 led1 取反

while(!key);

}}//if(!key) //檢測

}//while(1)

}試試看。

微控制器液晶序列接受資料的程序,微控制器液晶序列接受資料的程式

序列接受資料時,資料是一位一位進入的,微控制器要將各位資料,依次排在一個位元組中。d1 或d2 是一個位元組,其中有 8 位儲存空間 語句 if rw sid d1 是說 如果收到序列資料為 1,就在 d1 的末位寫個 1,反之則不寫,d1 的末位就是 0,語句 d1 d1 1 是說 寫完 1 或0...

新手學習微控制器的問題,新手學微控制器怎麼入門?

蛀牙患者 還是要學點數位電路基本的閘電路要看的動 還有就是要學點電路基礎不然看不動的哦!都不用太精的,花個一兩週時間 就可以了 最好是買塊微控制器找者書上搭個 最小系統 把他的 引腳搞清出了 然後學到最後可以自己擴充套件一些小電路作一點東西了至於c程式設計,只要你動了彈片機,有一點c基礎就可以看的動...

組合語言微控制器,組合語言怎麼寫入微控制器

rlc 是帶進位的迴圈左移,rlc a即將a的內容左移一位,將進位位c中的值移到累加器a的最低位,a的最高位移到c裡。譬如說 設a 01000001,c 1 則如果執行rl 則a 10000010,c 1 a所有位左移一位,最低位補零,c不參加移位操作,保持原值不變 如果執行rlc後,則a 1000...