基于DDS的信号源设计毕业设计论文(7)

2019-03-03 23:15

毕业论文

}

}

WriData(*str); str++;

/**********************end LCD程序**************************/ void Brush(void) { }

/***********************************************************/

#define d_keyPort P3 sbit keyP30 = P3^0; sbit keyP31 = P3^1; sbit keyP32 = P3^2; sbit keyP33 = P3^3;

unsigned char GetKey(void) {

//刷新LCD

SetCursor(16);

WriData(g_ulFreq/10000000 + '0'); WriData(g_ulFreq000000/1000000 + '0'); WriData(g_ulFreq00000/100000 + '0'); WriData(g_ulFreq0000/10000 + '0'); WriData(g_ulFreq000/1000 + '0'); WriData(g_ulFreq00/100 + '0'); WriData(g_ulFreq0/10 + '0'); WriData(g_ulFreq + '0'); WriData(' '); WriData('H'); WriData('z');

//定义按键的引脚端口

//扫描键盘,取按键码

d_keyPort = 0x0f; if(d_keyPort != 0x0f) {

delay(5000);

//等一会

//确认有键按下

if(d_keyPort != 0x0f)

//下键按下吗?

毕业论文

{

d_keyPort = ~0x80; if(!keyP30)

return 0x41; if(!keyP31) d_keyPort = ~0x10; if(!keyP30)

return 0x11; return 0x12; return 0x13; return 0x14; if(!keyP31) if(!keyP32) if(!keyP33)

d_keyPort = ~0x20; if(!keyP30)

return 0x21; return 0x22; return 0x23; return 0x24; if(!keyP31) if(!keyP32) if(!keyP33)

d_keyPort = ~0x40; if(!keyP30)

return 0x31; return 0x32; return 0x33; return 0x34; if(!keyP31) if(!keyP32) if(!keyP33)

毕业论文

}

}

return 0x42; return 0x43; return 0x44;

if(!keyP32) if(!keyP33)

return 0;

}

void main(void) {

//主函数

unsigned char key; InitLcd();

WriStr(\delay(60000); InitLcd();

WriStr(\delay(60000); InitLcd(); WriStr(\ResetDDS(); SetFreq(); Brush(); while(1) {

key = GetKey(); if(key == 0x34)

g_ulFreq ++; g_ulFreq --; g_ulFreq +=10; g_ulFreq -=10; else if(key == 0x44) else if(key == 0x33) else if(key == 0x43)

//扫描键盘

//复位DDS //DDS初始频率设定

毕业论文

}

else if(key == 0x32)

g_ulFreq +=100; g_ulFreq -=100; g_ulFreq +=1000; g_ulFreq -=1000; g_ulFreq +=10000; g_ulFreq -=10000; g_ulFreq +=100000; g_ulFreq -=100000; g_ulFreq +=1000000; g_ulFreq -=1000000; g_ulFreq +=10000000; g_ulFreq -=10000000; else if(key == 0x42) else if(key == 0x31) else if(key == 0x41) else if(key == 0x14) else if(key == 0x24) else if(key == 0x13) else if(key == 0x23) else if(key == 0x12) else if(key == 0x22) else if(key == 0x11) else if(key == 0x21)

}

if(key) { }

//如果不键按下,则重新设置频率

SetFreq(); Brush();

//重设频率 //重刷LCD

delay(10000); //延时

毕业论文

5 系统调试

根据方案设计要求,调试过程公分三大部分,硬件调试,软件调试,软件和硬件联调。电路按模块逐个调试,各模块调试通过后在联调。程序先在最小系统板调试,通过后在软硬联调。 5.1 硬件电路调试 5.1.1 调试与测试所用仪器

1. 微机一台以及Protel软件; 2. 信号源; 3. 示波器; 4. 万用表; 5. 直流稳压电源; 6. 失真度仪; 5.1.2 调试过程

高频电路抗干扰设计 AD9851的时钟频率很高,对周围的电路有一定的影响,我们采取了各种抗干扰措施。例如引线尽量短,减少交叉,尽量减少跳线,在电源输入端都加上去藕电容,数字地与模拟地分开,信号源与地尽量隔远,实践证明,这些措施对消除某些引脚上的毛刺及干扰噪声起到了很好的作用。将系统的各模块分开测试,调通后再进行整机调试,提高调试效率。 5.1.3 调试经验总结

1、系统属于高频电路,对干扰比较敏感,所以调试时应该远离高频干扰源。 2、在安装元件的时候,要特别注意器件的安装。例如三极管的引脚对应,电解电容的极性等,如果安装的时候不注意,在调试时就容易出现问题。

3、系统设计的是多模块的,一块板到另一块板的引线,电源的正负极性等要特别注意。解决问题的最好办法是用墨笔在板上做适当标注,这样不至于引起混淆。

4、由于系统应用了高频电路,设计电路时应该在电源旁边放置适当值的电容,以减少电源对系统的干扰,数据输入输出的波形也会比较“干净”。总之,要设计出一个性能良好的系统需要注意许多问题,在硬件设计的时候为减少外干扰应加入滤波。

5.2 软件调试

本系统的软件系统采用C编写,调试也是分模块进行,各个模块调试通过函数里调 这样写结构明了,出错时容易查错。 5.3 总调试

按程序定义的各个口分别把线接好,然后把程序写进单片机控制各个模块。依据设计要求,分别对输出波形、输出电压峰峰值、输出频率和功率放大器输出测试。

测试输出电压的峰峰值时,对放大电路和AGC电路参数的适当调整,使输出频率在


基于DDS的信号源设计毕业设计论文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第七章 氧化还原滴定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: