找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5160|回復: 10
打印 上一主題 下一主題
收起左側(cè)

用匯編語言鍵盤的查詢掃描程序,并用共陽極數(shù)碼管顯示鍵號,弄了一天了

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:188031 發(fā)表于 2017-4-10 13:44 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用匯編語言鍵盤的查詢掃描程序,并用共陽極數(shù)碼管顯示鍵號,弄了一天了,感覺程序有問題,想著問問大家,大家回我的時候,程序要帶解釋。!謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:111634 發(fā)表于 2017-4-10 17:30 | 只看該作者
本帖最后由 zl2168 于 2017-4-10 17:31 編輯

鍵盤掃描控制方式



以上摘自張志良編著《80C51單片機實用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序(雙解c和匯編)語句條條有注解,便于閱讀理解,便于自學。



回復

使用道具 舉報

板凳
ID:111634 發(fā)表于 2017-4-10 17:33 | 只看該作者
本帖最后由 zl2168 于 2017-4-10 17:35 編輯

4×4矩陣式鍵盤
Proteus仿真一下,確認有效。
實例62 4×4矩陣式鍵盤.rar (44.79 KB, 下載次數(shù): 12)




以上摘自張志良編著《80C51單片機實用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9
雙解c和匯編程序,語句條條有注解,便于閱讀理解,便于自學。




回復

使用道具 舉報

地板
ID:188031 發(fā)表于 2017-4-10 18:04 | 只看該作者
zl2168 發(fā)表于 2017-4-10 17:33
4×4矩陣式鍵盤
先Proteus仿真一下,確認有效。

       ORG    0000H
       AJMP   KEY2
       ORG    0100H
KEY2:  LCALL  KS
       JNZ    K1
       LCALL  D10ms
       AJMP   KEY2
K1:    LCALL  D10ms
       LCALL  KS
       JNZ    K2
       AJMP   KEY2
K2:    MOV    R2,#0EFH
       MOV    R4,#00H
K3:    MOV    P1,R2
L6:    JB     P1.0,L1
       MOV    A,#00H
       AJMP   LK
L1:    JB     P1.1,L2
       MOV    A,#04H
       AJMP   LK
L2:    JB     P1.2,L3
       MOV    A,#08H
       AJMP   LK
L3:    JB     P1.3,NEXT
       MOV    A,#0CH
LK:    ADD    A,R4
       PUSH   ACC
NEXT:  INC    R4
       MOV    A,R2
       JNB    ACC.7,KEY2
       RL     A
       MOV    R2,A
       AJMP   K3
K4:    LCALL  KS
       JNZ    K4
       POP    ACC
       RET
KS:    MOV    P1,#0FH
       MOV    A,P1
       XRL    A,#0FH
       RET
DISPLAY:MOV   DPTR,#TABLE
        LCALL KEY2
        MOVC  A,@A+DPTR
        MOV   P0,A
                                LJMP  DISPLAY
TABLE:  DB  03FH,006H,05BH,04FH,66H
        DB  6DH,7DH,07H,7FH,6FH
              DB  77H,7CH,039H,05EH,79H
              DB  71H
                                D10ms:         MOV R7,#25
                                D1:     MOV R6,#200
                                DJNZ    R6,$
                                RET
            END
回復

使用道具 舉報

5#
ID:188031 發(fā)表于 2017-4-10 18:06 | 只看該作者
huanx 發(fā)表于 2017-4-10 18:04
ORG    0000H
       AJMP   KEY2
       ORG    0100H

哥!你看我的程序,有問題,但是,我不知道怎么改!還有就是,您能不能把您做的仿真的程序代碼,給我看看。
回復

使用道具 舉報

6#
ID:187614 發(fā)表于 2017-4-10 20:10 | 只看該作者
十年前做過,自己弄好了對匯編大有好處。努力呀,若出現(xiàn)問題出不來,可讓高手指點。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:7485 發(fā)表于 2017-4-10 20:40 | 只看該作者


你是什么電路?
     ORG    0000H
       AJMP   MAIN
       ORG    0030H
MAIN:
      MOV   A, #0              ;上電顯示0
      CALL  DISPLAY
     
LOOP:
       CALL  KEY              ;調(diào)用鍵盤掃描程序
    CALL  DISPLAY        ;調(diào)用顯示程序
    ......
       JMP  LOOP

顯示程序應加上一句:
DISPLAY:MOV   DPTR,#TABLE
         MOV    DPTR,  #TABLE
      ;  LCALL KEY2
        MOVC  A,@A+DPTR
        MOV   P0,A
其余的錯的或不適當?shù)淖约焊囊幌。盡量的多學習別人的程序,看懂、吃透。                              
        

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

8#
ID:188031 發(fā)表于 2017-4-10 22:27 | 只看該作者
ahshmj 發(fā)表于 2017-4-10 20:40
你是什么電路?
     ORG    0000H
       AJMP   MAIN

[img]就這個電路
回復

使用道具 舉報

9#
ID:111634 發(fā)表于 2017-4-10 23:07 | 只看該作者
本帖最后由 zl2168 于 2017-4-10 23:08 編輯
huanx 發(fā)表于 2017-4-10 18:06
哥!你看我的程序,有問題,但是,我不知道怎么改!!還有就是,您能不能把您做的仿真的程序代碼,給我看 ...

仿真電路和Hex文件能在高等教育出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。
回復

使用道具 舉報

10#
ID:7485 發(fā)表于 2017-4-11 14:03 | 只看該作者

就是外設和單片機都是怎么連接的,用的是哪些I/O口?
回復

使用道具 舉報

11#
ID:111634 發(fā)表于 2017-4-11 22:22 | 只看該作者
電路圖都沒有,也不知道有幾個按鍵,怎么改???
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表