首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
NT5285芯片应用及DEMO板的使用技巧
来源:本站整理  作者:佚名  2011-10-23 07:52:01



  本文主要介绍了NT5285键盘扫描与显示接口芯片的应用及NT5285DEMO板的使用方法和技巧。相对于一般的显示接口方案,元器件多且复杂,成本加大,导致系统可靠性降低;而采用集成显示功能的驱动芯片NT5285则使设计方案大大简化,更具经济性、可靠性。

  该键盘显示接口方案具有一定的使用参考价值,同时NT5285DEMO板为PIC单片机初学者快速入门提供很好的学习平台。

  1.三种键盘显示方案比较

  利用单片机扩展数码管和键盘接口时,常因资源不足、I/O口不够等原因,须扩展接口芯片以满足系统的需求,从而造成系统庞大,降低了系统的可靠性。在单片机应用系统中,键盘显示通常采用以下三种方案:

  a.经典方案:8279芯片

  采用并行接口的键盘显示专用芯片8279,该芯片是Intel于20世纪80年代首先推出的,应用较成熟,但所需外围元件(显示驱动、译码器等)多、PCB板占用面积大、综合成本高,在中、小系统中常常大材小用。

  b.自由方案:辅助单片机

  在系统的主控单片机基础上增加一个辅助单片机,用作显示驱动和键盘扫描的控制。为提高串行接口的速度,辅助单片机应使用尽可能高的系统时钟,但采用低成本的外部阻容振荡很难稳定地工作在10MHz以上。实际应用中,辅助单片机容易因阻容振荡频率太高而受到干扰,甚至程序跑飞或意外死锁,优点是使用灵活,缺点是元器件多、速度慢、易受干扰、成本高。

  c.新方案:NT5285芯片

  NT5285芯片具有占空比可调的8级亮度LED控制驱动电路,12段×6位~11段×7位可选的多种显示模式,10×3的键盘矩阵,是一个高可靠性、低功耗的单片机外围LED驱动电路,串行数据通过4线串行接口输入到NT5285。芯片封装形式为SOP32,整机PCB布局更易优化,节省成本,工作原理图如下图所示。

  2NT5285DEMo板简介

  本文采用NT5285DE-MO板做系统分析。NT5285DEMO板供用户对NT5285芯片进行全面的评估,可观察在8级不同亮度下NT5285对数码管和LED进行动态扫描的效果,以及对按键的响应等,同时提供NT5285与PIC单片机接口的显示和键盘扫描子程序,可以很方便地调用子程序,无须再开发与NT5285接口的通讯程序,加快产品的研发周期。

  NT5285DEMO板还可以作为一个低成本的学习MicroChip单片机、调试软件和烧录芯片的平台,在MPLAB@ICD2配合下,用户可以在演示板上对8/14/18/28/40脚、拥有在线调试和编程功能的PICFLASH单片机,进行在线调试和芯片烧录,完成诸如I/O口操作、A/D转换、PWM信号产生、数码管驱动、键盘输入等各种实验。

  DEM0板实物图如下图所示,NT5285的D0、D1、CLK、STB四条控制线分别与MCU的RA3、RA1、RA2、RA4相连,可调电位器VR1调节的电压输入到A/D转换口RAO,RB3输出蜂鸣器PWM的驱动信号。

  3.NT5285命令控制字

  在STB端口的状态由高变低后,由DIN端口输入到NT5285的第~个字节(bO~b7)为命令字,之后输入的为数据位;当数据/命令在移动时由于某些原因使STB端口设为高时,串行通讯被初始化,则正在发送的数据/命令视为无效。NT5285的命令控制字如下表所示,

命令 MSB                    LSB
b7 b6 b5 b4 b3 b2 b1 b0
命令1 0 0 b1 b0
命令2 0 1 b3 b2 b1 b0
命令3 1 1 b3 b2 b1 b0
命令4 1 0 b3 b2 b1 b0

