-
嗯,這就是它的樣子。
可能有拼寫錯誤,請自行檢查。
unsigned char hex_table[16] =0', '1', '2', '3', '4', '5', '6', '7',8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
void display_num(unsigned int num)unsigned int a, b, c, d;
a = (num/256)/16;取高位元組的 4 位。
b = (num/256)%16;取高位元組的較低 4 位。
c = (num%256)/16;取低位元組的前 4 位。
d = (num%256)%16;取低位元組的較低 4 位。
write_com(0x80);顯示的初始位址。
write_data('n');
write_data('u');
write_data('m');
write_data('=');
write_data('0');
write_data('x');
write_data(hex_table[a]);
write_data(hex_table[b]);
write_data(hex_table[c]);
write_data(hex_table[d]);
-
void write_hexnum(unsigned char n)if(n>=10) write_data('a'+n); else write_data('0'+n);
void display_num(unsigned char num)
write_com(0x80);顯示的初始位址。
write_hexnum(num>>4);高。
write_hexnum(num&0xf);低。
-
a=num/16;高。
b=num%16;低。
再新增幾行轉換。
if(a>9)a=a+0x27;
if(b>9)b=b+0x27;
然後就是寫,和你寫的一樣。
-
讓我舉個例子。
unsigned
charsd,kk;
unsigned
intha=0;
sd=0x11;
你說的是十六進製,對吧?
kk=16*(sd>>4);
ha=kk;
kk=(sd&0x0f);
ha+=kk;HA 中儲存的是 SD 的十進位系統。
簡單地說,ha=(16*(sd>>4))+sd&0x0f);
Walker === 電子微控制器。
-
LCD 只會顯示您傳送的值,如果它顯示十六進製,則應該在傳送顯示之前將其轉換為十六進製,對吧? 遂!
-
1602 LCD 螢幕可以水平移動。
-
它不會顯示,並且只會在相應的位置顯示指定位址的內容。
-
51 個微控制器適用於所有人。
與英特爾 8031 命令系統相容的微控制器的總稱。 該系列微控制器的始祖是英特爾8031微控制器的版本,後來隨著Flash ROM技術的發展,8031微控制器取得了長足的進步,成為應用最廣泛的8位微控制器之一,其代表機型是ATMEL AT89系列,廣泛應用於工業測控系統。 許多公司已經推出了51系列的相容型號,這些型號將在未來很長一段時間內擁有很大的市場。
51微控制器是微控制器的基本入門級微控制器,或者說是應用最廣泛的一種。 需要注意的是,52系列微控制器一般不具備自程式設計功能。
編寫乙個函式來提取每一位整數資料,然後就可以顯示每一位資料了。
void display tem(x,y,int getdata) getdata 是您收集的資料
-
這很簡單。 將整數轉換為數字,如 23 度,將其轉換為 2 和 3,然後傳送到 1602 進行顯示。 不要忘記使用數字的 ASCII 程式碼,0 的 ASCII 程式碼是 48(十進位)或 0x30。
如果你還是不明白,你可以打我。
-
只需編寫乙個函式,將整數資料逐位分解
void display tem(x,y,int getdata) getdata 是您收集的資料
-
這是否意味著溫度顯示值會不斷變化?
溫度採集一次,傳送到顯示器一次,以便可以更改顯示的資料。
-
動態,什麼樣的動態要求??? 你能詳細說明一下嗎?
-
temp = p1;讀進去。
temp_h = temp /16;分離出上面的四位數字,這是乙個 1 位十六進製數。
temp_l = temp %16;分離出較低的四位數字,即 1 位十六進製數。
temp_asc = ascii[temp_h];轉換為 ASCII 程式碼並傳送以供顯示。
temp_asc = ascii[temp_l];轉換為 ASCII 程式碼並傳送以供顯示。
-
我不明白,以 2 為基數和 16 以為基數的讀法不是一回事嗎?
你應該問如何將 16 個十進位數轉換為字元,對吧?
做你自己的函式來轉動它,改變你的思維:
例如0x1a轉換:
取較低的 4 位 0x3b 0xf0 得到0x0b轉換想法 0x0b +'a' - 10) = 'b'
將 4 位提高到 4 位0x3b >>獲得0x03轉換思路 0x03 +'0' = '3'
-
讓我們先弄清楚問題是什麼,然後我們才能理解它。 你這個問題是什麼意思,你確定是中文嗎?
-
你可以先寫乙個字串顯示函式,然後把浮點數轉換成字串,就可以了;
extern char *dtostre(double __val, char *_s, unsigned char __prec,unsigned char __flags);
浮點表示法:
extern char *dtostrf(double __val, char __width, char __prec, char *_s);
LCD1602,工業字元型液晶,可同時顯示16x02即32個字元。
-
小數不能直接顯示,微控制器運算是整數。 您需要使用演算法來表示公式結果的小數點,然後將小數點新增到整數部分和小數部分。
-
以程式設計方式插入小數點。
-
要麼是程式有問題,要麼是您在程式中寫入的資料太快,導致 LCD 無法忙。
學習微控制器是很有前途和前途的。
對於計算要求較低的控制,微控制器應用比比皆是。 它幾乎在城市中無處不在,但你還沒有注意到它。 從交通控制系統到手持裝置。 >>>More