久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4466|回復: 4
打印 上一主題 下一主題
收起左側

矩陣鍵盤按鍵時數碼管無反應 請幫我看看哪里出了問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:69319 發表于 2014-12-5 00:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
做了一個矩陣鍵盤程序,要求是當按下對應的鍵時數碼管顯示對應的數值0到F,問題在按下按鍵時數碼管無反應

                   ORG 0000H
                   AJMP MAIN
                   NOP

MAIN:           LCALL KEY
                  LCALL DIS
                   AJMP MAIN

KEY:           LCALL KEYY //調掃描鍵盤
                   JNZ KEY1          //有鍵按下轉KEY1
                   LCALL DEL
                   AJMP MAIN
KEY1:           LCALL DEL  //去抖
                   LCALL KEYY //再檢測
                   JZ MAIN          //無鍵按下轉回主程序
KEY0:           JNZ KEY0          //等待釋放按鍵
                   CPL A
                   MOV R3,A
                   LCALL KEY2
KEYY:           MOV P1,#0FH
                   MOV A,P1
                   MOV 30H,A
                   MOV P1,#0F0H
                   MOV A,P1
                   MOV 31H,A
                   ANL 30H,#0FH
                   MOV A,30H
                   ANL 31H,#0F0H
                   ADD A,31H
                   CPL A
                   RET
KEY2:           CJNE R3,#0EEH,KEY3
                   MOV R2,#00H
                   AJMP DIS
KEY3:           CJNE R3,#0EDH,KEY4
                   MOV R2,#01H
                   AJMP DIS
KEY4:           CJNE R3,#0EBH,KEY5
                   MOV R2,#02H
                   AJMP DIS
KEY5:           CJNE R3,#0E7H,KEY6
                   MOV R2,#03H
                   AJMP DIS
KEY6:           CJNE R3,#0DEH,KEY7
                   MOV R2,#04H
                   AJMP DIS
KEY7:           CJNE R3,#0DEH,KEY8
                   MOV R2,#05H
                   AJMP DIS
KEY8:           CJNE R3,#0DEH,KEY9
                   MOV R2,#06H
                   AJMP DIS
KEY18:           AJMP MAIN
KEY9:           CJNE R3,#0DEH,KEY10
                   MOV R2,#07H
                   AJMP DIS
KEY10:           CJNE R3,#0DEH,KEY11
                   MOV R2,#08H
                   AJMP DIS
KEY11:           CJNE R3,#0DEH,KEY12
                   MOV R2,#09H
                   AJMP DIS
KEY12:           CJNE R3,#0DEH,KEY13
                   MOV R2,#0AH
                   AJMP DIS
KEY13:           CJNE R3,#0DEH,KEY14
                   MOV R2,#0BH
                   AJMP DIS
KEY14:           CJNE R3,#0DEH,KEY15
                   MOV R2,#0CH
                   AJMP DIS
KEY15:           CJNE R3,#0DEH,KEY16
                   MOV R2,#0DH
                   AJMP DIS
KEY16:           CJNE R3,#0DEH,KEY17
                   MOV R2,#0EH
                   AJMP DIS
KEY17:           CJNE R3,#0DEH,KEY18
                   MOV R2,#0FH
                   AJMP DIS
DIS:           MOV A,R2
                   MOV DPTR,#DUAN
                   MOVC A,@A+DPTR
           MOV P0,A
                   SETB P2.3
                   CLR P2.3
                   MOV P0,#0FEH
                   SETB P2.2
                   LCALL DEL
                   CLR P2.2
                   RET
DEL:           MOV R7,#50
DEL2:           MOV R6,#100
                   DJNZ R6,$
                   DJNZ R7,DEL2
                   RET

DUAN: DB   3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h
                   END
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:69679 發表于 2014-12-7 11:47 | 只看該作者
#在這里ORG        0030H KEY:        ACALL        KS                ;調用判斷有無按鍵按下程序?                 JNZ        K1                ;有鍵按下,轉移                 ACALL        DELAY                ;無鍵按下,延時10ms                 AJMP        KEY K1:        ACALL        DELAY                ;消除抖動                 ACALL        DELAY                 ACALL        KS                ;再次判斷有無按鍵按下?                 JNZ        K2                ;有鍵按下,轉逐列掃描                 AJMP        KEY                ;誤讀鍵,返回 K2:        MOV        R2,#0EFH        ;首列掃描字送R2                 MOV        R4,#00H        ;首列號送R4                 MOV        DPTR,#TAB        ;共陰極代碼首地址 K3:        MOV        P1,R2                ;列掃描字送P1口                 MOV        A,P1                ;讀入P1口狀態                 JB        ACC.0,LONE        ;判斷第0行有無鍵按下,沒有,轉去判斷第一行                 MOV        A,#00H        ;有鍵按下,首鍵號送A=00H                 AJMP        LK                ;轉去求鍵號 LONE:        JB        ACC.1,LTWO        ;判斷第1行有無鍵按下,沒有,轉去判斷第二行                 MOV        A,#04H        ;有鍵按下,首鍵號送A=04H                 AJMP        LK                ;轉去求鍵號 LTWO:        JB        ACC.2,LTHE        ;判斷第2行有無鍵按下,沒有,轉去判斷第三行                 MOV        A,#08H        ;有鍵按下,首鍵號送A=08H                 AJMP        LK        快速回復#
回復

使用道具 舉報

板凳
ID:69679 發表于 2014-12-7 11:54 | 只看該作者
個人覺得這個比較好

新建文件夾.zip

3.98 KB, 下載次數: 12

矩陣按鍵匯編

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:70094 發表于 2014-12-7 17:17 | 只看該作者
我也是菜鳥
回復

使用道具 舉報

5#
ID:69319 發表于 2014-12-8 18:57 | 只看該作者

我想知道要是用掃描法的話怎么來寫
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区三区四区五区午夜 | 在线播放国产一区二区三区 | 天堂网色 | 国产亚洲成av人在线观看导航 | 精品久久精品 | 国产成人免费网站 | 99久久免费精品国产男女高不卡 | 国产精品久久久久久婷婷天堂 | 久久精品视频9 | 日韩在线综合 | 久久9热| jvid精品资源在线观看 | 欧美一级片久久 | 91新视频| 国产欧美精品一区二区 | 亚洲精品乱码久久久久久按摩观 | 在线观看日韩av | 成人a视频在线观看 | 成人免费视屏 | 一区二区三区四区在线视频 | 91日b| 精品日韩 | 免费成人高清在线视频 | 国产福利资源在线 | 国产一区二区三区在线免费观看 | 国产美女久久 | 国产精品久久久久久网站 | 青青草亚洲 | 午夜视频在线播放 | 欧美成人精品二区三区99精品 | 欧美成人精品二区三区99精品 | 欧美午夜影院 | 一本色道精品久久一区二区三区 | 免费观看一级毛片 | 免费成人高清在线视频 | 亚洲精品中文在线观看 | 中文字幕亚洲欧美日韩在线不卡 | 黄色一级网 | 日韩成人 | 成人久草| 国产在线区 |