程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 程控DDS信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)一、 設(shè)計(jì)任務(wù)書1、目的(1)培養(yǎng)學(xué)生以實(shí)際工程性的整體思路來完成整個(gè)項(xiàng)目;(2)培養(yǎng)學(xué)生電子項(xiàng)目綜合設(shè)計(jì)和管理及協(xié)作能力;(3)通過完成項(xiàng)目設(shè)計(jì)制作,使學(xué)生完整地進(jìn)行設(shè)計(jì)、制作、測試、總結(jié)等全過程。2、具體任務(wù)設(shè)計(jì)和制作一個(gè)程控DDS信號發(fā)生器,基本要求為有智能CPU芯片(單片機(jī)、嵌入式系統(tǒng)、FPGA)為主控芯片,以專用DDS芯片為實(shí)現(xiàn)手段,輔助輸入、輸出手段,完成程控DDS的設(shè)計(jì)與制作。技術(shù)指標(biāo):1) 最終頻率輸出范圍為10Hz8MHz(正弦波);2) 外部供電電壓+5v、0v;3) 八位LED數(shù)碼管顯示輸出頻率;4) 輸出頻率可設(shè)置調(diào)整(最小設(shè)置步長10

2、Hz);5) 主控CPU和芯片自行選擇;6) 繪制PCB電路板實(shí)現(xiàn)。工程性要求:1)三人為一個(gè)項(xiàng)目組,由一人當(dāng)組長;2)有項(xiàng)目整體設(shè)計(jì)報(bào)告、項(xiàng)目的進(jìn)度表和最終的測試報(bào)告和使用手冊;4)以項(xiàng)目組為考核整體,兼顧小組分工;5)制作焊接工藝(貼片工藝);6)整體產(chǎn)品結(jié)構(gòu)合理,使用方便、美觀。3、基本原理DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),廣泛使用在電信與電子儀器領(lǐng)域,是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計(jì)

3、算器三個(gè)部分。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相位累加器根據(jù)頻率控制碼在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號。 另外,有些DDS芯片還具有調(diào)幅、調(diào)頻和調(diào)相等調(diào)制功能及片內(nèi)D/A變換器。 圖1 DDS基本結(jié)構(gòu)圖4、基本元器件(供參考)1)DDS芯片AD9833;2)CPU板或芯片8051系列;3) 按鍵;4 共陰級LED數(shù)碼管;5)驅(qū)動(dòng)三極管;6)電阻電容和連接線若干。5、測試要

4、求:1)外接電源+5V、0V;2) 利用示波器測試輸出正弦波(1路);3)輸出頻率測試(10Hz-8MHz程控可調(diào))。二、設(shè)計(jì)框圖及電路系統(tǒng)概述圖2 系統(tǒng)結(jié)構(gòu)框圖89S52顯示電路按鍵電路驅(qū)動(dòng)電路A/D9833電源指示電路圖3 設(shè)計(jì)框圖選用89S51單片機(jī)為主控芯片,以專用DDS芯片9833為實(shí)現(xiàn)手段,6個(gè)按鍵控制輸入、輸出,并由8位數(shù)碼管顯示,從而完成程控DDS信號發(fā)生器的設(shè)計(jì)與制作。三、 各單元電路的設(shè)計(jì)方案及原理說明AD9833的主要特點(diǎn)如下:頻率和相位可數(shù)字編程;工作電壓為3V時(shí),功耗僅為20mW;輸出頻率范圍為0MHz12.5MHz;頻率寄存器為28位(在25MHz的參考時(shí)鐘下,精度

5、為0.1Hz);可選擇正弦波、三角波、方波輸出;無需外界元件;3線SPI接口;溫度范圍為40105??傮w設(shè)計(jì)原理圖:如圖4所示圖4原理圖各部分功能:n 一:LED顯示電路:采用LED顯示波形的頻率 。n 二:CPU控制板或控制電路:形成掃描碼,鍵值識(shí)別、鍵處理、參數(shù)設(shè)置;形成顯示段碼;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路和顯示驅(qū)動(dòng)電路。n 三: DDS芯片:用來產(chǎn)生波形,具有調(diào)幅、調(diào)頻和調(diào)相等調(diào)制功能及片內(nèi)D/A變換器。n 四:幅度調(diào)整:調(diào)整波形的幅度。n 五:鍵盤輸入電路:用鍵盤輸入,控制電路,用來調(diào)節(jié)波 形輸出地頻率 。n 六:電源指示電路:提供電源。圖5 PCB版圖四

6、、 調(diào)試過程及結(jié)果分析Protues仿真調(diào)試:如圖6所示圖6仿真圖程序清單:Mian.c#include <absacc.h>#include <reg52.h>#include <intrins.h>#include "timer.h"#include "type.h"#include "workkey.h"uchar cxzt = 0;void initial() P3 = 0xff; TMOD = 0x11; TR0 = 0; TH0 = 0xd0; TL0 = 0x60; TR0 = 1;

