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

交流穩(wěn)壓電源模擬采樣stc單片機程序

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

采用STC12C2052單片機自帶的ad做的 程序如下:

;==自制作全自動交流穩(wěn)壓電源控制線路板程序=        
         P1M0   EQU  91H   ;端口設(shè)置寄存器
         P1M1   EQU  92H   ;端口設(shè)置寄存器
         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 8EH,#00H
         MOV PCON,#00H
         MOV P1,#00H
         MOV P3,#0FFH
         MOV P1M0,#4H    ;設(shè)置端口為A/D模式
         MOV P1M1,#4H    ;設(shè)置端口為A/D模式
         MOV ADATA,#00H
         MOV AK,#80H     ;打開A/D電源
;==================================================
         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
         CALL DDD        ;調(diào)用調(diào)壓服務(wù)子程序
         JMP   MAIN
;=======降壓控制程序=============================
 DDD:
        MOV  R2,#0011B
        XRL  A,R2
        CJNE A,#0010B,LOOP_11
        NOP
        NOP
        NOP
        SETB  P1.4
        CALL  T2MS
        CLR   P1.5
        CALL  T2MS
;========升壓控制程序=============================
LOOP_11:CJNE  A,#0100B,LOOP_66
         NOP
         NOP
         NOP
         SETB  P1.5
         CALL  T2MS
         CLR   P1.4
        CALL  T2MS
;========降壓控制程序==============================
LOOP_66:CJNE  A,#0001B,LOOP_33
         NOP
         NOP
         NOP
        SETB  P1.4
        CALL  T2MS
        CLR   P1.5
        CALL   T2MS
;=======升壓控制程序================================
LOOP_33:CJNE  A,#0110B,LOOP_44
         NOP
         NOP
         NOP     
        SETB  P1.5
        CALL  T2MS
        CLR   P1.4
        CALL  T2MS
;======穩(wěn)壓控制程序================================
LOOP_44:CJNE  A,#00B,LOOP_55
         NOP
         NOP
         NOP
        CLR   P1.4
        CALL   T2MS
        CLR  P1.5
        CALL  T2MS
LOOP_55: RET
;=======延時子程序=========================
T2MS:   MOV TH0,#0FCH
        MOV TL0,#17H
        SETB TR0
        JNB  TF0,$
        CLR  TF0
        DJNZ 65H,T2MS
        RET
;=============================================
        END

 

關(guān)閉窗口

相關(guān)文章