应用时序如下图所示,移动显示数据最大为14字节。

  4.NT5285 DEMO板演示

  DEM0板样片PIC16F819已存有源程序代码,重新烧写时,打开DEM0程序项目,C语言为DEMO_C,汇编为DEMO_ASM,利用ICD2进行重新烧写,但要注意以下几点:

  a.在MPLABIDE开发环境中,选择:Configure>Se-lectDevice命令,选择要烧录的芯片型号为PIC16F819。

  b.配置位设定:建项目时,在Configure>Configu-rationBits设置芯片的配置字,NT5285演示程序的源文件中已通过伪指令设定好了。

  c.编译器选择:在Pro-ject>SelectLanguageTool-suite命令列表中,C语言编译器选HI-TECHPICCTool-suite,汇编语言编译器选择MicrochipMPASMTool-suiteod.烧写时:在Program-mer>SelectProgrammer中选择MPLABICD2作为编程器,此时ICD2应与MPLABIDE处于连通状态,否则,在Programmer>Settings>communication中检查设置是否正确,然后再用Programmer>Connect命令重新连接,用Programmer>Program命令,将代码烧录到PIC16F819芯片中。

  e.程序烧录完成后,将ICD2的水晶头拔除,确保J1~J7处于连通状态,NT5285演示程序将自动运行。

  演示程序包括以下几个功能模块:(1)DEM01——8字循环显示模块;(2)DEM02——A/D转换电压值显示模块;(3)NT5285显示和键盘接口通讯模块。

  演示板各键功能定义如下:S1:系统复位;NEXT:演示程序DEM01和DEM02之间切换;BRIGHT+:增加扫描亮度等级;BRIGHT-:降低扫描亮度等级,K4-K30:空,供用户自行定义。

  演示时,首先确保J1~J7处于连通状态。上电时,蜂鸣器长鸣一声,所有LED点亮;然后运行DEM01的程序,7个数码管循环显示“8”字,21只LED灯不断闪烁,此时LED亮度等级默认为4,NT5285一共有8个亮度扫描等级,按“BRIGHT+”/“BRlGHT-”键可以增加/减少LED的亮度等级;按键的同时,蜂鸣器发出“BI”的一声。

  按下“NE×T”键,DEM0板转入运行DEM02演示程序,此时5V电压经VR1调节和8bit的A/D转换后,通过DM1~DM3数码管显示该电压值。旋转VR1,显示的电压值相应进行改变,此时DM6、DM7数码管显示NT5285的扫描亮度等级。

  用户在演示板上采用其他MCU控制NT5285时,必须检查NT5285的四条控制线是否与MCU相应I/O口连接好,否则将没有显示或按键没有响应。

  在NT5285演示板上可利用ICD2上将自写程序烧录到芯片中,根据个人的喜好和实际情况选用不同的开发环境和编译器。本文使用MPLAB、IDE开发环境,针对DEM0板提供的样片对PIC16F819进行编程、调试。

  对C语言编程,首先确认已安装HI-TECHPfCC8.05或以上版本,在Proiect>SelectLanguageToolsuite命令列表中选择HI-TECHPICC编译器,具体编程语法可查看PICC编译器的使用说明。

  对编程实现PIC16F819及NT5285的各种功能时应注意以下几方面:

  a.PWM输出脚可在配置字中设置成RB2或RB3,本文设置成RB3输出到蜂鸣器,pwm_init()初始后,在程序中只改变PR2、CCPR1L即可奏出动听的音符。

  b.系统上电时,RA口默认为AD模式,通过AD-CON1将不作为AD转换的端口设为数字口。AD初始化后,GODONE置位转换开始,可通过中断或查询(1f(!GODONE))方法读取转换值,再进行显示或赋给PWM输出等操作。

  cNT5285编程时,显示数据时先发送显示模式命令,接着发送数据模式命令、地址设置命令、显示数据,最后开显示。发送完一条命令接着发第二条命令时STB置高,如果接下来发显示数据,则等数据发完后再将STB置高,关于NT5285的详细资料可查看NT5285的数据手册。

  对DEM0板的编程,用户可根据自己需要编写相应的功能程序,下图功能程序框图为已编成功的C语言DE-M0程序,供读者参考。

  为使读者更清楚地使用NT5285芯片及PIC单片机,本文最后分析如何在DEM0板中实现七个数码管显示0~6的数字实例。

  首先根据DEMO板的硬件电路将NT5285设为7×11段的输出方式,数码管接线图如下图所示,
