亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3010|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

用STC單片機(jī)驅(qū)動(dòng)OLED液晶的感受

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 ztzp 于 2025-8-2 16:55 編輯

幾年前買得有幾片OLED液晶顯示屏,驅(qū)動(dòng)是SSD1306的。
引腳定義:

Vcc接液晶排線的6和9腳,Gnd接排線的25、29腳。
賣家給的信息:

根據(jù)“中景園電子科技”公司提供的例程,用了STC幾種型號的單片機(jī)一直沒點(diǎn)亮這個(gè)OLED。后來送了幾片給網(wǎng)友“f556”,他很容易就點(diǎn)亮了這個(gè)OLED,他用的平臺是MSP430。

根據(jù)他提供的例程,我也用自制的MSP430F4152最小系統(tǒng)點(diǎn)亮了這個(gè)OLED。



但用同一家公司提供的51單片機(jī)程序,卻始終無法點(diǎn)亮它。
根據(jù)網(wǎng)友“f556”介紹,OLED的初始化程序完成后,屏幕顯示雪花點(diǎn),就算點(diǎn)亮了,后面顯示其它字符的內(nèi)容都不重要。
仔細(xì)地分析51單片機(jī)與MSP430單片機(jī)的初始化例程,逐行對比,本質(zhì)上完全是一樣的,但在STC單片機(jī)控制下,OLED屏幕一片黑暗,郁悶極了!
為了徹底弄清STC單片機(jī)驅(qū)動(dòng)OLED的問題,買了一個(gè)簡易的“邏輯分析儀”:

為了將單片機(jī)、OLED和邏輯分析儀連接在一起,又焊了一個(gè)5腳分線器。


根據(jù)資料,控制OLED的時(shí)序圖是這樣的:

由于MSP430控制OLED已經(jīng)成功了,所以我就把它的時(shí)序圖作為范本來進(jìn)行研究。
先用分析儀捕獲MSP430控制OLED的幾根主要信號線(時(shí)鐘、指令/數(shù)據(jù)標(biāo)志、數(shù)據(jù)等),為了研究問題簡單,只捕獲初始化程序第一字節(jié)指令,時(shí)序圖如下:

而初始化程序第一字節(jié)時(shí)序圖的源代碼為:

0xAE換算成二進(jìn)制數(shù)就是:10101110,與捕獲到的數(shù)據(jù)是一致的。
通過MSP430正確運(yùn)行的代碼而捕獲到的以上時(shí)序圖,也初步學(xué)會了“邏輯分析儀”的使用。
用STC單片機(jī)控制OLED的平臺是前不久剛制作完成的STC32G最小系統(tǒng)板,此單片機(jī)可以工作在3.3V電壓下,為了問題簡便,只寫了OLED的初始化代碼,甚至在初始化函數(shù)中只向OLED發(fā)送了一字節(jié)指令,如上所示。
用“邏輯分析儀”捕獲到的時(shí)序圖為:

這個(gè)時(shí)序圖一看就不正常,感覺時(shí)鐘脈沖的“占空比”都比較小,形成的脈沖很窄,D/C波形也沒看到有高電平,數(shù)據(jù)也不正確。
以“模擬電路”的思維分析這些脈沖,感覺是負(fù)載太重,驅(qū)動(dòng)電路在輸出高電平時(shí),瞬間被負(fù)載拉低所造成的。
初步懷疑OLED需要的驅(qū)動(dòng)電流比較大,STC單片機(jī)的“準(zhǔn)雙向口”無法勝任,故高電平無法維持足夠長的時(shí)間,導(dǎo)致脈沖波變窄。
因?yàn)橐郧坝肧TC的單片機(jī)驅(qū)動(dòng)LCD時(shí),使用的都是默認(rèn)的“準(zhǔn)雙向口”,這次想到OLED與LCD都差不多,也就沒特別去配置I/O口,默認(rèn)使用它的“準(zhǔn)雙向口”。
后來將:時(shí)鐘、指令/數(shù)據(jù)標(biāo)志、數(shù)據(jù)、復(fù)位等控制線的I/O口模式改為“推挽模式”,亦即:

程序修改以后,時(shí)序圖正常了。

其實(shí)“邏輯分析儀”的軟件自己也會分析數(shù)據(jù),根據(jù)設(shè)置的SPI協(xié)議,軟件分析出來的數(shù)據(jù)又快又準(zhǔn):

在“邏輯分析儀”的幫助下,OLED屏久違的“雪花點(diǎn)”終于出現(xiàn)了。

評分

參與人數(shù) 2黑幣 +40 收起 理由
f556 + 10
wpppmlah + 30 贊一個(gè)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:111099 發(fā)表于 2025-8-3 10:19 來自觸屏版 | 只看該作者
看起來OLED屏的幾個(gè)通信腳都串聯(lián)了510歐電阻,原本是為了兼容5V電平,這里就造成了很大的影響。按理應(yīng)該使用幾十歐即可,所以過大就很難用常規(guī)準(zhǔn)雙向IO推動(dòng)了。LZ可以考慮把那幾個(gè)電平轉(zhuǎn)換電阻換一下,估計(jì)會有驚喜。
回復(fù)

使用道具 舉報(bào)

