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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

數碼管顯示0到99按鍵加一匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-27 18:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. ;============================================================
  2. ;程序編寫人:蘭建
  3. ;編寫地點:51hei培訓機構
  4. ;時間:5月23日下午 星期六
  5. ;功能:本程序實現P0口的對2個數碼管顯示0到99,一個按鍵實現一次
  6. ;按鍵只遞加1次,到99回到0,按著不動不影響數碼管動態顯示;任何時
  7. ;刻,任何一個按鍵,若按鍵時間超過3秒,循環顯示0到9回到0,時間
  8. ;間隔1秒。若時間小于1秒,顯示加1,低電平亮
  9. ;P2口實現對數碼管的片選功能
  10. ;===============================================================
  11. ;=========================開始初始化============================
  12.            SHUCHU   EQU    P0          ;定義P0口為輸出口
  13.            PIANXUAN EQU   P2           ;定義P2口為片選口
  14.            SHUZI    EQU   30H          ;設置處理數據存放地址
  15.            JIANBIT0 BIT   20H.0        ;設置按鍵標志位
  16.            XIAN0    BIT   20H.2        ;顯示標志位
  17.            T_BIT    BIT   21H.0        ;設置中斷定時器0標志位
  18.            MODE     EQU   01
  19. ;========================程序開始==============================
  20.                     ORG   00H          ;程序開始
  21.                     LJMP  START        ;跳到START
  22.                     ORG   0BH          ;中斷定時器0入口地址
  23.                     JMP   T0_1         ;跳到定時器0服務程序
  24.                     ORG   0030H        ;入口地址
  25. ;=========================主程序===============================        
  26.               START:MOV   SP,#60H       ;移開指針
  27.                     MOV   PIANXUAN,#00  ;片選初始化            
  28.                     MOV   SHUZI,#00     ;數據初始化
  29.                     MOV   DPTR,#TAB     ;查表初始化
  30.                     MOV   P1,#0F8H      ;設置P1.0口為輸入
  31.                     CALL  INIT          ;開中斷
  32.                     CLR   JIANBIT0      ;按鍵標志位清0
  33.                     SETB  T_BIT         ;中斷標志位置1
  34.                MAIN:JNB   T_BIT,MAIN   ;等待中斷
  35.                     CLR   T_BIT        ;中斷標志位清0      
  36.                     CALL  JISUAN       ;計算分離十位和個位
  37.                     CALL  DISPLAY      ;顯示個位和十位
  38.                     JNB   JIANBIT0,PANDUAN;按鍵標志位=1判斷P1.3口,若為0則判斷按鍵是否抬起
  39.                     JNB   P1.3,XIANSHI0 ;;若P1.3=0則調到XIANSHI0
  40.                     CLR   JIANBIT0     ;長按標志位清0
  41.                     CLR   XIAN0        ;顯示標志位清0
  42.                     JMP   MAIN         ;返回MAIN
  43.             PANDUAN:JB    P1.3,NEXT    ;若按鍵抬起則返回MAIN,若沒有抬起按鍵標志位清0
  44.                     SETB  JIANBIT0
  45.                NEXT:JMP   MAIN
  46.            XIANSHI0:   
  47.                     JB    XIAN0,MAIN
  48.                     SETB  XIAN0         ;顯示標志位清0
  49.                     CALL  JIACHULI      ;加處理
  50.                     JMP   MAIN
  51.                
  52. ;====================定時中斷0服務子程序========================
  53. ;輸入:無
  54. ;輸出:無
  55. ;實現的功能:實現定時20MS,影響標志位T_BIT.
  56. ;===============================================================
  57.                T0_1:MOV    TMOD,#MODE    ;定時器1工作方式1
  58.                     MOV    TL0,#0E0H     ;設置定時初值
  59.                     MOV    TH0,#0B1H
  60.                     SETB   T_BIT         ;定時標志位清0
  61.                     RETI
  62. ;========================中斷設置子程序=========================
  63. ;輸入:無
  64. ;輸出:無
  65. ;實現的功能:初始化設置定時器,設置初值
  66. ;===============================================================
  67.                INIT:MOV    TMOD,#MODE    ;定時器0工作方式1
  68.                     MOV    TL0,#0E0H
  69.                     MOV    TH0,#0B1H
  70.                     MOV    IE,#82H       ;開定時器中斷0
  71.                     SETB   TR0           ;開定時器0
  72.                     RET
  73. ;========================計算子程序=============================
  74. ;輸入:30H
  75. ;輸出:"A和B"
  76. ;實現的功能:把30H的數據的十位和個位分離出來
  77. ;===============================================================
  78.              JISUAN:MOV   A,SHUZI      ;數據放在A中
  79.                     MOV   B,#10        ;除數放在B中
  80.                     DIV   AB           ;商放在A中,余數放在B中
  81.                     RET               
  82. ;========================顯示子程序=============================
  83. ;輸入:"A"
  84. ;輸出:"P0口"
  85. ;實現的功能:把A的數輸出到P0口顯示,十位和個位分開顯示
  86. ;===============================================================
  87.            DISPLAY:MOVC  A,@A+DPTR        ;查表
  88.                    MOV   SHUCHU,A         ;顯示十位
  89.                    MOV   PIANXUAN,#02H    ;片選
  90.                    CALL  DELAY            ;查表
  91.                    ;MOV SHUCHU,#0FFH      ;關閉數碼管
  92.                    MOV   A,B              
  93.                    MOVC   A,@A+DPTR       ;查表
  94.                    MOV   SHUCHU,A         ;顯示個位
  95.                    MOV   PIANXUAN,#03H    ;片選
  96.                    CALL  DELAY            ;延時
  97.                    ;MOV SHUCHU,#0FFH      ;關閉數碼管
  98.                    RET
  99. ;======================加處理子程序=============================
  100. ;輸入:無
  101. ;輸出:無
  102. ;實現的功能:把30H地址加1
  103. ;===============================================================
  104.          JIACHULI:MOV   A,SHUZI
  105.                   CJNE  A,#99,L0         ;若A不等于9,則跳到LL
  106.                   MOV   A,#00      
  107.                   JMP   L1
  108.                L0:INC   A                ;自加一
  109.                L1:MOV   SHUZI,A
  110.                   RET
  111. ;========================延時程序===============================
  112. ;輸入;無
  113. ;輸出: 無
  114. ;實現的功能:延時一段時間
  115. ;===============================================================
  116.           DELAY:
  117.                 MOV  R6,#80
  118.              L7:MOV  R5,#80
  119.              L8:DJNZ R5,L8
  120.                 DJNZ R6,L7
  121.                 RET
  122. ;=====================共陽查表數據==============================
  123.             TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  124. ;=======================程序結束================================
  125.                 END
復制代碼




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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线一区二区三区 | 成人三级影院 | 国产在线不卡 | 欧美极品在线观看 | 国产在线精品一区二区 | 国产精品区一区二区三 | 久久逼逼 | 日韩午夜影院 | 超碰天天 | 中文字幕1区2区 | 国产网站在线 | 亚洲一区二区三区视频免费观看 | 成人网视频| 性色在线 | 日本午夜精品 | 久久久久1 | 九九色综合 | 精品国产一区二区三区四区在线 | 亚洲欧美日韩在线不卡 | 日韩免 | 天天草天天干天天 | 日韩欧美在线播放 | 欧美vide | 日韩黄色免费 | 亚洲视频免费观看 | 999热视频 | 婷婷色成人 | 女人av | 午夜电影网址 | 亚洲啊v在线 | 日本视频免费观看 | 久久久国产精品 | 国产成人综合av | 欧美高清一区 | 成人国产精品久久 | 欧美黄色一区 | 狠狠色狠狠色综合日日92 | 欧美中文字幕一区二区三区亚洲 | 久久久久久国产精品久久 | 亚洲精品久久久久久久久久久久久 | 亚洲劲爆av|