小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

 龍之吻6iinxl8c 2018-05-04

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

不管是做單片機還是做嵌入式的,要對一塊陌生芯片編程是不可避免的工作, 那首先要做的第一步必然是閱讀其datasheet,然而時序?qū)τ谖覀兪亲畛R姷牧?,只有針對時序編程,才有可能確實某些硬件工作。今天我們就來講講怎么來編寫一個特定的時序來驅(qū)動硬件,我們就以STM32的載體了。

這里我們選用了一款基于 ST7567 驅(qū)動芯片的 128*64 像素 FSTN(格式化超扭曲向列型) 液晶, 當(dāng)中不集成任何字庫, 集成了可獨立控制的琥珀色背光板。之所以選擇這樣的液晶, 是因為其與目前可穿戴設(shè)備廣泛使用的 OLED(有機發(fā)光二極管) 具有相似的控制原理, 并且價格還比 OLED 便宜很多。

我們的引腳控制對應(yīng)關(guān)系是:

  • PB2: 背光開關(guān)

  • PB3: 復(fù)位

  • PB4: A0, 數(shù)據(jù)或者命令選擇, “1” : 寫數(shù)據(jù), “0” : 寫命令

  • PA5: SCL(時鐘端)

  • PA7: SDA(數(shù)據(jù)端)

SPI 可以有效地減少數(shù)據(jù)端口的連接, 便于布板和節(jié)約端口資源, 因此我們優(yōu)先推薦。 接下來我們研究一下 LCD 的驅(qū)動程序

時序圖

要研究 LCD 的驅(qū)動程序, 首先必須了解其控制芯片的時序

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

每次需要發(fā)出的時候, 先要拉低 CS, 然后 SDA 發(fā)出字節(jié)中的最高位的bit,接著 SCLK 進行一次上升沿的變化, 然后按照上述內(nèi)容依次發(fā)送其余各位。 在最后全部發(fā)送完成數(shù)據(jù)后, A0 需要根據(jù)當(dāng)前發(fā)送的是命令還是數(shù)據(jù), 進行變化。發(fā)送完成之后, CS 需要拉高, 準(zhǔn)備下一次字節(jié)的發(fā)送。

程序?qū)崿F(xiàn)步驟

  • 初始化相應(yīng)的 GPIO

  • 寫 LCD 的 SPI 寫數(shù)據(jù)程序

  • 寫 LCD 的 SPI 寫命令程序

  • 初始化 LCD

程序的具體實施

  • 初始化相應(yīng)的 GPIO。 在這里, 由于我們僅僅用了單向的通訊, 即控制信號永遠從 MCU 到 LCD, 因此只需要配置上面 5 個控制引腳為推挽式輸出模式“GPIO_Mode_Out_PP”

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

在定義了以上的初始化程序之后, 為了便于后續(xù)的操作方便, 我們可以采用宏定義的方式來定義每個引腳的高低電平輸入輸出

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

  • 編寫 LCD 的寫數(shù)據(jù)程序。 在這里, 我們先來看下時序圖, 如果要寫命令的話, 首先需要將 A0 拉高, CS 在寫的過程中需要拉低, 接著通過 SCK 和 SDA的配合, 即可將數(shù)據(jù)完整的發(fā)送出去。 發(fā)送的時候, 以一個字節(jié)為最基本單元,從最高位開始發(fā)送, 直至最低位發(fā)送出去。

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

  • 編寫 LCD 的寫命令程序。 寫命令程序和寫數(shù)據(jù)程序類似, 只需要將A0 設(shè)置成低電平即可

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

  • 初始化 LCD。 初始化 LCD 的時候, 我們需要做兩件事情, 第一件事設(shè)置 LCD 的工作方式; 第二件是控制 LCD 的背光開關(guān)(打開或者關(guān)閉) 。這里我們直接給出一般的初始化程序:

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

  • lcd 復(fù)位程序和轉(zhuǎn)為 lcd 操作編寫的延遲程序

STM32|基于 SPI 單向發(fā)送的 12864 驅(qū)動程序

好了,有這么多,基本上就能跑起來了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多