久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

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

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年01月02日   【字體:
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í)計(jì)數(shù)個(gè)數(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                    ;是否已采樣半個(gè)周期
      JNC LK1                        ;C=0跳轉(zhuǎn),即R1大于0A,以采樣半個(gè)周期以上
      ADD A,#0AH
      XCH A,R1                       ;還原R1
      ADD A,#80H                     ;8OH為零點(diǎn),取得正的幅度值
      AJMP LK0
LK1:ADD A,#0AH
      XCH A,R1
      MOV R3,A
      MOV A,#80H
      CLR C
      SUBB A,R3                      ;80H為零點(diǎn),取得負(fù)的幅度值
LK0:MOV DPTR,#8000H                ;送DA轉(zhuǎn)換入口地址
      MOVX @DPTR,A
      MOV A,R5
   KD:DEC R5                         ;調(diào)用延時(shí)
      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                    ;是否已采樣半個(gè)周期
      JNC LK3                        ;C=0跳轉(zhuǎn),即R1大于0A,以采樣半個(gè)周期以上
      ADD A,#0AH
      XCH A,R1                       ;還原R1
      ADD A,#80H                     ;8OH為零點(diǎn),取得正的幅度值
      AJMP LK2
LK3:ADD A,#0AH
      XCH A,R1
      MOV R3,A
      MOV A,#80H
      CLR C
      SUBB A,R3                      ;80H為零點(diǎn),取得負(fù)的幅度值
LK2:MOV DPTR,#8000H                ;送DA轉(zhuǎn)換入口地址
      MOVX @DPTR,A
      MOV A,R5
KD0:DEC R5                         ;調(diào)用延時(shí)
      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                    ;是否已采樣半個(gè)周期
      JNC LK5                        ;C=0跳轉(zhuǎn),即R1大于D,以采樣半個(gè)周期以上
      ADD A,#0DH
      XCH A,R1                       ;還原R1
      ADD A,#80H                     ;8OH為零點(diǎn),取得正的幅度值
      AJMP LK4
LK5:ADD A,#0DH
      XCH A,R1
      MOV R3,A
      MOV A,#80H
      CLR C
      SUBB A,R3                      ;80H為零點(diǎn),取得負(fù)的幅度值
LK4:MOV DPTR,#8000H                ;送DA轉(zhuǎn)換入口地址
      MOVX @DPTR,A
KD1:MOV A,R5
      DEC R5                         ;調(diào)用延時(shí)
      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,08H,06H,04H,02H
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 麻豆av免费观看 | 国产精品日韩在线观看 | 国产精品国产a | 国产精品777一区二区 | 精品99久久 | 免费精品久久久久久中文字幕 | 亚洲 欧美 另类 日韩 | 香蕉久久久久久 | 日韩综合在线 | 天天干天天玩天天操 | 欧美色综合一区二区三区 | 欧美日韩综合视频 | 久久久久久免费毛片精品 | 欧美一区二区成人 | 成人美女免费网站视频 | 亚洲乱码国产乱码精品精98午夜 | 毛片区 | 久久久精品影院 | 欧美jizzhd精品欧美巨大免费 | 日本在线免费 | 欧美一区二区三区视频在线播放 | 欧美h视频 | 亚洲精品欧美一区二区三区 | 久久成人免费视频 | av男人的天堂av | 一区二区三区免费 | 人人鲁人人莫人人爱精品 | 国产在线成人 | 国产一区二区日韩 | 国产精品激情在线 | 国产91丝袜在线播放 | 国产精品乱码一区二区三区 | 国产一级片在线观看视频 | 日韩av一区二区在线观看 | 99久视频| 久久成人综合 | 国产精品久久久久一区二区 | 在线观看视频91 | 伊人网站在线观看 | 日韩美av| 日韩成人 |