新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AT89C4051+TLC7225I 三相交流信號源

        AT89C4051+TLC7225I 三相交流信號源

        作者: 時間:2016-11-11 來源:網絡 收藏
        ;********************************************************************;

        ;說明:
        ;1.本程序使用AT89C4051/2051單片機驅動DA轉換器TLC7225I輸出三相50Hz正弦波信號 ;
        ;2.在P3.3,P3.4,P3.5口輸出與正弦波同相同步的方波信號,該方波信號可用于控制在正弦信號 ;
        ;的過零處將正弦信號切斷. ;
        ;作者:Free Zheng ;
        ;********************************************************************;
        ADD0 EQU P3.0 ;DAC口選擇低地址
        ADD1 EQU P3.1 ;DAC口選擇高地址
        DAWR EQU P3.2 ;DAC寫控制
        SQA EQU P3.3
        SQB EQU P3.4
        SQC EQU P3.5
        DALD EQU P3.7 ;DAC數據輸出控制

        本文引用地址:http://www.104case.com/article/201611/316734.htm

        OUTA EQU 80H
        OUTB EQU 81H
        OUTC EQU 82H
        OUTD EQU 83H

        SCOUNT EQU 200
        ASTART EQU 0
        BSTART EQU 67
        CSTART EQU 133

        ORG 00H
        AJMP MAIN
        ORG 03H
        RETI
        NOP
        NOP
        LJMP MAIN
        ORG 0BH
        RETI
        NOP
        NOP
        LJMP MAIN
        ORG 13H
        RETI
        NOP
        NOP
        LJMP MAIN
        ORG 1BH
        RETI
        NOP
        NOP
        LJMP MAIN
        ORG 23H
        RETI
        NOP
        NOP
        LJMP MAIN

        ORG 30H
        MAIN: CLR EA
        MOV P3,#0E4H
        MOV P1,#00H
        MOV R0,#ASTART
        MOV R1,#BSTART
        MOV R2,#CSTART

        LBL_ABC_CONTINUE:
        MOV DPTR,#SIN
        MOV A,R0
        MOVC A,@A+DPTR
        MOV P1,A
        CLR ADD0
        CLR ADD1
        CLR DAWR
        SETB DALD
        NOP
        NOP
        NOP
        NOP
        CJNE R0,#100,A_SQUARECONV
        CPL SQA
        JMP A_KEEP

        NOP
        NOP
        LJMP MAIN

        A_SQUARECONV:
        NOP
        NOP
        NOP
        A_KEEP:
        SETB DAWR
        INC R0
        CJNE R0,#SCOUNT,LBL_A_LESS
        MOV R0,#0
        CPL SQA
        JMP LBL_A_END

        NOP
        NOP
        LJMP MAIN

        LBL_A_LESS:
        NOP
        NOP
        JMP LBL_A_END

        NOP
        NOP
        LJMP MAIN

        LBL_A_END:
        MOV DPTR,#SIN
        MOV A,R1
        MOVC A,@A+DPTR
        MOV P1,A
        SETB ADD0
        CLR ADD1
        CLR DAWR
        SETB DALD
        NOP
        NOP
        NOP
        NOP
        CJNE R1,#100,B_SQUARECONV
        CPL SQB
        JMP B_KEEP

        NOP
        NOP
        LJMP MAIN

        B_SQUARECONV:
        NOP
        NOP
        NOP
        B_KEEP:
        SETB DAWR
        INC R1
        CJNE R1,#SCOUNT,LBL_B_LESS
        MOV R1,#0
        CPL SQB
        JMP LBL_B_END

        NOP
        NOP
        LJMP MAIN

        LBL_B_LESS:
        NOP
        NOP
        JMP LBL_B_END

        NOP
        NOP
        LJMP MAIN

        LBL_B_END:
        MOV DPTR,#SIN
        MOV A,R2
        MOVC A,@A+DPTR
        MOV P1,A
        CLR ADD0
        SETB ADD1
        CLR DAWR
        SETB DALD
        NOP
        NOP
        NOP
        NOP
        CJNE R2,#100,C_SQUARECONV
        CPL SQC
        JMP C_KEEP

        NOP
        NOP
        LJMP MAIN

        C_SQUARECONV:
        NOP
        NOP
        NOP
        C_KEEP:
        SETB DAWR
        INC R2
        CJNE R2,#SCOUNT,LBL_C_LESS
        MOV R2,#0
        CPL SQC
        JMP LBL_C_END

        NOP
        NOP
        LJMP MAIN

        LBL_C_LESS:
        NOP
        NOP
        JMP LBL_C_END

        NOP
        NOP
        LJMP MAIN

        LBL_C_END:
        CLR DALD
        NOP
        NOP
        NOP
        NOP
        NOP
        SETB DALD
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        JMP LBL_ABC_CONTINUE

        NOP
        NOP
        LJMP MAIN

        ORG 0180H

        NOP
        NOP
        LJMP MAIN

        ORG 0200H

        NOP
        NOP
        LJMP MAIN

        ORG 0280H

        NOP
        NOP
        LJMP MAIN

        ORG 0300H

        NOP
        NOP
        LJMP MAIN

        ORG 0380H

        NOP
        NOP
        LJMP MAIN

        ORG 0400H

        NOP
        NOP
        LJMP MAIN

        ORG 0480H

        NOP
        NOP
        LJMP MAIN

        ORG 0500H

        NOP
        NOP
        LJMP MAIN

        ORG 0600H

        NOP
        NOP
        LJMP MAIN

        ORG 0700H

        NOP
        NOP
        LJMP MAIN

        ORG 0800H

        SIN:
        DB 080H, 084H, 088H, 08CH, 090H, 094H, 097H, 09BH, 09FH, 0A3H, 0A7H, 0ABH, 0AFH, 0B2H, 0B6H, 0BAH, 0BDH, 0C1H, 0C4H, 0C7H
        DB 0CBH, 0CEH, 0D1H, 0D4H, 0D7H, 0DAH, 0DDH, 0E0H, 0E2H, 0E5H, 0E7H, 0E9H, 0ECH, 0EEH, 0F0H, 0F2H, 0F3H, 0F5H, 0F7H, 0F8H
        DB 0F9H, 0FAH, 0FBH, 0FCH, 0FDH, 0FEH, 0FEH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FEH, 0FEH, 0FDH, 0FCH, 0FBH, 0FAH
        DB 0F9H, 0F8H, 0F7H, 0F5H, 0F3H, 0F2H, 0F0H, 0EEH, 0ECH, 0E9H, 0E7H, 0E5H, 0E2H, 0E0H, 0DDH, 0DAH, 0D7H, 0D4H, 0D1H, 0CEH
        DB 0CBH, 0C7H, 0C4H, 0C1H, 0BDH, 0BAH, 0B6H, 0B2H, 0AFH, 0ABH, 0A7H, 0A3H, 09FH, 09BH, 097H, 094H, 090H, 08CH, 088H, 084H
        DB 080H, 07BH, 077H, 073H, 06FH, 06BH, 068H, 064H, 060H, 05CH, 058H, 054H, 050H, 04DH, 049H, 045H, 042H, 03EH, 03BH, 038H
        DB 034H, 031H, 02EH, 02BH, 028H, 025H, 022H, 01FH, 01DH, 01AH, 018H, 016H, 013H, 011H, 0FH, 0DH, 0CH, 0AH, 08H, 07H
        DB 06H, 05H, 04H, 03H, 02H, 01H, 01H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H, 01H, 02H, 03H, 04H, 05H
        DB 06H, 07H, 08H, 0AH, 0CH, 0DH, 0FH, 011H, 013H, 016H, 018H, 01AH, 01DH, 01FH, 022H, 025H, 028H, 02BH, 02EH, 031H
        DB 034H, 038H, 03BH, 03EH, 042H, 045H, 049H, 04DH, 050H, 054H, 058H, 05CH, 060H, 064H, 068H, 06BH, 06FH, 073H, 077H, 07BH


        ORG 08D0H

        NOP
        NOP
        LJMP MAIN

        ORG 0900H

        NOP
        NOP
        LJMP MAIN

        ORG 0A00H

        NOP
        NOP
        LJMP MAIN

        ORG 0B00H

        NOP
        NOP
        LJMP MAIN

        ORG 0C00H

        NOP
        NOP
        LJMP MAIN

        ORG 0D00H

        NOP
        NOP
        LJMP MAIN

        ORG 0E00H

        NOP
        NOP
        LJMP MAIN

        ORG 0F00H

        NOP
        NOP
        LJMP MAIN

        END



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 房山区| 乌拉特后旗| 合作市| 信丰县| 洪雅县| 始兴县| 日照市| 钦州市| 高阳县| 灯塔市| 明溪县| 延津县| 汶上县| 左贡县| 太谷县| 辽中县| 洪江市| 连平县| 凤冈县| 梅州市| 通海县| 新邵县| 安义县| 福清市| 怀来县| 湟源县| 莲花县| 大同县| 安多县| 商城县| 西和县| 安阳市| 合作市| 宿松县| 靖远县| 栖霞市| 广南县| 崇文区| 河北区| 隆化县| 广德县|