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
HostKvm商家我们也不用多介绍,这个服务商来自国内某商家,旗下也有多个品牌的,每次看到推送信息都是几个服务商品牌一起推送的。当然商家还是比较稳定的,商家品牌比较多,这也是国内商家一贯的做法,这样广撒网。这次看到黑五优惠活动发布了,针对其主打的香港云服务器提供终身6折的优惠,其余机房服务器依然是8折,另还有充值50美元赠送5美元的优惠活动,有需要的可以看看。HostKvm是一个创建于2013年的...
野草云服务器怎么样?野草云是一家成立了9年的国人主机商家,隶属于香港 LucidaCloud Limited (HongKong Registration No. 2736053 / 香港網上查冊中心)。目前,野草云主要销售香港、美国的VPS、虚拟主机及独立服务器等产品,本站也给大家分享过多次他家的优惠了,目前商家开启了优惠活动,香港/美国洛杉矶CN2+BGP云服务器,1核1G仅38元/月起!点击...
819云是我们的老熟人了,服务器一直都是稳定为主,老板人也很好,这次给大家带来了新活动,十分给力 香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP 240元0官方网站:https://www.819yun.com/ 特惠专员Q:442379204套餐介绍套餐CPU内存硬盘带宽IP价格香港CN2 (特价)E5 随机分配16G1T 机械20M3IP240元/月日本CN2 (...
模块图片为你推荐
企业cms目前最好用的企业cms是哪个?360搜狗奇虎360到底是做什么的?重庆400年老树穿楼生长重庆海拔500左右的红沙土适合栽哪种果树大飞资讯单仁资讯的黄功夫是何许人?宜人贷官网宜人财富怎么样?银花珠树晓来看下雪喝酒的诗句传奇域名自己的传奇服务器怎么建设?美国独立美国独立战争地址栏图标网站添加地址栏图标代码怎么写?discuz!databaseerrorDiscuz,Database Error是什么原因,怎么修复
中文域名 韩国服务器租用 网站域名备案查询 阿里云邮箱登陆首页 外国空间 中国智能物流骨干网 dd444 全站静态化 什么是刀片服务器 微软服务器操作系统 paypal注册教程 国外ip加速器 ca187 闪讯官网 512mb xuni 登陆qq空间 supercache 国外网页代理 97rb 更多