#defineP_1668DAT_InRA0 //数据输入端口

#defineP_1668DATLATA0 //数据输出端口

#defineP_1668CLKLATA1

#defineP_1668CSLATC0

#defineTM1668_CS_HIGHP_1668CS = 1

#defineTM1668_CS_LOWP_1668CS = 0

#defineTM1668_DAT_HIGHP_1668DAT = 1

#defineTM1668_DAT_LOWP_1668DAT = 0

#defineTM1668_CLK_HIGHP_1668CLK = 1

#defineTM1668_CLK_LOWP_1668CLK = 0

//显示模式设置命令

#defineV_MDSP10x00 //4位13段

#defineV_MDSP20x01 //5位12段

#defineV_MDSP30x02 //6位11段

#defineV_MDSP40x03 //7位10段

//数据命令设置

#defineV_MDAT10x40 //写数据到显示区

#defineV_MDAT20x42 //读键扫数据

//#defineV_MDAT30x40 //自动地址增加

#defineV_MDAT40x44 //固定地址

//地址命令设置

#defineV_ADDR00xC0 //地址0

#defineV_ADDR10xC1 //地址1

#defineV_ADDR20xC2 //地址2

#defineV_ADDR30xC3 //地址3

#defineV_ADDR40xC4 //地址4

#defineV_ADDR50xC5 //地址5

#defineV_ADDR60xC6 //地址6

#defineV_ADDR70xC7 //地址7

#defineV_ADDR80xC8 //地址8

#defineV_ADDR90xC9 //地址9

#defineV_ADDR100xCA //地址10

#defineV_ADDR110xCB //地址11

#defineV_ADDR120xCC //地址12

#defineV_ADDR130xCD //地址13

//显示控制 - 亮度调节

#defineV_DIS16_010x80 //显示宽度1/16

#defineV_DIS16_020x81 //显示宽度2/16

#defineV_DIS16_030x82 //显示宽度3/16

#defineV_DIS16_100x83 //显示宽度10/16

#defineV_DIS16_110x84 //显示宽度11/16

#defineV_DIS16_120x85 //显示宽度12/16

#defineV_DIS16_130x86 //显示宽度13/16

#defineV_DIS16_140x87 //显示宽度14/16

#defineV_DIS16_OFF0x80 //显示宽度14/16

#defineV_DIS16_ON0x88 //显示宽度14/16

//---------------------------------------------

#defineV_LED_LIGHT(V_DIS16_10|V_DIS16_ON) //显示亮度设置

//----------------------------

#defineV_NOP3//5

//*************************************

// 函数名称:Nop1668

// 函数功能:延时函数

// 入口参数:延时时间

// 出口参数:无

//***************************************

void Nop1668(uint8 T_Dly)

{

while(T_Dly--);

return ;

}

//**************************************

// 函数名称:TM1668_WriteByteData

// 函数功能:TM1668发送一字节数据

// 入口参数:要发送的数据

// 出口参数:

//***************************************

void TM1668_WriteByteData(uint8 Data)

{

uint8 i;

Nop1668(V_NOP) ;

for(i=8;i>0;i--)

{

TM1668_CLK_LOW ;

if((Data & 0x01) == 0)

{

TM1668_DAT_LOW ;

}

else

{

TM1668_DAT_HIGH ;

}

Data >>= 1 ;

Nop1668(V_NOP) ;

TM1668_CLK_HIGH ;

Nop1668(V_NOP) ;

}

}

//**************************************

// 函数名称:TM1668_ReadByteData

// 函数功能:读TM1668一字节数据

// 入口参数:无

// 出口参数:

// 返回值 : 所读的数据

//***************************************

uint8 TM1668_ReadByteData(void)

{

uint8 i;

uint8 RetValue = 0 ;

TM1668_CLK_LOW ;

for(i=0;i<8;i++)

{

Nop1668(V_NOP) ;

TM1668_CLK_HIGH ;

RetValue >>= 1 ;//先读出的是低位

if(P_1668DAT_In)

{

RetValue |= 0x80 ;

}

TM1668_CLK_LOW ;

}

return(RetValue);

}

//**************************************

// 函数名称:TM1668_WriteCommand

// 函数功能:写设置命令

// 入口参数:设置命令参数

// 出口参数:无

//***************************************

void TM1668_WriteCommand(uint8 Comm)

{

TM1668_CS_LOW ;

Nop1668(V_NOP) ;

TM1668_WriteByteData(Comm);

TM1668_CS_HIGH ;

}

//**************************************

// 函数名称:TM1668_WriteAddrData

// 函数功能:向固定地址写一个数据

// 入口参数:地址 数据

// 出口参数:无

//***************************************

void TM1668_WriteAddrData(uint8 Addr,uint8 Data)

{

TM1668_CS_LOW ;

TM1668_WriteByteData(Addr); //写地址

TM1668_WriteByteData(Data); //写数据

TM1668_CS_HIGH ;

}

//----应用实例---------

//**************************************

// 函数名称:TM1668_ReadKey

// 函数功能:TM1668 读按键值

// 入口参数:显示数据缓存区

// 出口参数:

// 备注:

//***************************************

void TM1668_WriteDat(uint8 *InDat)

{

uint8 i ;

uint8 Addr,Tmp2 ;

TM1668_WriteCommand(V_MDSP4) ;//7位10段

TM1668_WriteCommand(V_MDAT1) ; //写数据到1668 固定模式

//-----

Addr = V_ADDR2 ;

for(i=0;i<5;i++) //刷显数据

{

if((*InDat) & 0x01)

{

Tmp2 = 0x01 ;

}

else

{

Tmp2 = 0x00 ;

}

TM1668_WriteAddrData(Addr,Tmp2) ;

Addr += 2 ; //地址加2

(*InDat) >>= 1 ;

}

//-----

TM1668_WriteCommand(V_LED_LIGHT) ;//设置亮度 开启显示

}

//**************************************

// 函数名称:TM1668_ReadKey

// 函数功能:TM1668 读按键值

// 入口参数:无

// 出口参数:

// 返回值 : 返回按键值

//***************************************

void TM1668_ReadKey(uint8 *OutDat)

{

uint8 i ;

TM1668_CS_LOW ;

Nop1668(V_NOP) ;

TM1668_WriteByteData(V_MDAT2) ; //读按键值

Nop1668(V_NOP) ;

Nop1668(V_NOP) ;

TM1668_DAT_HIGH ; //读前数据置高

*OutDat = TM1668_ReadByteData() ;//只读一个字节

/*for(i=5;i>0;i--) //读所有按键的值

{

*OutDat = TM1668_ReadByteData() ;

OutDat ++ ;

}*/

TM1668_CS_HIGH ;

}

