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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4990|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

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


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美理论片在线观看 | 久久久精品一区二区 | 亚洲成人av | 欧洲色综合 | 日韩精品一区二区三区免费视频 | 国精产品99永久一区一区 | 国产性色av| 午夜亚洲精品 | 在线看h片 | 男女在线视频 | 欧美视频一二三区 | 亚洲理论片| 亚洲午夜激情 | 欧美黄网站 | 91午夜精品亚洲一区二区三区 | 久久综合av | 久久久久免费视频 | 国产91精品在线观看 | 久久小视频 | 精品一区二区在线播放 | 国产一级片在线播放 | 国内精品偷拍 | 亚洲高清免费 | 国产精品一品二区三区的使用体验 | 师生出轨h灌满了1v1 | 欧美黄色网 | 我想看毛片 | 亚洲国产成人精品女人久久久 | 国产成人午夜精品 | 免费在线观看av | 伊人久久久久久久久久 | 欧美成人精品一区二区三区在线看 | 91桃色网站| 国产欧美日韩在线视频 | 免费黄色大片 | 综合二区 | 免费一区二区三区 | 久操不卡 | 国产精品毛片一区二区在线看 | 午夜久久久久久 | 午夜欧美 |