在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)控制DAC0832輸出正弦波三角波匯編程序

            單片機(jī)控制DAC0832輸出正弦波三角波匯編程序

            作者: 時間:2012-08-13 來源:網(wǎng)絡(luò) 收藏
            org 0000h
            LJMP MAIN
            ORG 0003H
            LJMP L0
            MAIN:MOV R2,#0aH ;調(diào)幅倍數(shù)
            MOV R4,#01H ;增減選擇
            MOV R5,#01H
            pp: SETB EA
            SETB EX0 ;延時計數(shù)個數(shù)
            MOV A,#0FFH ;讀取波形狀態(tài)
            MOV P1,A
            MOV A,P1
            JNB ACC.0,ZXB ;P1.0=0 則選擇
            JNB ACC.1,SJB ;P1.1=0 則選擇
            JNB ACC.2,FB ;P1.2=0 則選擇方 波
            AJMP PP
            ZXB:MOV R1,#00H
            LOOP1:MOV A,R1
            MOV DPTR,#TABLE1 ;讀取數(shù)據(jù)首地址
            MOVC A,@A+DPTR ;去表格數(shù)據(jù)
            MOV B,R2
            MUL AB ;幅度大小
            INC R1
            XCH A,R1
            CLR C
            SUBB A,#0AH ;是否已采樣半個周期
            JNC LK1 ;C=0跳轉(zhuǎn),即R1大于0A,以采樣半個周期以上
            ADD A,#0AH
            XCH A,R1 ;還原R1
            ADD A,#80H ;8OH為零點,取得正的幅度值
            AJMP LK0
            LK1:ADD A,#0AH
            XCH A,R1
            MOV R3,A
            MOV A,#80H
            CLR C
            SUBB A,R3 ;80H為零點,取得負(fù)的幅度值
            LK0:MOV DPTR,#8000H ;送DA轉(zhuǎn)換入口地址
            MOVX @DPTR,A
            MOV A,R5
            KD:DEC R5 ;調(diào)用延時
            CALL DELAY
            CJNE R5,#00H,KD
            MOV R5,A
            CJNE R1,#12H,LOOP1
            LJMP PP
            FB:MOV R1,#00H
            LOOP2:MOV A,R1
            MOV DPTR,#TABLE2 ;讀取方波數(shù)據(jù)首地址
            MOVC A,@A+DPTR ;去表格數(shù)據(jù)
            MOV B,R2
            MUL AB ;幅度大小
            INC R1
            XCH A,R1
            CLR C
            SUBB A,#0AH ;是否已采樣半個周期
            JNC LK3 ;C=0跳轉(zhuǎn),即R1大于0A,以采樣半個周期以上
            ADD A,#0AH
            XCH A,R1 ;還原R1
            ADD A,#80H ;8OH為零點,取得正的幅度值
            AJMP LK2
            LK3:ADD A,#0AH
            XCH A,R1
            MOV R3,A
            MOV A,#80H
            CLR C
            SUBB A,R3 ;80H為零點,取得負(fù)的幅度值
            LK2:MOV DPTR,#8000H ;送DA轉(zhuǎn)換入口地址
            MOVX @DPTR,A
            MOV A,R5
            KD0:DEC R5 ;調(diào)用延時
            CALL DELAY
            CJNE R5,#00H,KD0
            MOV R5,A
            CJNE R1,#12H,LOOP2
            LJMP PP
            SJB:MOV R1,#00H
            LOOP3:MOV A,R1
            MOV DPTR,#TABLE3 ;讀取波數(shù)據(jù)首地址
            MOVC A,@A+DPTR ;去表格數(shù)據(jù)
            MOV B,R2
            MUL AB ;幅度大小
            INC R1
            XCH A,R1
            CLR C
            SUBB A,#0DH ;是否已采樣半個周期
            JNC LK5 ;C=0跳轉(zhuǎn),即R1大于D,以采樣半個周期以上
            ADD A,#0DH
            XCH A,R1 ;還原R1
            ADD A,#80H ;8OH為零點,取得正的幅度值
            AJMP LK4
            LK5:ADD A,#0DH
            XCH A,R1
            MOV R3,A
            MOV A,#80H
            CLR C
            SUBB A,R3 ;80H為零點,取得負(fù)的幅度值
            LK4:MOV DPTR,#8000H ;送DA轉(zhuǎn)換入口地址
            MOVX @DPTR,A
            KD1:MOV A,R5
            DEC R5 ;調(diào)用延時
            CALL DELAY
            CJNE R5,#00H,KD1
            MOV R5,A
            CJNE R1,#18H,LOOP3
            LJMP PP
            DELAY:NOP
            RET
            L0:CLR EA
            PUSH A
            PUSH PSW
            JB P1.3,L1 ;中斷子程序
            CJNE R4,#00H,KL0
            INC R4
            SJMP LD0
            KL0:MOV R4,#00H
            LD0:JNB P1.3,LD0 ;判斷鍵是否松開
            LJMP LEND
            L1:JB P1.4,L2
            MOV A,R4
            JNZ KL1 ;判斷幅度是增還是減
            CJNE R2,#0AH,KK0 ;判斷幅度是否達(dá)到最大
            SJMP LD1
            KK0:INC R2 ;幅度增加0.5V
            SJMP LD1
            KL1:CJNE R2,#00H,KK1
            SJMP LD1
            KK1:DEC R2 ;幅度減小0.5V
            LD1:JNB P1.4,LD1
            LJMP LEND
            L2:JB P1.5 ,LEND
            MOV A,R4
            JNZ KL2 ;判斷頻率的增減
            MOV A,#05H ;每次周期變化20微秒
            CLR C
            ADD A,R5
            JC LD2
            MOV R5,A
            LJMP LD2
            KL2:MOV A,R5
            CLR C
            SUBB A,#05H
            JC LD2
            MOV R5,A
            LD2:JNB P1.5,LD2
            LEND:POP PSW
            POP A
            SETB EA
            RETI
            TABLE1:DB 00H,04H,08H,0bH,0cH,0cH,0bH,08H,04H,00H,04H,08H,0bH,0cH,0cH,0bH,08H ,04H
            TABLE2:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,0CH,0CH,0CH,0CH,0CH,0CH,0CH,0CH ,0CH
            TABLE3:DB 00H,02H,04H,06H,08H,0AH,0CH,0AH,08H,06H,04H,02H,00H,02H,04H,06H,08H,0AH,0CH,0AH


            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