![]() |
發(fā)布時間: 2020-12-27 19:28
正文摘要:#include <reg52.h> #include <intrins.h> #include <string.h> #include "codetab.h" #include "LQ12864.h" #include "12c5a.h" #include "ds18b20.h" #define uint unsigne ... |
學(xué)習(xí)小白242人才 發(fā)表于 2020-12-27 23:07 OLED 不帶字庫的,要求你字節(jié)刷字模進去 |
工程源碼發(fā)上來看看? |
本帖最后由 oldrobinhood 于 2020-12-28 09:41 編輯 你調(diào)用OLCD_Num(temp)函數(shù)只給一個實參,而void OLCD_Num (unsigned char x,y,dot,unsigned int data1)函數(shù)有4個形參!正常編譯時出錯或者警告,可能你的編譯器容錯率較高,編譯通過了! |
人人學(xué)會單片機 發(fā)表于 2020-12-27 21:38 用LCD12864顯示是正確的,但是轉(zhuǎn)化到oled就不行了 ![]() |
你得這樣,先用數(shù)碼管或者串口 把DS18B20調(diào)試好 ,然后再調(diào)試OLED 先用一個假設(shè)值 看看顯示正不正常。 然后再兩者結(jié)合。具體的 可以看看人人學(xué)會單片機的視頻教程。 |
這是oled的顯示 void OLED_Asc_Str8x16(unsigned char x,y,unsigned char *po) { unsigned char i,str_len; str_len = strlen(po); if(x>128){x=0;y++;} for(i=0;i<str_len;i++) { OLED_NxM_char((x+i*8),y,8,16,&Asc8x16[(po[i]-0x20)*16]); } } //=============動態(tài)顯示,用于溫度采集============// void OLCD_Num (unsigned char x,y,dot,unsigned int data1) { unsigned char translateData[6]; translateData[0] = data1 % 10000 / 1000 + '0'; translateData[1] = data1 % 1000 / 100 + '0'; translateData[2] = '.'; translateData[3] = data1 % 100 / 10 + '0'; translateData[4] = data1 % 10 + '0'; translateData[5] = '\0'; OLED_Asc_Str8x16(x,y,translateData); } |
Powered by 單片機教程網(wǎng)