矩形波電壓發(fā)生器
采用單緩沖方式,口地址設(shè)為FEFFH.
參考程序如下:
ORG 1100H
START: MOV DPTR , #00FEH ;送DAC0832口地址
LOOP: MOV A , #dataH ;送高電平數(shù)據(jù)
MOVX @ DPTR , A
LCALL DELAYH ;調(diào)用延時(shí)子程序
MOV A , #dataL ;送低電平數(shù)據(jù)
MOVX @ DPTR , A
LCALL DELAYL ;調(diào)用延時(shí)子程序
SJMP LCALL
執(zhí)行上述程序就可得到如圖9.5所示的矩形波。
圖9.5 D/A轉(zhuǎn)換產(chǎn)生的矩形波
幾點(diǎn)說明:
(1)以上程序產(chǎn)生的是矩形波,其低點(diǎn)平的寬度由延時(shí)子程序DELAYL所延時(shí)的時(shí)間來決定,高電平的寬度則由DELAYH所延時(shí)的時(shí)間決定。
(2) 改變延時(shí)子程序DELAYL和的DELAYH延時(shí)時(shí)間,就可改變矩形波上下沿的寬度。若DELAYL=DELAYH(兩者延時(shí)一樣),則輸出的是方波。
(3) 改變上限值或下限值便可改變矩形波的幅值;單極性輸出時(shí)為0~-5V或0~+5V;雙極性輸出時(shí)為-5V~+5V。
【例9.3】三角波電壓發(fā)生器
利用DAC0832產(chǎn)生三角波的參考程序如下:
MOV A , #00H ;取下限值
MOVX DPTR , #FEFFH ;指向0832口地址 SS1: MOVX @DPTR , A ;輸出
NOP ;延時(shí)
NOP
NOP
SS2: INC A ;轉(zhuǎn)換值增量
JNZ SS1 ;未到峰值,則繼續(xù)
SS3: DEC A ;已到峰值,則取后沿
MOVX @DPTR , A ;輸出
NOP ;延時(shí)
NOP
NOP
JNZ SS3 ;未到谷值,則繼續(xù)
SJMP SS2 ;已到谷值,則反復(fù)
評論