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
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...
4324云是成立于2012年的老牌商家,主要经营国内服务器资源,是目前国内实力很强的商家,从价格上就可以看出来商家实力,这次商家给大家带来了全网最便宜的物理服务器。只能说用叹为观止形容。官网地址 点击进入由于是活动套餐 本款产品需要联系QQ客服 购买 QQ 800083597 QQ 2772347271CPU内存硬盘带宽IP防御价格e5 2630 12核16GBSSD 500GB30M1个IP...
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...
模块图片为你推荐
现有新的ios更新可用请从ios14be苹果手机怎么更新到14internalservererrorinternal server error怎么解决cuteftpcuteFTP的使用方法?sqlserver2000挂起SQL server2000 安装为什么老是提示挂起?重庆400年老树穿楼生长重庆适宜驴生长internetexplorer无法打开Internet Explorer无法打开站点怎么解决支付宝注册网站支付宝申请流程是怎么样的??瑞东集团中粮集团是什么性质的企业我爱e书网侯龙涛小说那里有下载的即时通平台有好的放单平台吗?
免费虚拟主机空间 什么是虚拟主机 查询ip地址 google电话 外贸主机 mediafire下载工具 permitrootlogin 42u标准机柜尺寸 密码泄露 ssh帐号 什么是刀片服务器 100m空间 已备案删除域名 如何用qq邮箱发邮件 银盘服务是什么 360云服务 河南移动梦网 photobucket 免费php空间 空间申请 更多