dac0832产生梯形波程序C语言,在8086系统中用DAC0832输出一个三角波,一个梯形波,和一个正弦波。...
滿意答案
曉玫1022
2014.09.28
采納率:57%????等級:13
已幫助:8429人
MOV DX,PORTD
MOV AL,0FFH
Repeat:INC AL
OUT DX,AL
JMP Repeat
若改變鋸齒波周期,可用NOP或
延時指令控制,如下:
MOV DX,PORTD
MOV AL,0FFH
Repeat:INC AL
OUT DX,AL
CALL DELAY1
JMP Repeat
DELAY1:MOV CX,DATA1
DELAY2:LOOP DELAY2
RET
產生三角波形
將線性增長段和線性下降段結合起來,便可產生三角波形。程序如下:
MOV AL,25H ;設定8255A的A口為輸出方式
MOV DX,0DH
OUT DX,AL
MOV DX,0AH
MOV AL,00H ;送下限值
SJ0: OUT DX,AL ;將數據輸出到A口
INC AL ;AL加1
JNZ SJ0 ;上限為FFH,沒到上限,繼續循環
SJ1: DEC AL ;到上限,AL減1
OUT DX ,AL
JNZ SJ1 ;若沒到下限,轉SJ1繼續減1輸出
JMP SJ0 ;到下限,轉SJ0重新從下限開始
產生梯形波形
MOV AL,25H ;設定8255A的A口為輸出方式
MOV DX,0DH
OUT DX,AL
MOV DX,0AH
MOV AL,00H ;從0開始
OUT DX,AL ;將數據輸出到A口
TX0: INC AL ;AL加1
OUT DX,AL
CMP AL,0FFH ;檢查到上限否
JNZ TX0 ;上限為FFH,沒到上限,繼續循壞
MOV CX,0FFH ;上限到,延時
TX1: NOP
LOOP TX1
TX2: DEC AL ; AL減1
OUT DX ,AL
CMP AL,00H ;檢查到下限否
JNZ TX2 ;上限為00H,沒到下限,繼續循環
MOV CX,0FFH ;下限到,延時
TX3: NOP
LOOP TX3
JMP TX0 ;轉TX0開始下一個周期
00分享舉報
總結
以上是生活随笔為你收集整理的dac0832产生梯形波程序C语言,在8086系统中用DAC0832输出一个三角波,一个梯形波,和一个正弦波。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中如何将select出来的字段值赋
- 下一篇: C语言放大字符怎么编程,c语言中怎么将个