如何用用DAC0832產(chǎn)生鋸齒波電路
鋸齒波電壓發(fā)生器
在一些控制應(yīng)用中,需要有一個(gè)線性增長(zhǎng)的電壓(鋸齒波)來控制檢測(cè)過程、移動(dòng)記錄筆或移動(dòng)電子束等。對(duì)此可通過在DAC0832的輸出端接運(yùn)算放大器,由運(yùn)算放大器產(chǎn)生鋸齒波來實(shí)現(xiàn),其電路連接圖如圖9.4所示。
圖9.4 用DAC0832產(chǎn)生鋸齒波電路
圖中的DAC0832工作于單緩沖方式,其中輸入寄存器受控,而DAC寄存器直通。假定輸入寄存器地址為7FFFH,產(chǎn)生鋸齒波的程序清單如下:
MOV A, #00H ;取下限值
MOV DPTR,#7FFFH;指向0832口地址
MM: MOVX @DPTR,A;輸出
INC A;延時(shí)
NOP
NOP
NOP
SJMP MM;反復(fù)
執(zhí)行上述程序就可得到如圖9.5所示的鋸齒波。
圖9.5 D/A 轉(zhuǎn)換產(chǎn)生的鋸齒波
幾點(diǎn)說明:
(1)程序每循環(huán)一次,A加1,因此實(shí)際上鋸齒波的上升邊是由256個(gè)小階梯構(gòu)成的,但由于階梯很小,所以宏觀上看就如圖中所畫的先行增長(zhǎng)鋸齒波。
(2)可通過循環(huán)程序段的機(jī)器周期數(shù),計(jì)算出鋸齒波的周期。并可根據(jù)需要,通過延時(shí)的方法來改變波形周期。若要改變鋸齒波的頻率,可在AJMP MM指令前加入延遲程序即可。延時(shí)較短時(shí)可用NOP指令實(shí)現(xiàn)(本程序就是如此),需要延時(shí)較長(zhǎng)時(shí),可以使用一個(gè)延長(zhǎng)子程序。延遲時(shí)間不同,波形周期不同,鋸齒波的斜率就不同。
(3)通過A加1,可得到正向的鋸齒波,反之A減1可得到負(fù)向的鋸齒波。
(4) 程序中A的變化范圍是0~255,因此得到的鋸齒波是滿幅度的。如要求得到非滿幅鋸齒波,可通過計(jì)算求的數(shù)字量的處置和終值,然后在程序中通過置初值和終值的方法實(shí)現(xiàn)。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論