//add
unsigned int Fre_MSBdata_temp=Fre_MSBdata; unsigned int Fre_LSBdata_temp=Fre_LSBdata; unsigned int Contr_Reg_data_temp=Contr_Reg_data; unsigned int Phs_data_temp=Phs_data; AD9833_writedata(Contr_Reg_data_temp); AD9833_writedata(Fre_LSBdata_temp); AD9833_writedata(Fre_MSBdata_temp); AD9833_writedata(Phs_data); }
/*根据硬件连接选通AT89S52与AD9833的数据线路;将AD9833的内部数据进行清零操作
*//////////////////////////////////// void AD9833_Initial() {
DDSEN=1; //DDSEN disable DDSCLK=1; //Clock high DDSData=0; AD9833_reset(); }
4 制作与调试
4.1 硬件电路制作
4.1.1 总体特点
该系统所涉及的各部分硬件电路,总体的特点是:
(1) 电路原理较为简单,所用的器件均为常用器件,但因为进行了投板制作,且器件基本是贴片形式,所以前期必须保证PCB版图的正确性和可实施性[11];
(2) 由于AD9833贴片引脚相当密,因此焊接过程中要特别注意,切勿将周围引脚焊接在一起。
所以,应合理布线,以降低焊接难度,降低出错率,同时防止干扰。 4.1.2 焊接
焊接前应熟悉各芯片的引脚,焊接时参照电路图,仔细地连接引脚。先焊接各芯片的电源线和地线,这样确保各芯片有正确的工作电压,同类的芯片应顺序焊接,在一片焊接并检查好之后,其他的同类芯片便可以参照第一片进行焊接。这样便可大大节省时间,也可降低出错率。
在大面积的接地(电)中,常用元器件的腿与其连接,对连接腿的处理需要进行综合的考虑,就电气性能而言,元件腿的焊盘与铜面满接为好,但对元件的焊接装配就存在一些不良隐患如焊接需要大功率加热器,容易造成虚焊点。所以兼顾电气性能与工艺需要,做成十字花焊盘,称之为热隔离俗称热焊盘,这样,可使在焊接时因截面过分散热而产生虚焊点的可能性大大减少。下图为焊接完成后的两张图
图4-1 硬件总体图
图4-2 AD9833及外围硬件电路图
4.2 调试
4.2.1 液晶显示器调试:
LCD显示的调试时硬件调试中较为重要的一部分,关系到此后的频率和波形等的显示,首先应确保通电后显示屏能够发光发亮,如果显示屏不能正常发光,应检查硬件中电源输入和接地部分与单片机相应端口的连接是否正确,引脚是否有虚焊现象存在。这次在调试中,系统上电后,液晶发光,显示正常。然后调节出显示屏的初始化状态,即显示一个一个的黑色方格,这一步的关键还是引脚的连接要正确。
最后将相应显示程序载入单片机,调出最简单的显示。这一些在调试中均正常。
图4-3 1602液晶显示器实物图 4.2.1 AD9833波形输出调试:
在AD9833的VOUT引脚进行测试,将示波器连到此引脚,起先未观察到任何波形,这说明AD9833的输出存在问题。查询电路,发现硬件电路的连接没有问题,不存在断路短路问题,于是考虑到可能是程序问题。查询AD9833.H子程序,未发现问题,于是进一步查看了AD9833的PDF,最后发现一个重大问题,即AD9833给出频率时需要先给频率的低字节,后给高字节,再次查看程序,发现程序中的错误:write_ad9833_d16(dds_h);write_ad9833_d16(dds_l)
。将两者次序调换,在进行
调试,发现AD9833有了波形输出,但有严重的波形失真。所以这里要区别于SP模拟时单片机给AD9833数据时是先高位后低位的情况。整个调试过程已经全部结束,系统所能达到的技术指标为,下面为部分输出波形,由于频率在3MHz以上输出波形失真比较大,故而没有列出,下面为频率在2.5MHz~500Hz的典型输出波形:
图4-5 2.5MHz正弦波 图4-6 2.5MHz三角波

