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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

矩陣鍵盤按鍵顯示數字1-30匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-27 18:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. ;=================================================================
  2. ;程序編寫人:蘭建
  3. ;編寫地點:51hei培訓機構
  4. ;時間:6月4日上午星期四
  5. ;功能:矩陣鍵盤在P1口,利用反轉法讀取鍵值,16個獨立按鍵中的1-15號
  6. ;按鍵均有兩個功能,定義16號按鍵為功能鍵,按下不顯示任何數字,當按
  7. ;住這個案件不松,再按下1-15號按鍵時,數碼顯示16-30.
  8. ;=======================開始初始化================================
  9.     SHUCHU      EQU   P0             ;定義P0口為輸出口
  10. PIANXUAN EQU   P2    ;設置P2.0為片選
  11. JIANPAN     EQU   P1    ;鍵盤接口
  12. ;========================程序開始================================
  13.                 ORG   00H            ;程序開始
  14.                 JMP   START          ;跳到START
  15.                 ORG   0030H          ;入口地址              
  16.     START:
  17.           MOV   PIANXUAN,#05  ;片選
  18.           MOV   SHUCHU,#0FFH  ;上電默認不顯示
  19.     MOV   R0,#00H   ;順序碼清零
  20.     MOV   30H,#00H   ;鍵值存儲單元清零
  21.      LOOP:
  22.           MOV   JIANPAN,#0F0H  ;把P1口高四位設為輸入,同時把低四位設為0
  23.           MOV   A,JIANPAN   ;讀P1口高四位列線
  24.     ANL   A,#0F0H   ;屏蔽低四位
  25.     MOV   B,A    ;保存高四位列線
  26.     MOV   JIANPAN,#0FH  ;把P1口低四位設為輸入,同時把高四位設為0
  27.     MOV   A,JIANPAN   ;讀取P1口低四位行線
  28.     ANL   A,#0FH   ;屏蔽高四位
  29.     ORL   A,B    ;列線和行線合并
  30.     CJNE  A,#0FFH,KEY  ;判斷是否右鍵按下,右則跳到按鍵處理
  31.     JMP   LOOP    ;沒有返回繼續查詢  
  32.    KEY:
  33.        MOV   30H,A    ;保存鍵值
  34.        MOV   DPTR,#TAB1  ;指向鍵值表
  35.     MOV   R0,#0FFH   ;FF+1=0所以R0里面放FF,既可以顯示0
  36.     L1:
  37.        INC   R0    ;順序碼加1
  38.        MOV   A,R0    ;
  39.     MOVC  A,@A+DPTR   ;查鍵值表
  40.     CJNE  A,#77H,L2    ;判斷是否鍵值為表格最后一個
  41.           JMP   LOOP    ;相等表示沒按鍵按下或者查到最后了,返回重新查詢  
  42.     L2:
  43.        CJNE   A,30H,L1  
  44.     CALL   JISUAN   ;計算處理分離十位和個位
  45.     CALL   DISPLAY   ;動態顯示十位和個位
  46.        JMP    LOOP    ;返回、重新查詢
  47. ;========================計算子程序=========================
  48. ;輸入:30H
  49. ;輸出:"A和B"
  50. ;實現的功能:把30H的數據的十位和個位分離出來
  51. ;============================================================
  52.              JISUAN:INC   R0
  53.            MOV   A,R0         ;數據放在A中  
  54.         MOV   B,#10        ;除數放在B中
  55.         DIV   AB           ;商放在A中,余數放在B中
  56.         RET               
  57. ;========================顯示子程序==========================
  58. ;輸入:"A"
  59. ;輸出:"P0口"
  60. ;實現的功能:把A的數輸出到P0口顯示,十位和個位分開顯示
  61. ;============================================================
  62.          DISPLAY:MOV   DPTR,#TAB
  63.              MOVC  A,@A+DPTR
  64.        MOV   SHUCHU,A         ;顯示十位
  65.        MOV   PIANXUAN,#02H    ;片選
  66.                  CALL  DELAY
  67.        MOV   SHUCHU,#0FFH
  68.        MOV   A,B              
  69.        MOVC   A,@A+DPTR
  70.          MOV   SHUCHU,A         ;顯示個位
  71.        MOV   PIANXUAN,#03H    ;片選
  72.        CALL  DELAY            ;延時
  73.        MOV   SHUCHU,#0FFH
  74.                  RET
  75. ;========================延時程序============================
  76. ;輸入;無
  77. ;輸出: 無
  78. ;實現的功能:延時一段時間
  79. ;============================================================
  80.           DELAY:
  81.           MOV  R6,#80
  82.        L7:MOV  R5,#80
  83.           DJNZ R5,$
  84.           DJNZ R6,L7
  85.     RET
  86. ;=======================共陽查表數據==============================
  87.       TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H, 82H,0F8H,80H,90H  ;0-9共陽極數據   
  88. ;=======================共陽查表數據==============================
  89.            TAB1:DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,0BDH,07DH
  90.           DB 0EBH,0DBH,0BBH,07BH,0E7H,0D7H,0B7H             ;反轉描碼表
  91.                 DB 66H,56H,36H,76H,65H,55H,35H,75H,63H
  92.     DB 53H,33H,73H,67H,57H,37H,77H
  93. ;=========================程序結束================================
  94.           END
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品网站 | 日韩在线一区二区 | 亚洲国产成人精品女人久久久 | 精品一区二区三区在线观看国产 | 最新毛片网站 | 日韩欧美一区二区三区免费观看 | 91精品国产91久久久久游泳池 | 欧美成视频 | 99精品视频在线 | 日本天天色 | 欧美一区二区三区在线看 | 91九色porny首页最多播放 | 91精品国产777在线观看 | 亚洲精品视频在线播放 | 91秦先生艺校小琴 | 中文久久 | 亚洲成人在线免费 | 日韩精品一区二 | 久久精品亚洲 | 日韩欧美大片在线观看 | 欧美一级二级视频 | 亚洲一区二区三区免费 | 国产成人精品一区二区三 | 观看毛片 | 在线播放一区二区三区 | 久久精品高清视频 | 91在线精品视频 | 网站黄色av | 日韩午夜精品 | 精品网 | 国产一区二区三区在线 | 精品三级在线观看 | 欧美精品一区免费 | 神马久久久久久久久久 | 免费在线观看一区二区三区 | 在线成人 | 日韩亚洲欧美一区 | 国产成人免费 | 黄色毛片一级 | 国产99免费视频 | 成人教育av |