官方硬件原理图

这个芯片可以驱动数码管也可以扫描键盘,这里我们只看数码管驱动,所以原理图参考官方这里就行了。最多只能驱动4个数码管。

官方数码管驱动说明

文档中说了芯片是iic通信控制,时序也是标准的iic时序,所以驱动我们用标准的iic驱动就可以了。如果你用的是正常写好可以用的iic驱动,但是驱动不了ch455g,那么不要怀疑,肯定不是你iic的问题,请你好好检查硬件。

看到这一段,我们大致知道ch455g有一个系统参数命令,48H,控制着一些模式,亮度等等,一次需要传输2个字节,第一个是命令,第二个是数据,但是并没有清晰的看出传输字节2的数据位怎么分配的。

如果我没有猜错的话,它的位分布应该是这样,如下图。

各功能子手册都有介绍,对于数码管应用,一般我们只需要控制ENA,和INTENS亮度即可,

如何显示数据

加载数据,字节1有四个命令68H,6AH,6CH,6E,字节2是要显示的数据,数据位中也是一位控制数码管的一个灯,了解数码管的原理的应该看到这就很熟悉了,

例如数据=0x01(00000001),那么就只有数码管A那一段灯亮,

如果数据=0x80(10000000),那么就只有DP那一段灯亮,其实就是那个小数点,

那么我们就可以写一个BCD码出来显示各种文字了。

//0-f
static u8 bcdcode[16]={ 0X3F, 0X06, 0X5B, 0X4F, 0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F,\0X77, 0X7C, 0X58, 0X5E, 0X79, 0X71 };

驱动编写使用

说明:因为iic是通用的驱动,这里就不介绍了,可以用硬件的,也可以用模拟的,关于在网上看到说命令字节需要右移一位,这个可能跟他的iic驱动有关系,正常的是不用的。

应用驱动

ch455g_send_cmd   函数用到了iic的函数,先发送命令字节,然后发送数据字节。

ch455g_init  函数主要是把系统48H命令设置成0x01,等于使能芯片。

ch455g_test  函数测试四个管子显示 0,1,2,3,具体数据在上方的bcd表中

//初始化
void ch455g_init(void)
{IIC_Init();IIC_ch455_Send_Byte(0x48,0x01);}//发送数据
void ch455g_send_cmd(u8 cmd,u8 data)
{IIC_Start();IIC_Send_Byte(cmd);IIC_Wait_Ack();IIC_Send_Byte(data);IIC_Wait_Ack();IIC_Stop();}//测试
void ch455g_test(void)
{ch455g_send_cmd(0x68,bcdcode[0]);ch455g_send_cmd(0x6A,bcdcode[1]);ch455g_send_cmd(0x6C,bcdcode[2]);ch455g_send_cmd(0x6E,bcdcode[3]);}

显示效果:

整体上使用还是比较简单的。

例子源码:

https://download.csdn.net/download/HES_C/86832296

写了一个stm32c8t6的小例子,iic用的PB6  PB7模拟。效果如下:

CH455G驱动数码管相关推荐

  1. 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序

    74hc595驱动数码管时间程序 这里是电路图: 下面是51单片机驱动74hc595芯片的程序: #include                            //包含51单片机的头文件 # ...

  2. KST-51单片机利用HC138芯片驱动数码管显示

    学习笔记--HC138芯片驱动数码管显示 说说今天心情,刚刚上完学校老师里的单片机课,自己也迫不及待的拿出尘封已久的KST-51开发板在宿舍写写C51代码,玩玩数码管显示.初次写笔记,不好见谅哈! 本 ...

  3. 基于Proteus学习单片机系列(二)——驱动数码管

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...

  4. Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真

    Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真 Proteus仿真 实例代码(do{}while();实现方法) /*74HC595控制1位共阳数码管* * * * * * ...

  5. TM1638驱动数码管的一点建议,附程序

      年过完了,首先祝大家开工大吉! TM1638是一种带键盘扫描接口的数码管驱动芯片.可以驱动共阳极数码管或共阴极数码管,相比单片机直接驱动数码管的方案,可以省去很多单片机的端口,也不需要浪费资源去扫 ...

  6. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

  7. LabVIEW控制Arduino驱动数码管(基础篇—11)

    目录 1.实验目的 2.实验环境 3.程序设计 4.实验演示 1.实验目的 利用LIAT中的数码管显示函数库,通过LabVIEW软件控制Arduino Uno控制板,将特定的数据显示在单个数码管上,实 ...

  8. 【Proteus仿真】| 51单片机——MAX7219 驱动数码管

    系列文章 todo: 文章目录 前言 1. 简单了解MAX7219 1.1 引脚说明 1.2 寄存器说明 1.2.1 选位寄存器 1.2.2 BCD译码器设置寄存器 1.2.3 亮度寄存器 1.2.4 ...

  9. FPGA 驱动数码管动态显示(VerilogVivado)

    FPGA 驱动数码管动态显示 前言 一.数码管驱动原理 二.设计思路 三.实现代码 四.hex8_tb文件 五.上板测试 1.74HC595时序图 2. HC595_Driver设计 3.HC595_ ...

最新文章

  1. hdu 1043 Eight 搜索,哈希
  2. 3 关于数据仓库维度数据处理的方法探究系列——缓慢变化维概述和原理
  3. 从R-CNN到Mask R-CNN
  4. 5.4任务进展情况(整理——郑云飞)
  5. 看了《OCP/OCA认证考试指南全册:Oracle Database 11g(1Z0-051,...
  6. JavaFX UI控件教程(七)之Checkbox
  7. 《Storm企业级应用:实战、运维和调优》——1.6 本章小结
  8. 计算机网络面试知识点
  9. cocos JS 定时器
  10. 企业CIO都要知道的数据中台建设五步法,用友大神十二讲就搞定
  11. Tableau系列软件概况
  12. 今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!
  13. 4、内网端口转发及穿透(合集)
  14. 益聚星荣:如何有理有据地给元宇宙泼一盆冷水?
  15. ida pro 反汇编 Android so 库后修改 arm 汇编指令的方法总结
  16. JZ77 按之字形顺序打印二叉树
  17. 使用 Bumblebee 控制 NVIDIA 双显卡(ubuntu13.04-X64)
  18. 华为云数据库 GaussDB(for MySQL),让企业无忧数据恢复
  19. kindeditor富文本编辑器的使用
  20. 2022/3/26扫雷

热门文章

  1. 万年历农历程序(抄表法)
  2. php 导出excel表格
  3. Ubuntu 15.10 搜狗搜狗输入法崩溃解决方法
  4. OpenCV中直方图处理函数简述
  5. 搜狗拼音皮肤 php文件,手把手教你制作搜狗输入法皮肤
  6. python考试搜题神器_python实现百万英雄答题神器
  7. 扰码器(一)扰码器综述及设计思路
  8. Python-读取文件夹里Excel文件里的数据
  9. P3214 [HNOI2011] 卡农 题解
  10. 万字长文,细说长沙银行的数字化研发管理转型之路