国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32——OLED顯示屏(4)

這篇具有很好參考價值的文章主要介紹了STM32——OLED顯示屏(4)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

一、調(diào)試方式

二、OLED簡介

三、OLED硬件電路

四、OLED驅(qū)動函數(shù)

五、OLED顯示屏使用

1、硬件接線圖

2、添加OLED驅(qū)動函數(shù)

3、程序

4、實物展示

?六、Keil軟件自帶調(diào)試模式


一、調(diào)試方式

????????對于單片機(jī)的編程而言,經(jīng)常會遇到一個很大的問題,就是程序調(diào)試,單片機(jī)不像電腦,電腦有一個很大的屏幕,想看什么變量、參數(shù),直接打印到屏幕就可以了,但是單片機(jī)不一樣,很多時候由于成本和電路結(jié)構(gòu)的限制,它并不會有一個像電腦屏幕那樣強(qiáng)大的顯示屏,這就對我們的調(diào)試造成了困難,例如,如果學(xué)習(xí)C語言,但是不允許使用printf這個打印函數(shù),那C語言就根本沒法學(xué)習(xí)了,所以,如果單片機(jī)沒有任何可以顯示參數(shù)的東西,那單片機(jī)也沒辦法學(xué)習(xí)。

三種常用的調(diào)試方法

串口調(diào)試:

????????通過串口通信,將調(diào)試信息發(fā)送到電腦端,電腦使用串口助手顯示調(diào)試信息。
????????串口調(diào)試的優(yōu)點(diǎn)是可以借助強(qiáng)大的電腦來調(diào)試,電腦端的軟件,不僅可以顯示單獨(dú)的參數(shù),而且可以顯示曲線、圖形、圖像等,還可以自己做一個軟件,來實現(xiàn)一個強(qiáng)大的用戶交互界面。
????????串口調(diào)試的缺點(diǎn)是調(diào)試的時候需要帶著電腦,而且通常的串口助手只能以信息流的方式呈現(xiàn)數(shù)據(jù),就是只能一行一行的打印,如果有很多不斷變化的數(shù)據(jù)需要顯示,那就只能在電腦上刷屏顯示,這樣用起來就不太方便。

顯示屏調(diào)試:

????????直接將顯示屏連接到單片機(jī),將調(diào)試信息打印在顯示屏上。

????????顯示屏調(diào)試的優(yōu)點(diǎn)是對于不斷變化的數(shù)據(jù),可以覆蓋刷新顯示,而且顯示屏可以始終接在單片機(jī)上,顯示方式很直接,如果我們做一個稍微復(fù)雜的東西,都會需要有一個人機(jī)交互的界面,這樣就可以直接把顯示屏當(dāng)作產(chǎn)品的一部分。
????????顯示屏的缺點(diǎn)就是顯示屏幕太小,顯示內(nèi)容有限,沒有電腦軟件那么強(qiáng)大的功能。

Keil調(diào)試模式:借助Keil軟件的調(diào)試模式,可使用單步運(yùn)行、設(shè)置斷點(diǎn)、查看寄存器及變量等功能。


二、OLED簡介

OLED(Organic Light Emitting Diode):有機(jī)發(fā)光二極管

OLED顯示屏:性能優(yōu)異的新型顯示屏。具有如下特點(diǎn):

功耗低:因為OLED每一個像素都是一個單獨(dú)的發(fā)光二極管,不像LCD那樣需要有背光,所以O(shè)LED屏幕會比較省電。

響應(yīng)速度快:這個特性可以使OLED有更高的刷新率,總線時序快,也可以避免阻塞我們的程序。

寬視角:因為OLED屏幕上是自發(fā)光的,所以在任何角度看,顯示內(nèi)容都是清晰的。

輕薄柔韌:在手機(jī)上的折疊屏、柔性屏等,用的就是OLED顯示屏。

本次課程使用的0.96寸OLED模塊:小巧玲瓏、占用接口少、簡單易用,是電子設(shè)計中非常常見的顯示屏模塊。

供電:3~5.5V

通信協(xié)議:I2C(4針腳),SPI(7針腳)

分辨率:128*64


三、OLED硬件電路

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

?4針腳OLED硬件電路如上圖所示,GND接GND,VCC接3.3V,給OLED供電,剩下的是SCL和SDA是I2C的通信引腳,需要接在單片機(jī)I2C通信的引腳上,由于驅(qū)動函數(shù)模塊用的是GPIO口模擬的I2C通信,所以這兩個端口就可以接在任意的GPIO口上。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

7針腳OLED電路圖如上所示,?GND接GND,VCC接3.3V,給OLED供電,剩下的引腳是SPI通信協(xié)議的引腳,如果是GPIO口模擬的通信協(xié)議,那也是接在任意的GPIO口上就行了。


