CH454是数码管显示驱动和键盘扫描控制芯片-嵌入式文档类资源

关注
CH454是数码管显示驱动和键盘扫描控制芯片-嵌入式文档类资源www.shan-machinery.com

CH454是数码管显示驱动和键盘扫描控制芯片。CH454内置时钟振荡电路,可以动态驱动8只16的数码管或者128只LED,支持11段、14段、16段×8以及17段×7等;同时还可以进行64键键盘扫描;CH454通过2线串行接口与单片机等交换数据。CH454中文手册3对于7段或者8段数码管,段驱动引脚SEG6-SEG0分别对应数码管的段G~段A,段驱动引脚SEG7对应数码管的第8段小数点;对于16段数码管,应该使用SEG7~SEG0和XSG7~XSG0驱动各段:对于17段数码管,还需要使用DG7驱动第17段小数点并且扫描极限必须小于8;对于11段或者14段数码管,可以在SEG7~SEG0和XSG7~XSG0中任意悬空不需要的引脚。对于17段数码管,字驱动引脚DlG6~DIG0分别连接7个数码管的阴极;对于少于17段的数码管,字驱动引脚DG7~D1G0分別连接8个数码管的阴极。CH454也可以连接16×8矩阵的发光二级管LED阵列或者128个独立发光管。H454可以改变字驱动输岀极性以便直接驱动共阳数码管,或者通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的数码管。CH454支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定为1时,唯一的数码管DIG0将得到所有的动态驱动时间,从而等同于静态驱动:当扫描极限设定为8时,8个数码管DG7~DIG0各得到1/8的动态驱动时间;当扫描极限设定为4时,4个数码管DIG3~D|G0各得到1/4的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为8时增加一倍,所以降低扫描极限可以提高数码管的显示亮度。驱动17段数码管时,扫描极限必须小于或者等于7CH454内部具有8个16位的数据寄存器,用于保存8个字数据,分别对应于cH454所驱动的8个数码管或者8组每组16个的发光二极管。当数据位为1时,对应的数码管的段或者发光管就会点亮;当数据位为0时,则对应的数码管的段或者发光管就会熄灭cH454支持部分段位寻址,可以用于独立控制64个发光管LED中的任意一个或者数码管中的特定段(例如小数点),段位编址顺序与键盘编址一致,编址从00H到3FH。当用“段位寻址置1”命令将某个地址的段位置1后,该地址对应的发光管LED或者数码管的段会点亮,该操作不影响任何其它LED或者数码管其它段的状态。CH454的段位寻址只支持由SEG7~SEG0引脚驱动的8×8矩阵,而由XSG7~XSG0引脚驱动的LED或者数码管的段不支持段位寻址。下图是7段和8段数码管的段名称B57s6s5545352s1sgDPGFEDCBADDPsEG7-8EGB与数码管下图是16段和17段数码管的段名称∩1∩2G1日2D25.3.键盘扫描CH454的键盘扫描功能支持8×8矩阵的64键键盘。在键盘扫描期间,DIG7~DIG0引脚用于列扫描输岀,SEG7~SEG0引脚都带有内部下拉电阻,用于行扫描输入。CH454定期在显示驱动扫描过程中插入键盘扫描。在键盘扫描期间,DG7~DG0引脚按照DIGO至DG7的顺序依次输出高电平,其余7个引脚输岀低电平;SEG7~SEG0引脚的输岀被禁止,当没有键被按下时,SEG7~SEG0都被下拉为低电平;当有键被按下时,例如连接DIG3与SEG4的键被按下,则当DIG3输出高电平时SEG4检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,CH454实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。如果CH454检测到有效的按键,则记录下该按键代码,并通过INT#引脚产生低电平有效的键盘中断,此时单片机可以通过串行接口读取按键代码;在没有检测到新的有效按键之前,CH454不再产生任何键盘中断。CH454不支持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键代码较小的按键优先。CH454中文手册CH454所提供的按键代码为8位,位2~位0是列扫描码,位5~位3是行扫描码,位δ是状态码(键按下为1,键释放为0),位7固定为∂。例如,连接DIG3与SEG4的键被按下,则按键代码是o11o0011B或者63H,键被释放后,按键代码通常是00100011B或者23H(也可能是其它值,但是肯定小于40H),其中,对应DlG3的列扫描码为01B,对应SEG4的行扫描码为100B。单片机可以在任何时候读取按键代码,但一般在cH454检测到有效按键而产生键盘中断时读取按键代码,此时按键代码的位6总是1,另外,如果需要了解按键何时释放,单片机可以通过查询方式定期读取按键代码直到按键代码的位6为0。下表是在DG7~DG0与SEG7~SEG0之间8×8矩阵的顺序编址,既是按键编址,也是数码管段位和发光管LED阵列编址。由于按键代码是8位,键按下时位6总是1,所以当键按下时,CH454所提供的实际按键代码是表中的按键编址加上40H,也就是说,此时的按键代码应该在4OH到7FH之间。编址DIGDI G6DI G5DIG4DI G3DIG2DIGDI GOSEGO07H06H05H04H03H01H00HSEG1OFHOEHODHOBHOAH09H08HSEGA17H16H15H14H13H12H11H10HSEG31FH1EHlDH1CH1BH1AH19H18HSEG427H26H25H24H23H22H21H2FH2EH2DH20H2BHZAH29H28HSEG637H36H35H34H33H32H31H30HSEG73FH3EH3DH3CH3BH3AH39H54.串行接口CH454的2线串行接口包含3个信号线:串行数据时钟输入线SCL、串行数据输入和输出线以及可选的中断输出线INT#。其中,SCL是带上拉的输入信号线,默认是高电平;SDA是带上拉的准双向信号线,默认是高电平;|NT#是带上拉的开漏输出信号线,默认是高电平。SDA用于串行数据输入和输出,高电平表示位数据1,低电平表示位数据0,串行数据输入的顺序是高位在前,低位在后。SCL用于提供串行时钟,CH454在其上升沿后的高电平期间从SDA输入数据,在其下降沿后的低电平期间从SDA输出数据NT#用于键盘中断输出。当CH454检测到有效按键时,NNT#输出低电平有效的键盘中断;单片机被中断后,发岀读取按键代码命令,CH454将INT#恢复为高电平,并从SDA输出按键代码,单片机从SDA获得一个字节的数据,即是按键代码。在SCL为高电平期间发生的SDA下降沿定义为串行接口的启动信号,在SCL为高电平期问发生的SDA上升沿定义为串行接口的停止信号。CH454只在检测到启动信号后才接收并分析命令。所以在单片机/0引脚资源紧张时,只要保持SDA引脚状态不变,SCL引脚就可以与其它接口电路共用单片机与硎H454的通讯过程总是分为6个步骤,按单片机的操作方向分成两种类型,一种是写操作,用于输出数据,一种是读操作,用于输入数据。具体过程可以参考例子程序中的说明。写操作包括以下6个步骤:输出启动信号、输出字节1、应答1、输岀字节2、应答2、输出停止信号。其中,启动信号和停止信号如上所述,应答1和应答2通常为0,输出字节1和输出字节2各自包含8个数据位,即一个字节数据。读操作包括以下6个步骤:输出启动信号、输出字节1、应答1、输入字节2、应答2、输岀停止信号。其中,启动信号和停止信号如上所述,应答1和应答2通常为0,输出字节1和输入字节2各自包含8个数据位,即一个字节数据下图是一个写操作的实例,字节1为01001000B,即48H;字节2为00000018,即01HSDA白75A4的37a1的A会:K21R54R户RIu5IISCLLL「「「「「「「CH454中文手册6、操作命令GH454各个操作命令的启动信号、停止信号、应答都相同,区别在于输出字节1和字节2的数据不同以及字节2的传输方向不同。字节1的位15和位14固定为0和1,位8为读写方向位R/-W,为0时执行写入操作,将字节2写入CH454,为1时执行读取操作,从CH454读取字节2下表列出了CH454的各个操作命令所对应的串行数据。其中标有名称的位表示该位在CH454芯片内部具有相应的寄存器,其数据根据操作命令的不同而变化;标为灰色的数据是读取操作的返回操作命令字节1,位15=0,位14-1字节2位13位12位1位10位9位8位7位6位5位4位3位2位1位0段位寻址清0010BIT ADDR段位寻址置10000101BIT ADDR芯片内部复位00010000000001进入睡眠状态00010000000010设定系统参数00000 XGPO XSOE 0 SSPD DPLR0 KEYB DISP设定显示参数001010LIMITI NTENSITY设定闪烁控制|00100 D7S D6S D5S D4S D3S D2S D1SDOS加载字数据_010000 DIG DATAO L0,D|G0对应的字数据低8位加载字数据1L010010D1 G DATA1L0,DG1对应的字数据低8位加载字数据010100 DIG DATA2L0,D1G2对应的字数据低8位加载字数据3L01010D18DATA3L0,DG3对应的字数据低8位加载字数据4L011000D10DATA4L0,D|G4对应的字数据低8位加载字数据5L011010 DIG DATA5L0,DG5对应的字数据低8位加载字数据6011100 DIG DATA6L0,D|G6对应的字数据低8位加载字数据7L01110D1 G DATA7L0,D|G7对应的字数据低8位加载字数据0H100000 DIG DATA0H|,D|Go对应的字数据高8位加载字数据1H010D|DATA1H,D|G1对应的字数据高8位加载字数据2H100100016DATA2H,DG2对应的字数据高8位加载字数据3H100110D10DATA3H,D|G3对应的字数据高8位加载字数据4101000D0DATA4H,D|G4对应的字数据高8位加载字数据5H101010D1 G DATA5H,D|G5对应的字数据高8位加载字数据6H10100 DIG DATA6H,DG6对应的字数据高8位加载字数据H10110D|6DATA7H,DG7对应的字数据高8位读取SEG引脚000011sE67|sEG6|sEG5sEG4|sEG3|sEG2sEG1|!sEGo读取XSG引脚000101XsG7XsG6XsG5XsG4|XSG3XsG2XsG1Xsc0回读系统参数001001 XGPO XSOE0ssPD|DPLR0 KEYBD|SP回读显示参数0010110LIMITINTENSITY回读闪烁控制00110107s06sD5S04503s02s01sD0S读取按鍵代码|0011110KEY6KEY5KEY4KEY3|KEY2KEY1KEYo回读字数据0010001D6DATA0L0,D(0对应的字数据低8位回读字数据L010011D016D4TA10,D|G对应的字数据低8位回读字数据20101010160TA2L0,D1e2对应的字数据低8位回读字数据3L0D|G_DATA3_L0,D|G3对应的字数据低8位回读字数据4L011001 DIG DATAL4L0,DG4对应的字数据低8位回读字数据5L011011 DIG DATA5L0,D5对应的字数据低8位回读宇数据60111010160TA60,D16对应的字数据低B位回读字数据π011111016DATA710,D|G7对应的字数据低8位6.1.芯片内部复位:000100-000000018CH454中文手册内部复位命令将H454的各个寄存器和各种参数复位到默认的状态。芯片上电时,CH454总是被复位,吡时各个寄存器均复位为0,各种参数均恢复为默认值6.2.进入睡眠状态:000100-0000010B进入睡眠状态命令使CH454暂停显示驱动和键盘扫描,并进入低功耗睡眠状态,从而可以节约电能。处于低功耗睡眠状态中的cH454可以被下述两种事件中的任何一种唤醒,第一种事件是检测到sEG3~SEG0上的按键,有效按键代码是40H到5FH:第二种事件是检测到SCL引脚的状态变化。睡眠和唤醒操作本身不会影响cH454的工作状态6.3.设定系统参数:001000-[XGP0][XS0E]0[SsPD][DPLR]0[KEYB][D|SP]B设定系统参数命令用于设定cH454的系统级参数:显示驱动使能DIsP、键盘扫描使能KEYB、字驱动输岀极性DPLR、闪烁速度SsPD、XSG引脚输岀使能ⅪS0E、XSG引脚工作模式ⅪGPOε各个参数均通过1位数据控制,详细说明参考下表。例如,命令数据001000-01000001B表示关闭键盘扫描的功能、启用显示扫描驱动的功能、允许扩展段XSG输出以支持16段。如果XGPO为1,那么XSG引脚用于通用输入输出GP0,XS0E设置/0方向,为1时则输出DG0字数据高8位 DIG DATA0H到XSG引脚。如果ⅪGP0为0并且XS0E为1,那么XSG引脚用于扩展段扫描输岀,支持16段数码管,如果此时扫描极限LIMⅠ小于或者等于7,那么DIG7引脚用于驱动第17段,支持17段数码管,其数据来自DG7字数据低8位 DIG DATA7L0,位0对应DlG0的第17段,位6对应DIG6的第17段位参数说明简写位为0(默认)位为10显示驱动功能的使能「D|sP关闭显示驱动允许显示驱动1键盘扫描功能的使能KEYB关闭键盘扫描启用键盘扫描3字驱动DG输出极性DPLR低电平有效高电平有效467闪烁速度频率SSPD低速(约1.5Hz)快速(约3Hz)XSG引脚输出使能XSOE禁止XSG引脚输出允许XSG引脚输出XSG引脚工作模式XGP0XG用于扩展段扫描XSG用于1/0扩展GP06.4.设定显示参数:001010-0[LMT][ NTENS|TY]B设定显示参数命令用于设定cH454的显示参数:扫描极限LIMT、显示亮度 INTENS ITY。扫描极限LMIT通过3位数据控制,数据001B~111B和000B分别设定扫描极限为1~7和8(默认值)。显示亮度丨 NTENSITY通过4位数据控制,数据0001B~11118和0000分别设定显示驱动占空比为1/1615/16和16/16(默认值)。例如,命令数据001010-011100008表示扫描极限为7、显示驱动占空比为16/16;命令数据001010-00001010B表示扫描极限为8、显示驱动占空比为10/166.5.设定闪烁控制:001100-[D7S][D6s][D5S][D4S][D3S][D2S][D1S][D0s]B设定闪烁控制命令用于设定CH454的闪烁显示属性:D7S~D0S分别对应于8个字驱动DG7~υIG0。闪烁属性D7S~DσS分别通过1位数据控制,将相应的数据位置为1则使能闪烁显示,否则为正常显示,不闪烁(默认值)。例如,命令数据011000100001B表示设定数码管DIG5和DG0闪烁显示,其余数码管正常显示,不闪烁。6.6.段位寻址清0:000010-10[ BIT ADDR]B段位寻址清0命令用于将指定地址的发光管(或者数码管的指定段)熄灭,该命令一次只能熄灭指定地址的一个发光管,并且完全不影响其它发光管的状态。段位寻址的编址顺序与按键代码一致可以用按键代码值减去40H。例如,命令数据000010-10111010B表示将编址为3AH的发光管熄灭,也就是DIG2数码管的SEG7熄灭。6.7.段位寻址置1:000010-11B|TADR]B段位寻址置1命令用于将指定地址的发光管(或者数码管的指定段)点亮,该命令一次只能点亮指定地址的一个发光管,并且完全不影响其它发光管的状态。段位寻址的编址顺序与按键代码一致,可以用按键代码值减去40H。例如,命令数据000010-11000110B表示将编址为06H的发光管点亮CH454中文手册也就是DIG6数码管的SEG0点亮6.8.加载字数据低字节:01[DG_ADR]0-[D1 G DATA L0]B加载字数据低字节命令用于将字数据的低字节DG_ DATA L0写入 DIG ADDR指定地址的数据寄存器中。 DIG ADDR通过3位数据指定数据寄存器的地址,数据000B~111B分别指定地址0~7,对应于DG0~DIG7引脚驱动的8个数码管。 DIG DATA_L0是16位字数据的低8位。例如,命令数据010100-01111001B表示将字数据7H写入第3个数据寄存器的低字节(由D|G2引脚驱动)。6.9.加载字数据高字节:10[DG_ADDR]0-[D| G DATA_H]B加载字数据高字节命令用于将字数据的高字节DG_ DATA H写入D|G_ADDR指定地址的数据寄存器中。DG_ADR通过3位数据指定数据寄存器的地址,数据000B~1118分别指定地址0~7,对应于DIG0~DG7引脚驱动的8个数码管。D| G DATA H是16位字数据的高8位。例如,命令数据100110-01011011B表示将字数据5H写入第4个数据寄存器的高字节(由DG3引脚驱动)。6.10.读取SEG引脚:000011-[SEG7][SEG6][SEG5][SEG4][SEG3][SEG2][SEG1][SEG0]B读取SEG引脚命令用于获取cH454的SEG7~SEG0引脚的当前状态,即从引脚输入8位数据6.11.读取XSG引脚:000101-[XSG7][XSG6][XSG5][XSG4][XSG3][XSG2][XSG1][XSGO]B读取XSG引脚命令用于获取CH454的XSG7~XSG0引脚的当前状态,即从引脚输入8位数据6.12.回读系统参数:001001-[XGP0][XS0E]0[SSPD][DPLR]0[KEYB][D|SP]B回读系统参数命令用于获取GH454的当前系统级参数6.13.回读显示参数:001011-0[LIM|T][ INTENS|TY]B回读显示参数命令用于获取cH454的当前显示参数6.14.回读闪烁控制:001101-[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B回读闪烁控制命令用于获取H454的当前闪烁显示属性。6.15.读取按键代码:001111-0[KEY6][KEY5][KEY4][KEY3][KEY2][KEY1][KEY0]B读取按键代码命令用于获得CH454最近检测到的有效按键的按键代码ε按键代码的位6是状态码,位5~位0是扫描码和按键编址。例如,CH454检测到有效按键并中断,那么单片机向CH454发出读取按键代码命令并从昢H454获得按键代码。如果这是复位后的第一条命令则返回1D数据2AH6.16.回读字数据低字节:01[ DIG ADDR]1-[DG_ DATA L0]B回读字数据低字节命令用于获取由 DIG ADDR指定地址的数据寄存器的低字节数据 DIG DATA L07、参数7.1.绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)匚名称参数说明最小值最大值单位TA工作时的环境温度-40TS储存时的环境温度55125VCC电源电压(VGC接电源,GND接地)6V|0输入或者输出引脚上的电压0.5Ve.5Ii g单个DG引脚的连续驱动电流200「 I Mseg单个SEG引脚的连续驱动电流000AI MaI I所有SEG引脚的连续驱动电流的总和200CH454中文手册87.2.电气参数(测试条件:TA=25℃,VcC=5V)名称参数说明最小值典型值最大值单位VCC电源电压35电源电流50150mAls|p55V低功耗睡眠电流(所有10悬空0.08ls|p33.3V低功耗睡眠电流(所有/0悬空)0.03VILsegsEG和XSG引脚低电平输入电压0.5VIHseg SEG和XSG引脚高电平输入电压1.8VCC+0. 5VIL其余引脚低电平输入电压VIH其余引脚高电平输入电压2.0VCC+0. 5VoLda g_DG引脚低电平输出电压(-120nA)0.8AVVVVVVVOHd i gD|G引脚高电平输出电压(8mA)4.5V0Lseg|sEG和XSG引脚低电平输出电压(-20mA)0.5V0 HsegSEG和XSG引脚高电平输出电压(20mA)vL其余引脚低电平输出电压(-4mA)0.5IDNsEG引脚的输入下拉电流30500UAIDNORST|引脚的输入下拉电流100140200AI UPOXSG引脚的输入上拉电流10200300UAI UP1sCL引脚的输入上拉电流3080120AIUP2SDA引脚的输入输出上拉电流100200UAIUP3INT#引脚的输出上拉电流50035005000」AVR上电复位的默认电压门限2.47.3.内部时序参数(测试条件:TA=25℃,Vc=5V)(注:本表时序参数都是内置时钟周期的倍数,内置时钟的频率可能受电源电压的影响)名称参数说明最小值典型值最大值「单位TPR电源上电复位时间1050nSTLP收到睡眠命令到正式开始睡眠的时间8uST瞅K在睡眠中被唤醒到恢复工作的时间100200uSTDP显示扫描周期(扫描极限为8时)4FPS闪烁显示的频率(慢速/默认)TKS键盘扫描间隔,按键响应时间407.4.接口时序参数(测试条件:TA=25℃,VC=5V,参考附图)8 DA IN ST白RTD户T白INSTOPTSSTA>飞 THSTA>TSST0> KTCHIG>SCLLOCKhttps://www.shan-machinery.com