中国视频教程网论文大全www.eduvcd.com >>论文频道免费提供海量各专业精品高质量论文:经济论文,管理学论文,会计审计论文  [admin  2006年10月21日]         本站网址:http://lunwen.xue2xue.com 收藏本站网址,方便下次访问 | 设为首页
您现在的位置: 中国视频教程网 >> 论文库 >> 工 学 >> 电子机械 >> 论文正文
数码管显示驱动和键盘扫描控制器CH451及其应用
作者:xue2xue.COM 文章来源:lunwen.xue2xue.com 点击数: | | 设为首页 【字体:

摘要:介绍一种新型键盘显示驱动芯片CH451性能特点工作原理,给出CH451键盘显示驱动芯片与MCS-51单片机接口方法与相应软件驱动程序。

    关键词:键盘显示控制;单片机;CH451

单片机开发过程中,常常因为资源不足而不得不大量扩展接口芯片以满足应用系统需要,其中原因之一机界面中键盘显示占用系统太多资源,从而造成系统庞大,同时降低系统可靠性。单片机应用系统中,键盘显示通常可采用以下几种方式:

(1)采用并行接口键盘显示专用芯片8279。但8279需外围元件多(显示驱动、译码等)、占用电路板面积大、综合成本高,中小系统中常常大材小用;

(2)采用通用并行I/O芯片扩展(如用8155等),但此方案同样需要驱动显示,同时键盘显示扫描还需占用CPU大量时间;

(3)采用专用显示控制器,并用CPUI/O引脚完成键盘输入(如MC14499、PS7219、MAX7219、ICM7218、TLC5921等,大多串行接口并显示驱动能力,I/O占用少)。这种接口方式省去显示扫描,而且电路大多也很简单,通常系统需要按键较少时比较适用;

(4)采用带I2C总线键盘显示芯片(如显示用SAA1064,键盘用PCF8574),不过这种方式对于I2C总线接口CPU来说,编程显得有些不便;

(5)采用串行接口键盘显示专用芯片,如BC7280/81、HD7279、CH451等。这类芯片占用CPU资源少,传输速度较快,外围器件要求也较少,中小系统中都可得到广泛应用。BC7280/81与HD7279中有介绍,本文着重介绍CH451主要特性及接口应用方法。

1 CH451功能与引脚介绍

CH451一个整合数码管显示驱动键盘扫描控制以及μP监控多功能外围芯片。CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据左移、右移、左循环、右循环、各数字独立闪烁等控制功能。CH451内置大电流驱动级,段电流不小于30mA,字电流不小于160mA,并有16 级亮度控制功能;键盘控制方面,该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能;外部接口方面,CH451可选择简洁1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位低电平有效复位两种输出,同时内置看门狗电路Watch-Dog。CH451提供有28引脚DIP28与SOP28封装以及DIP24S封装形式,28脚与24脚功能上稍有差别,它们引脚定义见表1列。

表1 CH451引脚说明

28脚引脚号 24脚引脚号 引脚名称 类  型

引  脚  说  明

23 2 VCC 电源 正电源,持续电流不小于200mA
9 15 GND 电源 接地,持续电流不小于200mA
25 4 LOAD 输入 4线串行接口数据加协,带上拉
26 5 DIN 输入 4线串行接口数据输入,带上拉
27 6 DCLK 输入 串行接口听数据时钟,带上拉,可同时用于看门狗清除输入
24 3 DOUT 输出 串行接口数据输出键盘中断
22~15 1、24~18 DIG7~SEG0 三态输出及输入 数码管段驱动,高电平有效,键盘扫描输入,高电平有效,带下拉
1~8 7~14 DIG7~DIG0 输出 数码管字驱动,低电平有效,键盘扫描输入,高电平有效,带下拉
12 不支持 RST 输出 上电复位看门狗复位,高电平有效
13 不支持 RST 输出 上电复位看门狗复位,低电平有效
28 不支持 RSTI 输入 上电复位门限调整或手工复位输入
14 不支持 ADJ 输入 段电流上限调整,带强下拉
10 不支持 CLK 输入 外接阻容振荡
11 不支持 CLKO 输出 CLK引脚时钟信号二分频输出
  17 NC   不连接,禁止使用

