DSP多波形任意信号发生器实验报告

DSP多波形任意信号发生器实验报告
DSP多波形任意信号发生器实验报告

北京交通大学

数字信号处理(DSP)

综合设计性实验报告

题目:任意信号发生器的设计

学院:电子信息工程学院

班级:

指导教师:钱满义

学生:

北京交通大学电工电子教学基地

2013年7月15日

目录

一、设计任务…………………………………………………

二、实验目的…………………………………………………

三、实验要求及目标…………………………………………………

四、实验原理…………………………………………………

五、程序代码及仿真结果…………………………………………………

1. 泰勒级数产生正弦波

2. 泰勒级数产生余弦波

3. 三角波

4. 方波

5. 锯齿波

六、实验总结…………………………………………

七、参考资料…………………………………………

一. 设计任务

信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。信号发生器在现代工程中应用非常广泛。在实际中常需要产生一些特殊波形,用于仿真实际信号的波形,以检测和调试测量装置。

使用 DSP可以产生连续的正弦波信号,同样也能产生方波、锯齿波、三角波等其它各种信号波形。本设计要求采用DSP及其CODEC产生上述各种信号波形。

二. 实验目的

(1)了解产生信号的两种方法及各自的优缺点。

(2)掌握使用DSP产生正弦波的原理和算法,进而掌握一般信号产生的原理和方法。

(3)掌握5502DSK CODECC的工作原理和初始化过程。

三. 设计要求及目标

基本部分:

使用DSP产生300—4000HZ的正弦信号,要求使用计算法,并且频率可变、幅度可变、直流分量可变。

发挥部分:

使用DSP产生300—4000HZ的方波、锯齿波和三角波。

四. 设计思路

产生连续信号的方法通常有两种:查表法和计算法,查表法不如计算法使用灵活。计算法可以使用泰勒级数展开法进行计算,也可以使用差分方程进行迭代计算或者直接使用三角函数进行计算。计算结果可以边计算边输出,也可以先计算后输出。

正弦函数和余弦函数的泰勒级数数学表达式为:

=

x sin

+

-

-

+

-

+

-

+

-

-

-

)!

1

2(

)1

(

!9

!7

!5

!3

1

2

1

9

7

5

3

n

x

x

x

x

x

x

n

n

,x?)

,

(∞

-∞

=

x cos

+

-

+

-

+

-

+

-

)!

2(

)1

(

!8

!6

!4

!2

1

2

8

6

4

2

n

x

x

x

x

x n

n

,x?)

,

