今天來說一說OLED,也同時記錄一下成果。
在學(xué)習(xí)OLED之前需要知道IIC協(xié)議,不了解的可以看(IIC協(xié)議相關(guān)_dxdlnu的博客-CSDN博客)
什么是OLED??OLED_百度百科 (baidu.com)
?一.OLED寫入指令和數(shù)據(jù)
因為OLED是有寫入指令/數(shù)據(jù)的操作的,至于為什么有在后面編寫程序的時候就能知道。
先看一下如何寫入指令和數(shù)據(jù)?
CO和D/C說明如下:
根據(jù)協(xié)議圖,封裝一個寫入指令的函數(shù):
?封裝一個寫入數(shù)據(jù)的函數(shù):
**********87行有誤應(yīng)該是0x40寫入數(shù)據(jù)
二.OLED顯示一個點的思路及代碼實現(xiàn)
首先思考,一個OLED屏有那么大,我們?nèi)绾卧谝粋€自己想要的地方顯示一個點呢?這就先要解決,OLED顯示方式的問題。
首先我們要了解OLED顯示屏它的構(gòu)成:
我們可以看到,這里Page共有8行,并且每一個Page里有8位(bit),也就是一個Page的一列代表一個字節(jié)。
大致了解之后我們看看OLED如何尋址呢?
這里有三個尋址方式(前兩種最常見),圖還是比較形象的不做過多解釋。
如何在Keil中設(shè)定自己想要的尋址模式?
?
比如這里我們想要定為頁尋址模式,我們可以在代碼的發(fā)送cmd并寫入0x20,再發(fā)送0x02,成功進(jìn)入頁尋址模式。
接下來用代碼實現(xiàn)一個點。?
在OLED上顯示一個點主要就是這三大步
以下對代碼逐行分析:
141行.首先是初始化Init,這個手冊里有,直接cv過來就好(我們的Cmd和Data函數(shù)已經(jīng)寫好了)
文章來源:http://www.zghlxwxcb.cn/news/detail-525067.html
?142.行選擇一個位置文章來源地址http://www.zghlxwxcb.cn/news/detail-525067.html
到了這里,關(guān)于在OLED上顯示各種各樣的數(shù)據(jù)(文字、字母、圖片)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!