HT16K33应用于DVDPlayer面板范例说明--使用C语言1HT16K33应用于DVDPlayer面板范例说明--使用C语言文件编码:AN0369S简介HT16K33是一颗具备内存映像和多功能LED驱动控制的IC,最大可用于驱动128段LED显示屏(16segments*8commons)、以及最大13*3的矩阵键盘电路,HT16K33的功能配置使其适用于各类LED显示模块和显示系统,如:工业控制指示、数字时钟、温度计、计数器、仪器仪表、摄像机等场所的应用.
HT16K33易于控制,MCU通过IC方式与HT16K33进行数据交互.
本文以C语言(HOLTEKV3)实例程序,配合HOLTEKHT16K33DVD面板显示DemoBoard,介绍HT16K33按键信息读取、LED显示状态更新等操作.
Demo基本特性MCU基本特征工作电压DC:4.
5V~5.
5V集成内部RC振荡器IC总线通信接口FlashMCU可通过ICP五线接口直接刻录更新MCU程序16级LED亮度调整功能,并短暂显示调光值1~1616*8位的RAM储存显示数据最大支持16*8模式驱动:16Segments和8Commons最大支持13*3个按键(矩阵按键扫描)待机模式下,支持任何按键均可解除待机模式,执行相应的工作可选封装类型有:20/24/28-pinSOPDemo功能和使用说明Demo功能说明LED显示功能显示相应的Track或时间及所处的音乐模式状态.
播放曲目和LEDPanel亮度设置功能进行播放曲目选择、LEDPanel显示亮度级数调整动作.
音乐模式设置功能HT16K33应用于DVDPlayer面板范例说明--使用C语言2在Stop模式下,按键选取设定播放音乐模式.
Demo使用说明击键功能PowerLED显示开关键1.
开启LEDPanel显示,PowerLED常亮.
2.
进入待机状态,关闭LEDPanel显示,PowerLED闪烁.
若是在第一次PowerKeyon时(initial):1.
曲目、时、分都显示"0",初始值:DVD亮.
2.
转盘、and全亮.
3.
亮度设定最大(显示016).
4.
由于HT16K33有支持,按任何键就可以解除Standby模式,所以当你读到的KeyData是属于那一种功能,就会做相关的显示.
(譬如:按到PlayKey,会启动Play的功能和显示).
Mode播放音乐模式设置键初始值DVD亮,按一次『Mode』键,DVD显示关闭、VCD显示点亮,进入VCD音乐播放模式;再按一次『Mode』键,VCD显示关闭、MP3显示点亮,进入MP3音乐播放模式;再按一次『Mode』键,MP3显示关闭,DVD显示点亮.
三个播放模式循环调整.
Play曲目播放键1.
和亮,转盘开始转动.
2.
曲目会从"001"开始(累增).
3.
分和秒都做往上数.
Stop曲目播放停止键1.
曲目、时、分都显示"0".
2.
转盘、和全亮.
3.
和灭.
Pause曲目播放暂停键1.
显示目前停止的状态,不做转动和时间计数,除非有按到PlayKey.
2.
按下BrightKey,可以在显示曲目区显示目前亮度,可以做亮度调整,调整完毕等一段时间,又回到刚刚停止时的曲目显示.
PBCPBC功能选择键1.
按下显示"PBC",再按一次"PBC"不亮.
2.
在PBC模式下,不亮.
Fast曲目调整键1.
必须在Play状态下动作.
2.
再按UpKey目前曲目加一,显示在曲目区,最大"999".
3.
再按DownKey目前曲目减一,显示在曲目区,最小"000".
BrightLEDPanel亮度调整键在任何状态下,都可以调整,显示从000~016,显示在曲目区.
(属于短暂显示).
Up递增键1.
在FastSW模式下,曲目加一,持续按着会累加上去.
2.
在BrightSW模式下,LEDPanel亮度加一,持续按着会累加上去.
Down递减键PowerICPTimerTrackKeyBoardHT16K33应用于DVDPlayer面板范例说明--使用C语言31.
在FastSW模式下,曲目减一,持续按着会递减下来.
2.
在BrightSW模式下,LEDPanel亮度减一,持续按着会递减下来.
硬件设计原理硬件模块图HT16K33HT68F30-1ICBus5VAdapterKeyBoard图1硬件方块功能说明整个系统由5VDC的稳压电源、轻触按键、LED显示屏、主控MCUHT68F30-1、驱动芯片HT16K33等组成.
轻触开关按键:根据相应的按键选择相应的功能.
LED显示屏:用来指示相应功能.
稳压电源:提供MCU所需的5V电源.
HT16K33应用于DVDPlayer面板范例说明--使用C语言4硬件原理图HT68F30-1控制电路图2电路描述:PA0、PA2、RESB.
ICP下载线PA3/INT0HT16K33INT信号输入PA4、PA5IC数据和时钟引脚PB5.
PowerLED驱动引脚HT16K33上电工作在待机模式,PowerLED闪烁,LEDPanelDisplayOff.
按下Power按键,PowerLED常亮,离开待机模式.
若再按Power按键,就又进入待机模式,PowerLED闪烁.
HT16K33键盘和LEDPanel驱动电路图3HT16K33应用于DVDPlayer面板范例说明--使用C语言5软件设计流程图及说明实例程序包含主程序和系统初始化、定时中断服务、HT16K33按键侦测、LED面板显示等子程序,程序相关流程图及说明如下所示,程序请参见.
主程序流程图StartMCUInitialDelay100msfor16K33Poweronreset1.
Internalsystemclockenable2.
ROW/INTpinsetINTOutputLowlevel3.
Diming,Blinking,DisplayalloffBrightLevelandDatathatwilltransimittoDisplayRAMinitialKey_Detect():1.
AccordingtotheExternalIntFlagbKey_INTorLongpresskeyFlagbKey_Hold,ReadRAM40H~45HtocheckKeyTrigger,2.
IfHasKeyTrigger,ReadKeyValueandSettheRelevantFlag,thendealwiththeKeyeventsandsetVariabletherelevantVauleBright_Adjust():DimmingSetAccordingtotheKeyFlag,definethepulsewidthofROWMusic_Adjust():PlaylistsSetAccordingtotheKeyFlag,definePlaylistsTrack_Time_Display():TrackUpdateInterval:200msPlayTimeUpdateInterval:1sLED_Panel_Update()AccordingtothesettedVariableValue,finishwritingthedisplayRAM00H~0DHNCLRWDTbTB0_INT=1YHT16K33应用于DVDPlayer面板范例说明--使用C语言6主程序流程图说明主程序主要完成以下工作:MCUSFR&RAM初始化执行适当延时,令MCU在初始化HT16K33前,HT16K33已完成上电复位动作MCU初始化HT16K33内部时钟、亮度、闪烁、显示等程序主循环,包含按键侦测及处理、显示数据更新等TimeBase0设定的中断时间为32ms左右,用于设定按键扫描间隔.
根据外部中断设置相应的标志位,可读取按键.
读取按键后根据相应按键进行处理,设置好相应的按键标志位.
TimeBase1用于设定LEDPanel的显示更新周期以及根据相应的标志位控制PowerLED的工作状态.
按键扫描子程序流程图StartReadKeyDataRAMofaddress0x40~0x45ContinuouslyandinoneoperationbKey_INT=0bKey_Hold=0SavethecurrentKeyDatabKey_INT=1ORbKey_Hold=1(Externalinterruptdetected16K33interruptsignaloutput)OR(DetectWhetherisLongkeys)AllKeyDatais0x00DeterminewhetherakeyispressedbKey_Hold=1SavethecurrentKeyDataDealwiththeKeyeventsAllKeyDataisequaltothelastvaluesDeterminewhetherakeyisLongpressedGV_U8_Key_Hold_Timer=0x00DealwiththeLongKeysevents++GV_U8_Key_Hold_Timer>=0x05EndYNYYYNNNHT16K33应用于DVDPlayer面板范例说明--使用C语言7按键扫描子程序流程图说明在每个按键扫描周期内,执行一次按键扫描子程序.
若外部中断检测到HT16K33中断信号输出的有效边缘信号时,设定中断信号标志位bKey_INT,用于读取HT16K33KeyDataRAM0x40~0x45.
若是第一次检测到按键值,保存当前按键值,并根据按键值处理按键相应功能,并且设定标志位bKey_Hold,用于在接下来的320ms时间内,继续读取HT16K33KeyDataRAM,确认按键是否被松开,按键未松开判定为长按按键,按键松开即判定为常规按键.
LEDPanel显示子程序流程图StartLookUpTableforVariables:GV_U8_DRow0~GV_U8_DRow9AccordingtoShiftalgorithm:Data_Process1()/Data_Process2()dealwiththesettedVariableValue,finishwritingthedisplayRAM00H~0DHEndLEDPanel显示子程序流程图说明在LED_Panel_Update()子程序中,根据处理的变量值通过进行移位算法后,对DisplayRAM进行改写,更新出新的数据,以及判断当前是否处于亮度调整时间,对LEDPanel亮度值的调整及显示.
HT16K33DisplayRAM的映射关系如下:HT16K33据DisplayRAM中的每个bit数据自动产生驱动波形,控制着对应显示字段的亮灭,受控的字段取决于PanelCOM和ROW的联机.
文中使用的LEDPanel为8COM*10ROW,Panel中的数码管a~g字段分布在每个COM上,因而要改变一个数码管的显示,需要改写8个仁元组的DisplayRAM.
为了编写程序方便,MCU将对应的ROW0~ROW9的10个字节数据(GV_U8_DRow0~GV_U8_DRow9,如GV_U8_DRow0对应ROW0与COM0~COM7连接的字段)进行处理.
分别将GV_U8_DRow0~GV_U8_DRow7中的bit0移位出来汇整成对应DisplayRAM地址0x00的待更新数据,依此分别将bit0~bit7的数据移出构造出DisplayRAM中0x00~0x0E的偶数地址的待更新数据.
如上描述,再分别将GV_U8_DRow8~GV_U8_DRow9中的数据移位出来构造DisplayRAM中0x01~0x0F的奇数地址的待更新数据.
HT16K33应用于DVDPlayer面板范例说明--使用C语言8实例程序移位数据的程序流程图如下:Data_Process1()GCC_RRC(GV_U8_DRow1);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow2);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow3);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow4);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow5);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow6);GCC_RRC(DRow_num_data);GCC_RRC(GV_U8_DRow7);GCC_RRC(DRow_num_data);EndGCC_RRC(GV_U8_DRow0);GCC_RRC(DRow_num_data);WriteDRow_num_dataintoDisplayRAM偶数地址DisplayRAM移位流程HT16K33应用于DVDPlayer面板范例说明--使用C语言9Data_Process2()GCC_RRC(GV_U8_DRow9);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);Temp=0x00;GCC_RRC(Temp);GCC_RRC(DRow_num_data);EndGCC_RRC(GV_U8_DRow8);GCC_RRC(DRow_num_data);WriteDRow_num_dataintoDisplayRAM奇数地址DisplayRAM移位流程HT16K33应用于DVDPlayer面板范例说明--使用C语言10PCBLayout注意事项SCL、SDA上的RC滤波器件(电阻、电容)应尽量靠近IC如:R5、R6、C6、C7.
RESET电路要尽量靠近MCU电源和地之间的电容如C2(0.
1μF)、C5(0.
1μF)尽量靠近IC电源线加粗,电源要先过电容,再接到负载参考文献参见HT16K33Datasheet.
SourceCode档案,请参见压缩文件案.
RESET电路尽量靠近MCU电源先过0.
1μF电容,再接到IC
Pia云这个商家的云服务器在前面也有介绍过几次,从价格上确实比较便宜。我们可以看到最低云服务器低至月付20元,服务器均采用KVM虚拟架构技术,数据中心包括美国洛杉矶、中国香港、俄罗斯和深圳地区,这次春节活动商家的活动力度比较大推出出全场6.66折,如果我们有需要可以体验。初次体验的记得月付方案,如果合适再续约。pia云春节活动优惠券:piayun-2022 Pia云服务商官方网站我们一起看看这次活...
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...
模块图片为你推荐
操作httpiprouteip route 0.0.0.0 0.0.0.0 s0/0/0 中s0/0/0 指的是本地的还是??新iphone也将禁售苹果ID换了个新的怎么还是停用asp.net什么叫ASP.NET?申请支付宝账户支付宝账户怎么申请?360防火墙在哪里设置360安全防护中心在哪计算机cuteftp加多宝和王老吉加多宝和王老吉什么关系 王老吉和加多宝哪个正宗瑞东集团福能集团是一个什么企业?电子商务世界电子商务都有什么内容
百度域名 vps服务器租用 vps教程 万网域名管理 荣耀欧洲 云网数据 lunarpages 鲨鱼机 流媒体服务器 godaddy godaddy域名证书 创梦 阿里云浏览器 刀片服务器是什么 linux服务器维护 wordpress空间 美国主机侦探 美国asp空间 linux服务器系统 so域名 更多