專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

用單片機(jī)計(jì)數(shù)脈沖的個(gè)數(shù)-數(shù)碼管顯示匯編程序

作者:劉大允   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月25日   【字體:

4位數(shù)碼管用2個(gè)573接到p0口,位選p2 段選P0口,電路詳見單片機(jī)開發(fā)板的原理圖:點(diǎn)這里  采用定時(shí)器來(lái)記錄脈沖 并用數(shù)碼管輸出

以下是源代碼:

 ;******** 用數(shù)碼管來(lái)計(jì)數(shù)脈沖的個(gè)數(shù) **********************************
         ORG  0000H
         JMP  MAIN
         ORG  000BH
         JMP  TT0
         ORG  001BH
         JMP  TT1
         MOV  23H,#00H
         MOV   22H,#00H
         MOV   21H,#00H
         MOV   24H,#10
         CALL  IIP
         CALL  IIP
         CALL  IIP
         MOV  SP,70H
;=====主程序區(qū)====================================
  MAIN: MOV  TMOD,#01100010B
        MOV  TH1,#255
        MOV  TL1,#255
        MOV  IE,#10001010B
        MOV  TH0,#00H
        MOV  TL0,#00H
        SETB  TR0
        SETB  TR1
     
       JMP  $
 ;======分解計(jì)數(shù)程序===================================

    TT1:CALL  IIP
        INC   20H
        MOV   A,20H
        MOV   B,#100
        DIV   AB
        MOV 21H,A
        MOV A,B
        MOV B,#10
        DIV AB
        MOV 22H,A
        MOV 23H,B
    
        RETI
;======數(shù)碼管顯示程序區(qū)====================================
  IIP:  MOV  A,23H
        CALL TABLE
        MOV  P0,A
        SETB  P2.0
        NOP
        NOP
        NOP
        NOP
        CLR  P2.0
        MOV  P0,#10111111b
        SETB P2.1
        NOP
        NOP
        NOP
        CLR  P2.1
        CALL T10MS
 ;==================================================
        MOV  A,22H
        CALL TABLE
        MOV  P0,A
        SETB P2.0
        NOP
        NOP
        NOP
        NOP
        CLR  P2.0
        MOV  P0,#11011111B
        SETB P2.1
        NOP
        NOP
        NOP
        CLR  P2.1
        CALL T10MS
;===================================================
        MOV  A,21H
        CALL T10MS
        CALL TABLE
        MOV  P0,A
        SETB P2.0
        NOP
        NOP
        NOP
        NOP
        CLR  P2.0
        MOV  P0,#11101111B
        SETB P2.1
        NOP
        NOP
        NOP
        CLR  P2.1
        CALL T10MS
        RET
;=====定時(shí)0程序區(qū)======================================
   TT0: DJNZ  24H,LOOP_9
        CPL   P1.0
        CPL   P1.1
        CPL   P1.2
        CPL   P1.3
        CPL   P1.4
        CPL   P1.5
        CPL  P1.6
        CPL  P1.7
 LOOP_9:RETI
;=======延時(shí)子程序區(qū)====================================
T10MS: MOV  25H,#10
LOOP_3: MOV  26H,#40
LOOP_2: MOV  27H,#10
LOOP_1: NOP
        DJNZ 27H,LOOP_1
        DJNZ 26H,LOOP_2
        DJNZ 25H,LOOP_3
        RET
;=======調(diào)用碼表程序區(qū)====================================
TABLE:INC  A
       MOVC A,@A+PC
       RET
       DB 3FH,06H,05BH,04FH,066H,06DH,07DH,07H,07FH,06FH,

;======================================================
        END
 

關(guān)閉窗口

相關(guān)文章