50赫兹同步锯齿波发生器
一、 任务
利用0832同步输出两个频率为50赫兹的锯齿波(硬件电路参见DA_BUF2_1.DSN)。
二、 设计参考:
① 锯齿波算法:设定时周期为200us,在定时时间到后,将当前DA输出值在前次输出值上增加某固定值(例如1),当20ms累计时间到后,DA输出值清零。
if(TIME<20ms)
DAVAL++ ;
else
DAVAL = 0 ;
OUTPUT(DAVAL);
② 同步输出方法:先分别向2个0832的第1级缓冲寄存器送DA值,然后同时向0832的第2级缓冲寄存器送值(因2个0832的第2级控制信号是并联的),及可实现同步转换输出。
③ 0832地址分配:
1#第1级缓冲寄存器 2000H
2#第1级缓冲寄存器 2400H
第2级缓冲寄存器 3C00H
#include <reg51.h>
//宏定义
#define DA1_PreConvert(d) (*((unsigned char volatile xdata *) 0x2000) =