(∞

-∞

∈.

如果要计算一个角度ⅹ的正弦和余弦值,可以取其前五项进行近似计算。或使用下面递归的差分方程进行计算。

y[n]=A*y[n-1]-y[n-2] 其中:A=2cos(x),x=2πF/F S。F—信号频率,F S—D/A转换频率。

利用递推公式计算正弦和余弦值需要已知cos(x)和正弦、余弦的前两个值。计算时所需的计算量小,但如果用来产生连续的正弦和余弦信号,则累积误差太大。要得到精确的计算结果,可以使用泰勒级数展开法进行计算,当然计算时所需的计算量很大。在实际应用时可以根据需要选择相应的算法。

要产生一个正弦信号,首先要算出一个周期内各样点的值,因为sin(x)的值总是小于1的小数,而5402 DSP是16位的定点处理器,所以要将其乘以

215,变为Q15的数据格式,才能够在DSP中送到D/A转换器进行处理。

查表法与计算法的优缺点比较:

查表法:事先将要输出的数据计算好,存储在DSP的内部RAM中,然后依次循环输出,从而才生波形。这种方法的优点在于其速度快,可以产生频率很高的波形,而且不占用DSP的计算时间,它的缺点是需要占用DSP的内存空间,尤其是对采样频率比较大的输出波形,所需要的内部空间很大,所以这种方法用于对精度和频率要求不高的场合。

计算法:采用计算的方法依次计算数据然后输出。计算法的优缺点正好和查表法相反。其优点是不占用DSP的存储空间,可以根据信息随时间改变或调整输出波形的周期波形;其缺点是占用DSP的计算时间,使得执行程序的开销大

在本次实验中我们采用计算法来产生正弦波,并且同时使用了泰勒级数、递归差分方程和三角函数计算三种方法来进行计算,以对这三种算法进行横向比较。

五. 程序代码及仿真结果

1.泰勒级数法实现正弦波

程序代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include "E2PROM_Function.h"

#include "CODEC.h"

#define Nx 720 //每周期抽取点数

#pragma DATA_SECTION(output1,"data_out1"); //存放sin数据,浮点型

float output1[Nx];

#pragma DATA_SECTION(output,"data_out"); //存放sin数据,定点型

int output[Nx];

#define pi 3.1415927

#define pi2 2*pi

#define F0 1000 //Signal frequency

#define Fs 16000 //Sampling frequency//

#undef CODEC_ADDR

#define CODEC_ADDR 0x1A

#define _COSX 0.999390827

/* Global declarations */

//int inp_buffer[BUFSIZE]; /* processing data buffers */

//int out_buffer[BUFSIZE];

int gain = MINGAIN; /* volume control variable */

int frequency = MINGAIN;

int abc = MINGAIN;

unsigned int processingLoad = BASELOAD; /* processing routine load value */ /*****************余弦函数*****************/

int o=2;

int dacdata[Nx];

float _cosx[Nx];

/*****************方波函数*********/

double squ[Nx];

int dacdata2[Nx];

int outbuffer[Nx];

int amp=100;

unsigned int t=0;

/*****************锯齿波*****************/

double z=0;

double dt;

unsigned int p=0;

double saw[Nx];

int dacdata4[Nx],outbuffer3[Nx];

double tri[Nx];

int dacdata3[Nx],outbuffer2[Nx];

int amp2=2;

double T=0, DT;

unsigned int I=0;

// 定义McBSP的句柄

MCBSP_Handle hMcbsp;

/*------------------------------------------------------------------------------------*/

//

// FUNCTION: MAIN

//

/*------------------------------------------------------------------------------------*/

void main(void)

{

Uint16 i=0,k=0;

float input0=0,x1;

float a,b,c,d,e,f,g,h,ii,step;//step为角度步长

step=360.0/Nx; // Nx为360度内取样点数

/*****************正弦函数*****************/

for(i=0;i<=Nx-1;i++)

{

float angle,xx;

angle=input0+step*i;

x1=3.1415926*angle/180; //将角度转为弧度

xx=x1*x1;

a=1-xx/16/17;b=1-xx/14/15*a;c=1-xx/12/13*b;d=1-xx/10/11*c;e=1-xx/8/9*d;f=1-xx/6/7*e; g=1-xx/4/5*f;h=1-xx/2/3*g;ii=x1*h;

//ii=x1*(1-xx/2/3*(1-xx/4/5*(1-xx/6/7*(1-xx/8/9*(1-xx/10/11*(1-xx/12/13*(1-xx/14/15*(1-x x/16/17))))))));//数学总公式

// fprintf(stdout,"COMPUTE%f",ii); fprintf(stdout,"\n "); //输出计算的正弦波的数值,x2=e

output1[i]= 32767*ii; //利用泰勒级数计算出正弦波的数值,存放到output1中

output[i]=output1[i]/32;

// Initialize CSL library - This is REQUIRED !!!

// The main frequency of system is 240MHz

// 该频率是为了设置IIC模块的需要设置的,为了使用I2C_setup函数

PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);

//EMIF初始化

Emif_Config();

// Open McBSP port 1 and get a McBSP type handle

hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);

// Config McBSP port 1 by use previously defined structure

Mcbsp_Config(hMcbsp);

//I2C初始化

I2C_cofig();

//CODEC寄存器初始化

inti_AIC();

/*------------------------------------------------------------------------------------*/

// Receive the ADC output data of CODEC

// Then output the received data to DAC of CODEC

/*------------------------------------------------------------------------------------*/

while(1)

{

while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, dacdata4[k]*gain+abc); //左声道输出while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, dacdata4[k]*gain+abc); //右声道输出k=k+1+frequency; //正弦波每周期的样点为360个,输出信号的频率为Fs/N=32000/360=88.89Hz

// k=k+10; //正弦波每周期的样点为36个,输出信号的频率为Fs/N=32000/36=888.9Hz

if (k>=Nx) k=k%Nx;

}

}

}

GEL文件:

Amp.gel:

menuitem "Signal Gain"

slider gain(0,1000,1,1,gainparameter) {

Amp=gainparameter;

}

Fre.gel:

menuitem "Signal Frequency" slider fre(40,1000,1,1,freparameter) {

Fre=freparameter;

}

硬件仿真结果:

添加GEL程序进行变量的滑块控制

经测试仪测试为516Hz,基本正确。

设计程序输出频率范围为40—1000Hz。

设计程序输出幅度范围为0-1000V。

2.泰勒级数法实现余弦波

程序代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include "E2PROM_Function.h"

#include "CODEC.h"

#define K 0 //直流分量

#pragma DATA_SECTION(output1,"data_out1"); //存放cos数据,浮点型

float output1[1000];

#pragma DATA_SECTION(output,"data_out"); //存放cos数据,定点型

int output[1000];

volatile int Fre; //余弦波每周期的样点为Nx个,输出信号的频率为Fs/Nx=32000/Nx volatile int gain; //余弦波幅度范围定义为0-1000V

#undef CODEC_ADDR

#define CODEC_ADDR 0x1A

// 定义McBSP的句柄

MCBSP_Handle hMcbsp;

/*------------------------------------------------------------------------------------*/

//

// FUNCTION: MAIN

/*------------------------------------------------------------------------------------*/

void main(void)

{

Uint16 i=0,k=0;

int Nx=(int)32000/Fre; //将输入的频率值转变为Nx值

int amp=(int)gain/3.14;

float input0=0,x1,x2;

float a,b,c,d,e,f,g,h,ii,step; //step为角度步长

step=360.0/Nx; // Nx为360度内取样点数

/*****************余弦函数*****************/

_cosx[0]=1.000;

dacdata[0]=200;

_cosx[1]=_COSX;

dacdata[1]=_COSX*100+100;

while(1)

{

if(o++>Nx-1)

break;

_cosx[o]=2*_COSX*_cosx[o-1]-_cosx[o-2];

dacdata[o]=_cosx[o]*100+100;

}

}

// Initialize CSL library - This is REQUIRED !!!

CSL_init();

// The main frequency of system is 240MHz

// 该频率是为了设置IIC模块的需要设置的,为了使用I2C_setup函数PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);