四、OLED驅(qū)動函數(shù)

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

OLED實物圖

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

OLED屏幕坐標(biāo)圖?

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

?驅(qū)動函數(shù)

OLED_Clear();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//將OLED清屏

OLED_ShowChar(1, 1,? 'A');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????? //顯示一個字符

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示的字符。

OLED_ShowString(1, 3, "HelloWorld!");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //顯示字符串

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示的字符串。

如果想要OLED清除部分?jǐn)?shù)據(jù),只需要在對應(yīng)的位置顯示空格即可。

OLED_ShowNum(2, 1, 12345, 5);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//顯示無符號十進(jìn)制數(shù)字

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示的數(shù)字,第四個參數(shù)是數(shù)字的長度。

OLED_ShowSignedNum(2, 7, -66, 2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//顯示有符號十進(jìn)制數(shù)字

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示的數(shù)字和正負(fù)號,第四個參數(shù)是數(shù)字的長度。

OLED_ShowHexNum(3, 1, 0xAA55, 4);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//顯示16進(jìn)制數(shù)字

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示的數(shù)字,第四個參數(shù)是數(shù)字的長度。

OLED_ShowBinNum(4, 1, 0xAA55, 16);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //顯示2進(jìn)制數(shù)字

一個參數(shù)起始行,第二個參數(shù)起始列,第三個參數(shù)是要顯示數(shù)字的十六進(jìn)制,第四個參數(shù)是數(shù)字的長度。


五、OLED顯示屏使用

1、硬件接線圖

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

記得將PB7用跳線接到邊上的正極,PB6接邊上的負(fù)極。?

Stm32的引腳上電后,如果不初始化,默認(rèn)是浮空輸入的模式,在這個模式下,引腳不會輸出電平,所以不會有什么影響。

2、添加OLED驅(qū)動函數(shù)

在江科大給的資料中,程序源碼的位置能找到OLED模塊的驅(qū)動函數(shù),選擇4針腳版本的,然后復(fù)制到新建工程文件夾4.1? OLED顯示屏中的Hardware文件夾中。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

然后在Keil軟件中,右鍵Hardware文件夾,選擇第三個添加文件至Hardware,然后文件類型選擇所有文件類型,Ctrl選中紅框內(nèi)的三個文件,再點(diǎn)擊Add添加,即完成在Keil軟件中添加OLED驅(qū)動函數(shù)。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

添加完成后,還需要對部分代碼進(jìn)行修改,打開OLED.c文件,找到下面代碼,之前的硬件接線圖中,我們將OLED的SCL口接到了PB8,SDA口接到了PB9,則后面的引腳選擇都得改成GPIOB, GPIO_Pin_8和GPIO_Pin_9,包括后面的OLED初始化函數(shù)都得改成對應(yīng)的引腳。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

在OLED.Font.h文件中,存放的是OLDE的字庫數(shù)據(jù)。由于OLED顯示屏沒有自帶字庫,因此想要顯示圖形,還得先定義字符的點(diǎn)陣數(shù)據(jù),OLED.c文件的顯示函數(shù)會用到這些數(shù)據(jù)。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

3、程序

主函數(shù)

#include "stm32f10x.h"                  						// Device header
#include "Delay.h" 
#include "OLED.h"


int main(void)													
{
	OLED_Init();
	
	OLED_ShowChar(1, 1, 'A');
	OLED_ShowString(1, 3, "HelloWorld!");		
	OLED_ShowNum(2, 1, 12345, 5);
	OLED_ShowSignedNum(2, 7,-66, 2);
	OLED_ShowHexNum(3, 1, 0xAA55, 4);
	OLED_ShowBinNum(4, 1, 0xAA55, 16);
	while(1)
	{
	
	}
}

4、實物展示

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)


?六、Keil軟件自帶調(diào)試模式

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

如上圖所示,首先點(diǎn)擊工程選項,然后點(diǎn)擊Debug這里,可以對調(diào)試選項進(jìn)行配置, 默認(rèn)是選擇右邊紅色框內(nèi)這一項,這個是在硬件上在線仿真,需要把STLINK和stm32都連接好,如果不想連接硬件,也可以選擇左邊黃色框內(nèi),選擇使用仿真器的這個選項,這樣就是電腦模擬stm32的運(yùn)行了。

我們這里使用硬件在線仿真,在進(jìn)入調(diào)試模式之前,需要連接好stm32。然后點(diǎn)擊下圖中的放大鏡里面帶個d的圖標(biāo),進(jìn)入調(diào)試模式。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

?單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

