下面给出一个设计实例,在实例中通过定时器中断和 DAC0832 结合的方式来产生 1~
100KHZ 的正弦波,幅度为 0-Vcc/2。
首先按照下面的公式建立一个正弦波样本表,样表中将一个正弦波周期分成 128 个点,
每个点按 7 位量化(127 对应最高幅度 Vcc/2):
f(x) = 64 + 63 * sin(2πx/180) x∈[0…127]
程序中使用 16 位定时器 0 产生取样中断,及定时器 0 的中断时间即为正弦波的采样周
期。(T=1/(f*64))。本例中将正弦波分成 64 个采样点输出,及每隔两个点要从采样样本中
取出一个数 DAC0832 的输入。