当前位置:首页 > 单片机 > 单片机
[导读]PIC16C5X系列单片机具有可靠性高、功耗低、实用、低价、易学等特点,尤其是OTP产品有与掩模型产口几乎相同的性能和价格,因此被广泛用于工业和民用产品。在应用系统设计中,对于多位数码管(LED)的显示驱动,传统的驱

PIC16C5X系列单片机具有可靠性高、功耗低、实用、低价、易学等特点,尤其是OTP产品有与掩模型产口几乎相同的性能和价格,因此被广泛用于工业和民用产品。在应用系统设计中,对于多位数码管(LED)的显示驱动,传统的驱动方式有两种:一是每个LED单独译码驱动,这需要大量的I/O线;二是段驱动,即采用公共数据线进行位驱动单独扫描,这种方法在软件上需定时扫描,否则显示就会混乱。为了既用很少I/O线,又减少软件设计的工作量,采用串行数据译码驱动电路不失为最佳选择。MC14499是比较理想的器件,但价格昂贵,目前已停产。TEC9607为国产电路,售价低,很适合在各种电子产品上使用。本文介绍了TEC9607的工作时序及与PIC系列单片机的接口电路,并给出了程序清单,软件不作任何改动即可直接应用到PIC系列单片机中。

1. TEC9607功能描述

TEC9607是天潼公司生产的串行共阳极CMOS 5×8段LED数码管显示驱动电路,为全定制专用集成芯片,它由开机自清电路、振荡电路、位扫描驱动电路、5×8位移位寄存器电路、5×8位数据锁存器电路、多路选择器、共阳极段驱动电路组成。可以与各种型号的微控制器(计算机)串行口或并行口连接,专供驱动5位十进制八段(每段至多串联3个LED)共阳极LED数码管或共阴极5×8点阵LED使用。TEC9607的管脚排列如图1所示,各引脚说明如下:

SI(5脚):串行数据输入脚,数据的输入由微控制器(计算机)程序给出。

SCP(6脚):串行移位时钟,用于驱动串行数据的输入。

CS(4脚):片选信号,高电平有效。CS=1,允许SI、SCP把数据移到5×8位移位寄存器;否则移位禁止。内部有上拉电阻到电源。CS在用于一个微处理器带多片TEC9607时做片选使用。

SO(14脚):5×8位串行移位寄存器数据输出。一个微处理器带多片TEC9607时,除了用CS方法扩展外,也可用SO串出的方法扩展。

LCP(3脚):把5×8位移位寄存器中的数据存到5×8位段数据锁存器的脉冲,高电平有效。加入数据锁存器的目的是上一个数据的显示和下一个数据的准备(移位)可同时进行,且能防止数据移位过程中显示数据的闪烁,内部已有上拉电阻到源,平时悬空时为高电平1,表示5×8位串行移位寄存器的数据总是送 5×8位数据锁存器。

OEN(13脚):段输出允许信号,高电平有效。OEN=1时,允许段输出显示;OEN=0,段输出为高阻态。内部已有上拉电阻到电源,悬空时为高电平1。

OSC1、OSC2(2、1脚):振荡电路输入和输出端。OSC1为输入,OSC2为输出。微控制器产生的移位脉冲与显示扫描信号S1~S5是异步工作的。OSC1、OSC2外接电容C可使OSC2输出约2kHz,因此作为该器件的位扫描频率,电容推荐值为1000pF。

A、B…DP(22~15脚):段输出信号,为开路门输出,接LED负载。

S1~S5(11~7脚):位扫描驱动,S1为第一位(个位),S5为第五位(万位)。

R(23脚):开机自清信号引脚,低电平有效。外接电容C到地,可增大开机自清的时间。

TEC9607的工作时序如图2所示,按图2的工作时序传递数据时,先将SCP拉成低电平,随后把第一位数据放在SI线上,在SCP的上升沿, TEC9607将数据采集进去,其它位传送过程是相同的。在5×8位数据传送后,就完成了显示控制过程。40位数据的串行顺序如图3所示。

2.TEC9607与单片机的接口电路

图4是TEC9607与PIC16C5X系列单片机的接口电路。设计时,首先构成单片机最小系统,包括PIC16C5X系列单片机、外复位电路和振荡电路。该接口电路采用PIC16C57RC,它内含 2k×12位 OTP型程序存储器、内置式硬件看门狗电路(WDT)、33条精简单字节指令,并具有二极堆栈,工作频率为0~20MHz,有四种振荡方式可选。 PIC16C5X系列单片机具有片内上电电路(POR)可将VDD与MCLR相连,即可使用POR,但要求VDD的上升速度不低于0.05V/ms,并且 VDD要从0V开始上升,否则不能正确复位。为了可靠,应外接RC复位电路。