//EMIF初始化

Emif_Config();

// Open McBSP port 1 and get a McBSP type handle

hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET); // Config McBSP port 1 by use previously defined structure Mcbsp_Config(hMcbsp);

//I2C初始化

I2C_cofig();

//CODEC寄存器初始化

inti_AIC();

while(1)

{

while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, dacdata[k]*gain+abc); //左声道输出while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, dacdata[k]*gain+abc); //右声道输出k=k+1+frequency;

if (k>=Nx) k=k%Nx;

}

}

GEL文件:

ampcos.gel:

menuitem "Signal Gain"

slider gain4(0,1000,1,1,gainparameter)

{

gain=gainparameter;

}

Frecos.gel:

menuitem "Signal Frequency"

slider fre4(40,1000,1,1,freparameter)

{

Fre=freparameter;

}

硬件仿真结果:

添加GEL程序进行变量的滑块控制

此时设定输出幅度为355V,示波器测得电压为355V,输出频率为458Hz。经测试仪测试为473Hz,基本正确。

设计程序输出频率范围为40—1000Hz。

设计程序输出幅度范围为0-1000V。

3.三角波

程序代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "CODEC.h"

#define pi 3.1415927

#define pi2 2*pi

#undef CODEC_ADDR

#define CODEC_ADDR 0x1A

volatile int Fre; //三角波每周期的样点为Nx个,输出信号的频率为Fs/Nx=32000*2/Nx

volatile int Amp; //三角波幅度范围定义为0-1000V

double tri[2000]; //存放三角波数据

int outbuffer[2000]; //存放输出数据

double T=0, DT; //中间控制变量

unsigned int I=0;

// 定义McBSP的句柄

MCBSP_Handle hMcbsp;

/*------------------------------------------------------------------------------------*/

//

// FUNCTION: MAIN

//

/*------------------------------------------------------------------------------------*/

void main(void)

{

Uint16 i=0,k=0;

int Nx=(int)(64000/Fre); //将输入的频率值转变为Nx值

int amp3=(int)(Amp/8.09);

/*****************三角波函数*****************/

DT=8*pi*F0/Fs;

for(T=0,I=0;I<=Nx/4;I++,T+=DT)

{tri[Nx/2-I]=tri[I]=T;

}

for(T=0,I=Nx/2;I<=3*Nx/4;I++,T+=DT)

{

tri[I]=T;

tri[Nx-I+Nx/2]=tri[I];

}

for(I=0;I<=Nx;I++)

{ dacdata3[I]=tri[I]*10;

}

// Initialize CSL library - This is REQUIRED !!!

CSL_init();

// The main frequency of system is 240MHz

PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);

//EMIF初始化

Emif_Config();

// Open McBSP port 1 and get a McBSP type handle

hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET); // Config McBSP port 1 by use previously defined structure Mcbsp_Config(hMcbsp);

//I2C初始化

I2C_cofig();

//CODEC寄存器初始化

inti_AIC();

while(1)

{

while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, outbuffer2[k]); //左声道输出while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, outbuffer2[k]); //右声道输出k=k+1+frequency;

if (k>=Nx) k=k%Nx;

}

}

GEL文件:

amptri.gel:

menuitem "Signal Gain"

slider amp3(0,1000,1,1,gainparameter)

{

Amp=gainparameter;

}

Fretri.gel:

menuitem "Signal Frequency" slider fre4(40,1000,1,1,freparameter) {

Fre=freparameter;

}

硬件仿真结果:

添加GEL程序进行变量的滑块控制:

直流伺服电机实验报告

实验六 直流伺服电机实验 一、实验设备及仪器 被测电机铭牌参数: P N =185W ,U N =220V ,I N =1.1A , 使用设备规格(编号): 1.MEL 系列电机系统教学实验台主控制屏(MEL-I 、MEL-IIA 、B ); 2.电机导轨及测功机、转速转矩测量(MEL-13); 3.直流并励电动机M03(作直流伺服电机); 4.220V 直流可调稳压电源(位于实验台主控制屏的下部); 5.三相可调电阻900Ω(MEL-03); 6.三相可调电阻90Ω(MEL-04); 7.直流电压、毫安、安培表(MEL-06); 二、实验目的 1.通过实验测出直流伺服电动机的参数r a 、e κ、T κ。 2.掌握直流伺服电动机的机械特性和调节特性的测量方法。 三、实验项目 1.用伏安法测出直流伺服电动机的电枢绕组电阻r a 。

2.保持U f=U fN=220V,分别测取U a =220V及U a=110V的机械特性n=f(T)。3.保持U f=U fN=220V,分别测取T2=0.8N.m及T2=0的调节特性n=f(Ua)。4.测直流伺服电动机的机电时间常数。 四、实验说明及操作步骤 1.用伏安法测电枢的直流电阻Ra

表中Ra=(R a1+R a2+R a3)/3; R aref=Ra*a ref θ θ + + 235 235 (3)计算基准工作温度时的电枢电阻 由实验测得电枢绕组电阻值,此值为实际冷态电阻值,冷态温度为室温。按下式换算到基准工作温度时的电枢绕组电阻值: R aref=Ra a ref θ θ + + 235 235

模拟信号源实验报告

