led控制器java_TM1668 Led 驱动芯片源程序
#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 驱动芯片源程序相关推荐
- ESP32设备驱动-LED控制器生成PWM信号
LED控制器生成PWM信号 文章目录 LED控制器生成PWM信号 1.LED控制器介绍 2.软件准备 3.硬件准备 4.代码实现 PWM 是一种在数字引脚上获取类似模拟信号的方法.PWM实际上是一个在 ...
- 内存映射和多功能LED控制器驱动芯片/带按键扫描的LED驱动芯片(IC)-VK16K33A/B/C,内置RC振荡器,最大16seg和8com
品牌:永嘉微电/VINKA 工程服务,技术支持 型号:VK16K33A/B/C 封装:SOP28/24/20 年份:新年份 概述: VK16K33是一个内存映射和多功能LED控制器驱动程序.VK16 ...
- 【嵌入式】非操作系统下GPIO口控制器及LED灯编程
非操作系统下GPIO口控制器及LED灯编程 GPIO控制器 概述 内部架构 端口寄存器 GPIO控制寄存器 GPIO数据寄存器 GPIO上拉寄存器 非操作系统LED灯闪烁 开发步骤 开发板上二极管 读 ...
- LED数码管显示驱动芯片-VK1668,LED驱动控制电路,内部集成有MCU数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路
产品型号:VK1668 产品品牌:VINKA/永嘉微电 封装形式:SOP24/SSOP24 产品年份:新年份 概述 VK1668 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部 ...
- LED数显驱动芯片VK16K33A/B/C內建显示记忆体及RC振荡电路,LED数码管显示驱动芯片/LED屏驱动IC
品牌:永嘉微电/VINKA 工程服务,技术支持 型号:VK16K33 封装:SOP28/24/20 年份:新年份 概述: VK16K33是一个内存映射和多功能LED控制器驱动程序.VK16K33有28 ...
- 树莓派GPIO入门(三) :多种模式的LED控制器
一.实验要求 通过LED控制器可以在流水点亮.间隔点亮.追逐点亮.全部亮并闪烁这四种模式中选择点亮LED灯的方式. 其中,↓表示有键按下,1 表示无键按下,x 表示不管有没有按键: 流水点亮即为 LE ...
- VHDL+LED控制器+50MHZ分频+例化
题目:设计一个LED控制器,能够控制LED以不同速度闪烁,具体要求如下: 要求:开关SW1做为多路输入端,当开关为高电平'1'时,LED以1秒间隔闪烁(亮0.5秒,灭0.5秒循环往复).当开关为低电平 ...
- Ardunio开发实例-PCA9685-16路PWM控制器控制LED
PCA9685-16路PWM控制器控制LED PCA9685是I²C总线控制的16通道PWM控制器可以控制LED和舵机,针对红色/绿色/蓝色/琥珀色(RGBA)彩色背光应用进行了优化. 每个LED输出 ...
- ESP8266-Arduino编程实例-PCA9685 LED控制器驱动
PCA9685 LED控制器驱动 1.PCA9685介绍 PCA9685 是一款 I²C 总线控制的 16 通道 LED 控制器,针对红色/绿色/蓝色/琥珀色 (RGBA) 彩色背光应用进行了优化. ...
最新文章
- 读博难?DeepMind科学家Ruder提出读博/做研究的十条锦囊
- Could not decode a text frame as UTF-8 的解决
- (三)Window的特色学习笔记
- Symantec Backup Exec 2012 Agent For Linux安装
- Thinkphp 打印最近执行的一条SQL语句
- java发送http请求的四种方式
- mac 下安装jenkins
- LeetCode 1094. 拼车
- LDAP命令介绍---verify-index--验证索引
- java 多线程 notify_Java多线程8:wait()和notify()/notifyAll()
- C++静态数据成员与静态函数(案例分析)
- tomcat启动问题
- C# 6 的新特性~
- mysql 主从故障恢复
- github客户端的使用
- java 有c基础的自学教程(全站最详细 没有之一)
- 写个爬虫爬取p站画师的画作
- linux下一键部署mysql_linux下一键编译搭建mysql服务器脚本
- 传播知识,分享快乐--我的相关资源下载(不定期更新)
- 测试术语-测试用例分类
热门文章
- 服务器搬迁方案_数据中心机房改造搬迁IDC机房工程建设
- java set类_java中set类型集合解析(一)
- CTF(pwn) Fastbin Attack
- SimpleRAR-攻防世界-Misc(图文详解),文件块和子块,图片的隐写二维码
- CTF-攻防世界-reverse进阶-srm-50;(巨详细)
- python基础教程:类型转换和舍入
- 2019年秋计算机管理工作总结,年段工作总结(2019秋高一上)
- 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例
- web前端入门学习 css(4)(盒子模型)
- pycharm点击右上角退出程序时terminate和disconnect区别?(别用disconnect)