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

2019-03-03 23:15

毕业论文

控制信息输入,单片机获取控制信号后处理,区别不同的状态,按照程序流程图,对系统进行控制,以达到题目要求。修改AD9851的频率控制字有并行和串行两种方式,由于系统由软件调频,要求频率变化的控制迅速,故采用并行方式控制AD9851, 提高速度,实现较好的调频效果。 4.2 软件流程图及程序

开始初始化否按键?显示对应按键状态界面是频率步进值加减最大频偏修改调频开始/停止调制度变换更新

DDS数据传送和启动时序如图4.2所示:

时间规格表如表5.2.1所示:

图4.2

时间规格表4.1:

毕业论文

根据上面的时序图,完成AD9851启动、送控制口使能和频率控制字,相位控制字的子程序如下: #include \

//定义DDS的引脚端口

#define DDS_port P0 sbit DDS_clk = P2^7; sbit DDS_reset = P2^5; sbit DDS_ud = P2^6;

void delay(unsigned int t) { }

/******************************DDS****************************/ unsigned long g_ulFreq = 100000; void SetFreq(void) {

unsigned long freq = g_ulFreq * 30; DDS_port = 0x01; DDS_clk = 1; DDS_clk = 0;

DDS_port = freq >> 24; DDS_clk = 1; DDS_clk = 0;

DDS_port = freq >> 16; DDS_clk = 1; DDS_clk = 0;

DDS_port = freq >> 8; DDS_clk = 1; DDS_clk = 0; DDS_port = freq;

//DDS设置频率

for(;t>0;t--);

//通用延时程序

毕业论文

}

DDS_clk = 1; DDS_clk = 0; DDS_ud = 1; DDS_ud = 0;

//复位DDS

void ResetDDS(void) { }

DDS_reset = 1; delay(10000); DDS_clk = 0; DDS_ud = 0; DDS_reset = 0;

/******************************DDS****************************/ /**************************LCD程序**************************/ //#define dataport P2 sbit D0=P1^3; sbit D1=P1^4; sbit D2=P1^5; sbit D3=P1^6; sbit D4=P1^7; sbit D5=P2^2; sbit D6=P2^3; sbit D7=P2^4;

sbit RS=P1^0; sbit RW=P1^1; sbit ET=P1^2;

void Wait() {

unsigned int j; for(j=0;j<300;j++){;}

//延时程序

}

毕业论文

void WriCom(unsigned char comm) //LCD发一命令字 {

RS=0; RW=0; ET=0;

//dataport=comm; P1 &= 0x07;

P1 |= ((comm<<3)&0xf8); D5 = comm & 0x20; D6 = comm & 0x40; D7 = comm & 0x80;

ET=1; Wait(); ET=0; }

void WriData(unsigned char wdata) { RS=1; RW=0; ET=0; //dataport=comm; P1 &= 0x07;

P1 |= ((wdata<<3)&0xf8); D5 = wdata & 0x20; D6 = wdata & 0x40; D7 = wdata & 0x80;

ET=1; Wait();

ET=0; }

void InitLcd(void) //LCD初始化

{

Wait();

//LCD发一字节数据 毕业论文

}

WriCom(0x38); Wait(); WriCom(0x38); Wait(); WriCom(0x38); Wait(); WriCom(0x38); Wait(); WriCom(0x08); WriCom(0x01); WriCom(0x06); WriCom(0x0C);

void SetCursor(unsigned char row) //设置光标即插入点 { if(row>15) row+=(0x40-16); WriCom(row | 0x80); }/*

void ClrLCD() {

WriCom(0x01); }

void CursorGlint(unsigned char NoOff) {

unsigned char com; com=NoOff<<2; com|=13; WriCom(com); } */

void WriStr(char *str) //LCD显示一字符串 {

while(*str != 0) {


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

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

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

马上注册会员

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