紅色框內(nèi),即主窗口就是我們編寫的C語言程序,上面黃色框內(nèi)的窗口,就是C語言翻譯成的匯編語言,能夠看到每一句C語言實際上執(zhí)行了哪些操作,左邊藍(lán)色框內(nèi)的窗口是寄存器組和狀態(tài)標(biāo)志位等信息,這個是單片機(jī)硬件底層很重要的東西,如果用匯編語言,這些東西都是必須要非常清楚的,但是如果用的C語言,那這些東西就不需要管。

?單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

接下來看工具欄的作用,左起第一個紅色框內(nèi)的是復(fù)位,第二個黃色框內(nèi)的是全速運(yùn)行,第三個藍(lán)色框內(nèi)的是停止全速運(yùn)行 。

?單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

接下來,左起第一個紅色框內(nèi)的是單步運(yùn)行,第二個黃色框內(nèi)的是跳過當(dāng)前單步運(yùn)行,第三個藍(lán)色框內(nèi)的是跳出當(dāng)前函數(shù)單步運(yùn)行,第四個綠色框內(nèi)的是調(diào)到光標(biāo)指定行單步運(yùn)行。

?單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

?在主窗口中,左邊藍(lán)色和黃色兩個箭頭連在一起的就是下一句將要執(zhí)行的代碼,我們還可以在深灰色區(qū)域左鍵設(shè)置斷點(diǎn),然后點(diǎn)擊全速運(yùn)行,程序就會一直運(yùn)行,直到斷點(diǎn)停下,如果沒有斷點(diǎn),程序全速運(yùn)行,就不會停下來,點(diǎn)擊停止全速運(yùn)行按鈕,程序才會停下來。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

接下來繼續(xù)看窗口功能,第一個紅色框內(nèi)的是命令窗口,我們點(diǎn)擊它可以打開和關(guān)閉命令窗口,命令窗口在軟件的左下角位置。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

第二個黃色框內(nèi)的是反匯編窗口,也是可以打開和關(guān)閉的,即主窗口上面的窗口。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

第三個藍(lán)色框內(nèi)的是符號窗口,打開后會顯示在主窗口的右邊,在這里我們可以實時查看程序中所有變量的值。

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

?單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

繼續(xù)看工具欄,第一個紅色框內(nèi)的是串口顯示,第二個黃色框內(nèi)的是邏輯分析儀。

?我們還可以點(diǎn)擊這個外設(shè)菜單欄,選擇第一個系統(tǒng)資源查看,這里就能看到所有的外設(shè)寄存器了,比如我們選擇GPIOA,點(diǎn)擊,就會在主窗口的右邊顯示GPIOA外設(shè)的所有寄存器,點(diǎn)擊ODR寄存器,這里ODR0就是PA0的輸出數(shù)據(jù)寄存器。?

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

單片機(jī)怎么連接oled屏幕,STM32學(xué)習(xí),stm32,嵌入式硬件,單片機(jī)

Stm32實時執(zhí)行程序,Keil軟件實時顯示外設(shè)寄存器狀態(tài),還能隨時控制程序的開始、停止、單步運(yùn)行,所以當(dāng)我們遇到一個比較難調(diào)試的程序時,如果不清楚程序時如何執(zhí)行的,或者想看一大堆變量卻不方便顯示的,或者想看一下寄存器是不是配置正確了,都可以考慮使用Keil自帶的調(diào)試模式。

最后再說明一下,如果想修改程序的話,是不能直接在這個調(diào)試模式下修改的,修改程序得先退出調(diào)試模式,重新編譯,再進(jìn)入調(diào)試模式。?文章來源地址http://www.zghlxwxcb.cn/news/detail-769251.html

