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
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...
介绍:819云怎么样?819云创办于2019,由一家从2017年开始从业的idc行业商家创办,主要从事云服务器,和物理机器819云—-带来了9月最新的秋季便宜vps促销活动,一共4款便宜vps,从2~32G内存,支持Windows系统,…高速建站的美国vps位于洛杉矶cera机房,服务器接入1Gbps带宽,采用魔方管理系统,适合新手玩耍!官方网站:https://www.8...
CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...
模块图片为你推荐
internalservererrorError 500--Internal Server Error 求教这个问题怎么解决?企业推广最常见的推广方式有哪些centos6.5linux centos 6.5 怎么安装软件人人视频总部基地落户重庆重庆影视公司怎么选择?360arp防火墙在哪360ARP防火墙哪里下载?www.topit.mehttp://www.topit.me/ 中自己上传的照片如何删除曲目ios补贴eset滴滴估值500亿开滴滴怎么才能月入一万,平均一天400纯收入,求指点腾讯公司电话是多少腾讯公司电话是多少
虚拟主机99idc 广州服务器租用 国外vps租用 a5域名交易 windows主机 美元争夺战 gateone 怎样建立邮箱 asp免费空间申请 世界测速 美国独立日 免费邮件服务器 789 云营销系统 个人免费邮箱 1美元 云服务是什么意思 服务器硬件配置 域名和主机 黑科云 更多