基于CY8C21534的通用操作面板解析方案
来源:元器件交易网 作者:—— 时间:2012-04-23 11:15
图中,S1~S9为感应按键的感应区域,U101为显示组件(在设计中采用的是一体化的显示组件),CN101为与控制板的接口,同时也是在线烧写程序的接口。
只要按键对应口线不变,按键可以排列在通用操作面板任何位置。显示组件可以是分离器件组成,连接关系只要满足图中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接口工作在主模式。
下一篇:基于soc的嵌入式系统解析方案
- •小尺寸面板价全年跌幅达34%2023-12-28
- •友达本月将关闭新加坡LCD面板生产线2023-12-21
- •刚性OLED面板需求急剧下降 三星显示明年刚性产能消化面临挑战2022-10-10
- •LG 显示计划明年生产 920 万块大尺寸 OLED 面板,近 6 成在广州生产2022-09-27
- •友达:面板拉货趋向积极,整体供需逐步恢复到较平衡状态2022-09-01
- •京东方OLED面板通过苹果新机认证,机构预测至少500万片2022-07-07
- •LG显示将在一年内停止P5车用LCD面板产线运营2022-05-12
- •友达:目前仍无法判定面板报价何时止跌2022-04-22
- •京东方称计划今年将OLED面板交付量提高近70%2022-04-08
- •“面板双雄”回复停电:设备恢复中2022-03-04