第八章课后总结
OLED 实验所用的OLED屏是一块0.96寸屏幕,可以在这块屏幕上显示四行(01为第一行、23为第二行、45为第三行、67为第四行)通过这四行的又分为128列
1.OLED_ShowString(8,2,"LYU-IOT Center");
2.OLED_ShowString(20,4,"2020/01/01");
3.OLED_ShowString(0,6,"ASCII:");
4.OLED_ShowString(63,6,"CODE:");
5.OLED_ShowChar(48,6,t);//显示ASCII字符
在这个代码中括号中第一列为OLED 屏幕中的列数(seg),8、20、0、63、48均为列数
而第二列又表现为行数(page)。
显示原理:
SSD1306的显存总共为12864bit大小,SSD1306将这些显存分为了8页。每页包含了128个字节,总共8页,这样刚好是12864的点阵大小。
图一
1.void OLED_ShowChar(unsigned char x,unsigned char y,unsigned char chr)
2.void OLED_ShowNum(unsigned char x,unsigned char y,unsigned int num,unsigned char len,unsigned char size)
3.void OLED_ShowString(unsigned char x,unsigned char y,unsigned char *chr)
4.void OLED_ShowChinese_Row(unsigned char x,unsigned char y,char *hanzi)
上述代码是进行字符、字符串、数字、中文输出的显示函数,不同的字符输出显示方法也是不相同的,
图二
对OLED屏幕建立一个坐标系,如图二所示从右上角建立原点开始计算坐标。
OLED的显示需要取模软件,在取模软件中,做出所需的汉字或者字符。
以汉字我为例(列行式)
采用列行式取模方式进行取模,首先将整个图分为上下两部分上八下八
上八行:在第一列中为0x20 第二列是0x24第三列是0x24第四列是0x24第五列是0xfe第六列是0x23之后依次取值
下八行:也是相同的取值
将取完的值放入代码中进行,运行出结果