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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Keyboard_Array單片機匯編語言源碼與仿真

[復制鏈接]
跳轉到指定樓層
樓主
單片機Keyboard仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


鍵盤仿真匯編程序
  1.          WR273        EQU        8000H
  2.         RD244        EQU        8000H
  3.         DULA        EQU        P2.0
  4.         WELA        EQU        P2.1
  5.         ORG        0000H
  6.         AJMP        START
  7.         ORG        0030H
  8. START:        MOV        70H,#0BFH
  9.         MOV        71H,#0BFH
  10.         MOV        72H,#0BFH
  11.         MOV        73H,#0BFH
  12. LOOP1:        LCALL        DISP
  13.         LCALL        KEY        ;調用子程序KEY,得到所按下的按鍵編號值,存在RAM的7FH單元中      
  14.         MOV        A,7FH
  15.         MOV        DPTR,#TABLE
  16.         MOVC        A,@A+DPTR        ;將該鍵盤編號轉換為共陽極段碼   
  17.         MOV        73H,72H
  18.         MOV        72H,71H
  19.         MOV        71H,70H
  20.         MOV        70H,A                ;移位顯示
  21.         LJMP        LOOP1

  22. ;--------鍵盤掃描子程序--------------  
  23. KEY:        MOV        R7,#00H                ;R7存放鍵盤的列號  
  24.         MOV        A,#00H
  25.         MOV        B,#0EH
  26. KEY1:        NOP
  27.         ORL        A,B
  28.         MOV        DPTR,#WR273
  29.         MOVX        @DPTR,A                ;送掃描信號,掃描第一列   
  30.         NOP
  31.         NOP
  32.         NOP
  33.         NOP
  34.         MOV        DPTR,#RD244
  35.         MOVX        A,@DPTR
  36.         ANL        A,#0FH                ;收到的數據只保留低4位   
  37.         CJNE        A,#0FH,KEY2        ;若讀到的數據低4位不全為1,則表示有鍵按下,轉往KEY2     
  38.         INC        R7
  39.         SETB        C
  40.         MOV        A,B
  41.         RLC        A
  42.         ANL        A,#0FH                ;此時A中低4位為1101,作為掃描下一列的輸入   
  43.         CJNE        A,#0FH,KEY0
  44.         MOV        A,#0EH                ;若掃描完4列,均無鍵按下,則A的低4位裝入1110,R7裝入0,重新開始掃描      
  45.         MOV        R7,#00H
  46. KEY0:        MOV        B,A
  47.         SJMP        KEY1
  48. KEY2:   CPL        A
  49.         ANL        A,#0FH
  50.         JNB        ACC.0,KEY6
  51.         MOV        A,#00H
  52.         SJMP        KEY9
  53. KEY6:   JNB        ACC.1,KEY7
  54.         MOV        A,#01H
  55.         SJMP        KEY9
  56. KEY7:   JNB        ACC.2,KEY8
  57.         MOV        A,#02H
  58.         SJMP        KEY9
  59. KEY8:   MOV        A,#03H                ;KEY2-KEY8確定該列上哪一行的按鍵被按下,行號最終存放在A中      
  60. KEY9:   XCH        A,R7
  61.         MOV        B,#04H
  62.         MUL        AB
  63.         ADD        A,R7                ;列號*4+行號得到鍵值,鍵值布局與電路結構和掃描順序有關      
  64.         MOV        DPTR,#KTAB1
  65.         MOVC        A,@A+DPTR        ;將鍵值轉換為我為鍵盤編的號  
  66.         MOV        7FH,A                ;最終得到的鍵號存入RAM的7FH單元   
  67. KEYUP:  MOV        DPTR,#RD244
  68.         MOVX        A,@DPTR
  69.         ANL        A,#0FH
  70.         CJNE        A,#0FH,KEYUP
  71.         RET
  72. ;-----掃描結果與鍵盤編號的對應-------------
  73. KTAB1:        DB 03H,07H,0BH,0FH
  74.         DB 02H,06H,0AH,0EH
  75.         DB 01H,05H,09H,0DH
  76.         DB 00H,04H,08H,0CH
  77. ;-----數碼管顯示子程序---------------------
  78. DISP:        MOV A,70H                ;將RAM中70H-73H單元中的數據顯示在對應的數碼管上     
  79.         MOV DPTR,#0800H
  80.         MOVX @DPTR,A
  81.         MOV A,71H
  82.         MOV DPTR,#1000H
  83.         MOVX @DPTR,A
  84.         MOV A,72H
  85.         MOV DPTR,#2000H
  86.         MOVX @DPTR,A
  87.         MOV A,73H
  88.         MOV DPTR,#4000H
  89.         MOVX @DPTR,A
  90.         RET
  91. ;-----共陽極段代碼-------------------------  
  92. TABLE:        DB 0C0H,0F9H,0A4H,0B0H, 99H,92H,82H,0F8H,80H;0-8
  93.         DB 90H, 88H, 83H,0C6H,0A1H,86H,8EH
  94.         END
復制代碼



全部資料51hei下載地址:
Keyboard_Array.rar (64.82 KB, 下載次數: 6)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男女羞羞视频免费 | 国产精品免费一区二区三区 | 久久精品欧美视频 | 狠狠操在线 | 激情一区二区三区 | 三级视频在线观看 | 97视频在线观看免费 | 亚洲在线 | 午夜精品影院 | 日韩午夜影院 | 男女羞羞视频免费 | 日韩看片 | 91豆花视频 | 一区二区视频 | 欧美一区二区大片 | 日韩最新网址 | 91动漫在线观看 | 亚洲精品视频一区二区三区 | 成人妇女免费播放久久久 | 国产一区二区在线播放 | 国产成年人视频 | 欧美成人a| 99久久精品免费看国产四区 | 亚洲精品久久久久久一区二区 | 亚洲品质自拍视频网站 | 青娱乐av | 日韩手机在线视频 | 最新中文字幕在线 | 伊人久久综合 | 久久国产一区二区 | 国产精品福利视频 | 欧美日韩久久精品 | 亚洲精品一区二区三区丝袜 | 国产区第一页 | 99re视频这里只有精品 | 亚洲一区二区黄 | 亚洲一二三区在线观看 | 精品一区二区观看 | 精品中文字幕一区二区三区 | 天天看天天爽 | 香蕉婷婷|