网站公告列表     本站全新改版正在建设中!  [admin  2007年10月22日]        
加入收藏
设为首页
联系站长
您现在的位置: 东方电子科技有限公司 >> 技术文章 >> HT单片机更多 >> 文章正文
  [组图]HT48 & HT46 键盘扫描程序           ★★★ 【字体:
HT48 & HT46 键盘扫描程序
HT48 & HT46 键盘扫描程序
作者:佚名    文章来源:本站原创    点击数:    更新时间:2007-10-16    
子程序

mov pb,a (11) ;从PB口显示键值

jmp keyloop ;跳回键循环扫描

HT48 & HT46 键盘扫描程序

key_in proc ;键值读入子程序

mov a,pa ;读取PA口数据

mov temp,a (4) ;将PA口的状态读入的 temp寄存器中

mov temp2,a ;扫描值送入temp2用于检测列值

call delays (5) ;调用延时子程序

get_release: ;等待键松开

mov a,pa ;将PA口的主状态值送ACC

and a,0f0h ;屏蔽ACC高四位,取按键状态

xor a,0f0h

sz acc (6) ;等键松开 , 键如松开则acc=0

jmp get_release

mov a,0fh ;取屏蔽寄存器的低四位

andm a,matrix

mov a,0

get_row: ;取行数

rrc matrix (7) ;右移 matrix 指针

sz status.0 ;检查并取键行

jmp get_column1 ;如果找到键行,跳到 get_next

clr c ;如果还未找到键行,清carry_c

add a,4h (8) ;加4到显示指针

jmp get_row ;跳回get_row

get_colmn1:

mov temp,a

mov a,0f0h

andm a,temp2 ;取键盘扫描码的高4,检测列值

swap temp2 ;交换,把列值放到低4位上

mov a,0h ;(9

get_column:

rrc temp2 ;逐位检测,到该位为0为止

snz status.0 ;0,则说明该列有键按下

jmp next

上一页  [1] [2] [3] [4] 下一页  

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright © 2005-2008 东方电子科技. All Rights Reserved. 本网站由东方电子科技制作与维护 地址:东莞市塘厦镇林村环村路190号二三楼整层(林村小学对面) 电话:076987282024 手机:13712641904 Email: sanplug@126.com 粤ICP备06051393号 站长:admin