2 CH451操作命令

CH451操作命令均为12位,其中高4位为标识码,低8位为参数,各操作命令如下:

●空操作:0000xxxxxxxxB(x可为任意值,下同)

空操作命令对CH451不产生任何影响。该命令可以多个CH451级联应用中透过前级CH451向后级CH451发送操作命令而不影响前级CH451状态。例如,要将操作命令001000000001B发送给两级级联电路中后级CH451(后级CH451DIN引脚连接到前级CH451DOUT引脚),只要该操作命令后添加空操作命令000000000000B再发送,那么,该操作命令将经过前级CH451到达后级CH451,而空操作命令留给前级CH451。另外,为不影响CH451前提下变化DCLK以清除看门狗计时器,也可以发送空操作命令。非级联应用中,空操作命令可只发送高4位。

● 芯片内部复位:001000000001B

内部复位命令可将CH451各个寄存器各种参数复位到默认状态。芯片上电时,CH451均被复位,此时各个寄存器均复位为0,各种参数均恢复为默认值。

● 字数据移位:0011000000[D1][D0]B

字数据移位命令共有4个:开环左移、右移,闭环左移、右移。D0为0时为开环,为1时为闭环,D1为0时左移,为1时为右移。开环左移时DIG0引脚对应单元补00H,此时不译码方式显示为空格,BCD译码方式时显示为0;开环右移时,DIG7引脚对应单元补00H;而闭环时DIG0与DIG7头尾相接,闭环移位。

● 设定系统参数:010000000[WDOG][KEYB][DISP]B

该命令用于设定CH451系统级参数如看门狗使能WDOG、键盘扫描使能KEYB、显示驱动使能DISP等。各个参数均可通过1位数据来进行控制,将相应数据位置为1可启用该功能,否则关闭该功能(默认值)。

● 设定显示参数:0101[MODE][LIMIT][INTENSITY]B

此命令用于设定CH451显示参数,如译码方式MODE(1位)、扫描极限LIMIT(3位)、显示亮度INTENSITY(4位)等。译码方式MODE为1时选择BCD译码方式,为0时选择不译码方式。CH451默认工作于不译码方式,此时8个数据寄存器中字节数据位7~位0分别对应8个数码管小数点段G~段A,当数据位为1时,对应数据段(或发光管)点亮;数据位为0时熄灭。CH451工作于BCD译码方式主要应用于数码管驱动,单片机只要给出二进制数BCD码,便可由CH451将其译码并直接驱动数码管以显示对应字符。BCD译码方式对数据寄存器中字节数据位4~位0进行兼容BCD译码,可用于控制段驱动引脚SEG6~SEG0输出,它们对应于数码管段G~段A,同时可用字节数据位7控制段来驱动引脚SEG7输出以对应数码管小数点,字节数据位6位5不影响BCD译码输出,它们可以任意值。将位4~位0进行BCD译码可显示以下28个字符,其中00000B~01111B分别对应于“0~F”、10000B~11010B分别对应于“ ”空格 、“+”+或加号 、“-”负号或减号 、“=”等于号 、“"左方括号 、“”右方括号 、“_”下划线 、“H” 、“L” 、“P” 、“.”小数点 、其余值为空格。

扫描极限LIMIT控制位001B~111B000B(默认值)可分别设定扫描极限1~78。显示亮度INTENSITY控制位0001B~1111B0000B(默认值)则用于分别设定显示驱动占空比1/16~15/16 16/16,以实现16级显示亮度控制。

●设定闪烁控制:0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B

设定闪烁控制命令用于设定CH451闪烁显示属性,其中D7S~D0S 分别对应于8个字驱动DIG7~DIG0。闪烁属性D7S~D0S分别通过1位数据控制,将相应数据位置为1可使能闪烁显示,否则为正常显示,不闪烁(默认值)。

●加载字数据:1[DIG_ADDR][DIG_DATA]B

加载字数据命令用于将字节数据DIG_DATA(8位)写入DIG_ADDR(3位)指定数据寄存器中。DIG_ADDR000B~111B分别用于指定数据寄存器地址0~7,并分别对应于DIG0~DIG7引脚驱动8个数码管。DIG_DATA为待写入字节数据。

●读取按键代码:0111xxxxxxxxB

