微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 串行LED译码/驱动器件TEC9607在PIC16C5X系列单片机中的应用

串行LED译码/驱动器件TEC9607在PIC16C5X系列单片机中的应用

时间:02-28 来源:互联网 点击:

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悬空。

软件设计中,应

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top