SSD1306部分命令

2021-08-18 06:37:09 字數 2288 閱讀 7682

命令描述

1.     基礎命令

1.1     為頁位址模式設定列低半位元組的開始位址(00h~0fh)

1.2     為頁位址模式設定列高半位元組的開始位址(10h~1fh)

1.3     記憶體位址模式設定(20h)

頁位址模式(a[1:0]=10xb)

通過命令b0h~b7h,設定目標顯示屏當地的頁開始位址

通過命令00h~0fh,設定低列開始位址指標

通過命令10h~1fh,設定低列開始位址指標

例如如果頁位址設為b2h,低列位址為03h,而高列位址為00h,那麼也就意味著開始列是page2的seg3,而ram的獲取指標定位到下圖中。而輸入的資料將會被寫入列3的位置。

水平位址模式(a[1:0]=00b)

在水平位址中,顯示ram讀寫完後,列位址指標自動加一。如果列位址指標到達了列位址尾部,列位址指標重新回到列開始位址,同時頁位址指標也加一。而page和列位址指標掃瞄每頁位址的模型在下面。當列位址指標和頁指標都到達末尾時,兩個指標會調回到列位址和頁位址指標開始的位置。

垂直位址模式(a[1:0]=01b)

在垂直位址中,顯示ram讀寫完後,頁位址指標自動加一。如果頁位址指標到達了頁位址尾部,頁位址指標重新回到頁開始位址,同時列位址指標也加一。而page和列位址指標掃瞄位址的模型在下面。當列位址指標和頁指標都到達末尾時,兩個指標會調回到列位址和頁位址指標開始的位置。

通過命令21h,設定目標顯示屏當地的列開始和結束位址

通過命令22h,設定目標顯示屏當地的頁開始和結束位址

1.4     設定列位址(21h)

這個三個一組的命令是為設定顯示資料ram的列開始和結束位址專門設立。這個命令也設定了列位址指標的開始位址。在圖顯ram資料時這個指標用來定義當前的讀寫列位址。如果通過命令20h使能水平位址增加模式,當完成一列資料的讀寫後這個指標將自動增加到下乙個列位址。而當列位址指標到達列位址尾部他會調到列開始位址處,同時行位址也會自增一調到下一行。

1.5     設定頁位址(22h)

這個三個一組的命令是為設定顯示資料ram的頁開始和結束位址專門設立。這個命令也設定了頁位址指標的開始位址。在圖顯ram資料時這個指標用來定義當前的讀寫頁位址。如果通過命令20h使能垂直位址增加模式,當完成一頁資料的讀寫後這個指標將自動增加到下乙個頁位址。而當列位址指標到達列位址尾部他會調到頁開始位址處。

下圖顯示了列位址和頁位址指標移動的方式:列開始位址設為2,列結束位址設為125,而頁開始位址設為1,頁結束位址設為6。同時通過命令20h使能水平位址增加模式。在這種情況下,圖顯ram資料只有從列2到列125以及從頁1到頁6的資料可以被獲得。此外,列位址指標設為2而頁位址指標設為1,在完成讀寫一畫素資料的操作後列位址自動增加一以獲取下個ram位址的讀寫操作。而當列位址到達125後,他將重新返回到列位址2同時頁位址自動加一。而當到達頁6的列125時,頁回到頁1而列回到列2.如下圖

1.6     設定顯示開始行(40h~7fh)

這個命令集用來設定顯示開始行暫存器通過選擇0到63中任何一值從而定義顯示ram的開始位址。當此值為0時ram行的0對映到com0中,當此值為1時ram行的1對映到com0中。參考表10-1獲取更多說明。

1.7     設定bank0的對比控制(81h)

這個命令集用於設定顯示的對比控制。這個晶元有256個對比階層,分別從00h到ffh,而區域的輸出電流隨階層的增加而增加。

1016 部分A B Python實現

正整數 a 的 d a 為 1 位整數 部分 定義為由 a 中所有 d a 組成的新整數 p a 例如 給定 a 3862767,d a 6,則 a 的 6 部分 p a 是 66,因為 a 中有 2 個 6。現給定 a d a b d b 請編寫程式計算 p a p b 輸入在一行中依次給出 a ...

練習2部分題解

問題 g 汽水瓶 時間限制 1 sec 記憶體限制 128 mb提交 93 解決 45 201501010119 提交狀態討論版 題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉...

整體二分(部分)

首先確定乙個決策區間solve l,r,l,r 表示編號在lr的操作的數的權值和詢問的答案在lr這個區間,每次將答案二分,把lr裡的修改操作按被修改數的權值 mid和 mid分成左右兩邊,如果 mid,就把它下標所在位置在bit裡 1,把lr裡的查詢操作按bit上查詢區間裡的sum k和 inclu...