91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【經(jīng)驗分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動實現(xiàn)

電子發(fā)燒友論壇 ? 來源:未知 ? 2022-11-22 08:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

OLED屏有多種形式,在例程中提供了一種I2C接口的0.96寸單色屏程序。本人則有一款I(lǐng)2C接口的0.96寸雙色屏,在掌握GPIO口使用的基礎(chǔ)上,以模擬I2C的方式實現(xiàn)了它的驅(qū)動顯示。

其引腳的連接關(guān)系如下:

VCC----3.3V

GND---GND

SDA----GPIO15

SCL----GPIO16

2e061516-69fc-11ed-8abf-dac502259ad0.png

圖1引腳連接

將所用引腳設(shè)置為輸出模式的語句為:

sda=Pin(15,Pin.OUT) #15

sck=Pin(16,Pin.OUT) #16

實現(xiàn)數(shù)據(jù)數(shù)據(jù)發(fā)送的函數(shù)為:

def Write_IIC_Byte(IIC_Byte):
 da=IIC_Byte
 sck.off()
 for i in range(8):
   m=da
   m=m&0x80
   if(m==0x80):
    sda.on()
   else:
    sda.off()
   da=da<<1
   sck.on()
   sck.off()

實現(xiàn)清屏的函數(shù)為:

def OLED_Clear():
  for i in range(8):
   OLED_WR_Byte (0xb0+i,OLED_CMD)
   OLED_WR_Byte (0x00,OLED_CMD)
   OLED_WR_Byte (0x10,OLED_CMD)
  for j in range(128):
   OLED_WR_Byte(0x00,OLED_DATA)

OLED屏的初始化函數(shù)為:

def OLED_Init():
 OLED_WR_Byte(0xAE,OLED_CMD)
 OLED_WR_Byte(0x02,OLED_CMD)
 OLED_WR_Byte(0x10,OLED_CMD)
 OLED_WR_Byte(0x40,OLED_CMD)
 OLED_WR_Byte(0x81,OLED_CMD)
 OLED_WR_Byte(0xff,OLED_CMD)
 OLED_WR_Byte(0xA1,OLED_CMD)
 OLED_WR_Byte(0xC8,OLED_CMD)
 OLED_WR_Byte(0xA6,OLED_CMD)
 OLED_WR_Byte(0xA8,OLED_CMD)
 OLED_WR_Byte(0x3f,OLED_CMD)
 OLED_WR_Byte(0xD3,OLED_CMD)
 OLED_WR_Byte(0x00,OLED_CMD)
 OLED_WR_Byte(0xd5,OLED_CMD)
 OLED_WR_Byte(0x80,OLED_CMD)
 OLED_WR_Byte(0xD9,OLED_CMD)
 OLED_WR_Byte(0xF1,OLED_CMD)
 OLED_WR_Byte(0xDA,OLED_CMD)
 OLED_WR_Byte(0x12,OLED_CMD)
 OLED_WR_Byte(0xDB,OLED_CMD)
 OLED_WR_Byte(0x40,OLED_CMD)
 OLED_WR_Byte(0x20,OLED_CMD)
 OLED_WR_Byte(0x02,OLED_CMD)
 OLED_WR_Byte(0x8D,OLED_CMD)
 OLED_WR_Byte(0x14,OLED_CMD)
 OLED_WR_Byte(0xA4,OLED_CMD)
 OLED_WR_Byte(0xA6,OLED_CMD)
 OLED_WR_Byte(0xAF,OLED_CMD)
 OLED_WR_Byte(0xAF,OLED_CMD)
 OLED_Clear()
 OLED_Set_Pos(0,0)

為了驗證程序的可行性,特將清屏函數(shù)改造為彩條繪制函數(shù),其內(nèi)容為:

def OLED_Clear():
  for i in range(8):
   OLED_WR_Byte (0xb0+i,OLED_CMD)
   OLED_WR_Byte (0x00,OLED_CMD)
   OLED_WR_Byte (0x10,OLED_CMD)
  for j in range(128):
   OLED_WR_Byte(0xf0,OLED_DATA) #OLED_DATA