实验1 模拟信号源实验 一、实验目的 1.了解本模块中函数信号产生芯片的技术参数; 2.了解本模块在后续实验系统中的作用; 3.熟悉本模块产生的几种模拟信号的波形和参数调节方法。 二、实验仪器 1.时钟与基带数据发生模块,位号:G 2.频率计1 台 3.20M 双踪示波器1 台 4.小电话单机1 部 三、实验原理 本模块主要功能是产生频率、幅度连续可调的正弦波、三角波、方波等函数信号(非同步函数信号),另外还提供与系统主时钟同源的2KHZ 正弦波信号(同步正弦波信号)和模拟电话接口。在实验系统中,可利用它定性地观察通信话路的频率特性,同时用做PAM、PCM、ADPCM、CVSD(Δ M)等实验的音频信号源。本模块位于底板的左边。 1.非同步函数信号 它由集成函数发生器XR2206 和一些外围电路组成,XR2206 芯片的技术资料可到网上搜索得到。函数信号类型由三档开关K01 选择,类型分别为三角波、正弦波、方波等;峰峰值幅度范围0~10V,可由W03调节;频率范围约500HZ~5KHZ,可由W02 调节;直流电平可由W01 调节(一般左旋到底)。非同步函数信号源结构示意图,见图2-1。 2.同步正弦波信号 它由2KHz 方波信号源、低通滤波器和输出放大电路三部分组成。2KHz 方波信号由“时钟与基带数据发生模块”分频产生。U03 及周边的阻容网络组成一个截止频率为2KHZ 的低通滤波器,用以滤除各次谐波,只输出一个2KHz 正弦波,在P04 可测试其波形。用其作为PAM、PCM、ADPCM、CVSD(Δ M)等模块的音频信号源,其编码数据可在普通模拟示波器上形成稳定的波形,便于实验者观测。W04 用来改变输出同步正弦波的幅度。同步信号源结构示意图,见图2-2。

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

信号发生器实验报告

低频电路课程设计 OCL 功率放大器设计 学院名称: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 08测控1班 姓 名: 朱彬彬 学 号: 08314105 指导老师: 王云松 2010年 6 月20 日 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 电气信息工程学院

1设计课题:OCL功率放大器 为了保证功率,效率和失真三个指标满足一定的要求,早期的功率放大器多采用变压耦合。这种电路变压器体积大,比较笨重,耗损多,而且高频和低频部分频响特性不好,在引入负反馈时,很容易自激。随着电子技术的发展,后来被无输出变压器的功率放大电路(OTL)代替。在OTL电路中,虽去掉了变压器,但为了能用但电源供电,输出端接了一个大电容,这个大电容影响了电路的低频特性,于是出现了OCL电路。 OCL功放是在OTL功放的基础上发展起来的,它比OTL功放的频带更宽,保真度更高。OCL功放是一种直接耦合的多级放大器,它运用了许多电子器件,包含了多种基本电路形式。 OCL功率放大器采用两组电源供电,使用了正负电源,在电压不太高的情况下,也能获得较大的输出功率,省去了输出端的耦合电容,使放大器低频特性得到扩展,OCL功放电路也是定压式输出电路,其电路由于性能比较好,所以广泛的应用于高保真扩音设备中。 2 主要技术指标 最大不失真输出功率:Pom≥8w 负载阻抗(扬声器):R L=10Ω 频率响应:f=50Hz~20kHz 非线性失真系数:γ≤功率放大器1% 输入灵敏度:Vi≤300mv 稳定性:电源升高和降低20%时,输出零点漂移≤100mv 3实验用仪器: 直流稳压电源一台 低频信号发生器一台 低频毫伏表一台 示波器一台 万用表一台 晶体管图示仪一台 失真度测量仪一台 4电路原理 OC L功率放大器时一种直接耦合的多级放大器,总体可分为三个部分

上海交大运动控制直流无刷电机实验报告

直流无刷电机实验报告 一、硬件电路原理简述 1、总体硬件电路图 图总体硬件电路原理图 单片机通过霍尔传感器获得转子的位置,并以此为依据控制PWM波的通断。

2、霍尔元件测量值与PWM波通断的关系 图霍尔元件测量值与PWM波通断的关系 二、软件架构 1、Components与变量定义 图 Components列表 PWMMC是用来产生控制电机的PWM波的。添加PWMMC时会同时加入一个eFlexPWM。

PWM_Out对应的是GPIO B2口,这个口电位为高时,电压才会被加到电机上。 GPIO B3控制着一个继电器,用于防止启动时过大的冲击电流。程序开始后不久就应把B3置高。 Halla、Hallb、Hallc对应于3个霍尔传感器。依次为GPIOC3、C4、C6。 TimerInt是用于测速的。根据2次霍尔元件的中断间的时间间隔来计算转速。 2、电机旋转控制代码 for(;;) { Hall_Sensor = 0b00000000; Halla = Halla_GetVal(); Hallb = Hallb_GetVal(); Hallc = Hallc_GetVal(); if(Halla) Hall_Sensor |= 0b00000100; if(Hallb) Hall_Sensor |= 0b00000010; if(Hallc)

Hall_Sensor |= 0b00000001; switch(Hall_Sensor) { case 0b0000011: PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM1_ENABLE); PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM2_ENABLE); break; case 0b0000001: PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM1_ENABLE); PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM0_ENABLE); break; case 0b0000101: PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM2_ENABLE); PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM0_ENABLE); break;

