找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)秒表程序+電路圖(匯編語言)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-27 17:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 daniu 于 2014-12-27 17:19 編輯

下面是電路圖


  1. ;================================================================
  2. ;程序編寫人:蘭建文
  3. ;編寫地點(diǎn):51hei培訓(xùn)機(jī)構(gòu)
  4. ;時間5月24日晚間  星期日
  5. ;功能:本程序?qū)崿F(xiàn)P0口的對數(shù)碼管動態(tài)顯示秒表的分、秒、1/100秒;
  6. ;      計時程序由中斷服務(wù)程序?qū)崿F(xiàn),采用定時計數(shù)器T0工作方式1;
  7. ;      P2口實現(xiàn)對數(shù)碼管的片選功能
  8. ;================================================================
  9. ;==========================初始化================================
  10.     SHUCHU        EQU    P2               ;定義P0口為輸出口
  11.     PIANXUAN      EQU    P1        ;定義P2口為片選口
  12.     MIAO          EQU    30H
  13. FEN           EQU    31H
  14. MIAO0         EQU    32H
  15. SHUZI    EQU    33H
  16. C_0           BIT    20H.0
  17. ;======================系統(tǒng)程序開始==============================                  
  18.       ORG   00H            
  19.             LJMP  START
  20.        ORG   03H
  21.        LJMP  ON_OFF
  22.          ORG   0BH
  23.         LJMP  T0_1
  24.         ORG   13H
  25.         LJMP  RESET
  26.         ORG   30H         
  27.    START:
  28.            CALL   INIT
  29.       SETB   C_0
  30.       MOV    MIAO,#00
  31.       MOV    MIAO0,#00
  32.       MOV    FEN,#00
  33.       MOV    DPTR,#TAB
  34.       MOV     R2,#5  
  35. MAIN:
  36.          JNB    C_0,$
  37.       CLR    C_0
  38.    LL:   CALL   DISPLAY
  39.          CALL   SHIJIAN
  40.       JMP    MAIN      
  41. ;========================時間子程序=============================
  42. ;輸入:"30H、31H、32H"
  43. ;輸出:無
  44. ;實現(xiàn)的功能:分、秒、百分之秒的計算。
  45. ;===============================================================
  46.       SHIJIAN:
  47.      DJNZ    R2,TIAOCHU
  48.      MOV     R2,#5
  49.       INC     MIAO0
  50.      MOV     R3,MIAO0
  51.      CJNE    R3,#100,TIAOCHU
  52.      MOV     MIAO0,#00
  53.      INC     MIAO
  54.      MOV     R3,MIAO
  55.      CJNE    R3,#60,TIAOCHU
  56.      MOV     MIAO,#00
  57.      INC     FEN
  58.      MOV     R3,FEN
  59.      CJNE    R3,#60,TIAOCHU
  60.      MOV     FEN,#00
  61.    TIAOCHU:RET
  62. ;========================顯示子程序=============================
  63. ;輸入:"A"
  64. ;輸出:"P2口"
  65. ;實現(xiàn)的功能:顯示秒、分、百分之妙
  66. ;===============================================================
  67.        DISPLAY:MOV   SHUZI,MIAO0
  68.            CALL  JISUAN
  69.      MOVC  A,@A+DPTR
  70.      MOV   SHUCHU,A         ;顯示十位
  71.      MOV   PIANXUAN,#10H    ;片選
  72.                CALL  DELAY
  73.      MOV   PIANXUAN,#00H
  74.    
  75.      MOV   A,B              
  76.      MOVC   A,@A+DPTR
  77.        MOV   SHUCHU,A         ;顯示個位
  78.      MOV   PIANXUAN,#20H    ;片選
  79.      CALL  DELAY            ;延時
  80.      MOV   PIANXUAN,#00H
  81.          
  82.      MOV   SHUZI,MIAO
  83.            CALL  JISUAN         
  84.            MOVC  A,@A+DPTR
  85.      MOV   SHUCHU,A         ;顯示十位
  86.      MOV   PIANXUAN,#04H    ;片選
  87.                CALL  DELAY
  88.      MOV   PIANXUAN,#00H
  89.    
  90.      MOV   A,B              
  91.      MOVC   A,@A+DPTR
  92.        MOV   SHUCHU,A         ;顯示個位
  93.      MOV   PIANXUAN,#08H    ;片選
  94.      CALL  DELAY            ;延時
  95.      MOV   PIANXUAN,#00H
  96.    
  97.      MOV   SHUZI,FEN
  98.      CALL  JISUAN
  99.      MOVC  A,@A+DPTR
  100.      MOV   SHUCHU,A         ;顯示十位
  101.      MOV   PIANXUAN,#01H    ;片選
  102.                CALL  DELAY
  103.      MOV   PIANXUAN,#00H
  104.    
  105.      MOV   A,B              
  106.      MOVC   A,@A+DPTR
  107.        MOV   SHUCHU,A         ;顯示個位
  108.      MOV   PIANXUAN,#02H    ;片選
  109.      CALL  DELAY            ;延時
  110.      MOV   PIANXUAN,#00H
  111.                RET
  112. ;========================計算子程序=============================
  113. ;輸入:30H
  114. ;輸出:"A和B"
  115. ;實現(xiàn)的功能:把33H中的數(shù)據(jù)十位和個位分離出來
  116. ;===============================================================
  117.           JISUAN:MOV   A,SHUZI      ;數(shù)據(jù)放在A中  
  118.      MOV   B,#10        ;除數(shù)放在B中
  119.      DIV   AB           ;商放在A中,余數(shù)放在B中
  120.      RET
  121. ;====================復(fù)位中斷服務(wù)程序============================
  122. ;輸入;無
  123. ;輸出: 無
  124. ;實現(xiàn)的功能:把30H、31H、32H中的數(shù)據(jù)清零。
  125. ;================================================================
  126.             RESET:PUSH ACC
  127.          MOV   30H,#00H
  128.             MOV   3H,#00H
  129.       MOV   32H,#00H
  130.       CALL  DELAY
  131.       POP   ACC
  132.       RETI
  133. ;====================啟停中斷服務(wù)程序============================
  134. ;輸入;無
  135. ;輸出: 無
  136. ;實現(xiàn)的功能:關(guān)閉定時器
  137. ;================================================================
  138.           ON_OFF:CPL    TR0
  139.            CALL   DELAY
  140.      RETI
  141. ;====================定時中斷0服務(wù)子程序========================
  142. ;輸入:無
  143. ;輸出:無
  144. ;實現(xiàn)的功能:實現(xiàn)定時20MS,影響標(biāo)中斷志位C_0
  145. ;===============================================================
  146.    T0_1:MOV    TL0,50H          ;設(shè)置定時初值
  147.         MOV    TH0,51H
  148.         SETB   C_0            ;定時標(biāo)志位清0
  149.      RETI
  150. ;========================中斷設(shè)置子程序=========================
  151. ;輸入:無
  152. ;輸出:無
  153. ;實現(xiàn)的功能:初始化設(shè)置定時器,設(shè)置初值,開中斷0、中斷1,定時器0.
  154. ;===============================================================
  155.             INIT:MOV    TMOD,#01H      ;定時器0工作方式1
  156.         MOV    DPTR,#65536-20000
  157.      MOV    50H,DPL
  158.      MOV    51H,DPH
  159.          MOV    TL0,50H    ;設(shè)置定時初值
  160.         MOV    TH0,51H
  161.      MOV    IE,#87H       ;開定時器中斷0
  162.      MOV    TCON,#15H
  163.      RET
  164. ;======================延時程序==================================
  165. ;輸入;無
  166. ;輸出: 無
  167. ;實現(xiàn)的功能:延時一段時間
  168. ;================================================================
  169.             DELAY:MOV  R6,#80
  170.                L7:MOV  R5,#60
  171.          L8:DJNZ R5,$
  172.                   DJNZ R6,L7
  173.       RET
  174. ;======================共陽查表數(shù)據(jù)==============================
  175.         TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  176. ;===========================結(jié)束=================================
  177.          END
復(fù)制代碼



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

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:109462 發(fā)表于 2016-5-29 02:32 | 只看該作者
非常感謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表