def OLED_text():
  OLED_Init()
  OLED_Clear()


OLED_text ()

經(jīng)上傳測試,其顯示效果如圖2所示,說明驅(qū)動程序是有效的。

2e1ebb8e-69fc-11ed-8abf-dac502259ad0.png

圖2繪制彩條

為了實現(xiàn)字符,需按如下形式來定義字庫:

F8X16=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,

0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

** ... **

0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]

所設(shè)計的字符串顯示函數(shù)為:

def OLED_ShowString(x,y,chr,Char_Size):
   for character in chr:
    OLED_ShowChar(x,y,character,Char_Size)
    x+=8
    if(x>120):
      x=0
      y+=2

實現(xiàn)字符串輸出測試的程序如下:

def OLED_text():
  OLED_Init()
  OLED_Clear()
  OLED_ShowString(0,0,'Banana PI ',16)
  OLED_ShowString(0,2,'Leaf S3',16)
  OLED_ShowString(0,4,'OLED TEST',16)
  OLED_ShowString(0,6,'jinglixixi',16)


OLED_text()

經(jīng)上傳測試,其顯示效果如圖3所示,說明驅(qū)動程序是有效的。

2e493bfc-69fc-11ed-8abf-dac502259ad0.png

圖3顯示字符串

通過OLED屏驅(qū)動程序的設(shè)計,基本上掌握了Thonny的編程方法、函數(shù)的設(shè)計及數(shù)組元素的使用等,收獲還是很多的,后面就可以自主地進行功能設(shè)計了。

本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com。

2e7c4d26-69fc-11ed-8abf-dac502259ad0.png


原文標題:【經(jīng)驗分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動實現(xiàn)

