LED数码管驱动芯片TM1620的应用

论文作者:匿名 论文来源:www.bgsywzz.cn 发布时间:2020/4/25

  摘要:TM1620是一款LED数码管驱动专用芯片,该芯片所实现的多位数码管驱动方案与传统方案相比,具有占用单片机IO口少、电路简洁、辉度多级可调等优点。现阶段,介绍TM1620的文献还不多,为了便于设计者更好地开展对该芯片的学习和应用,本文较为详细地说明了这款芯片驱动共阴极数码管的电路方案、芯片指令和程序写法。


  关键词:TM1620;数码管;LED;驱动芯片


  中图分类号:TN141.6文献标识码:A文章编号:2096-4706(2019)23-0042-02


  ApplicationofLEDDigitalTubeDriverChipTM1620


  WANGShen


  (FujianPolytechnicSchool,Fuzhou350002,China)


  Abstract:TM1620isaspecialchipfordrivingLEDdigitaltube.Comparedwiththetraditionalscheme,theschemeofdrivingdigitaltuberealizedbyTM1620hasmanyadvantages,suchaslessIOport,simplecircuitandmulti-leveladjustablebrightness.Atthisstage,therearefewpapersaboutTM1620.InordertofacilitatedesignerstostudyandapplyTM1620better,thispaperdescribesindetailthecircuitscheme,instructionsandfunctioncodeofdrivingcommoncathodedigitaltubebyTM1620.


  Keywords:TM1620;digitaltube;LED;driverchip


  0引言


  在电子产品设计中,数码管是一种常用的显示器件,只要点亮特定的几个LED段,它就能够显示出表示信息的数字或符号[1]。数码管要正常显示,驱动电路是不可或缺的,它起到了连接单片机与数码管的桥梁作用。以驱动四位八段数码管为例,传统的驱动电路设计方案主要有以下三种。


  (1)只使用分立元件构成:以单片机的8个IO口经限流电阻接到数码管的段引脚(A~DP),用另外4个IO口经电阻、三极管控制数码管的位选引脚。该方案要占用单片机的12个IO口,而使用较多的分立元件不利于减小PCB(印制电路板)的使用面积。


  (2)使用74HC573构成[2]:74HC573是八路“并行输


  入,并行输出”的锁存器芯片。以单片机的8个IO口先后经一片74HC573、限流电阻接到数码管的段引脚(A~DP),用另外4个IO口经另一片74HC573控制数码管的位选引脚。该方案并未改善对单片机IO口的占用情况,只是减少了分立元件的使用数量。


  (3)使用74HC595构成:74HC595是“串行输入,八路并行输出”的移位寄存器芯片。以单片机的4个IO口分别连接74HC595的1个串行输入引脚和3个控制引脚,74HC595的八路并行输出端经限流电阻接到数码管的段引脚,用另外4个IO口经电阻、三极管(或用一片74HC573)控制数码管的位选引脚。该方案一定程度上改善了对单片机IO口的占用情况(占用8个),但仍需使用为数不少的分立元件。


  现如今,许多款单片机产品的IO口几乎都被“复用”了——不仅可以作为通用IO口使用,还可作为特殊功能引脚使用。因此,为了驱动数码管而占用过多的IO口并不是电子产品设计者所乐见的情况,他们有时还为单片机的IO口不够分配而苦恼。而TM1620正可以为他们提供一种更优的方案,实现对数码管显示的可靠驱动。


  1TM1620的性能特点


  TM1620是深圳天微电子公司的一款LED数码管驱动专用芯片,采用CMOS工艺,封装形式为SOP20,可工作于5V或3.3V的典型电压环境(若是驱动蓝光数码管,则应选5V来供电),稳定性好,抗干扰能力强。TM1620有三种显示模式可供灵活选择——十段四位、九段五位或八段六位,且辉度八级可调;内部自带LED驱动电路,能够自动进行多位数码管的动态扫描,这样就不再需要由单片机对数码管的位选进行控制。


  2TM1620驱动四位共阴极数码管的电路方案


  以单片机的三个IO口分别接到TM1620的DIN引脚(串行数据输入)、CLK引脚(时钟输入)和STB引脚(片选输入);TM1620的SEG1~SEG8输出引脚直接对应接到数码管的A~DP引脚,GRID1~GRID4输出引脚直接对应接到数码管的四个位选引脚,SEG13/GRID6、SEG14/GRID5这两个段/位复用输出引脚在此不使用,悬空即可。可见,用TM1620作为驱动芯片,只需占用单片机很少的IO口(3个),从而极大地改善了对单片机IO口的占用情况,这样就可以留出更多的IO口用于系统其他功能的扩展。


  3TM1620的指令与驱动程序


  3.1TM1620的指令说明


  正确理解芯片的使用方法,在此基础上编写出行之有效的驱动程序,这是实现驱动功能的必要前提。TM1620按字节接收指令或数据;设计者通过单片机,向TM1620写入指令,从而实现对显示模式、工作状态、显示辉度等的设置;而向TM1620写入数据,则可以实现数字、符号等的显示效果。TM1620以“在STB下降沿后,DIN输入的第一个字节”作为指令,该字节的Bit7、Bit6用于區分不同的指令——“00”为显示模式指令,“01”为数据指令,“10”为显示控制指令,“11”为地址设置指令。详述如下:


  (1)显示模式指令:用于设置所驱动数码管的段数和位数,写入“0x00”设为十段四位,写入“0x01”设为九段五位,写入“0x02”设为八段六位;


  (2)数据指令:用于设置与写入显示数据有关的地址增加模式等。例如,写入“0x40”设为以“普通、显存地址自加”模式写显示数据到显存,写入“0x44”设为以“普通、显存地址固定”模式写显示数据到显存。在地址固定模式下,必须按照“先设置显存地址,后写入显示数据”的步骤控制各位数码管的显示;


  (3)显示控制指令:TM1620内部自带了一个脉动信号发生器,由写入的显示控制指令对其工作状态、输出脉冲信号的占空比进行设置,从而实现开/关显示和辉度调节。该指令的Bit3是开/关显示的设置位,Bit2~Bit0是显示辉度的设置位。例如,写入“0x8F”对应“开显示,辉度最高”的显示效果;


  (4)地址设置指令:用于设置显存的当前地址。TM1620显存的有效地址有12字节(0xC0~0xCB),上电后默认设在0xC0。


  3.2驱动程序的写法


  C语言中的一个重要观念是:每个程序都应分割成许多小的函数[3],从而使程序的每一部分都较易于完成,也便于后续的管理和维护。因此,在对TM1620的驱动程序进行设计时,可将其分为SendByte、SendCmd、Display三个函数,分别实现“向TM1620写入一字节”“向TM1620写入一个指令”和“数码管显示”三个功能。这里主要说明SendCmd函数和Display函数的写法。


  3.2.1SendCmd函数


  voidSendCmd(u8command)


  {


  TM1620_STB=1;


  Delay();


  TM1620_STB=0;//完成一次输入STB的下降沿


  SendByte(command);


  }


  3.2.2Display函数


  voidDisplay()


  {


  u8i;


  SendCmd(0x02);//设为八段六位模式


  SendCmd(0x40);//设为普通,地址自加模式


  SendCmd(0xC0);//设置显存起始地址


  for(i=0;i<6;i++)//逐位发送显示数据


  {SendByte(DPY[disp[i]]);SendByte(0x00);}


  SendCmd(0x8A);//设置辉度并显示


  }


  可以看到,其中有一句“SendByte(0x00)”,这是因为TM1620的GRID1~GRID6各对应两个字节的显存地址。以GRID1为例,其显存地址的低字节为0xC0,高字节为0xC1;而低字节地址Bit0~Bit7的8位内容分别对应SEG1~SEG8的输出状态,高字节地址的Bit4、Bit5的内容分别对应SEG13、SEG14的输出状态。由此可知,对应于八段数码管的显示,必须向TM1620每位(GRID)的奇地址写入“0x00”。


  4结论


  传统的数码管驱动方案都不免要占用较多的单片机IO口,在减小PCB使用面积方面也不具有优势。TM1620作为一款LED数码管驱动专用芯片,所实现的驱动电路具有占用IO口少、电路简洁等优点。本文对这一驱动电路方案、芯片指令和程序写法都作了说明,希望对后来的设计者有所助益。


  参考文献:


  [1]刘建清.轻松玩转51单片机C语言[M].北京:北京航空航天大学出版社,2011.


  [2]刘帅,周世杰,郑凡非.基于单片机的数字电压表设计实现[J].数字技术与应用,2019,37(2):166-167.


  [3]IvorHorton.C语言入门经典(第5版)[M].杨浩,译.北京:清华大学出版社,2013.


更多 请来文韵期刊网阅读

相关推荐
联系我们

一对一客服指导


在线咨询(每天长时间在线)