用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

串行接口键盘控制器SK5278及其在单片机系统中的应用

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:41:37
级非门以使“KEY”反相后与其相连。与图3电路对应的键盘处理程序如下:

;位定义

COUNT DATA 70H

RXBUF DATA 20H

;I/O定义

DIO BIT P1.4

CS BIT P1.2

CLK BIT P1.3

;主程序

MAIN:MOV SP,#50H

MOV P1,#0FFH ;将P1口置为输入

SETB IT0 ;INT0为边沿触发

SETB PX0 ;INT0为高优先级中断

SETB EX0 ;开INT0中断

SETB EA ;CPU开中断

LCALL DL25ms ;延时25ms等待SK5278复位

;INT0键盘中断程序

INT0:LCALL RECEIVE ;读键值

MOV A,RXBUF ;键值送A

CJNE A,#00H,KEY-1 ;K0键未按下转下键

LJMP KEY0 ;K0键按下,转入相应键值处理子程序

KEY1:CJNE A,#01H,KEY-2;

LJMP KEY1 ;K1键按下,转入相应键值处理子程序

KEY2:…

……

KEY15:CJNE A,#0FH,KEYFH ;K15键未按下,中断返回

LJMP KEY15 ;KEY15键按下,转入相应键值处理程序

KEYFH:RET; 无键按下时中断返回读键盘值程序

RECEIVE:CLR CS ;读键盘数据有效

SETB DIO ;将DIO置为高电平输入状态

ACALL DL 15μs ;T1延时

MOV COUNT,#08H ;共八位数据

LOOP:SETB CLK

ACALL DL 15μs ;T2延时

MOV A,RXBUF

RL A ;数据左移一位

MOV RXBUF,A

MOV C,DIO ;读取一位数据

MOV RXBUF.0,C

CLR CLK

ACALL DL 15μs ;T3延时

DJNZ COUNT,LOOP

SETB DIO ;将DIO重置为高电平输入

ACALL DL 15μs

SETB CS ;读键盘数据无效

RET
javascript:window.open(this.src);" style="cursor:pointer;"/>
5 结束语

应用SK5278键盘控制器可使单片机系统的人机交互键盘接口电路及监控程序变得简单容易,同时减少了对单片机软硬件资源的占用,因而该器件是构成少数单片机键盘接口电路的一种较好的选择方案。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:21,812.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号