当多片TEC9607扩展使用时,可用片选CS进行选择,亦可用第一片TEC9607的SO输出接第二片TEC9607的SI,依次串联的方法。且应考虑SCP的驱动能力。

3.显示程序设计

TEC9607可驱动任意位LED数码管显示。少于5位 (比如2位)时,第一种方法是5×8位串行移位寄存器的低2×8位移入要显示的段码,而高3×8 位全移入“0”,此时只接两位数码管。SI驱动个位,S2驱动十位,S3~S5悬空即可。第二种方法是5×8位串行移位寄存器的高2×8位移入要显示的段码,低3×8位不管它,此时只接两位数码管。S4驱动个位,S5驱动十位,S3~S1悬空。

软件设计中,应使RA口工作在输出状态。下面以四位LED数码管显示为例描述该电路的软件设计,其显示驱动程序如下:TRBUF EQV OAH  ;数据暂存器和循环次数寄存器


    SI  EQU 1   ;RA1为串行数据输入端
    SCP EQU 2   ;RA2为时钟端
    BUFF EQU 10H  ;数据缓存
    MBUF EQU 13H  ;13H,14H,15H,16H四个寄存器为显示缓存
           ;13H最低位显示段码
           ;14H次低位显示段码
           ;15H次高位显示段码
           ;16H最高位显示段码
           ;17H为任意数
  DISBUF EQU OEH  ;OEH,OFH为压缩式显示数据
           ;OEH高两位显示数据
           ;OFH低两位显示数据
   BIT  EQU  9 ;每字节位数(8)
    FSR EQU  4  ;文件选择寄存器
   RA  EQU  5   ;I/O端口A
     CONVERT  MOVWF  2  ;PC=W
  TABLE  RETLW   0FCH   ;“ 0 "
       RETLW 60H  ;“1”
       RETLW  0DAH ; “2”
      RETLW  0F2H  ;“3 " 
           RETLW  66H ; “4”
      RETLW  0B6H  ; “5"
       RETLW  0BEH  ;“6"
      RETLW  0E4H  ;“7"
      RETLW  0FEH   ;“8"
      RETLW  0F6H  ;“9"
      RETLW  00H   ;“ "
      ETLW  7CH   ; “U"
      RETLW  9EH  ;“E"
      RETLW  00H   ;“ "
      RETLW  00H   ;“ "
      RETLW  00H   ;“ "
          DIS  MOVLW MBUF ;将显示段码寄存器    首址(f13)送f4
       MOVWF  FSR
       MOVLW  TABLE ;把段码表起始地址     送BUFF
         MOVWF  BUFF
         MOVF 0FH,0 ;取出最低位待显数据
       ANDLW  0FH
      ADDWF BUFF,0 ;BUFF+W→W         取得段码表中的偏移地址
         CALL CONVERT ;转段码查询子程序
    MOVWF  0      ;段码值送W
    INCF    FSR    ;W?F13
                           ;以下依次完成高三位数据?段码值的转换
    MOVLW  TABLE
    MOVWF  BUFF
    MOVF   0FH,0
    MOVWF  TRBUF
    SWAPF   TRBUF,0
    ANDLW   0FH
    ADDWF   BUFF,0
    CALL    CONVERT
    MOVWF  0
    INCF    FSR
    MOVLW TABLE
    MOVWF BUFF
    MOVF   OEH,0
    ANDLW  0FH
    ADDWF  BUFF,0
    CALL   CONVERT
    MOVWF 0
    INCF FSR
    MOVLW TABLE
    MOVWF BUFF
    MOVF   0EH,0
    MOVWF TRBUF
    SWAPF TRBUF,0
    ANDLW 0FH
    ADDWF BUFF,0
    CALL   CONVERT
    MOVWF  0
    MOVLW  30H  ;使RA1,RA2为输出状态
    TRIS    RA
    BCF RA,  SI
    BCF    RA,  SCP
    MOVLW  MBUF
     MOVWF  FSR
    MOVLW  5      ;传送5字节数据
    MOVWF  TRBUF
       DIS1 MOVF 0,0 ;码段值?W
    MOVWF  BUFF ;W?送数据暂存器BUFF
    INCF    FSR
    MOVLW 8
    MONWF  BIT     ;一字节有8位
       DIS2 BSF RA, CLK   ;CLK端拉成高电平 BTFSC BUFF,7
   BSF RA,SDA  ;数据暂存器D7位送data线
   BTFSS BUFF,7
   BCF RA,SDA
   RLF BUFF  ;数据暂存器左移一位
   BCF RA,CLK ;CLK端被拉成低电平,在其下降沿把data线上的数据采集进去
   DECFSZ BIT
   GOTO DIS2 ;一字节未送完,返回
   DECFSZ TRBUF
   GOTO DIS1  ;三字节未送完,返回
   BSF RA,CL  ;器件操作结束
   BSF RA,EN
   RETLW 0
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