BL55072/BL55075 应用笔记
BL55072
1、特点
液晶驱动输出:Common 输出 4 线,Segment 输出 36 线
内置显示寄存器 36*4=144bit
2 线串行接口(SCL,SDA)
内置震荡电路
内置液晶驱动电源电路
1/3 Bias, 1/2 Bias 1/4 Duty
内置 Buffer AMP
不需要外部元件
低功耗设计
内置上电复位电路
搭载闪烁功能
VDD 电压范围 2.5V~5.5V
高抗 EMC 性能
TSSOP48 封装
2、管脚编号
3、功能描述
1、功能电路
BL55072内部集成了LCD驱动器所必需的所有功能电路。这些电路包括:LCD
偏置电压发生器、LCD电压选择器、内部时钟(OSC =25.6KHz)、显示寄存器、段
/背极输出电路、I2C串行接口、上电复位电路和显示控制电路。
2、显示驱动原理
BL55072有36个段输出SEG0--SEG35和4个背极输出COM0—COM3,它们和
LCD直接相连,当少于36个段输出应用时,不用的段可以空出。BL55072采用1/4背
极输出1/3偏置电压或者1/2偏置电压显示方式。
3、显示内容和寄存器地址之间的关系可见下表
4、I2C 写入数据方式:
5、I2C通讯方式
如图所示:发送第一个起始条件后,紧接着发送BL55072地址
(01111100),然后发送指令和显示数据,指令字节中的最高位“C”用以标明是否
是最后一个指令字节,当C=“1”时表示后面的字节仍是指令字节;当C=“0”时则
表明该字节为最后一个指令字节。最后一个指令字节之后为一系列显示数据字节
(DISPLAY DATA),这些显示数据存放在显示寄存器中,由数据指针和子地址
计数器指示的地址上。数据指针和子地址计数器可自动变更,数据直接装载到
BL55072上,A是每个字节之后的应答位,在主控器发送完最后一个字节后产生
一个终止条件P。
参考代码如下所示:
void SEG_IIC_Start()
{SEG_SDI_1;SEG_CLK_1;delay_ms(1);SEG_SDI_0; delay_ms(1); SEG_CLK_0;
}
void SEG_IIC_Stop()
{SEG_SDI_0;SEG_CLK_0;__nop(); SEG_SDI_1; delay_ms(1) ; SEG_CLK_1;
}void SEG_IIC_WriteByte(int8_t input)
{int8_t temp;for(temp=8;temp!=0;temp--){if((input&0x80)!=0){SEG_SDI_1;}else{SEG_SDI_0;} __nop();;SEG_CLK_1;delay_ms(1);SEG_CLK_0;input=input<<1;__nop();}SEG_SDI_1; SEG_SDI_IN;SEG_CLK_1;delay_ms(1);SEG_CLK_0; SEG_SDI_OUT;
}
4、控制命令
BL55072 共有 6 个控制命令字。命令和数据都是以字节的形式发送到
BL55072,它们的区别在于传送字节的最高位 C,当 C=1 时表示其后传送的字节仍
是命令;C=0 表示其后传送的字节是最后一个命令,接下来传送的是一系列数据。
下面列出了 BL55072 的 6 个命令字:
MODE SET
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
---|---|---|---|---|---|---|---|---|
Value | C | 1 | 0 | # | display | bias | # | # |
default | C | 1 | 0 | # | 0 | 0 | # | # |
[3] Display on and off
0 – Display off (default)
1 – Display on
[2] Bias control
0 –1/3 bias (default)
1 – 1/2 bias
ADSET
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
---|---|---|---|---|---|---|---|---|
Value | C | 0 | 0 | Addr[4:0] | ||||
default | C | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
地址寄存器设置,
该寄存器用于写数据前设置数据的起始地址,或者读数据/command 前设置读取
数据/command 的地址。
读写数据地址范围为 000H~011H,写数据时如果初始地址大于 11H,则写入数
据对应到地址 00H 中。若在写入初始地址后,不断写入数据,当写入数据超过
36*4 时,数据被重新写入到初始地址中。
DISCTL
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
---|---|---|---|---|---|---|---|---|
Value | C | 0 | 1 | FR[1:0] | FR[1:0] | P2 | SR[1:0] | SR[1:0] |
default | C | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
显示控制
[4:3]: frame frequency control (FR)
00 - 80Hz (default)
01 - 71Hz
10 - 64Hz
11 - 50Hz
[2]: LCD Drive Mode control
0 – Line inversion mode (default)
1 – Frame inversion mode
[1:0]: power save mode control (SR)
00 – power save mode 1
01 – power save mode 2
10 – normal mode (default)
11 – high power mode
ICSET
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
---|---|---|---|---|---|---|---|---|
Value | C | 1 | 1 | 0 | 1 | # | softrst | oscmode |
Default | C | 1 | 1 | 0 | 1 | # | 0 | 0 |
芯片设置
[1]:software reset
0 – no operation (default)
1 – software reset
[0]:oscillator mode control
0 – inner oscillator (default) : OSCIN pin connected to VSS pin.
1 – outside oscillator : OSCIN pin connected to outside clock signal(32.768KHz).
BLKCTL
| | Bit7| Bit6|Bit5| Bit4| Bit3 | Bit2 | Bit1 | Bit0 |
|-----| ----| ----|----| ----| -----| ---- | ----- | ---- |
|Value| C | 1 | 1 | 0 | 1 | # |softrst|oscmode|
|Default |C|1 |1 |0 |1 |# |0 |0 |
闪烁控制
[1:0] blinking control
00 – blinking off
01 – 0.25 Hz
10 – 0.5Hz
11 – 1 Hz
APCTL
| | Bit7| Bit6|Bit5| Bit4| Bit3 | Bit2 | Bit1 | Bit0 |
|-----| ----| ----|----| ----| -----| ---- | ----- | ---- |
|Value| C | 1 | 1 | 1 | 1 | 1 | Apon | Apoff|
|Default |C|1 |1 |1 |1 |1 |0 |0 |
全亮全暗控制,该寄存器只有在 display on 时才起作用;
[1]:all pixel ON control
0 – normal (default)
1 – all pixel on
[0]:all pixel OFF control
0 – normal (default)
1 – all pixel off
当 apon 和 apoff 都为 1 时,则显示全暗,即 apoff 的优先级高于 apon
5.BL55072的典型应用电路
6、实现代码
void SEG_Init(void)
{bsp_gpio_config(SEG_CLK_PORT,SEG_CLK_PIN,GpioWrite);bsp_gpio_config(SEG_SDI_PORT,SEG_SDI_PIN,GpioWrite);SEG_IIC_Start();SEG_IIC_WriteByte(0x7C);SEG_IIC_WriteByte(0xE8); // 退出休眠SEG_IIC_WriteByte(0xC8); // 方式设定C8SEG_IIC_WriteByte(0xF0); // 闪烁控制//SEG_IIC_WriteByte(0xE0); // 器件选择SEG_IIC_WriteByte(0x00); // 数据指针for(int i=0;i<18;i++) {SEG_IIC_WriteByte(0x00);//}SEG_IIC_Stop();
}void SEG_Clear(void)
{bsp_gpio_config(SEG_CLK_PORT,SEG_CLK_PIN,GpioWrite);bsp_gpio_config(SEG_SDI_PORT,SEG_SDI_PIN,GpioWrite);SEG_IIC_Start();SEG_IIC_WriteByte(0x7C);SEG_IIC_WriteByte(0xE8); // 退出休眠SEG_IIC_WriteByte(0xC8); // 方式设定C8SEG_IIC_WriteByte(0xF0); // 闪烁控制//SEG_IIC_WriteByte(0xE0); // 器件选择SEG_IIC_WriteByte(0x00); // 数据指针for(int i=0;i<18;i++) {SEG_IIC_WriteByte(0x00);//}SEG_IIC_Stop();
}// 7C FF C8 EA B6 E8
void SEG_WriteBuffer(char * buffer)
{SEG_IIC_Start();SEG_IIC_WriteByte(0x7C);SEG_IIC_WriteByte(0xE8); // 退出休眠SEG_IIC_WriteByte(0xC8); // 方式设定C8SEG_IIC_WriteByte(0xF0); // 闪烁控制//SEG_IIC_WriteByte(0xE0); // 器件选择SEG_IIC_WriteByte(0x00); // 数据指针for(int i=0;i<18;i++) {SEG_IIC_WriteByte(buffer[i]);//}SEG_IIC_Stop();}
BL55072/BL55075 应用笔记相关推荐
- 词嵌入 网络嵌入_词嵌入深入实践
词嵌入 网络嵌入 介绍 (Introduction) I'm sure most of you would stumble sooner or later on the term "Word ...
- 【读书笔记】知易行难,多实践
前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...
- 【运维学习笔记】生命不息,搞事开始。。。
001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...
- SSAN 关系抽取 论文笔记
20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...
- pandas以前笔记
# -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 王道考研 计算机网络笔记 第六章:应用层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
最新文章
- 【Android CPU 优化】Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )
- 截屏当前界面_华为手机居然有这3种神奇的截屏方法,用过后,我就再也离不开了...
- iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
- 力扣529.扫雷游戏
- “X“ In mathematics
- 我的实战经验:八年招聘用人心得
- MacBook Pro 下安装 MySQL 5
- linux安装smmo压缩包软件,Linux centos 安装rarlinux压缩软件 使有rarlinux
- 关于降低软件开发过程中沟通成本的思考
- B. MADMAX(记搜+博弈)
- 虚拟货币套利怎么处理
- ISO8583接口的详细资料
- Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切
- php 带逗号数字转换,php实现数字格式化,数字每三位加逗号的功能函数169856420=169,856,420...
- Vectorcast 2021 sp4 linux
- 高德地图加载多个围栏、行政区查询方法
- 智能除味器——外壳结构部分设计(3D打印)
- MTK LCM驱动移植
- 第1章 整数 |《初等数论及其应用》
- 【C/C++服务器开发】文件,文件描述符,I/O多路复用,select / poll / epoll 详解
热门文章
- UE4项目运行后出现得灰色小球如何取消显示
- 隔行扫描(interlaced)与逐行扫描(progressive)的图像对比
- I/O流(1) 利用 FileWriter() 方法把数据从内存写出到磁盘中
- Webmin -- Disk Quotas
- 英语学习详细笔记(一)名词,冠词
- 读取计算机硬件编号vc,计算机硬件技术题库.doc
- Floyd算法(代码)
- 练习项目 一款新闻app的开发 (二) : 新闻首页开发(整体UI架构)
- C语言静态链接库和动态链接库讲解及制作使用
- flashfxp连接失败,flashfxp连接失败原因详解