到了這里,關(guān)于STM32——OLED顯示屏(4)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32-OLED顯示屏

    *本文采用的OLED顯示屏為4針腳IIC顯示屏,4針腳分別為GND,VCC,SCL,SDA OLED.C OLED_Font.h main.c

    2024年02月05日
    瀏覽(23)
  • STM32——OLED顯示屏(4)

    STM32——OLED顯示屏(4)

    目錄 一、調(diào)試方式 二、OLED簡介 三、OLED硬件電路 四、OLED驅(qū)動函數(shù) 五、OLED顯示屏使用 1、硬件接線圖 2、添加OLED驅(qū)動函數(shù) 3、程序 4、實物展示 ?六、Keil軟件自帶調(diào)試模式 ????????對于單片機(jī)的編程而言,經(jīng)常會遇到一個很大的問題,就是程序調(diào)試,單片機(jī)不像電腦,電

    2024年02月03日
    瀏覽(23)
  • STM32 軟件IIC 控制OLED 顯示屏

    STM32 軟件IIC 控制OLED 顯示屏

    需要看原理圖了

    2024年02月09日
    瀏覽(22)
  • STM32F103驅(qū)動oled顯示屏

    STM32F103驅(qū)動oled顯示屏

    oled顯示屏和其他顯示屏類似,不過他只有0.96英寸,屏幕較小,但是使用起來比較方便。有二種驅(qū)動方式,分別為IIC,和SPI驅(qū)動。驅(qū)動方式比較簡單。IIC驅(qū)動的話只需要4根線,電源,地線,數(shù)據(jù)線,和時鐘線。 我這里使用的是IIC協(xié)議驅(qū)動oled顯示屏,如果想了解IIC協(xié)議的可以看

    2024年02月11日
    瀏覽(40)
  • 5、江科大stm32視頻學(xué)習(xí)筆記——OLED顯示屏

    5、江科大stm32視頻學(xué)習(xí)筆記——OLED顯示屏

    目錄 1、OLED簡介? 2、OLED硬件電路 3、OLED驅(qū)動函函數(shù)簡介和應(yīng)用 4、用keil進(jìn)行調(diào)試 4引腳OLED SCL和SDA是I2C通信引腳,需要接在I2C通信的引腳上 實驗中用的模塊是GPIO口模擬的I2C通信,故SCL和SDA兩個端口可以接在任意的GPIO口上 7引腳OLED 右邊5個引腳是SPI通信協(xié)議的引腳 如果是GPI

    2024年02月14日
    瀏覽(25)
  • 單片機(jī)期末設(shè)計 - 液晶顯示屏顯示時間、日期、溫度及按鍵控制(實驗板實現(xiàn))

    單片機(jī)期末設(shè)計 - 液晶顯示屏顯示時間、日期、溫度及按鍵控制(實驗板實現(xiàn))

    設(shè)計本代碼的主要目的是為了完成期末作業(yè),即在液晶顯示屏上顯示、時間、日期、溫度,以及用按鍵控制時間、溫度的顯示。總的來說就是對前面學(xué)習(xí)計數(shù)的糅合,本代碼實現(xiàn)的是顯示時間,并能在實驗板上成功顯示。 1.液晶顯示屏模塊應(yīng)用 主要是學(xué)會如何在液晶顯示屏上

    2024年02月08日
    瀏覽(19)
  • 基于單片機(jī)的點(diǎn)陣電子顯示屏上下左右移加減速系統(tǒng)

    基于單片機(jī)的點(diǎn)陣電子顯示屏上下左右移加減速系統(tǒng)

    一、系統(tǒng)方案 本設(shè)計的任務(wù)就是完成一個16 16的點(diǎn)陣設(shè)計,并能滾動顯示“ ********************”內(nèi)容。 主要內(nèi)容是,能同時流動顯示漢字;能實現(xiàn)顯示漢字無閃爍;能實屏幕亮度較高。本LED顯示屏能夠以動態(tài)掃描的方式顯示一個16×16點(diǎn)陣漢字,并能通過單片機(jī)實現(xiàn)內(nèi)容滾動顯示

    2024年02月09日
    瀏覽(18)
  • 基于AT89C51單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計

    基于AT89C51單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: [[https://download.csdn.net/download/qq_64505944/88637464?spm=1001.2014.3001.5503]] **[源碼獲取] B 源碼+仿真圖+課程設(shè)計+50 工程實訓(xùn)(三)課題設(shè)計 LED點(diǎn)陣顯示屏設(shè)計 LED點(diǎn)陣顯示屏通過編程控制可以顯示中英文字符、圖形及視頻動態(tài)圖形,廣泛用于指

    2024年02月02日
    瀏覽(27)
  • STC89C52單片機(jī)LCD1602顯示屏介紹與代碼演示

    STC89C52單片機(jī)LCD1602顯示屏介紹與代碼演示

    LCD1602顯示屏介紹 引腳介紹 內(nèi)部結(jié)構(gòu)框圖 ?存儲器 ?DDRAM儲存器地址 ?CGRAM與?CGROM的地址 時序介紹 LCD1602快捷指令? LCD1602指令操作流程: 字符、字符串的顯示 ?各種進(jìn)制的數(shù)字顯示 在LCD1602上顯示十進(jìn)制數(shù)字 在LCD1602上顯示十六進(jìn)制數(shù)字 在LCD1602上顯示二進(jìn)制數(shù)字 LCD1602(Liq

    2024年02月08日
    瀏覽(22)
  • 單片機(jī) 用LCD顯示屏 輸出字符串源代碼(附Proteus圖)

    單片機(jī) 用LCD顯示屏 輸出字符串源代碼(附Proteus圖)

    附:字符型LCD顯示屏型號:LM016L;這個代碼應(yīng)該是可以直接運(yùn)行的

    2024年02月14日
    瀏覽(77)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包