有改好的吗 |
下载学习一下 |
谢谢分享!正在研究电烙铁 |
这个要支持一下 |
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 }; |