数字信号源实验报告

实验一数字信号源实验 一、实验目的 1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 2、掌握集中插入帧同步码时分复用信号的帧结构特点。 3、掌握数字信号源电路组成原理。 二、实验内容 1、用示波器观察单极性非归零码(NRZ)、帧同步信号(FS)、位同步时钟(BS)。 2、用示波器观察NRZ、FS、BS三信号的对应关系。 3、学习电路原理图。 三、基本原理 本模块是实验系统中数字信号源,即发送端,其原理方框图如图1-1所示。本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。此NRZ信号为集中插入帧同步码时分复用信号。发光二极管亮状态表示‘1’码,熄状态表示‘0’码。 本模块有以下测试点及输入输出点: ? CLK-OUT 时钟信号测试点,输出信号频率为4.433619MHz ? BS-OUT 信源位同步信号输出点/测试点,频率为170.5KHz ? FS 信源帧同步信号输出点/测试点,频率为7.1KHz ? NRZ-OUT NRZ信号输出点/测试点 图1-3为数字信源模块的电原理图。图1-1中各单元与图1-3中的元器件对应关系如下: ?晶振CRY:晶体;U1:反相器7404 ?分频器US2:计数器74161;US3:计数器74193; US4:计数器40160 ?并行码产生器KS1、KS2、KS3:8位手动开关,从左到右依次与帧同步码、数据1、数据2相对应;发光二极管左起分别与一帧中的24位代码相对应 ?八选一US5、US6、US7:8位数据选择器4512 ?三选一US8:8位数据选择器4512 ?倒相器US10:非门74HC04 ?抽样US9:D触发器74HC74

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

函数信号发生器实训报告

电子与信息工程 综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级:电子1班 组员:徐丹许艳徐梅 指导教师:张辉 时间:2013-6-8至2011-6-16

目录 前言......................................................................... 错误!未定义书签。 1 波形发生器概述 (2) 1.1波形发生器的发展状况 (2) 1.2国内外波形发生器产品比较 (3) 2 方案论证与比较 (4) 2.1 方案一 (4) 2.2 方案二 (5) 2.3 方案三 (5) 3 硬件原理 (5) 3.1 MCS-51单片机的内部结构 (6) 3.1.1 内部结构概述 (6) 3.1.2 CPU结构 (6) 3.1.3 存储器和特殊功能寄存器 (7) 3.2 P0-P3口结构 (7) 3.3 时钟电路和复位电路 (8) 3.3.1时钟电路 (8) 3.3.2单片机的复位状态 (9) 3.4 DAC0832的引脚及功能 (10) 4 软件原理 (11) 4.1 主流程图 (12) 4.1.1 方波仿真图 (13) 4.1.2 三角波仿真图 (14) 4.1.3 锯齿波仿真图 (15) 4.1.4 梯形波仿真图 (16) 4.1.5 正弦波仿真图 (17) 4.2附录:实物图 (17) 总结 (18) 致谢 (19) 参考文献 (19)

1 波形发生器概述 在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。 1.1波形发生器的发展状况 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。 在70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。 在70 年代后,微处理器的出现,可以利用处理器、A/D/和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。 90 年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8 中波形,而且价格昂贵。不久以后,Analogic公司推出了型号为Data-2020的多波形合成器,Lecr oy 公司生产的型号为9100 的任意波形发生器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz 的DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent 的产品33220A能够产生17 种波形,最高频率可达到20M,2005 年的产品N6030A 能够产生高达500MHz 的频率,采样的频率可达1.25GHz。由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面:

电动机实验报告doc

电动机实验报告 篇一:电机实验报告 黑龙江科技大学 综合性、设计性实验报告 实验项目名称电机维修与测试 所属课程名称电机学 实验日期 XX年5.6—5.13 班级电气11-13班 学号 姓名 成绩 电气与信息工程学院实验室 篇二:电机实验报告 实验报告本 课程名称:电机拖动基础班级:电气11-2 姓名田昊石泰旭孙思伟 指导老师:_史成平 实验一单相变压器实验 实验名称:单相变压器实验 实验目的:1.通过空载和短路实验测定变压器的变比和参数。

2.通过负载实验测取变压器的运行特性。 实验项目:1. 空载实验测取空载特性U0=f(I0), P0=f(U0)。 2. 短路实验测取短路特性Uk=f(Ik), Pk=f(I)。 3. 负载实验保持U1=U1N,cos?2?1的条件下,测取U2=f(I2)。 (一)填写实验设备表 (二)空载实验 1.填写空载实验数据表格 2. 根据上面所得数据计算得到铁损耗PFe、励磁电阻Rm、励磁电抗Xm、电压比k (三)短路实验 1. 填写短路实验数据表格 O (四)负载实验 1. 填写负载实验数据表格 表3 cos?2=1 (五)问题讨论 1. 在实验中各仪表量程的选择依据是什么? 根据实验的单相变压器额定电压、额定电流、额定容量、空载电压,单 相变压器电源电压和频率、线圈匝数、磁路材质及几何尺寸等。 2. 为什么每次实验时都要强调将调压器恢复到

起始零位时方可合上电源开关或断开电源开关? 防止误操作造成人身伤害、防止对变压器及其它仪器仪表等设备过压过 流而损坏。 3. 实验的体会和建议 1.电压和电流的区别:空载试验在低压侧施加额定电压,高压侧开路;短路 试验在高压侧进行,将低压侧短路,在高压侧施加可调的低电压。2.测量范围的不同:空载试验主要测量的是铁芯损耗和空载电流, 而短路试 验主测量的是短路损耗和短路电阻。3.测量目的不同:空载试验主要测量数据反映铁芯情况,短路试验反映的是线圈方面的问题。 4.试验时,要注意电压线圈和电流线圈的同名端,要避免接错线。选择的导 线应该是高压导线,要不漏线头要有绝缘外皮保护。5.通过负载试验可以知道变压器的阻抗越小越好。阻抗起着限制变压器的电 流的作用,在设计时我们要考虑这些。 篇三:直流电动机实验报告 电机 实验报告 课程名称:______电机实验_________指导老师:___

信号发生器设计---实验报告

信号发生器设计 一、设计任务 设计一信号发生器,能产生方波、三角波和正弦波并进行仿真。 二、设计要求 基本性能指标:(1)频率范围100Hz~1kHz;(2)输出电压:方波U p-p≤24V,三角波U =6V,正弦波U p-p>1V。 p-p 扩展性能指标:频率范围分段设置10Hz~100Hz, 100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30u s(1kHz,最大输出时)用仪器测量上升时间,三角波r△<2%,正弦波r <5%。(计算参数) ~ 三、设计方案 信号发生器设计方案有多种,图1是先产生方波、三角波,再将三角波转换为正弦波的组成框图。 图1 信号发生器组成框图 主要原理是:由迟滞比较器和积分器构成方波——三角波产生电路,三角波在经过差分放大器变换为正弦波。方波——三角波产生基本电路和差分放大器电路分别如图2和图4所示。 图2所示,是由滞回比较器和积分器首尾相接形成的正反馈闭环系统,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。其工作原理如图3所示。

图2 方波和三角波产生电路 图3 比较器传输特性和波形 利用差分放大器的特点和传输特性,可以将频率较低的三角波变换为正弦波。(差模传输特性)其基本工作原理如图5所示。为了使输出波形更接近正弦波,设计时需注 应接近晶体意:差分放大器的传输特性曲线越对称、线性区越窄越好;三角波的幅值V m 管的截止电压值。 图4 三角波→正弦波变换电路

图5 三角波→正弦波变换关系 在图4中,RP 1调节三角波的幅度,RP 2调整电路的对称性,并联电阻R E2用来减小差分放大器的线性区。C 1、C 2、C 3为隔直电容,C 4为滤波电容,以滤除谐波分量,改善输出波形。取Ic2上面的电流(看输出) 波形发生器的性能指标: ①输出波形种类:基本波形为正弦波、方波和三角波。 ②频率范围:输出信号的频率范围一般分为若干波段,根据需要,可设置n 个波段范围。(n>3) ③输出电压:一般指输出波形的峰-峰值U p-p 。 ④波形特性:表征正弦波和三角波特性的参数是非线性失真系数r ~和r △;表征方波特性的参数是上升时间t r 。 四、电路仿真与分析 实验仿真电路图如图

DSP实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

模电函数信号发生器实验报告

电子电路模拟综合实验 2009211120 班 09210580(07)号 桂柯易

实验1 函数信号发生器的设计与调测 摘要 使用运放组成的积分电路产生一定频率和周期的三角波、方波(提高要求中通过改变积分电路两段的积分常数从而产生锯齿波电压,同时改变方波的占空比),将三角波信号接入下级差动放大电路(电流镜提供工作电流),利用三极管线性区及饱和区的放大特性产生正弦波电压并输出。 关键词 运放积分电路差动发达电路镜像电流源 实验内容 1、基本要求: a)设计制作一个可输出正弦波、三角波和方波信号的函数信号发生器。 1)输出频率能在1-10KHz范围内连续可调,无明显失真; 2)方波输出电压Uopp=12V,上升、下降沿小于10us,占空比可调范围30%-70%; 3)三角波Uopp=8V; 4)正弦波Uopp>1V。 b)设计该电路的电源电路(不要求实际搭建),用PROTEL软件绘制完整的 电路原理图(SCH) 2、提高要求: a)三种输出波形的峰峰值Uopp均可在1V-10V范围内连续可调。 b)三种输出波形的输出阻抗小于100欧。 c)用PROTEL软件绘制完整的印制电路板图(PCB)。 设计思路、总体结构框图 分段设计,首先产生方波-三角波,再与差动放大电路相连。 分块电路和总体电路的设计(1)方波-三角波产生电路: 正弦波产生电路三角波产生电路 方波产生电路

首先,稳压管采用既定原件2DW232,保证了输出方波电压Uo1的峰峰值为12V,基本要求三角波输出电压峰峰值为8V,考虑到平衡电阻R3的取值问题,且要保证R1/Rf=2/3,计算决定令Rf=12K,R1=8K,R3=5K。又由方波的上升、下降沿要求,第一级运放采用转换速度很快的LM318,Ro为输出限流电阻,不宜太大,最后采用1K欧电阻。二级运放对转换速度要求不是很高,故采用UA741。考虑到电容C1不宜过小,不然误差可能较大,故C1=0.1uF,最后根据公式,Rw抽头位于中点时R2的值约为300欧,进而确定平衡电阻R4的阻值。考虑到电路的安全问题,在滑阻的接地端串接了一个1K的电阻。(注:实际调测时因为滑阻转动不太方便,所以通过不断换滑阻的方式确定适当频率要求下Rw的阻值,我的电路最后使用的是1K欧的滑阻) (2)正弦波产生电路:

【实验报告】直流发电机的工作特性实验报告范文

直流发电机的工作特性实验报告范文 篇一:直流发电机实验报告 一、实验目的 1、掌握用实验方法测定直流发电机的各种运行特性,并根据所测得的运行特性评定该被试电机的有关性能。 2、通过实验观察并励发电机的自励过程和自励条件。 二、预习要点 1、什么是发电机的运行特性?在求取直流发电机的特性曲线时,哪些物理量应保持不变,哪些物理量应测取。 2、做空载特性实验时,励磁电流为什么必须保持单方向调节? 3、并励发电机的自励条件有哪些?当发电机不能自励时应如何处理? 4、如何确定复励发电机是积复励还是差复励? 三、实验项目 1、他励发电机实验 (1)测空载特性保持n=nN使IL=0,测取U0=f(If)。 (2)测外特性保持n=nN使If=IfN ,测取U=f(IL)。 (3)测调节特性保持n=nN使U=UN,测取If=f(IL)。 2、并励发电机实验 (1)观察自励过程

(2)测外特性保持n=nN使Rf2=常数,测取U=f(IL)。 3、复励发电机实验 积复励发电机外特性保持n=nN使Rf2=常数,测取U=f(IL)。 四、实验设备及挂件排列顺序 1、实验设备 2、屏上挂件排列顺序D31、D44、D31、D42、D51 五、实验方法1、他励直流发电机 励磁电源图2-3直流他励发电机接线图 按图2-3接线。图中直流发电机G选用DJ13,其额定值PN=100W,UN=200V,IN=0.5A,nN=1600r/min。校正直流测功机MG作为G的原动机(按他励电动机接线)。MG与G由联轴器直接连接。开关S选用D51组件。Rf1选用D44的1800 Ω变阻器,Rf2 选用D42的900Ω变阻器,并采用分压器接法。R1选用D44的180Ω变阻器。R2为发电机的负载电阻选用D42,采用串并联接法(900Ω与900Ω电阻串联加上900Ω与900Ω并联),阻值为2250Ω。当负载电流大于0.4 A时用并联部分,而将串联部分阻值调到最小并用导线短接。直流电流表和电压表选用D31,并根据需要选择合适的量程。电枢电源打开之前,应先将电枢电源的调节旋钮拧到最小。(1)测空载特性 1)断开发电机G的负载开关S。将Rf2调至最大。

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

函数信号发生器实验报告

北京邮电大学 电子电路综合设计实验报告 课题名称:函数信号发生器的设计和调试 院系:信息与通信工程学院 班级: 2012211113 姓名:李鸣野 学号:2012210362 班内序号:01 摘要 函数(波形)信号发生器能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波和脉冲波等)信号,频率范围可从几个微赫到几十兆赫函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。除供通信、仪表和自动控制系统测试用外,还广泛用于其他非电测量领域。方波-三角波产生电路主要有运放组成,其中由施密特触发器多谐振荡器产生方波,积分电路将方波转化为三角波,差分电路实现三角波-正弦波的变换。该电路振荡频率由第一个电位器调节,输出方波幅度的大小由稳压管的稳压值决定;正弦波幅度和电路的对称性分别由后两个电位器调节。

关键词:方波,三角波,正弦波 基本要求: a)设计一个设计制作一个可输出正弦波、三角波和方波信号的函数信号发生器 1)输出频率能在1-10khz范围内连续可调,无明显失真; 2)方波输出电压Uopp=12V,上升、下降沿小于10us,占空比可调范围30%--70%; 3)三角波Uopp=8V; 4)正弦波Uopp≥1V。 b)用PROTEL软件绘制完整的电路原理图(SCH) 设计思路: 要产生方波,需要用稳压管和比较器组成方波产生电路。稳压管为实验提供的6v稳压管。方波经过RC积分电路积分得到三角波,幅度为Uo2m=±(UZ+UD),由R1和Rf的比值及稳压管的稳压值决定,实验要求三角波峰峰值为8v,故根据公式推导后,选用20K的电阻作为R1,30K的电阻作为Rf。R3为12K。R4为直流平衡电阻,应与R2保持一致,均为5K。R0为限流电阻,根据实验要求选用2K。 三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。R e取阻值为100Ω,C1、C2、C4为隔直流电容,取C1=C2=C3=33uF。Rp1调节三角波

基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计 一设计目得 1掌握单片机用PWM实现直流电机调整得基本方法,掌握直流电机得驱动原理。 2学习模拟控制直流电机正转、反转、加速、减速得实现方法. 二设计要求 用已学得知识配合51单片机设计一个可以正转、反转或变速运动得直流电机控制电路,并用示波器观察其模拟变化状况。 三设计思路及原理 利用单片机对PWM信号得软件实现方法.MCS一51系列典型产品8051具有两个定时计数器。因为PWM信号软件实现得核心就是单片机内部得定时器,所以通过控制定时计数器初值,从而可以实现从8051得任意输出口输出不同占空比得脉冲波形。从而实现对直流电动机得转速控制。 .AT89C51得P1、0—P1、2控制直流电机得快、慢、转向,低电平有效.P3、0为PWM波输出,P3、1为转向控制输出,P3、2为蜂鸣器。PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变得PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警 四实验器材 DVCC试验箱导线若电源等器件

PROTUES仿真软件KRIL软件 五实验流程与程序 #include 〈 reg51、h > sbitK1 =P1^0;增加键 sbit K2 =P1^1 ; 减少键 sbit K3 =P1^2;转向选择键 sbit PWMUOT =P3^0; PWM波输出?? sbitturn_around =P3^1 ;?转向控制输出 sbit BEEP =P3^2 ;蜂鸣器 unsigned int PWM; void Beep(void); void delay(unsigned int n); void main(void) { TMOD=0x11;//设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536—TH)/fose/12} ?TL0=0; TH1=PWM; //脉宽调节,高8位 ? TL1=0; EA=1;? //开总中断 ET0=1; //开T0中断? ET1=1;??//开T1中断

信号发生器实验报告

电子线路课程设计报告设计题目:简易数字合成信号发生器 专业: 指导教师: 小组成员:

数字合成信号发生器设计、调试报告 一:设计目标陈述 设计一个简易数字信号发生器,使其能够产生正弦信号、方波信号、三角波信号、锯齿波信号,要求有滤波有放大,可以按键选择波形的模式及周期及频率,波形可以在示波器上 显示,此外可以加入数码管显示。 二、完成情况简述 成功完成了电路的基本焊接,程序完整,能够实现要求功能。能够通过程序控制实现正弦波的输出,但是有一定噪声;由于时间问题,我们没有设计数码管,也不能通过按键调节频率。 三、系统总体描述及系统框图 总体描述:以51单片机开发板为基础,将输出的数字信号接入D\A转换器进行D\A转换,然后接入到滤波器进行滤波,最后通过运算放大器得到最后的波形输出。 四:各模块说明 1、单片机电路80C51 程序下载于开发板上的单片机内进行程序的执行,为D\A转换提供了八位数字信号,同时为滤波器提供高频方波。通过开发板上的232串口,可以进行软件控制信号波形及频率切换。通过开发板连接液晶显示屏,显示波形和频率。 2、D/A电路TLC7528 将波形样值的编码转换成模拟值,完成单极性的波形输出。TLC7528是双路8位数字模拟转换器,本设计采用的是电压输出模式,示波器上显示波形。直接将单片机的P0口输出传给TLC7528并用A路直接输出结果,没有寄存。 3、滤波电路MAX7400 通过接收到的单片机发送来的高频方波信号(其频率为所要实现波频率的一百倍)D转换器输出的波形,对转换器输出波形进行滤波并得到平滑的输出信号。 4、放大电路TL072

TL072用以对滤波器输出的波进行十倍放大,采用双电源,并将放大结果送到示波器进行波形显示。 五:调试流程 1、利用proteus做各个模块和程序的单独仿真,修改电路和程序。 2、用完整的程序对完整电路进行仿真,调整程序结构等。 3、焊接电路,利用硬件仿真器进行仿真,并用示波器进行波形显示,调整电路的一些细节错误。 六:遇到的问题及解决方法 遇到的软件方面的问题: 最开始,无法形成波形,然后用示波器查看滤波器的滤波,发现频率过低,于是检查程序发现,滤波器的频率设置方面的参数过大,延时程序的参数设置过大,频率输出过低,几次调整好参数后,在进行试验,波形终于产生了。 七:原理图和实物照片 波形照片:

51单片机信号发生器实验报告

微控制器技术创新设计实验报告姓名:学号:班级: 一、项目背景 信号发生器也叫做振荡器或是信号源,在现在的科技生产实践中有着广泛而重要的应用。现在的特殊波形发生器在价格上不够经济,有些昂贵。而基于AT89C51单片机的函数信号发生器可以满足此要求。根据傅里叶变换,各种波形均可以用三角函数的相关式子表示出来。函数信号发生器能够产生多种波形,如三角波、锯齿波、矩形波、方波和正弦波。 二、项目整体方案设计 可以利用单片机编程的方法来实现波形的输出。可选用AT89C51作为控制器,输出相应波形的数字信号,再用D/A 转换器输出相应波形的模拟信号。用DAC0832作为D/A转换器,再经过两级放大后输出,最终在示波器上显示。可以使用按键扫描来实现波形的变化

三、硬件设计 四、软件设计 #include #define uchar unsigned char #define uint unsigned int Const tab[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff ,0xff,0xff,0xff,0xff,0xff,0xff}; void delay(void) { uchar i; for(i=230;i>0;i--); }

void main() { uchar i; while(1) { for(i=0;i<18;i++) { P1=tab[i]; delay(); } } } 五、实验结果

六、项目总结 通过这次实验设计,锻炼我们综合运用知识,提出问题,分析问题,及解决问题的能力。我感慨颇多,在着手设计的这段日子里,我又学到了很多东西。特别是理论联系实际。我认为掌握单片机的应用及开发技术是最基本的也是必要的。单片机是以后从事相关嵌入式研发最为基本的入门芯片。所以学好单片机是我们电子类的必要任务。通过这次单片机课程设计的顺利完成,离不开付老师指导,也离不开班上同学的耐心帮助。在此,我对所有帮助过我的老师和同学表示我真挚的感谢!

相关文档
最新文档