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

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

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

作者:佚名   來(lái)源:本站原創(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                   ;判斷鍵是否松開(kāi)
      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)文章

主站蜘蛛池模板: 久久久久久黄 | 成人动漫一区二区 | 欧美日韩中文字幕在线 | 一区日韩| 日韩精品一区二区三区在线 | 亚洲国产一区二区三区在线观看 | 久久一区精品 | 欧美 日韩 国产 成人 | 自拍偷拍第1页 | 日韩一区二区在线播放 | 亚洲日本一区二区 | 国精产品一区一区三区免费完 | 中文字幕成人 | 一级全黄视频 | 一级毛片在线播放 | 欧美日韩在线视频一区 | 综合色久 | 国产99久久精品一区二区永久免费 | 在线免费看毛片 | 国产精品精品视频一区二区三区 | 日本视频一区二区三区 | 在线观看成人av | 无码一区二区三区视频 | 久久人人网 | 成人免费一区二区三区视频网站 | 91精品国产乱码久久久久久 | 成在线人视频免费视频 | 久久综合一区二区三区 | 欧美日韩视频 | 午夜亚洲| 自拍视频国产 | 久草免费在线 | 国产精品国产精品国产专区不片 | 久夜精品 | 国产高清精品一区 | 在线免费观看亚洲 | 国产精品久久久久久吹潮 | 99精品国产一区二区青青牛奶 | 波多野结衣一区二区 | 欧美一区二区三区四区五区无卡码 | 国产精品精品久久久 |