文章出處:【微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:【經(jīng)驗分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動實現(xiàn)

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【瑞薩FPB-RA6E2試用】【瑞薩RA × Zephyr開發(fā)板評測】難以復現(xiàn)的OLED顯示驅(qū)動

    在地奇星RA6E2開發(fā)板上,以I2C的方式已實現(xiàn)OLED顯示驅(qū)動,在I2C的配置上見圖1所
    發(fā)表于 01-09 13:48

    NXP S32G-VNP-EVB3開發(fā)板全方位解析

    NXP S32G-VNP-EVB3開發(fā)板全方位解析 在當前的電子工程領(lǐng)域,高性能的車輛網(wǎng)絡(luò)處理器在汽車電子系統(tǒng)中發(fā)揮著至關(guān)重要的作用。NXP的S32G系列處理器就是這樣一款杰出的產(chǎn)品,而
    的頭像 發(fā)表于 12-24 17:05 ?407次閱讀

    【獲獎名單】2025開發(fā)板評測大賽優(yōu)秀開發(fā)者、最受歡迎開發(fā)板公布

    HH-SCDAYU800A281852lustao 最受歡迎開發(fā)板:專題開發(fā)板名稱 RISC-V專題賽昉 VisionFive 2 沁恒 CH585 玄鐵 Banana Pi
    發(fā)表于 11-21 09:31

    低成本開源!用樂鑫科技ESP32-S3開發(fā)板輕松驅(qū)動無刷電機,保姆級教程來了!

    想用ESP32-S3開發(fā)板驅(qū)動無刷電機卻不知從何下手?本教程將手把手教你完成從硬件連接到軟件編程的全流程,無論你是新手還是有一定經(jīng)驗開發(fā)
    的頭像 發(fā)表于 11-06 18:03 ?843次閱讀
    低成本開源!用樂鑫科技ESP32-<b class='flag-5'>S3</b><b class='flag-5'>開發(fā)板</b>輕松<b class='flag-5'>驅(qū)動</b>無刷電機,保姆級教程來了!

    【作品合集】玄鐵Banana Pi BPI-RV2開發(fā)板測評

    玄鐵Banana Pi BPI-RV2開發(fā)板測評作品合集 產(chǎn)品介紹: Banana Pi BPI-RV2 開源網(wǎng)關(guān)是?款基于矽昌 SF21H
    發(fā)表于 09-17 10:58

    【匠芯創(chuàng)D133CBS KunLun Pi開發(fā)板試用體驗】1、開發(fā)板開箱及介紹

    應用于工業(yè) HMI、 網(wǎng)關(guān)、串口等泛工業(yè)和智慧家居領(lǐng)域。 D133CBS RISC-V KunLun Pi V1.0 是一款基于 D13x 芯片的人機交互應用開發(fā)板,配備 4.3 寸 LCD
    發(fā)表于 09-05 13:49

    【RA4M2-SENSOR】+OLED顯示驅(qū)動

    RA4M2-SENSOR開發(fā)板是一款近于最小系統(tǒng)的開發(fā)板,通過添加相應的外設(shè),可豐富其功能。 這里就為它配置一個I2C接口的OLED,驅(qū)動
    發(fā)表于 09-02 18:28

    【RA-Eco-RA6M4開發(fā)板評測】點亮OLED顯示屏

    【點亮OLED顯示屏】 瑞薩 RA6M2 支持硬件 I2C,開發(fā)板上有 OLED 顯示屏接口,如下:
    發(fā)表于 08-31 10:25

    【Milk-V Duo S 開發(fā)板免費體驗】DuoS 超聲波測距 OLED 顯示

    ,并將測距結(jié)果顯示OLED 顯示屏上 硬件準備 1、DuoS 開發(fā)板 2、HC-SR04 超聲波測距模塊 3
    發(fā)表于 08-22 03:55

    【RA-Eco-RA6M4開發(fā)板評測】+OLED顯示驅(qū)動

    RA-Eco-RA6M4開發(fā)板是一款近于最小系統(tǒng)得開發(fā)板,為其添加相應的外設(shè),可用起到豐富其羽翼的作用。 這里就為它配置一個I2C接口的OLED,其引腳連接關(guān)系為: SCLK----
    發(fā)表于 07-23 17:33

    Banana Pi BPI-RV2開發(fā)板試用體驗】開箱上電

    開源社區(qū)(Banana Pi )合作設(shè)計。 開發(fā)板關(guān)鍵特性 矽昌 SF21H8898 四核64位RISC-V 處理器 矽昌自研NPU,可以達到企業(yè)級?關(guān)級別數(shù)據(jù)轉(zhuǎn)發(fā)處理能? 512MB DDR
    發(fā)表于 06-26 19:51

    Banana Pi BPI-RV2開發(fā)板試用體驗】開發(fā)環(huán)境搭建

    參考 https://docs.banana-pi.org/zh/BPI-RV2/BananaPi_BPI-RV2 前言 本文分享開發(fā)板基本的ssh登錄,文件傳輸,c開發(fā)環(huán)境搭建。 上電串口登錄 上
    發(fā)表于 06-25 16:07

    Banana Pi BPI-RV2開發(fā)板試用體驗】開發(fā)板介紹視頻

    一. 開發(fā)板介紹香蕉派 BPI-RV2 RISC-V 路由器開發(fā)板采用矽昌通信 SF21H8898 芯片方案矽昌 SF21H8898 四核64位RISC-V 處理器, 1.25GHz主頻得益于矽昌自
    發(fā)表于 06-24 23:51

    基于RISC-V處理器,Banana Pi BPI-RV2開發(fā)板試用

    Banana Pi BPI-RV2 開源網(wǎng)關(guān)是?款基于矽昌 SF21H8898 SoC的設(shè)備,1 × 2.5 G WAN?絡(luò)接?、5 ?個千兆LAN ?絡(luò)接?、板載 512MB DDR3 內(nèi)存
    的頭像 發(fā)表于 06-09 14:59 ?1278次閱讀
    基于RISC-V處理器,<b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> BPI-RV2<b class='flag-5'>開發(fā)板</b>試用

    Banana Pi BPI-RV2 RISC-V 路由器開發(fā)板發(fā)售, 全球首款RISC-V路由器

    Banana Pi BPI-RV2 開源路由器是矽昌通信和?蕉派開源社區(qū)(Banana Pi )合作設(shè)計, 聯(lián)合打造全球首款RISC-V架構(gòu)路由器
    發(fā)表于 04-18 14:06