8086+DAC0832+匯編語言,Proteus仿真,有完整的源程序和硬件圖,可以產(chǎn)生方波三角波正弦波鋸齒波,并且可以調(diào)節(jié)各個波形的頻率大小和幅度大小。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (21.58 KB, 下載次數(shù): 168)
下載附件
2018-1-6 01:58 上傳
0.png (10.29 KB, 下載次數(shù): 144)
下載附件
2018-1-6 01:58 上傳
單片機(jī)源程序如下:
- CODE SEGMENT
- ASSUME CS:CODE
- DA EQU 0C000H
- IN245 EQU 0D000H
- SINBUF DB 80H,86H,8CH,92H,98H,9FH,0A5H,0ABH
- DB 0B0H,0B6H,0BCH,0C1H,0C7H,0CCH,0D1H
- DB 0D5H,0DAH,0DEH,0E2H,0E6H,0EAH,0EDH
- DB 0F0H,0F3H,0F6H,0F8H,0FAH,0FCH,0FDH
- DB 0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH
- DB 0FDH,0FCH,0FAH,0F8H,0F6H,0F3H,0F0H
- DB 0EDH,0EAH,0E6H,0E3H,0DEH,0DAH,0D6H
- DB 0D1H,0CCH,0C7H,0C1H,0BCH,0B6H,0B1H
- DB 0ABH,0A5H,9FH,99H,92H,8CH,86H,80H
- DB 79H,73H,6DH,67H,61H,5BH,55H,4FH
- DB 49H,43H,3EH,39H,33H,2EH,2AH,25H
- DB 21H,1DH,19H,15H,12H,0FH,0CH,9H
- DB 7H,5H,3H,2H,1H,0H,0H,0H,0H,0H
- DB 1H,2H,3H,5H,7H,9H,0CH,0EH,12H
- DB 15H,18H,1CH,20H,25H,29H,2EH
- DB 33H,38H,3DH,43H,48H,4EH
- DB 54H,5AH,60H,66H,6CH,73H,79H
-
- START:
- MOV DX,IN245
- IN AL,DX
- DISO:
- CMP AL,0
- JZ FANGBO
- CMP AL,1
- JZ SANJIAOBO
- CMP AL,2
- JZ JUCHI
- CMP AL,3
- JZ ZHENGXIANBO
-
- CMP AL,10H
- JZ FANGBO4
- CMP AL,20H
- JZ FANGBO5
- CMP AL,40H
- JZ FANGBO6
- CMP AL,80H
- JZ FANGBO7
-
- CMP AL,11H
- JZ SANJIAOBO4
- CMP AL,21H
- JZ SANJIAOBO5
- CMP AL,41H
- JZ SANJIAOBO6
- CMP AL,81H
- JZ SANJIAOBO7
-
- CMP AL,12H
- JZ JUCHI4
- CMP AL,22H
- JZ JUCHI5
- CMP AL,42H
- JZ JUCHI6
- CMP AL,82H
- JZ JUCHI7
-
- ;CMP AL,13H
- ;JZ ZHENGXIANBO4
- ;CMP AL,23H
- ;JZ ZHENGXIANBO5
- ;CMP AL,43H
- ;JZ ZHENGXIANBO6
- ;CMP AL,83H
- ;JZ ZHENGXIANBO7
- ;方波
- FANGBO:
- MOV AL,0FFH ;+5V
- MOV DX,DA
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL:
- CALL DELAY
- DEC CX
- JNZ DEL
- MOV AL,8F
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL0:
- CALL DELAY
- DEC CX
- JNZ DEL0
- JMP START
- ;方波幅度大
- FANGBO4:
- MOV AL,0FFH ;+5V
- MOV DX,DA
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL4:
- CALL DELAY
- DEC CX
- JNZ DEL4
- MOV AL,0
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL40:
- CALL DELAY
- DEC CX
- JNZ DEL40
- JMP START
- ;方波幅度小
- FANGBO5:
- MOV AL,0FFH ;+5V
- MOV DX,DA
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL5:
- CALL DELAY
- DEC CX
- JNZ DEL5
- MOV AL,0CFH
- OUT DX,AL
- MOV CX,2FH ;循環(huán)次數(shù)
- DEL50:
- CALL DELAY
- DEC CX
- JNZ DEL50
- JMP START
- ;方波頻率減小,周期變大
- FANGBO6:
- MOV AL,0FFH ;+5V
- MOV DX,DA
- OUT DX,AL
- MOV CX,4FH ;循環(huán)次數(shù)
- DEL6:
- CALL DELAY
- DEC CX
- JNZ DEL6
- MOV AL,8F
- OUT DX,AL
- MOV CX,4FH ;循環(huán)次數(shù)
- DEL60:
- CALL DELAY
- DEC CX
- JNZ DEL60
- JMP START
- ;方波頻率變大,周期減小
- FANGBO7:
- MOV AL,0FFH ;+5V
- MOV DX,DA
- OUT DX,AL
- MOV CX,1FH ;循環(huán)次數(shù)
- DEL7:
- CALL DELAY
- DEC CX
- JNZ DEL7
- MOV AL,8F
- OUT DX,AL
- MOV CX,1FH ;循環(huán)次數(shù)
- DEL70:
- CALL DELAY
- DEC CX
- JNZ DEL70
- JMP START
-
- ;三角波
- SANJIAOBO:
- MOV AL,0
- MOV DX,DA
- SJ0:
- CALL DELAY
- OUT DX,AL
- INC AL
- INC AL
- CMP AL,7EH
- JNZ SJ0
- SJ1:
- CALL DELAY
- OUT DX,AL
- DEC AL
- DEC AL
- CMP AL,0
- JNZ SJ1
- JMP START
- ;三角波幅度大
- SANJIAOBO4:
- MOV AL,0
- MOV DX,DA
- SJ04:
- CALL DELAY
- OUT DX,AL
- INC AL
- INC AL
- INC AL
- INC AL
- CMP AL,0FCH;-------------------------
- JNZ SJ04
- SJ14:
- CALL DELAY
- OUT DX,AL
- DEC AL
- DEC AL
- DEC AL
- DEC AL
- CMP AL,0;------------
- JNZ SJ14
- JMP START
- ;三角波幅度小
- SANJIAOBO5:
- MOV AL,0
- MOV DX,DA
- SJ05:
- CALL DELAY
- OUT DX,AL
- INC AL
- CMP AL,3FH
- JNZ SJ05
- SJ15:
- CALL DELAY
- OUT DX,AL
- DEC AL
- CMP AL,0
- JNZ SJ15
- JMP START
- ;三角波周期大
- SANJIAOBO6:
- MOV AL,0
- MOV DX,DA
- SJ06:
- CALL DELAY
- OUT DX,AL
- INC AL
- CMP AL,7EH
- JNZ SJ06
- SJ16:
- CALL DELAY
- OUT DX,AL
- DEC AL
- CMP AL,0
- JNZ SJ16
- JMP START
- ;三角波周期小
- SANJIAOBO7:
- MOV AL,0
- MOV DX,DA
- SJ07:
- CALL DELAY
- OUT DX,AL
- INC AL
- INC AL
- INC AL
- INC AL
- CMP AL,7CH
- JNZ SJ07
- SJ17:
- CALL DELAY
- OUT DX,AL
- DEC AL
- DEC AL
- DEC AL
- DEC AL
- CMP AL,0
- JNZ SJ17
- JMP START
- ;鋸齒波
- JUCHI:
- MOV AL,07FH
- MOV DX,DA
- JUC:
- INC AL
- INC AL
- CALL DELAY
- OUT DX,AL
- CMP AL,0FFH
- JNZ JUC
- JMP START
- ;鋸齒波幅度大
- JUCHI4:
- MOV AL,0FFH
- MOV DX,DA
- JUC4:
- INC AL
- INC AL
- INC AL
- INC AL
- CALL DELAY
- OUT DX,AL
- CMP AL,0FFH
- JNZ JUC4
- JMP START
- ;鋸齒波幅度小
- JUCHI5:
- MOV AL,0BFH
- MOV DX,DA
- JUC5:
- INC AL
- CALL DELAY
- OUT DX,AL
- CMP AL,0FFH
- JNZ JUC5
- JMP START
- ;鋸齒波周期大
- JUCHI6:
- MOV AL,07FH
- MOV DX,DA
- JUC6:
- INC AL
-
- CALL DELAY
- OUT DX,AL
- CMP AL,0FFH
- JNZ JUC6
- JMP START
- ;鋸齒波周期小
- JUCHI7:
- MOV AL,07FH
- MOV DX,DA
- JUC7:
- INC AL
- INC AL
- INC AL
- INC AL
- CALL DELAY
- OUT DX,AL
- CMP AL,0FFH
- JNZ JUC7
- JMP START
-
- ;正弦波
- ZHENGXIANBO:
- MOV CX,80H
- MOV DI,OFFSET SINBUF
- MOV DX,DA
- ZX:
- MOV AL,[DI]
- CALL DELAY
- OUT DX,AL
- INC DI
- DEC CX
- JNZ ZX
- JMP START
- DELAY:
- PUSH CX
- MOV CX,0FFH
- LOOP $
- POP CX
- RET
- CODE ENDS
- END START
復(fù)制代碼
所有資料51hei提供下載:
8086DA波形發(fā)生器.zip
(21.92 KB, 下載次數(shù): 310)
2018-1-5 13:43 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|