下面給出一個(gè)設(shè)計(jì)實(shí)例,在實(shí)例中通過(guò)定時(shí)器中斷和DAC0832結(jié)合的方式來(lái)產(chǎn)生1~100KHZ的正弦波,幅度為0-Vcc/2。
首先按照下面的公式建立一個(gè)正弦波樣本表,樣表中將一個(gè)正弦波周期分成128個(gè)點(diǎn),每個(gè)點(diǎn)按7位量化(127對(duì)應(yīng)最高幅度Vcc/2):
f(x) = 64 + 63 * sin(2πx/180) x∈[0…127]
程序中使用16位定時(shí)器0產(chǎn)生取樣中斷,及定時(shí)器0的中斷時(shí)間即為正弦波的采樣周期。(T=1/(f*64))。本例中將正弦波分成64個(gè)采樣點(diǎn)輸出,及每隔兩個(gè)點(diǎn)要從采樣樣本中取出一個(gè)數(shù)DAC0832的輸入。