led控制器java_TM1668 Led 驱动芯片源程序相关推荐

  1. ESP32设备驱动-LED控制器生成PWM信号

    LED控制器生成PWM信号 文章目录 LED控制器生成PWM信号 1.LED控制器介绍 2.软件准备 3.硬件准备 4.代码实现 PWM 是一种在数字引脚上获取类似模拟信号的方法.PWM实际上是一个在 ...

  2. 内存映射和多功能LED控制器驱动芯片/带按键扫描的LED驱动芯片(IC)-VK16K33A/B/C,内置RC振荡器,最大16seg和8com

    品牌:永嘉微电/VINKA ­工程服务,技术支持 型号:VK16K33A/B/C 封装:SOP28/24/20 年份:新年份 概述: VK16K33是一个内存映射和多功能LED控制器驱动程序.VK16 ...

  3. 【嵌入式】非操作系统下GPIO口控制器及LED灯编程

    非操作系统下GPIO口控制器及LED灯编程 GPIO控制器 概述 内部架构 端口寄存器 GPIO控制寄存器 GPIO数据寄存器 GPIO上拉寄存器 非操作系统LED灯闪烁 开发步骤 开发板上二极管 读 ...

  4. LED数码管显示驱动芯片-VK1668,LED驱动控制电路,内部集成有MCU数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路

    产品型号:VK1668 产品品牌:VINKA/永嘉微电 封装形式:SOP24/SSOP24 产品年份:新年份 概述 VK1668 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部 ...

  5. LED数显驱动芯片VK16K33A/B/C內建显示记忆体及RC振荡电路,LED数码管显示驱动芯片/LED屏驱动IC

    品牌:永嘉微电/VINKA 工程服务,技术支持 型号:VK16K33 封装:SOP28/24/20 年份:新年份 概述: VK16K33是一个内存映射和多功能LED控制器驱动程序.VK16K33有28 ...

  6. 树莓派GPIO入门(三) :多种模式的LED控制器

    一.实验要求 通过LED控制器可以在流水点亮.间隔点亮.追逐点亮.全部亮并闪烁这四种模式中选择点亮LED灯的方式. 其中,↓表示有键按下,1 表示无键按下,x 表示不管有没有按键: 流水点亮即为 LE ...

  7. VHDL+LED控制器+50MHZ分频+例化

    题目:设计一个LED控制器,能够控制LED以不同速度闪烁,具体要求如下: 要求:开关SW1做为多路输入端,当开关为高电平'1'时,LED以1秒间隔闪烁(亮0.5秒,灭0.5秒循环往复).当开关为低电平 ...

  8. Ardunio开发实例-PCA9685-16路PWM控制器控制LED

    PCA9685-16路PWM控制器控制LED PCA9685是I²C总线控制的16通道PWM控制器可以控制LED和舵机,针对红色/绿色/蓝色/琥珀色(RGBA)彩色背光应用进行了优化. 每个LED输出 ...

  9. ESP8266-Arduino编程实例-PCA9685 LED控制器驱动

    PCA9685 LED控制器驱动 1.PCA9685介绍 PCA9685 是一款 I²C 总线控制的 16 通道 LED 控制器,针对红色/绿色/蓝色/琥珀色 (RGBA) 彩色背光应用进行了优化. ...

最新文章

  1. 读博难?DeepMind科学家Ruder提出读博/做研究的十条锦囊
  2. Could not decode a text frame as UTF-8 的解决
  3. (三)Window的特色学习笔记
  4. Symantec Backup Exec 2012 Agent For Linux安装
  5. Thinkphp 打印最近执行的一条SQL语句
  6. java发送http请求的四种方式
  7. mac 下安装jenkins
  8. LeetCode 1094. 拼车
  9. LDAP命令介绍---verify-index--验证索引
  10. java 多线程 notify_Java多线程8:wait()和notify()/notifyAll()
  11. C++静态数据成员与静态函数(案例分析)
  12. tomcat启动问题
  13. C# 6 的新特性~
  14. mysql 主从故障恢复
  15. github客户端的使用
  16. java 有c基础的自学教程(全站最详细 没有之一)
  17. 写个爬虫爬取p站画师的画作
  18. linux下一键部署mysql_linux下一键编译搭建mysql服务器脚本
  19. 传播知识,分享快乐--我的相关资源下载(不定期更新)
  20. 测试术语-测试用例分类

热门文章

  1. 服务器搬迁方案_数据中心机房改造搬迁IDC机房工程建设
  2. java set类_java中set类型集合解析(一)
  3. CTF(pwn) Fastbin Attack
  4. SimpleRAR-攻防世界-Misc(图文详解),文件块和子块,图片的隐写二维码
  5. CTF-攻防世界-reverse进阶-srm-50;(巨详细)
  6. python基础教程:类型转换和舍入
  7. 2019年秋计算机管理工作总结,年段工作总结(2019秋高一上)
  8. 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例
  9. web前端入门学习 css(4)(盒子模型)
  10. pycharm点击右上角退出程序时terminate和disconnect区别?(别用disconnect)