读取按键代码命令用于获得CH451最近检测到有效按键按键代码。该命令唯一具有数据返回命令,CH451通常从DOUT引脚输出按键代码,按键代码总7位数据,最高位状态码,位5~位0扫描码。读取按键代码命令位数据B7~B0可以任意值,以控制器可以将该操作命令缩短为4位数据B11~B8。例如,CH451检测到有效按键并中断时,如按键代码5EH,则先向CH451发出读取按键代码命令0111B,然后再从DOUT获得按键代码5EH。

CH451提供按键代码为7位,位2~位0列扫描码,位5~位3行扫描码,位6状态码(键按下为1,键释放为0)。例如,连接DIG3与SEG4键被按下时,按键代码为63H,键被释放后,按键代码23H。单片机可以任何时候读取按键代码,但一般CH451检测到有效按键而产生键盘中断时读取按键代码,此时按键代码位6总1。另外,如果需要解按键何时释放,单片机可以通过查询方式定期读取按键代码,直到按键代码位6为0。表2连接DIG7~DIG0与SEG7~SEG0之间键被按下时,CH451提供按键代码。这些按键代码具有一定规律,如果需要键被释放时按键代码,可将表2中按键代码位6 置0,也可将表中按键代码减去40H。应注意:CH451不支持组合键,也就说,同一时刻,不能有两个或者更多键被按下。

表2 CH451键盘编码表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 串行接口应用电路

CH451与MCS-51单片机连接如图1示,其中DOUT引脚最好连接到单片机中断输入引脚,这样可用中断方式响应按键。如果连接到非中断输入引脚,则应该使用查询方式确定CH451否检测到有效按键,同时还可向单片机提供复位信号RESET并带Watch-Dog功能。CH451段驱动引脚串接电阻R1(200Ω)用于限制均衡段驱动电流。5V电源电压下,串接200Ω电阻通常对应13mA段电流。CH451具有64键键盘扫描功能,为防止键被按下后SEG信号线与DIG信号线之间形成短路而影响数码管显示,一般应CH451DIG0~DIG7引脚与键盘矩阵之间串接限流电阻R2,其阻值可以从1kΩ至10kΩ。

将P1.0与DIN连接可用于输入串行数据,串行数据输入顺序低位前,高位后。另外,上电复位后,CH451 默认选择1线串行接口,如需选择4线串行接口,则应DCLK输出串行时钟之前,先DIN上输出一个低电平脉冲,以通知CH451为4线串行接口。将P1.1与DCLK连接可提供串行时钟,以使CH451其上升沿从DIN输入数据,并其下降沿从DOUT输出数据。LOAD用于加载串行数据,CH451一般其上升沿加载移位寄存器中12位数据以作为操作命令进行分析并处理。也就说,LOAD上升沿串行数据帧帧完成标志,此时无论移位寄存器中12位数据否有效,CH451都会将其当作操作命令来处理。应注意级联电路中,单片机每次输出串行数据必须单个CH451串行数据位数乘以级联级数。

下面该电路驱动程序:

;主程序需要定义参数

DCLK BIT P1.1 ;串行数据时钟,上升沿激活

DIN BIT P1.0 ;串行数据输入

LOAD BIT P1.2 ;串行命令加载,上升沿激活

DOUT BIT P3.2 ;接INT0,键盘中断键值数据输出

KEY DATA 7FH ;存放键盘中断时读取键值

;******* 初始化子程序 *******

INIT CLR DIN ;先低后高,输出上升沿通知

CH451选择4线串行接口

SETB DCLK ;置为默认高电平

SETB DIN

SETB LOAD

SETB DOUT ;置为输入

MOV B#04H ;设置系统参数命令

MOV A#07H ; Watch-Dog使能,开键盘、显示功能

LCALL WRITE

MOV B#03H ;设置移位命令

MOV A#00H ;开环左移

LCALL WRITE

MOV B#05H ;设置显示参数

MOV A#00H ;不译码,8位显示,最亮

LCALL WRITE

MOV B#06H ;设置闪烁控制

MOV A#00H ;不闪烁

LCALL WRITE

CLR IT0 ;置外部信号为低电平触发

CLR IE0 ;清中断标志

SETB EX0 ;允许键盘中断