7、ET0 = 1; EA = 1;void main() initial(); while(1) workkey(); Timer.c#include <absacc.h>#include <reg52.h>#include "main.h"#include "type.h"#include "timer.h"#include "workkey.h"sbit Led0 =P10; /LED控制腳sbit Led1 =P11;sbit Led2 =P12;sbit Led3 =P13;sbit

8、Led4 =P14; sbit Led5 =P15;sbit Led6 =P16;sbit Led7 =P17;#define KEYCOUNTER 4 uchar xs0; /* 8個(gè)數(shù)碼管顯示的數(shù)值 */ uchar xs1; uchar xs2; uchar xs3; uchar xs4; uchar xs5; uchar xs6; uchar xs7; uchar wei; bit key_control = 0; bit anxia = 0; bit getkey = 0; uchar keyCont = 0; uchar keynum = 0; uchar keyvalue; uc

9、har M_key; uchar key; uchar curr = 0; uchar halfsecond = 0; uchar second = 0; uchar minus = 0; uchar seconds = 0;code unsigned char Displayy31=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xbf,0x40,/*0.*/0x79,/*1.*/0x24,/*2.*/0x30,/*3.*/0x19,/*4.*/0x12,/*5.*/0

10、x02,/*6.*/0x78,/*7.*/0x00,/*8.*/0x10,/*9.*/ 0x89,/*H*/ 0xC7,/*L*/;/* 定時(shí)器0用于顯示 */void dujianpan(void);void intT0() interrupt 1 TH0 = 0xf8; TL0 = 0xc0; /20ms switch(curr) case 0: Led7 = 0; Led0 = 1; P0 = Displayyxs0; curr = 1; break; case 1: Led0 = 0; Led1 = 1; P0 = Displayyxs1; curr = 2; break; case

11、2: Led1 = 0; Led2 = 1; P0 = Displayyxs2; curr = 3; break; case 3: Led2 = 0; Led3 = 1; P0 = Displayyxs3; curr = 4; break; case 4: Led3 = 0; Led4 = 1; P0 = Displayyxs4; curr = 5; break; case 5: Led4 = 0; Led5 = 1; P0 = Displayyxs5; curr = 6; break; case 6: Led5 = 0; Led6 = 1; P0 = Displayyxs6; curr =

12、7; break; case 7: Led6 = 0; Led7 = 1; P0 = Displayyxs7; curr = 0; break; if(key_control) dujianpan();key_control = !key_control;void dujianpan(void) uchar M_key; /* 鍵盤數(shù)值暫存單元 */M_key = P2; M_key &= 0xf8;if(M_key != 0xf8) /* 認(rèn)為有有效按鍵按下 */ keyvalue = M_key; keyCont +; if(keyCont > KEYCOUNTER) anx

13、ia = 1; else if(anxia =1) switch(keyvalue) case 0xf0:keynum = JW1;getkey = 1;break;case 0xe8:keynum = JW2;getkey = 1;break;case 0xd8: getkey = 1;keynum = JW3;break;case 0xb8:keynum = JW4;getkey = 1;break;case 0x78:keynum = JW5;getkey = 1;break; anxia = 0 ; keyCont = 0; keyCont = 0; anxia = 0 ; Workk

14、ey.c#include <absacc.h>#include <reg52.h>#include<intrins.h> #include "main.h"#include "type.h"#include "timer.h"#include "workkey.h"uchar xnum;uchar num;uchar zt = 0;bit bzw;bit blb;void changew(void);uchar add(void)if(num = 9) num = 0; else

15、 num+; return(num);uchar sub(void)if(num = 0) num = 9; else num-; return(num);void workkey(void)if(getkey = 1) switch(keynum) case 0:xnum = add();if( bzw = 1) changew();break; case 1: xnum = sub(); if( bzw = 1) changew();break;case 2: if(bzw = 1) if(zt = 7) zt = 0; blb = 1; else blb = 1; zt+; change

16、w(); break;case 3: if(bzw = 1) if(zt = 0) zt = 7; blb = 1; else blb = 1; zt-; changew();break;case 4: bzw = !bzw; if(bzw = 0) P3 = 0xff;break; getkey = 0; void changew() switch(zt) case 0: if(blb = 1) xnum = xs0; num = xs0; blb = 0; xs0 = xnum; P3 = 0xfe; P1 = 0; break; case 1: if(blb = 1) xnum = xs

17、1; num = xs1; blb = 0; xs1 = xnum; P3 = 0xfd; break; case 2: if(blb = 1) xnum = xs2; num = xs2; blb = 0; xs2 = xnum; P3 = 0xfb; break; case 3: if(blb = 1) xnum = xs3; num = xs3; blb = 0; xs3 = xnum; P3 = 0xf7; break; case 4: if(blb = 1) xnum = xs4; num = xs4; blb = 0; xs4 = xnum; P3 = 0xef; break; case 5: if(blb = 1) xnum = xs5; num = xs5; blb = 0; xs5 = xnum; P3 = 0xdf; break; case 6: if(blb = 1) xnum = xs6; num = xs6; blb = 0; xs6 = xnum; P3 = 0xbf; break; case 7: if(blb = 1) xnum = xs7; num = xs7; blb = 0; xs7 = xnum; P3 =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論