板凳
ID:807591 發(fā)表于 2025-8-4 08:25 | 只看該作者
雙向驅(qū)動(dòng)電流最大 500uA,,一個(gè)下拉電阻510歐,妥妥的給把信號干沒了
回復(fù)

使用道具 舉報(bào)

地板
ID:276663 發(fā)表于 2025-8-4 11:15 | 只看該作者
樓主和沙發(fā)板凳分析的都很到位。邏輯分析儀是開發(fā)常用的設(shè)備。在協(xié)議開發(fā)時(shí)非常有用。
回復(fù)

使用道具 舉報(bào)

5#
ID:152164 發(fā)表于 2025-8-5 09:01 來自觸屏版 | 只看該作者
原因很簡單,就是不看手冊的問題。stc8和之后的stc32單片機(jī)默認(rèn)端口上電為高阻狀態(tài),和以前的系列不一樣
回復(fù)

使用道具 舉報(bào)

6#
ID:97023 發(fā)表于 2025-8-5 23:14 | 只看該作者
ziiyn 發(fā)表于 2025-8-5 09:01
原因很簡單,就是不看手冊的問題。stc8和之后的stc32單片機(jī)默認(rèn)端口上電為高阻狀態(tài),和以前的系列不一樣

手冊肯定是看了的,一開始設(shè)置成了“準(zhǔn)雙向口”。
回復(fù)

使用道具 舉報(bào)

7#
ID:97023 發(fā)表于 2025-8-5 23:20 | 只看該作者
ziiyn 發(fā)表于 2025-8-5 09:01
原因很簡單,就是不看手冊的問題。stc8和之后的stc32單片機(jī)默認(rèn)端口上電為高阻狀態(tài),和以前的系列不一樣
  1. void main(void)
  2. {
  3.         P3M1 = 0x00;        //把P3.2~P3.5設(shè)置為“推挽輸出”
  4.         P3M0 = 0x3C;

  5. //        P3M1 = 0x00;        //把P3.2~P3.5設(shè)置為“準(zhǔn)雙向”
  6. //        P3M0 = 0x00;

  7.         OLED_Init();                        //初始化OLED  
  8.        
  9. //        Line();
  10.         while(1);
  11. }
復(fù)制代碼

當(dāng)初I/O口設(shè)置成“準(zhǔn)雙向”,后來才改為“推挽”
回復(fù)

使用道具 舉報(bào)

8#
ID:97023 發(fā)表于 2025-8-6 11:46 | 只看該作者
OLED左上角那三個(gè)下拉電阻R30、R31、R32,阻值510R,分流電流大約為:6.5mA,而STC32G單片機(jī)的接電流卻不到300uA。

肯定帶不動(dòng)了。
初步計(jì)算了一下,如果下拉電阻為100K,則分流電流大概為33uA。
為方便,直接將它們拆除,在“準(zhǔn)雙向”模式下OLED終于顯示了。



總結(jié),以前看手冊時(shí)也不太認(rèn)真,另外在使用OLED時(shí),只把它當(dāng)作一個(gè)模塊來看,沒去分析它上面的電路,導(dǎo)致走了很多彎路。
犯了這些錯(cuò)誤,自己也有了提高。
謝謝以上各位朋友有幫助!
回復(fù)

使用道具 舉報(bào)

9#
ID:152164 發(fā)表于 2025-8-6 13:52 來自觸屏版 | 只看該作者
ztzp 發(fā)表于 2025-8-5 23:14
手冊肯定是看了的,一開始設(shè)置成了“準(zhǔn)雙向口”。

我一開始沒細(xì)看電路圖照片, 用準(zhǔn)雙模式的時(shí)候信號會被R30~R33幾個(gè)對地510歐電阻拉低了電平,造成波形不正常,把那幾個(gè)電阻拆了再用準(zhǔn)雙模式應(yīng)該就正常了。按常理說那幾個(gè)電阻應(yīng)該設(shè)計(jì)成串聯(lián)來兼容5v電平,結(jié)果卻是并聯(lián)到地。
回復(fù)

使用道具 舉報(bào)

10#
ID:97023 發(fā)表于 2025-8-6 21:35 | 只看該作者
ziiyn 發(fā)表于 2025-8-6 13:52
我一開始沒細(xì)看電路圖照片, 用準(zhǔn)雙模式的時(shí)候信號會被R30~R33幾個(gè)對地510歐電阻拉低了電平,造成波形不 ...

這個(gè)OLED雖然說是工作在3.3V,但拆除那三個(gè)電阻前,我確實(shí)也用STC的5V單片機(jī)驅(qū)動(dòng),I/O口設(shè)置為“推挽”的情況下,也是可以工作的。
回復(fù)

使用道具 舉報(bào)

11#
ID:1063561 發(fā)表于 2026-5-10 07:24 | 只看該作者
謝謝分享,點(diǎn)贊支持
回復(fù)

使用道具 舉報(bào)

12#
ID:1064915 發(fā)表于 2026-5-10 08:10 | 只看該作者
對協(xié)議的研究精神,應(yīng)該成為精華貼
回復(fù)

使用道具 舉報(bào)

13#
ID:60178 發(fā)表于 2026-6-4 15:31 | 只看該作者

對協(xié)議的研究精神,應(yīng)該成為精華貼
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表