SETB EA

RET

;******* 输出命令子程序 ******

;入参:B、ACC待写12位数据 低8位ACC中 高4位低4位中

WRITE CLR EX0 ;禁止键盘中断

CLR LOAD ;命令开始,此命令可以放后面

MOV R7#08H ;将ACC中8位送出

WRITE_8RRC A ;低位前,高位

CLR DCLK

MOV DINC ;送出一位数据

SETB DCLK ;产生时钟上升沿通知

CH451输入位数据

DJNZ R7 WRITE 8 ;位数据未完,继续

MOV AB

MOV R7#04H ;将B中4位送出

WRITE 4RRC A ;低位前高位

CLR DCLK

MOV DINC

SETB DCLK

DJNZ R7 WRITE 4

SETB LOAD ;产生加载上升沿通知

CH451处理命令数据

SETB EX0 ;允许键盘中断

RET

******* 输入键值子程序 ******

 出参 ACC键值数据

READ CLR EX0 ;禁止键盘中断

CLR LOAD ;命令开始

MOV A#07H ;读取键值命令高4

位0111B

MOV R7#04H ;忽略12位命令

8位

READ 4 RRC A ;低位前,高位

CLR DCLK

MOV DINC

SETB DCLK

DJNZ R7 READ 4

SETB LOAD ;产生加载上升沿通知

CH451处理命令数据

CLR A ;先清除键值单元以便移位

MOV R7#07H ;读入7位键值

READ_7 MOV CDOUT ;读入一位数据

CLR DCLK ;产生时钟下降沿通知

CH451输出下一位

RLC A ;数据移入ACC,高位

前,低位

SETB DCLK

DJNZ R7 READ_7 ;位数据未完继续

CLR IE0 ;清中断标志,读操作

过程中有低电平脉冲

SETB EX0 ;允许键盘中断

RET

4 结束语

用CH451扩展键盘显示接口,具有接口简单、占用CPU资源少、外围器件简单、性能价格比高等优点,可各种单片机系统中得到广泛应用。

    数码管显示驱动键盘扫描控制器CH451及其应用一文由学而学百万免费论文http://lunwen.xue2xue.com摘录,版权归作者有,转载请注明出处!欢迎访问xue2xue主站:www.xue2xue.com,如果感觉本站不错,请推荐本站给您朋友,如果对本站有什么建议敬请来信,谢谢!
{更多免费资料请到第一考试门户:http://www.zhongguokw.cn 中国考网.cn 招生求学-请到学而学:http://www.xue2xue.com中国招生求学网 }

相关名站推荐
相 关 文 章 ST数码子公司违规对外担保 累计违规担…
使用SPCE061A的SIO实现数码录音及播放
利用数码相机SDK开发图像采集应用程序
串行接口LED数码管及键盘管理器件ZLG…
采用滚动数码的鼠标概念防窥视密码键…
可编程数码管/键盘串行接口芯片HD727…
高效CCD数码相机电源解决方案
ERP+XML:彭作义留给青啤的数…
IT数码产品更适合网上营销
超阅读:数码时代的文本变革
使用SPCE061A扩展K9F1208实现数码录音…
论文录入:xue2xue.COM    责任编辑:xue2xue.COM 
中国招生求学网
中国考网.cn
光华管理.cn
中国wap在线
中国视频教程网
学而学共享论文网
易武小说阅
wap在线
手机电子书.cn
海量免费书库
学而学文学网
xue2xue中国课件网
玄幻情色小说网
光华管理网
学而学教育资源网
15wap.cn
经典书城
世界经理人文库
手机小说.cn
更多友情链接...
| 设为首页 | 加入收藏 | 友情链接 | 版权申明 | 会员中心 |
学而学免费论文下载网【http://lunwen.xue2xue.com】:中国最大免费论文阅读下载中心,免费提供各学科最新海量论文:经济论文,管理学论文,会计审计论文,工商管理论文, 财务管理论文,公共管理论文,法学论文,理学论文,医药学论文,社会学论文,文学论文,教育类论文,工学论文,计算机论文,艺术类论文,英语论文,, 电子商务论文,电子通信网络论文等,论文每天更新,欢迎阅读下载。
本站注册序号:桂ICP备05013361号