NT5285 14字节地址对应的管脚分配表
SG1···SG4 SG5···SG8 SG9···SG11  
00HL 00HU 01HL DIG1
0CHL 0CHU 0DHL DIG7
a…d e…h led1…led3  
b0…b3 b4…b7 b0…b2 b4…b7
根据下表的NT5285 14字节地址对应的管脚分配表,只要先点亮第一个数码管,将00H地址对应的值赋为Oxff,再开显示即可。根据下表所示的数码管译码表,将译码后的相应数据赋到相应的地址空间,确定数字0~6的显示代码,显示流程图如下图所示。
 
数码管译码表
原码 h g f e d c b a 译码
0 0 0 1 1 1 1 1 1 0x3f
1 0 0 0 0 0 1 1 0 0x06
2 0 1 0 1 1 0 1 1 0x5b
3 0 1 0 0 1 1 1 1 0x4f
4 0 1 1 0 0 1 1 0 0x66
5 0 1 1 0 1 1 0 1 0x6d
6 0 1 1 1 1 1 0 1 0x7d
7 0 0 0 0 0 1 1 1 0x07
8 0 1 1 1 1 1 1 1 0x7f
9 0 1 1 0 1 1 1 1 0x6f

    接下来建立新项目,选择单片机型号,main.c主程序代码如下:
 
    #include<DIC.h>
 
    /*包含头文件,编译器会毒
 
自动选择型号*/
 
  #include“config.h”
 
 /*自定义头文件*/
 
    CONFIG(XT&UNPRO
 
TECT&PWRTEN&BOREN
 
&WDTDIS&LVPDIS&MC
 
LREN&CCPRB3):
 
   /*函数声明*/
 
    void delay(unsjgned int
 
n):
 
    void port_init(void);
 
    void ad_init(void):
 
    void pwm_init(void);
 
    void read_ad(void);
 
    void send b(unsigned
 
char dat);
 
    unsiged  char  read b
 
(void);
 /*数码管数据表及变量定义*/
  unsigned char num_buf
[10]=
    {
    0x3f,//display“0”
    0x06,//display“1”
    0x5b,//display“2”
    Ox4f,//display“3”
    0x66,//display“4”
    0x6d,//display“5”
    0x7d,//display“6”
    0x07,//display“7”
    0x7f,//display“8”
    0x6f//display“9”
    };
    /*可把以上声明的函数体
放在这个地方*/
  void main(void)
  /*主程序*/
  { unsigned char i;
TRISA=0xE9;
  PORTA=0xFF;
  ADCONl=0xOE;
   /*RA1~RA4为数字口*/
  STB_H:
  send_b(COM—MODE1);
    /*显示模式为11*7段*/
    STB_H:
    send_b(COM_DATA);
    /*发送数据模式*/
    STB_H:
    send_b(COM_ADDR);
    /*数据地址为0开始*/
    for(i:0:i<7;i++)
   /*发送数据*/
    {
    send_b(num_buf[i]);
send_b(0x07);
 
    /*LED全亮b0-b3*/
 
    }
 
    STB_H;
 
    send_b
 
(COM_BRIGH+5);
 
    /*开显示+亮度*/
 
    STB_H;
 
    While(1):
 
    }
  程序编写完成后,按F10或Project→Build All进行编译,生成.hex文件,再通过ICD2烧录到NT5285 DEMO板下的PICl6F819单片机中,即可看到效果。其它具体操作可参考贝能科技公司出品的MPLAB ICD2在线调试器中附带的用户指南和相应的数据手册或文档。
  7.小结
  本文主要介绍了NT5285芯片及其DEMO板的使用技巧,对C语言程序编写做了详细的说明,最后讲述了DE-MO板及NT5285具体应用实例,且程序实际运行稳定、可靠。
  运用该键盘显示驱动芯片可以大大简化外围器件、节省I/O口、提高系统的可靠性,是一个很好的键盘显示接口的解决方案,同时NT5285DEMO板也是一款低成本的PIC单片机学习与实验平台,对于PIC单片初学者或想在单片机领域快速入门的读者来说,无疑是一道捷径。
 
 
 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:91,906.25000 毫秒