一. 实验目的 (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的组合实现了字体显示的功能。好神奇,让我对硬件的兴趣更加浓厚。但总体来说,这次的实验还是难度挺大的,很多时候都是在改代码错误的过程,只有历经多次失败,都是为成功铺垫好道路,让我们更好的前行。
|