首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
数码管显示驱动和键盘扫描控制器CH451及其应用 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:36:49 点击数:[] ![]() |
|||||
H451与MCS-51单片机的连接如图1所示,其中DOUT引脚最好连接到单片机的中断输入引脚,这样可用中断方式响应按键。如果连接到非中断输入引脚,则应该使用查询方式确定CH451是否检测到有效按键,同时还可向单片机提供复位信号RESET并带Watch-Dog功能。CH451的段驱动引脚串接的电阻R1(200Ω)用于限制和均衡段驱动电流。在5V电源电压下,串接200Ω电阻通常对应13mA段电流。CH451具有64键的键盘扫描功能,为了防止键被按下后在SEG信号线与DIG信号线之间形成短路而影响数码管显示,一般应在CH451的DIG0~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位在B的低4位中 WRITE CLR EX0 ;禁止键盘中断 CLR LOAD ;命令开始,此命令可以放在后面 MOV R7#08H ;将ACC中8位送出 WRITE_8RRC A ;低位在前,高位在后 CLR DCLK MOV DINC ;送出一位数据 SETB DCLK ;产生时钟上升沿通知 CH451输入位数据 DJNZ R7 WRITE 8 ;位数据未完,继续 MOV AB MOV R7#04H ;将B中4位送出 WRITE 4RRC A ;低位在前高位在后 CLR DCLK MOV DINC 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 DINC SETB DCLK DJNZ R7 READ 4 SETB LOAD ;产生加载上升沿通知 CH451处理命令数据 CLR A ;先清除键值单元以便移位 MOV R7#07H ;读入7位键值 READ_7 MOV CDOUT ;读入一位数据 CLR DCLK ;产生时钟下降沿通知 CH451输出下一位 RLC A ;数据移入ACC,高位 在前,低位在后 SETB DCLK DJNZ R7 READ_7 ;位数据未完继续 CLR IE0 ;清中断标志,读操作 过程中有低电平脉冲 SETB EX0 ;允许键盘中断 RET 用CH451扩展键盘显示接口,具有接口简单、占用CPU资源少、外围器件简单、性能价格比高等优点,可在各种单片机系统中得到广泛的应用。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |