![]() |
有改好的嗎 |
下載學習一下 |
謝謝分享!正在研究電烙鐵 |
這個要支持一下 |
yupks 發表于 2023-11-8 08:53 焊臺使用 SSD1306、SSH1106 為驅動的 OLED 顯示屏,程序亦可兼容 ST7565 驅動的 LCD 顯示屏 |
Alan_zcb 發表于 2023-10-3 21:36 我之前發布了 |
求問,這是oled的嗎?適配幾寸屏幕 |
這個要支持一下、大家努力頂一下![]() |
硬件電路在哪兒? |
這個第一次看見,謝謝分享 |
這個還有更新版本嗎? |
好資料,51黑有你更精彩!!! |
我的T12代碼修改:1. sys_monitor.c 文件里Normal_SetTemp(); 這個函數的最小溫度設定值錯誤if(IronTemp.Set > MENU_DATA_Table.Temp_s.Max_Temp+50) 改為if(IronTemp.Set <50) 2. //限制通道范圍 void Channel_SetTemp(void) if(IronTemp.Chn > 100) { IronTemp.Chn = 0; } 改為 if(IronTemp.Chn<0) { IronTemp.Chn = 0; } 3. Keil的編譯bug 如:str_mtitle[6].str = "控制參書"; 改為“控制參數\0xFD” Keil過濾0xfd字符的bug引起的。keil c51在編譯的時候會將0xfd的字符(有些漢字含該字符的內碼)過濾,而導致程序出錯.特別是在做液晶漢字顯示時。 對于受到影響的漢字你可以直接用兩個\x轉義符把編碼直接寫上。或者額外寫一個\xFD補上被濾掉的。例如 “數字電路”這個字符串直接寫的話 “數”會出問題。那么你可以寫 “數”的編碼是0xCA 0xFD"\xCA\xFD字電路"或者寫"數\xFD字電路"。 4. Key_Scan(); 屏蔽按鍵掃描程序,避免了用編碼器調節溫度時,烙鐵嘴號號跟著溫度一起變得的bug 5,外部中斷4關掉沒用 6,Set 改為有符號數,這樣就可以限制調溫0~最大值內變化,不會往小處調溫度時調到0度就會截至,不會一下就變成最大值 typedef struct { unsigned int Chn; signed int Set; // //unsigned int Feedback; // //unsigned int Display; // float Feedback; float Display; }IRONTEMP_s; 7,if(x>122){x=0;y++;}改為if(x>(128-CHINESE_WIDE)){x=0;y+=2;} 8,Lib\LQ12864.c(296) : if(x>120)改為Lib\LQ12864.c(296) : if(x>112) 9,Lib\LQ12864.c(427) :ii += 1; Lib\LQ12864.c(490) : ii += 1; Lib\LQ12864.c(363) : ii += 1;去掉 10,Lib\LQ12864.c(238) : if(x>122){x=0;y++;} Lib\LQ12864.c(344) : if(x>122){x=0;y++;} 改為if(x>120){x=0;y++;} 11,\Lib\LQ12864.c(216) : if(x>128){x=0;y++;} 改為if(x>122){x=0;y++;} 12,Lib\LQ12864.c(216) : if(x>128){x=0;y++;}改為if(x>120){x=0;y++;} 13,“分”漢字庫重復 Beat_GUI\img.c(829) : "分",95*/ 刪掉一個 14,LQ12864.C\434行 OLED_Set_Pos(x , y); 多余的刪掉 15,測室溫部分的上偏電阻由75k改為10k經典配置,以使溫度顯示穩定,不亂跳。 //NTC溫度表,依次為-10℃~50℃對應的ADC值 unsigned int code NTCTAB[61] = {867,860,852,844,836,828,820,811,802,793,784,774,765,755,745,734,724,714,703,692,681,670,659, 648,637,625,614,603,591,580,568,557,545,534,523,512,500 ,489,478,467,456,446,435,424,414,404, 394,384,374,364,355,346,337,328,319,310,302,294,286,278,270 }; |