【开源教程6】疯壳·开源蓝牙心率防水运动手环-OLED 屏幕显示

开源蓝牙心率防水运动手环 
——疯壳·智能穿戴开发系列
OLED 屏幕显示

Lcd 屏幕显示


1  相关简介

  本次 Lcd 屏幕显示是采用 SSD1306。SSD1306 是一个单片 CMOS OLED/PLED 驱动芯片可以驱动有机/聚合发光二级管点阵图形显示系统。有 128segments 和64Commons 组成。该芯片专为共阴极 OLED 面板设计。SSD1306 中嵌入了对比度控制器、显示 RAM 和晶振,并因此减少了外部器件和功耗。有 256 级亮度控制。数据/命令的发送有三种接口可选择:6800/8000 串口,I2C 接口或 SPI 接口。我们本次就是使用软件模拟 I2C 接口控制 LCD 屏幕。


2  硬件设计

  下图是我们的 LCD 屏幕的接口,这里使用 I2C 通信,SCL,SDA 分别接在 P25、P26。



图 1

 


3  软件设计

  关于软件,首先就是要把模拟 I2C 的两个引脚配置成普通输出 IO 口, 
GPIO_ConfigurePin(LCD_I2C_PORT, SCL, OUTPUT, PID_GPIO, false); 
GPIO_ConfigurePin(LCD_I2C_PORT, SDA, OUTPUT, PID_GPIO, false);
首先模拟起始信号:当 SCL 为高电平期间,SDA 由高电平跳变到低电平。

 

 

  最后就是数据的传送:I2C 总线进行数据传送时,时钟信号为高电平期间, 数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

 

  上面的函数 Delay_us(1)可以根据 datasheet 进行更改。
  我们通过对 SSD1306 写指令,写数据,控制 LCD。


图 2

 

 

 


  LCD 初始化完成之后,就可以调用显示函数了。

4  实验现象

  首先打开 SmartSnippets。


图 3
(1)设置好 SmartSnippets 之后,点击上图中的 Open。

 


(2)点击 Connect,连接我们的单片机。


图 4
(3)点击 Erase,擦除 Flash。

 


图 5
(4)点击 Browse,找到我们工程的.hex 文件。

 


图 6
(5)点击 Burn,完成代码下载。

 


图 7
代码下载完成之后,运行代码,就能看到 LCD 上有显示图案。

 



图片 8

 

更多完整学习资料和对应开源套件,请登陆官网:“疯壳”

如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...