基于CY8C21534的通用操作面板解析方案

2012-05-14 17:28:54来源: 互联网

Cypress公司的CY8C21534是一个带有非常丰富感应按键功能的单片机芯片,多数IO口都可以配置为感应按键输入或普通TTL电平输入/输出的功能,并且有丰富的内部资源。

  在产品设计中,操作面板是面向用户的最重要的交互界面,其操作性能的优劣直接影响产品的感观性能。良好的操作界面,可以使用户提高对产品的信心,并大大提高购买率。

  另外,产品设计中,通用化的设计往往是提高产品设计速度和性能的最有效的方式。

  为了满足上述要求,我们设计了一款通用的带有感应按键功能的面板,根据我们产品的需要,面板应提供9个感应按键,能驱动64段LED显示,有蜂鸣器驱动,并有与控制板进行信息交换的接口。

  通用操作面板设计的基本思路主要集中在通用上,通用包括两个方面:一是硬件通用,设计一个操作面板可以适应很多的产品。二是软件的通用,通用板不关心按键具体功能和显示的具体内容,把程序设计成通用的。

  因为面板最重要的功能就是感应按键功能,所以我们采用了高性能的CY8C21534,考虑到CY8C21534有效的IO口线只有24个,所以扩展了一片 74HC595来驱动显示段,这样需要至少2个IO口;还需要8个IO口来驱动显示行;操作面板与控制板通讯采用I2C方式,再增加一条按键有效指示线,则通讯接口需要3个IO;9个按键使用9个IO,这样方便以后其他的扩展;一个IO口驱动蜂鸣器;另外一个IO口做按键处理用,保证按键的抗干扰能力;这样24个IO刚好可以满足要求。

  硬件设计

  图1为通用操作面板原理图。图中,S1~S9为感应按键的感应区域,U101为显示组件(在设计中采用的是一体化的显示组件),CN101为与控制板的接口,同时也是在线烧写程序的接口。

  

 

  图1 通用操作面板原理图

  只要按键对应口线不变,按键可以排列在通用操作面板任何位置。

  显示组件可以是分离器件组成,连接关系只要满足图中COM1~8和SEG1~8对应就可以了,其中COM1~8是显示的行扫描端,SEG1~8是显示段码驱动端。64段可以组合成8段数码管,也可以是独立的LED指示灯按照行列方式连接。注意,在图中的连接关系中,显示部件必须是共阳结构的。

  软件设计

  软件分成如下几个主要部分:

  显示扫描部分—负责把显示数据按照对应关系送出。

  需要开辟一个显示缓冲区,用来保存接收到的显示内容,定义为Dis_buf[8],共8个字节,64段需要8个字节,按照每行一个字节保存,规定Dis_buf[0] 对应COM1行,Dis_buf[1]对应COM2行,依此类推,Dis_buf[7]对应COM8行。

  在定时扫描里,按照行列关系扫描显示即可,具体显示内容则由控制板通过通讯接口发来。

  这部分程序流程比较简单,但操作要点需要特别注意:先关闭所有显示行,根据扫描行标志送出扫描段码,再打开对应的扫描行,点亮显示,最后扫描行标志加1。

  按键扫描部分—负责扫描按键状态,并把扫描结果保存在缓冲区,以便控制板查询。

  开辟一个2字节的按键缓冲区Key_buf[2],每一位对应一个按键,例如规定Key_buf[0]的最低位对应S1……,Key_buf[0]的最高位对应S8,Key_buf[1]的最低位对应S9,其余保留备用。

  CY8C21534定时对按键进行扫描,并把去抖动后的结果保存在按键缓冲区,规定“1”为按键按下,“0”为按键抬起。

  需要说明的是,按键是否按下,是通过读CY8C21534内部寄存器的值来确定的,这与普通机械按键按下判断电平高低是不同的。

  与控制板通讯部分—负责接收控制板的显示数据,同时接受控制板查询按键状态的指令,发出按键状态数据。

  通讯采用I2C接口,并且通用操作面板上的CY8C21534工作在从模式,控制板上的单片机I2C接口工作在主模式。

我们规定通讯协议如下:

  写显示数据

  先写入地址(0xA2)。再依次写入显示数据1~显示数据8,蜂鸣器状态字节按照IIC协议模式,依次写入上述10个字节即可。

  显示数据1~8分别对应COM1~8行,蜂鸣器状态字节表示蜂鸣器是否鸣响,当最低位为1时,蜂鸣器鸣响,为0时停止鸣响,其余的为保留备用。

  读按键状态

  先写入地址(0xA3),再依次读出2个字节即可。

  这部分程序的流程比较简单,属于CY8C21534内部功能,基本思路为:

  I2C 收到数据后会产生中断,CY8C21534响应中断后,判断是写入显示数据还是读按键状态,如果是写数据,则读出I2C数据接收寄存器值,写入对应显示缓冲区Dis_buf[i]即可。全部接收完8个显示数据,则把显示缓冲区Dis_buf[i]的值转入Dis_buf_out[i],供显示扫描程序用。

  如果是读按键状态,则把按键状态Key_buf[0]写入发送寄存器,I2C模块自动发出数据发送完一个,再写入Key_buf[1]继续发送。

  应注意的几个关键问题

  ·按键扫描中要有去抖动的过程,这个去抖动一般以20~50毫秒为宜,另外去抖动过程不仅在按键按下时要处理,按键抬起时最好也处理一下,这样可以保证按键操作的可靠性。

  ·感应按键处理时,CY8C21534提供了一个软件模块包,用来处理感应按键的功能,同时有利用P0(7)实现抗干扰的处理的功能,这样可以屏蔽水流冲击和手机的干扰。所以设计PCB时,P0(7)要与通用操作面板的覆铜地通过电阻R143连接在一起。

  ·显示扫描帧频率要超过60HZ,这样可以保证显示无抖动,由于显示亮度与扫描频率和占空比有直接关系,占空比不变时,帧频率越高,亮度会越低,所以建议使用60HZ的帧频率,没有必要提高帧频率。

  结语

  采用CY8C21534设计通用操作面板是非常方便也是非常简单的,而且操作面板还具有高可靠性的感应按键功能,这对提升产品性能和价值是非常有效的。

  CY8C21534外围电路非常简单,内部的许多功能都有标准的软件模块可以调用,所以软件设计也非常简单,而且所附的仿真调试软件支持C编译,调试非常容易和方便,

  本设计的基本思路应用于生产实践中已经带来了非常好的效益。

关键字:CY8C21534  通用操作  面板解析

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0514/article_16005.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CY8C21534
通用操作
面板解析

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved