键盘显示芯片CH451与MEGA32的接口设计

发布者:清新心情最新更新时间:2012-02-08 来源: dzsc关键字:键盘显示  CH451  MEGA32 手机看文章 扫描二维码
随时随地手机看文章

引言

  在水泥生料率值配料系统中需要监控水泥厂的多条生产线。它的硬件单元率值配料下位机硬件系统需要多个数码管和二极管来显示工况,并且还需要键盘控制。如果采用一般的显示方案则元器件多且复杂,导致系统可靠性降低,成本加大。采用集成了键盘显示功能的驱动芯片CH451后使设计方案大大简化,更具经济性和可靠性。

1 键盘显示方案比较

  很多以单片机为核心的仪器仪表都需要数码管显示和键盘扫描。在单片机的开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,从而造成系统庞大,同时也降低了系统的可靠性。在单片机应用系统中,键盘显示通常可采用如下3种方案。

1.1 经典方案:使用8279芯片

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

1.2 自由方案:使用辅助单片机

  在仪器的主控单片机之外,另外使用一个辅助的单片机专门做显示驱动和键盘扫描。为了提高串行接口的速度,辅助单片机需要尽可能高的系统时钟,而参考单片机厂商的说明,采用低成本的外部阻容振荡很难稳定地工作在10 MHz以上。所以在工业现场,辅助单片机很可能因为阻容振荡频率太高而受到干扰,甚至内部程序跑飞或者意外死锁。其优点是灵活,缺点是元器件多,速度慢,易受干扰,综合成本高。

1.3 新方案:使用CH451芯片

  CH451由南京沁恒电子公司生产,是以硬件实现的多功能外围芯片,使用串行接口,支持显示驱动和键盘扫描以及μP监控,外围元器件极少,非常适合作为单片机的外围辅助芯片,工作原理如图1所示。

CH451的特点是:

  a) 具有大电流驱动能力,段电流不小于25 mA,字电流不小于150 mA,平均段电流是辅助单片机方案的8倍,而且非连续的电流驱动能力更高。

  b) 用硬件实现,串行接口、显示驱动、键盘扫描、μP监控之间相互独立不受干扰,串行接口的位时钟能够支持到10 MHz,数据传输速度比辅助单片机方案提高40倍,即使主控单片机频繁操作也完全不会影响显示驱动和键盘扫描以及μP监控。

  c) 串行接口以硬件实现,不需要时钟;而显示驱动和键盘扫描使用约0.75 MHz的全内置主时钟多次分频后的扫描时钟,所以在工业现场不易受到干扰。即使受到强干扰,也能够在干扰后立即正常工作,不会影响串行接口、显示驱动和键盘扫描的后续操作。

  d) 内置振荡和上电复位以及看门狗电路,不但不需要外部提供时钟和外部复位输入,还能够向外部的主控单片机提供上电复位和看门狗电路,进一步降低产品的成本,提供产品的可靠性。

  现在与CH451类似的还有北京凌志比高科技的BC7281、hd7279a等,这些都是相当不错的显示和键盘接口芯片。

2 硬件设计

  选用AMEG32作为主控芯片,晶振为8 MHz,因AVR单片机大多数指令仅需要1个时钟周期,而很多MCS-51类型的单片机指令为12个时钟周期,所以AVR单片机在同样晶振条件下比MCS-51快得多。CH451的串行接口的位时钟最快能支持10 MHz,所以用8 MHz的AMEGA32能够与CH451进行通信。

  CH451芯片连线简单,一片CH451仅需要4根信号线就可以实现。4根信号线包括:串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。每增加一片CH451只需要增加一根串行数据加载线即可。在率值配料硬件系统中应用2片CH451进行并行级联,一片用来直接驱动6个共阴极数码管和读取8个按钮信息,另一片用来驱动24个发光二极管。硬件电路如图2所示。

[page]

  尽管AVR自带SPI接口,但是考虑到CH451并不是真正意义上的SPI接口,它只是具有硬件实现的高速4线串行接口,所以必须用软件模拟的方式对CH451进行控制。

