51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机源码 > 详细内容
4*4键盘程序的使用
作者:佚名  发布时间:2009/10/16  阅读次数:545  字体大小: 【】 【】【
<!--StartFragment-->;-------4*4键盘程序的使用--------
PC             EQU       2
STATUS     EQU       3
RA             EQU       5
RB             EQU       6
RC             EQU       7
BIJIAO     EQU       0F
JIANZHI   EQU       8
BUFFER     EQU       9
BUFFER1   EQU       0AH
BUFFER2   EQU       0BH
COUNTER   EQU       0CH
CON1         EQU       0DH
CON2         EQU       0EH
PIC57       EQU       7FFH
Z               EQU       2
;-----------------------------
                 ORG       PIC57
                 GOTO     MAIN
;-----------------------------
                 ORG       0
;-----------------------------
;               延时子程序
;----------------------------
DELAY       MOVLW   D'100'
                 MOVWF   CON1
L1             MOVLW   D'200'
                 MOVWF   CON2
L2             DECFSZ CON2,1
                 GOTO     L2
                 DECFSZ CON1,1
                 GOTO     L1
                 RETLW   0                
;-----------------------------
;               4*4键盘扫描判断子程序
;-----------------------------
SCANKEY
                 MOVLW   B'11101111'
                 MOVWF   RB
                 MOVF     RB,W
                 ANDLW   B'00001111'
                 MOVWF   BUFFER
                 MOVLW   B'00001111'
                 XORWF   BUFFER,W
                 SKPNZ
                 GOTO     XYB1
                 MOVWF   BUFFER1
                 MOVLW   1
                 MOVWF   JIANZHI
                 MOVF     RB,W
                 MOVWF   BIJIAO
                 GOTO     QJZ

XYB1         MOVLW   B'11011111'
                 MOVWF   RB
                 MOVF     RB,W
                 ANDLW   B'00001111'
                 MOVWF   BUFFER
                 MOVLW   B'00001111'
                 XORWF   BUFFER,W
                 SKPNZ
                 GOTO     XYB2
                 MOVWF   BUFFER1
                 MOVLW   5
                 MOVWF   JIANZHI
                 GOTO     QJZ

XYB2         MOVLW   B'10111111'
                 MOVWF   RB
                 MOVF     RB,W
                 ANDLW   B'00001111'
                 MOVWF   BUFFER
                 MOVLW   B'00001111'
                 XORWF   BUFFER,W
                 SKPNZ
                 GOTO     XYB3
                 MOVWF   BUFFER1
                 MOVLW   9
                 MOVWF   JIANZHI
                 MOVF     RB,W
                 MOVWF   BIJIAO
                 GOTO     QJZ

XYB3         MOVLW   B'01111111'
                 MOVWF   RB
                 MOVF     RB,W
                 ANDLW   B'00001111'
                 MOVWF   BUFFER
                 MOVLW   B'00001111'
                 XORWF   BUFFER,W
                 SKPNZ
                 RETLW   0
                 MOVWF   BUFFER1
                 MOVLW   0DH
                 MOVWF   JIANZHI
                 MOVF     RB,W
                 MOVWF   BIJIAO

QJZ           MOVLW   1
                 MOVWF   BUFFER2
                 MOVLW   4
                 MOVWF   COUNTER

QJZ1         MOVF     BUFFER1,W
                 SUBWF   BUFFER2,W
                 SKPNZ
                 RETLW   1
                 RLF       BUFFER2,1
                 INCF     JIANZHI,1
                 DECFSZ COUNTER,1
                 GOTO     QJZ1
                 RETLW   0
;-------------------------------
;       测试程序(注意用法,键值放在JIANZHI里)
;-------------------------------
MAIN
                 MOVLW   0
                 TRIS     RC
                 CLRF     RC
                 MOVLW   B'00001111'         ;用RB口作4*4键盘
                 TRIS     RB
LOOP         CLRF     RC
                 CALL     SCANKEY
                 ANDLW   0FH
                 SKPNZ                                   ;根据返回值不为零,判断有无键按下
                 GOTO     LOOP
                 MOVLW   0FH
                 ANDWF   JIANZHI,W
                 MOVWF   RC
                 CALL     DELAY
LOOP1       MOVF     BUFFER1,W
                 ANDWF   RB,W
                 XORWF   BIJIAO,W
                 SKPNZ
                 GOTO     LOOP1
                 GOTO     LOOP
;--------------
;-------------------------------
                 END  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号