当前位置:首页 > 单片机 > 单片机
[导读]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
 

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

[日本川崎2024年5月14日]——东芝电子元件及存储装置株式会社(东芝)成功实现存储容量超过30TB[1] 的硬盘,其中采用两项新一代大容量硬盘驱动器(HDDs)记录技术:热辅助磁记录 (HAMR;Heat Assis...

关键字: 存储硬盘 驱动器

魁北克城2024年5月9日 /美通社/ -- LeddarTech Holdings Inc. ("LeddarTech")(纳斯达克:LDTC)和Immervision Inc. 欣然共同宣布了一项合作,旨在简化...

关键字: LED ADAS 人工智能 传感器

目标应用包括电动天窗、电动车窗升降机、电动滑门和电动尾门

关键字: 驱动器 电动天窗 电动滑门

为增进大家对LED显示屏的认识,本文将对节能LED显示屏的设计予以介绍。

关键字: LED 指数 显示屏

为增进大家对LED显示屏的认识,本文将对LED显示屏的部件组成、LED显示屏的选型技巧予以介绍。

关键字: LED 指数 显示屏

LED显示屏的身影。为增进大家对LED显示屏的认识,本文将对LED灯珠对LED显示屏的影响予以介绍。

关键字: LED 指数 显示屏

LED显示屏将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: LED 显示屏

今天,小编将在这篇文章中为大家带来led显示屏的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: LED 显示屏 LED显示屏

驱动器电阻是一种用于驱动电机的元件,一般安装在电机输出端口和驱动器之间。驱动器电阻的作用主要是调节电机的驱动电流。

关键字: 驱动电阻 驱动器 输出功率

LED(Light Emitting Diode)与LCD(Liquid Crystal Display)是当今显示技术领域的两大重要分支,各自凭借独特的优势在消费电子、广告传媒、工业控制、家用电器等多个领域占据着主导地...

关键字: LED LCD
关闭
关闭