3 软件设计

  AVR的集成开发环境种类比较多,如ICCAVR、WINAVR、BASCOM-AVR、IAR、CodeVisionAVR等,因此造成程序之间难以完全兼容,这也是目前开发的一个缺点。这里选择ICCAVR作为开发环境,应用C语言来实现程序。因为ICCAVR在我国有广泛的使用者,用C语言进行软件开发可以很好地实现代码的可读性和移植性,大幅度加快开发进度。

  CH451具有硬件实现的高速4线串行接口,包括4个信号线:串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。启用键盘扫描功能时序图如图3示。

  由图3可知,DIN、DCLK、LOAD作为CH451的输入其默认为高电平,DOUT作为CH451的输出其默认也是高电平。由此,需对AMEG16单片机I/O口初始化。需要注意,AVR单片机I/O口与MCS-51单片机I/O口不同。AVR单片机是标准双向口,复位时所有端口处于没有上拉电阻的输入状态。因此,在使用AVR单片机之前一定要根据引脚功能定义相对应的端口初始化,否则端口很可能在用做输出时不能正常工作(复位后默认为输入状态)。

  这4根信号线虽然与SPI总线方式类似,但是不能用AMEG32自带的SPI接口来对CH451进行控制,因为这不符合时序要求。

  软件设计包括CH451的初始化、显示和读按键3部分。初始化包括对CH451的设置,如开显示、键盘功能、设置BCD译码方式等。显示部分对6个数码管分时轮流显示,通过加载字数据命令来显示每个数码管的数字。读按键则是加载CH451的读取按键代码命令。单片机可以通过查询或者外部中断方式来读取。

6个数码管显示和读取8个按键信息主要用到的函数如下:

显示24个发光二极管用到的函数如下:

  须注意的问题是:由于CH451驱动数码管或者LED的电流较大,会在电源上产生较大的毛刺电压,所以如果电源线或者地线的PCB(印制电路板)布线不合理,将有可能影响单片机或者CH451的稳定性。建议不要使用CH451的RTSI功能,在RTSI与地之间加1 000 pF电容。另外,如果由标准MCS-51单片机的I/O引脚对CH451进行较远距离的驱动,通常要加强MCS-51单片机的I/O的上拉能力,以便在远距离传输时保持较好的数字信号波形。对于强干扰应用环境,可以定期对CH451进行刷新,包括重新设定系统参数、重新设定显示参数、重新设定闪烁控制、重新加载各个显示数据。

4 结束语

  本文详细介绍了CH451与AMEG32的接口方案,并给出了具体的程序设计,现场实际运行稳定可靠。运用这些集成的键盘显示驱动芯片可以大大简化外围器件,节省单片机I/O口,提高系统的可靠性。

关键字:键盘显示  CH451  MEGA32 引用地址:键盘显示芯片CH451与MEGA32的接口设计

上一篇:基于SOPC的液晶屏接口组件设计
下一篇:基于USB2.0接口的语音采集系统设计

推荐阅读最新更新时间:2024-05-02 21:53

AVR单片机扫描4X4矩阵键盘并数码管显示程序
/* program name : keyboard ; 功能描述 : 扫描16个按键(4X4),并把键值显示在数码管上(两位); 要点 : 在扫描按键时运用了比较复杂的两个for()循环嵌套式 扫描方案,大大减少了程序量,循环嵌套方案让我纠结了好久, 键值有0~9,上,下,左,右,确认,清零; 体会: 又一个里程碑,泪奔啊...我似乎成了 代码男神 啊...; 实验用时: 约等于14小时(每天2小时X7天); 完成时间: 2013-11-19 23:58:22 */ #include iom16v.h #include macros.h #define uint8 unsi
[单片机]
AVR单片机驱动CH451实例程序_C语言
1) CH451简介 CH451可用于LED数码管显示驱动、键盘扫描控制、μP监控电路等领域。芯片封装包括双列直插DIP28、SOP28以及DIP24S封装。其内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。CH451内置大电流驱动级,段电流不小于30 m A,字电流不小于160mA,并有16级亮度控制功能。该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能。CH451可选择简洁的1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位和低电平有效复位
[单片机]
AVR单片机驱动<font color='red'>CH451</font>实例程序_C语言
用扫描法读出4×4矩阵键盘,在数码管显示按键值
//电路说明如下。 //单片机:使用51系列兼容的即可; //4 4矩阵键盘:接在P1口; //两位数码显示器: P0口输出七段码,P2口输出位选码。 //============================================================== //C语言程序如下。 /************************************************************* * 文件名: KEY_LED.c * 功能 : 对4 4矩阵键盘进行输出,在数码管后两位显示按键值。 ***************************************************
[单片机]
用扫描法读出4×4矩阵<font color='red'>键盘</font>,在数码管<font color='red'>显示</font>按键值
热门资源推荐
热门放大器推荐
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved