熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2025-2-18 21:42
正文摘要:本帖最后由 dsbk123 于 2025-2-18 21:59 編輯 看到論壇里大家對(duì)萬(wàn)年歷的熱情有增無(wú)減,我也心潮澎湃制作了一款極簡(jiǎn)高精度1.3吋OLED萬(wàn)年歷,在這里獻(xiàn)丑分享給各位壇友。希望各位老師多多指點(diǎn)!該萬(wàn)年歷特點(diǎn)和注意 ... |
dsbk123 發(fā)表于 2026-6-19 08:47 感謝你的耐心指導(dǎo),斷電后右邊的豎線又復(fù)現(xiàn)了。按照你的指導(dǎo),修改這三處為1106的0x02,就正常了,再斷電和重新上電也不會(huì)有豎線了,感謝! |
yanggo 發(fā)表于 2026-6-18 16:20 需要改動(dòng)三個(gè)地方,請(qǐng)對(duì)比程序中//后面語(yǔ)句與下面一行的區(qū)別,OLED_WrCmd(0x00),改成OLED_WrCmd(0x02),偏移量+2。出現(xiàn)顯示屏左邊或右邊有豎線的原因是程序和OLED驅(qū)動(dòng)芯片不匹配,常見(jiàn)的OLED12864屏幕有SSD1306芯片和SH1106芯片,兩者硬件引腳、通訊協(xié)議完全兼容,可以直接互換屏幕模塊。但差異點(diǎn)在于,SSD芯片是標(biāo)準(zhǔn)的128*64,而SH1106實(shí)際是132*64,所以在使用原SSD1306程序時(shí)需要偏移2列,否則會(huì)出現(xiàn)左邊豎線,相反,SSD1306顯示屏使用SH1106程序時(shí)右邊會(huì)有豎線。相對(duì)而言,SH1106功耗更低,且價(jià)格相對(duì)便宜約2元,抗干擾能力更強(qiáng)。 |
dsbk123 發(fā)表于 2026-6-16 19:48 感謝你的答復(fù),這個(gè)位置不懂如何處理……我修改了OLED初始化里的偏移“OLED_WrCmd(0x01);//-not offset ”這里,然后亮度那也改了值,屏莫右邊的豎線就莫名地正常了。但下邊溫度小數(shù)點(diǎn)偏也有兩個(gè)點(diǎn)像素點(diǎn)亮,不知什么情況,不管了,反正也不怎么懂程序,暫時(shí)不折騰了。 |
yanggo 發(fā)表于 2026-6-16 15:22 /**************************** OLED 設(shè)置坐標(biāo) ****************************/ void OLED_Set_Pos(unsigned char x, unsigned char y) { OLED_WrCmd(0xb0+y); OLED_WrCmd(((x&0xf0)>>4)|0x10); //OLED_WrCmd((x&0x0f)|0x00);//SSD1306屏幕使用此程序 OLED_WrCmd((x&0x0f)|0x02);//SH1106屏幕使用此程序 } /**************************** OLED全屏 ****************************/ void OLED_Fill(unsigned char bmp_dat) { unsigned char y,x; for(y=0;y<8;y++) { OLED_WrCmd(0xb0+y); //OLED_WrCmd(0x00);//SSD1306屏幕使用此程序 OLED_WrCmd(0x02);//SH1106屏幕使用此程序 OLED_WrCmd(0x10); for(x=0;x<X_WIDTH;x++) OLED_WrDat(bmp_dat); } } /**************************** OLED復(fù)位 ****************************/ void OLED_CLS(void) { unsigned char y,x; for(y=0;y<8;y++) { OLED_WrCmd(0xb0+y); //OLED_WrCmd(0x00);//SSD1306屏幕使用此程序 OLED_WrCmd(0x02);//SH1106屏幕使用此程序 OLED_WrCmd(0x10); for(x=0;x<X_WIDTH;x++) OLED_WrDat(0); } } |
yanggo 發(fā)表于 2026-6-16 14:50 在OLED_Init函數(shù)里有個(gè)偏移量,0x00改為0x01有改善,但還是有一點(diǎn),改為0x02卻又把"星期"兩個(gè)字削了一點(diǎn)頂部,郁悶了. |
dsbk123 發(fā)表于 2026-6-16 14:32 屏顯右邊有一豎條這個(gè)問(wèn)題還是的,其它功能是正常了.應(yīng)該是要修改偏移量.原程序里哪個(gè)位置是修改偏移量的呢? |
yanggo 發(fā)表于 2026-6-16 10:08 下載時(shí)選6M,所有問(wèn)題將全部解決。 |
yanggo 發(fā)表于 2026-6-16 10:08 似乎用了11.0592MHz下載程序就正常了…… |
|
樓主你好,我復(fù)刻了一個(gè),發(fā)現(xiàn)有問(wèn)題,我想向你請(qǐng)教下,感謝你抽空回復(fù)。 一、下載程序時(shí),STC的運(yùn)行時(shí)IRC頻率選擇多少?我用24M下載入程序后,設(shè)定和退出按鍵有動(dòng)作,+,-都沒(méi)有動(dòng)作,按鍵腳有3.3V(我供電用LDO 3.3V),按下按鍵可以拉低到0V。 二、同時(shí)屏顯固定在00-00-00的初始狀態(tài)。是不是實(shí)時(shí)時(shí)鐘芯片I2C通信不成功呢?SDA,SCL的電壓不應(yīng)該是MCU供電的電壓3.3V嗎?測(cè)量電壓不是3.3V。 |
| 感謝分享 簡(jiǎn)單實(shí)用 |
| 制作很漂亮 |
yanggo 發(fā)表于 2026-4-9 18:31 RX8025幾毛錢(qián)一片,精度很高,大概一個(gè)月一秒誤差,3年調(diào)整一次即可。 |
| 雖然沒(méi)有源程序……先下載收藏了,但那個(gè)實(shí)時(shí)時(shí)鐘芯片有沒(méi)有便宜點(diǎn)的鏈接? |
| 學(xué)習(xí)學(xué)習(xí),謝謝樓主分享 |
| 這個(gè)不錯(cuò)。 |
|
OLED mini 199*200 scaner() |
發(fā)表于 2025-11-20 20:09 SSD1306芯片約12元,SH1106芯片約9元,性能和顯示效果都一樣。 |
| 這個(gè)屏多少錢(qián)啊,羨慕,我只有彩色OLED的屏 |
dsbk123 發(fā)表于 2025-5-19 20:51 能享受人生啊 |
ly_zhy 發(fā)表于 2025-7-17 20:17 已經(jīng)制作了幾十個(gè)了,不影響下載程序,既是OLED通訊口,也是時(shí)鐘模塊通訊口,更是下載口,所以才叫極簡(jiǎn)。 |
| P30 P31口被占用為I2C通信,會(huì)影響以后再?gòu)男孪螺d程序嗎? |
| 不錯(cuò),試試,如果能提供原程序更好,可根據(jù)各自現(xiàn)有材料進(jìn)行適應(yīng)性修改。 |
fmdpj 發(fā)表于 2025-6-14 13:48 壇友好,仿真文件是8.17版本生成的,是8.17,不是8.1.7,8.17>8.7>8.1.7哦。 我開(kāi)始學(xué)習(xí)仿真的時(shí)候安裝的是8.17版本,后來(lái)得到一個(gè)8.6版本,也是以為8.6>8.17,后來(lái)才發(fā)現(xiàn)不對(duì)。 哈哈,緣分啊! 請(qǐng)下載8.17版本重新安裝即可。 通過(guò)網(wǎng)盤(pán)分享的文件:proteus 8.17.rar 鏈接: https://pan.baidu.com/s/1_O8w7B3hz_6rEW3mmm-k-w?pwd=51he 提取碼: 51he 只分享7天哦! 只分享7天哦! 只分享7天哦! 聲明: 此軟件“僅限學(xué)習(xí)交流,不能用于商業(yè)用途”, 如用于商業(yè)用途,請(qǐng)到官方購(gòu)買正版軟件,追究法律責(zé)任與本人無(wú)關(guān),下載之后請(qǐng)?jiān)?4小時(shí)之內(nèi)刪除安裝包,謝謝配合! |
|
本帖最后由 fmdpj 于 2025-6-16 12:36 編輯 打開(kāi)你給的仿真文件,彈出“proteus8.17及以上的版本才能顯示OLED顯示屏”我安裝的軟件是8.7的,這是怎么回事?難道安裝的是假8.7的?還是軟件元件里面因?yàn)闆](méi)有這個(gè)OLED器件,所以顯示不了?
|
dsbk123 發(fā)表于 2025-5-29 23:27 萬(wàn)分感謝樓主 |
shenlan121 發(fā)表于 2025-6-3 13:16 感覺(jué)還行吧,這個(gè)萬(wàn)年歷我用STC89C52核心板+杜邦線用了一年多,今年2月初設(shè)計(jì)了以上電路板。到目前為止大約前后有一年半時(shí)間了,感覺(jué)OLED屏顯示效果基本上沒(méi)太大變化。也可能和我在程序里將亮度降低了有關(guān)系,感覺(jué)亮度最大的時(shí)候有些刺眼。 |
| oled 不適合做長(zhǎng)時(shí)間顯示,會(huì)燒屏 |
fmdpj 發(fā)表于 2025-5-29 11:35 仿真和HEX都在附件中。 |
1.3吋OLED STC8G1K08-8PIN DS3231SN萬(wàn)年歷仿真和hex.rar
27.69 KB, 下載次數(shù): 0, 下載積分: 黑幣 -5
| 樓主你好!這個(gè)屏可以用大的屏嗎?我想用4吋的。仿真文件可以再分享一下嗎? |
| 高級(jí)貨啊!辛苦了!謝謝分享! |
| 謝謝分享,學(xué)習(xí)一下! |
|
不錯(cuò)哦,感謝分享。 我也弄一個(gè)玩玩。 ![]() ![]() |
| 小是夠小的了,不知靜態(tài)下電流有多大?還是覺(jué)得用DHT模塊把溫濕度都顯示上才完全。 |
| 動(dòng)手能力不錯(cuò),贊一個(gè)! |
觸景情傷 發(fā)表于 2025-5-1 18:41 只要是I2C通訊4線屏幕,SSD1306驅(qū)的都不用改程序。 |
| 用0.96寸的OLED的話顯示坐標(biāo)還需要更改嗎? |
觸景情傷 發(fā)表于 2025-4-27 16:21 可以在程序里禁用跳秒,啟用時(shí)和分鐘之間的冒號(hào)閃爍。 |
lxa0 發(fā)表于 2025-4-27 18:54 我主頁(yè)另外一個(gè)主題可以網(wǎng)絡(luò)授時(shí)。 |
| 不能網(wǎng)絡(luò)對(duì)時(shí)? |
Powered by 單片機(jī)教程網(wǎng)