專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

STC12C2052單片機制作數(shù)字電壓表匯編程序

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年03月24日   【字體:

用STC12C2052單片機芯片自帶的ad進行采樣得到電壓并顯示在數(shù)碼管上面,下面是匯編語言源程序:

;===================數(shù)字電壓表模擬采樣===================================

 

               P1M0         EQU        91H   ;端口設置寄存器
               P1M1         EQU        92H   ;端口設置寄存器
               AK           EQU        0C5H  ;A/D轉(zhuǎn)換控制寄存器
               ADATA        EQU        0C6H  ;保存轉(zhuǎn)換數(shù)據(jù)的高8位
               ADATAD       EQU        0BEH  ;保存轉(zhuǎn)換數(shù)據(jù)的低2位
               ORG          00H
               JMP          MAIN

;==================================================
MAIN:          MOV          P1,#00H
               MOV          P3,#00H
               MOV          TMOD,#01H
               MOV          TH0,#0FCH
               MOV          TL0,#17H
               MOV         30H,#01
               MOV        32H,#03H
               MOV        33H,#04H
               MOV        31H,#02H
               MOV        8EH,#00H
               MOV        PCON,#00H
               MOV        P1,#0FFH
               MOV        P3,#0FFH
               MOV        P1M0,#4H    ;設置端口為A/D模式
               MOV        P1M1,#4H    ;設置端口為A/D模式
               MOV        ADATA,#00H
               MOV        AK,#80H     ;打開A/D電源
               CALL       DIP
               CALL       DIP
               CALL       DIP
               CALL       DIP
               CALL       DIP
               CALL       DIP
           ;==================================================
              MOV        AK,#0E2H    ;選擇通道P1。2為A/D輸入端
           ;===============================================
LOOP_22:      ORL        Ak,#08H     ;啟動轉(zhuǎn)換
LOOP_0:       MOV        A,#10H
              ANL        A,AK        ;判斷是否轉(zhuǎn)換完成
              JZ         LOOP_0
           ;==============================================
              ANL        AK,#0E7H    ;把標志位清零
              MOV        A,ADATA     ;讀取轉(zhuǎn)換后的高8值
           ;==============================================
              MOV        B,#100
              DIV        AB
              MOV        30H,A
              MOV        A,B
              MOV        B,#10
              DIV        AB
              MOV        31H,A
              MOV        32H,B
;================================================
               MOV          66H,#50
LOOP:          CALL         DIP
               DJNZ         66H,LOOP
               JMP          LOOP_22
;=================================================
DIP:           MOV          A,30H
               CALL         TABLE
               MOV          P3,A
               SETB         P1.0
               MOV          65H,#1
               CALL         T2MS
               CLR          P1.0
               ;=================
               MOV          A,31H
               CALL         TABLE
               MOV          P3,A
               SETB         P1.1
               MOV          65H,#1
               CALL         T2MS
               CLR          P1.1
               ;===============
               MOV          A,32H
               CALL         TABLE
               MOV          P3,A
               SETB         P1.7
               MOV          65H,#1
               CALL         T2MS
               CLR          P1.7
               ;================
               MOV          A,33H
               CALL         TABLE
               MOV          P3,A
               SETB         P1.4
               MOV          65H,#1
               CALL         T2MS
               CLR          P1.4
               RET
;=================================================
T2MS:
              MOV          TH0,#0FCH
              MOV          TL0,#17H
              SETB         TR0
              JNB          TF0,$
              CLR          TF0
              DJNZ         65H,T2MS
              RET
;=============================================
TABLE:        INC          A
              MOVC         A,@A+PC
              RET
              DB          3FH,06H,9BH,8FH,0A6H,0ADH,0BDH,7H,0BFH,0AFH
                          ;0   1   2   3   4    5    6    7   8   9
;==============================================
            END

 

       成功啦 更愛上我的單片機設計

 

關(guān)閉窗口

相關(guān)文章