一. 實驗目的 (1)理解I2C工作原理; (2)分析I2C 通信0.96英寸OLED屏顯示工作原理; (3)分析STM32控制I2C 通信0.96英寸OLED屏硬件連接; (4)設計STM32控制I2C 通信0.96英寸OLED屏顯示“我愛中國”,開發軟件; (5)熟悉調試、下載程序。 二. 實驗內容 設計STM32控制I2C 通信0.96英寸OLED屏顯示“姓名:王世龍 學號:172020240356”。 三. 實驗原理 用STM32F103ZET6開發板的PD6與OLED屏的SCL連接、PG14與OLED屏的SDA連接,PD6、PG14輸出方式均為推挽輸出。 OLED屏的+VCC、GND與STM32的+VCC(3.3V或+5V)、GND連接。 0.96英寸OLED屏所用的驅動IIC為SSD1306,其具有內部升壓功能,所以在設計的時候不需要再考慮升壓電路。 SSD1306的每頁包含了128 個字節,總共 8 頁,這樣剛好是 128*64 的點陣大小。 四. 實驗器材 ① 筆記本電腦或臺式電腦 臺/人(內存不低于4G)。 ② STM32F103ZET6最小系統板一塊、ISP串口程序下載器、杜邦線幾根、miniUSB線一條,I2C 通信0.96英寸OLED屏一塊。 ③ 配置相關軟件(MDK,串口驅動等)。 五. 實驗分析與設計 模塊分析: 1、 實驗步驟: 第一步:硬件連接,用四根導線將開發板與OLED模塊一一進行連接,確保無誤。 第二步:建工程模板。 第三步:新建3個文件,分別取名為oled.h、oled.c、oledfont.h。將oled.h、oled.c、oledfont.h保存到HARDWARE文件夾下面OLED文件夾里面。 第四步:打開字模軟件PCtolLCD2002對所需的字符、漢字、圖形等進行取模。最后將所需的字模加入oledfon.h字庫。
2、 實驗過程:
①整體系統框架:
②主要文件
oled.h文件:(用于定義oled引腳 SCL 接PB6 SD 接PG14)
oled.c文件:(用于輸出從字模生成的字體)(一)
(使能PD6和PG14引腳 分別設為開漏輸出為50MHZ)(二)
main.c文件(輸出姓名和學號)
六.實驗心得
在不知不覺中已經完成五個實驗后,有一個很大的體會就是:原來學好嵌入式真的很不簡單!不僅僅需要理解原理還要熟練運用代碼并且還要自己花大量的時間來思考,怎么做好某個功能以及編寫流利的代碼實現預期的功能。
在OLED和IIC的使用,我還有很多不懂的地方。比如:若要更換板子的引腳時,需要看功能板的引腳圖和了解基本的電路知識。看著書中的例題,也還是有了不小的收獲。IIC和OLED的組合實現了字體顯示的功能。好神奇,讓我對硬件的興趣更加濃厚。但總體來說,這次的實驗還是難度挺大的,很多時候都是在改代碼錯誤的過程,只有歷經多次失敗,都是為成功鋪墊好道路,讓我們更好的前行。
|