电子系统设计实验报告1.docx

上传人:b****5 文档编号:6810998 上传时间:2023-01-10 格式:DOCX 页数:50 大小:597.05KB
下载 相关 举报
电子系统设计实验报告1.docx_第1页
第1页 / 共50页
电子系统设计实验报告1.docx_第2页
第2页 / 共50页
电子系统设计实验报告1.docx_第3页
第3页 / 共50页
电子系统设计实验报告1.docx_第4页
第4页 / 共50页
电子系统设计实验报告1.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

电子系统设计实验报告1.docx

《电子系统设计实验报告1.docx》由会员分享,可在线阅读,更多相关《电子系统设计实验报告1.docx(50页珍藏版)》请在冰豆网上搜索。

电子系统设计实验报告1.docx

电子系统设计实验报告1

 

——实验报告

姓名:

王腾

班级:

08电子信息工程

(2)班

学号:

120081003223

实验18位高速AD模块使用

一、实验目的:

1.了解8位AD的分类和原理。

2.掌握8位高速AD的使用方法。

二、实验内容:

ESDM-0401模块的元件排布图如图5-1所示,ESDM-0401模块的原理图如图5-2所示。

高速A/D模块由A/D转换器和信号调理电路组成。

A/D转换器采用3.3V、30MHz、8位高速A/D转换器AD930。

信号调理电路由150MHz高速双运放MAX4016组成,其增益、直

流偏移量可调。

R1、C1构成低通滤波电路。

图5-1高速A/D模块元器件排布图

 

图5-2高速A/D模块原理图

AD930为3.3VA/D转换器,可以与FPGA模块(ESDM-0301)直接接口,使用时通

过16芯扁平电缆(或用硬芯线直接焊接)将高速A/D模块与FPGA模块相连,如图4-3所

示。

三、实验步骤:

(1)通过J3口加上±5V电源,注意极性;(J3输入口设有两只TVS管,可有效保护

过压或极性接反损坏芯片)。

(2)将信号发生器输出的正弦信号(频率100kHz,Vpp为2V为宜)从J2口输入。

(3)调节PR1(调节增益,顺时针增大,反之减少)和PR2电位器(调节直流偏移量,顺时针增大,反之减少),同时用示波器观测ADin点的波形,使加到AD930的输入信号电压范围处于1.0V~2.0V之间。

(4)R1、C1构成低通滤波电路,作为A/D转换器的抗混叠滤波器,其截止频率

改变C1、R1的值可以调整其截止频率。

信号发生器输出的正弦信号(频率100kHz,Vpp为2V):

ADin的波形:

实验心得:

做的时候,注意把AREF与地之间并上一个电容,这样对整个许同的稳定性是很有帮助的,就算你不用外部基准的话,也最好并上。

要是做的AD不需要太精确,比如你只用来判定一个电压的范围的话,取低8位就足够用了。

做AD转换时外部的抗干扰电路非常重要。

AD转换第一次的结果应舍弃。

实验28位高速DA模块使用

一、实验目的:

1.了解8位DA的分类和原理。

2.掌握8位高速DA的使用方法。

二、实验内容:

ESDM-0402模块元件排布图如图6-1所示,原理图如图6-2所示。

高速D/A模块由

100MHz8位D/A转换器AD9708、单片集成低通滤波器LT6600-5、宽带运放MAX4016组

成。

AD9708模拟量输出为电流信号,通过电阻R2、R3电阻将电流转换为电压信号,为了

滤除信号中的高频成分,改善波形质量,通过一片单片集成低通滤波器LT6600-5(截止频

率为5MHz)对D/A输出的信号进行滤波。

放大电路由差分电路和反相放大器组成,差分电

路(U3A)将低通滤波器输出的差分信号转换成单端输出信号。

反相放大器(U3B)对差分

电路输出的信号进行放大。

反相放大器的直流偏移量和增益可通过电位器PR2和PR1手动

调节。

AD9708为5VD/A转换器,可以与FPGA模块(ESDM-0301)直接接口,使用时通

过16芯扁平电缆将高速D/A模块与FPGA模块(ESDM-0301)相连。

相关程序代码:

1.三角波输出程序:

ORG0000H

SJMPSTART

ORG0030H

START:

MOVDPTR,#0C000H;

DA:

MOVR0,#80H;输出初始值入R0(从0伏开始输出),兼做输出计数控制

UP:

MOVA,R0;输出值入A

MOVX@DPTR,A;正向增长,DA转换输出

INCR0;输出值加1

NOP;延时1微秒

NOP;延时1微秒

CJNER0,#0FFH,UP;输出未到5伏则转UP,继续正向增长

DOWN:

DECR0;输出值减1

MOVA,R0;输出值入A

MOVX@DPTR,A;反向减小,DA转换输出

NOP;延时1微秒

NOP;延时1微秒

CJNER0,#80H,DOWN;输出未到0伏则转DOWN,继续反向减小

AJMPDA;一个周期结束进入下一个周期

END

2.方波输出程序(C语言实现)

 

#include

#include

#defineDAC0832XBYTE[0X0C000]

voiddealy()

{

unsignedchari;

for(i=0;i<0xff;i++){;}

}

voidmain()

{

while

(1)

{

DAC9708=0;//输出低电平

delay();

DAC9708=0xff;//输出高电平

delay();

}

}

正弦波发生程序:

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVSP,#60H

L0:

MOVR4,#00H

L1:

MOVDPTR,#TAB

MOVA,R4

MOVCA,@A+DPTR

MOVDPTR,#0C000H

L2:

MOVX@DPTR,A

NOP

NOP

NOP

NOP

;LCALLDELAY

INCR4

CJNER4,#7DH,L1

LJMPL0

TAB:

DB64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106

DB109,111,113,115,117,118,120,121,123,124,125,126,126

DB127,127,127,127,127,127,127,126,126,125,124,123,121

DB120,118,117,115,113,111,109,106,104,102,99,96,94,91

DB88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39

DB36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1

DB1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23

DB25,28,31,33,36,39,42,45,48,51,54,57,60

DELAY:

MOVR0,#9

D0:

MOVR1,#27

D1:

DJNZR1,D1

DJNZR0,D0

RET

END

实验波形:

实验心得:

这次实验,不仅让我们学到了很多的知识而且最重要的是我们这次作到了理论与实践相结合,这次的课设也让我们了解到,如果以后从事这方面的工作,需要非常严谨的学习态度和学习能力,每一次的学习都是一次提升,也让我们学会了发现问题和解决问题的方法,这是一种我们很需要掌握的能力,这对我们以后的学习和工作都起到了很重要的作用。

实验3音频放大滤波模块使用

一、实验目的:

理解音频放大滤波模块的原理和使用方法。

二、实验原理:

ESDM-0602模块的元器件排布图如图9-1所示,原理图如图9-2所示。

ESDM-0602模

块包括一个前置放大器(两级反相放大器级连而成,增益可调)、一个4阶带通滤波器(通

带300Hz~3.4kHz)和一个直流电平偏置电路。

4阶带通滤波器的设计可参考教材P321第

13.4.2节有关内容。

ESDM-0602模块的主要功能是将来自麦克风的信号放大、滤波,是构

成数字化语音存储与录放系统的主要模块之一。

 

四、实验步骤:

(1)前置放大器的调试。

先将模块加上±5V电源,将JP1短路块去除(目的是将前

置放大器与带通滤波器断开),将声音播放器(可用手机代替)放置在麦克风旁,用示波器观测JP1处的输出波形,正常时应能观测到声音信号,调节PR1,使前置放大器的声音信号幅值在0~3.3V之间。

(2)带通滤波器的调试。

用DDS信号发生器输出的正弦信号(VPP设为2V)从J1口输入,用示波器观测J3口的输出信号,将正弦信号的频率从100Hz增加到5kHz,观察输出信号的幅值变化,应符合带通滤波器的幅频特性。

(3)模块整体调试。

JP1加上短路块,播放声音,用示波器观测J3口Vout点的信号波形,应能观测到声音信号波形,且声音信号的幅值范围应在0~3.3V之间。

图9-2中R16、

R17为直流偏置电路,对输出信号提供约1.7V左右的直流偏置。

实验波形:

500HZ波形如下:

通过滤波器之后的衰减波形:

接入MIC之后,通过增益放大滤波。

在500HZ到5KHZ的通带内可以听到被放大的声音。

 

实验心得:

实验4音频滤波功放模块使用

一、实验目的:

理解音频滤波功放的原理和使用方法。

二、实验原理:

ESDM-0603模块的元器件排布图如图10-1所示,原理图如图10-2所示。

ESDM-0603

模块分两部分,一部分为4阶带通滤波器(通带频率为300Hz~3.4kHz),一部分为由TA701构成的功放电路。

与ESDM0602模块一样,ESDM-0603模块也是构成声音存储与录放系统

的模块之一。

 

三、实验步骤:

ESDM0603模块的带通滤波器的参数与ESDM-0602带通滤波器的参数完全一致,调试方法也相同。

J2口为带通滤波器输出的信号,用于带通滤波器幅频特性的测试。

音频功放电路采用TA701集成功放,功率为0.7W。

PR1电位器用于调节音量大小。

具体步骤如下:

1.接入正负5V的电源,在J1处接入频率从300HZ到3.4KHZ的正弦波信号Vpp为1.5V左右。

2.调节PR1,到最适合的音量。

3.用示波器测试J2和J1的信号波形。

具体的波形如下:

输入5KHZ时的波形:

输入3.4KHZ波形时:

因此最高截止频率为3.4KHZ,而后接入前级音频放大滤波模块,调节PR1,使得音量最大,调试完毕。

实验5模拟系统设计

一、实验目的:

理解并设计二阶增益多路反馈(MFB)的低通滤波器。

二、实验原理:

无限增益多路反馈电路中的集成运放为反向的输入接法,由于放大器的开环增益为无限大,反向输入端可以视为虚地,输出端通过C2,R2形成两大反馈回路。

其优点是电路有倒相作用,使用元件比较少,但是增益调节不太方便,对其他的性能参数会有影响,其应用范围要比VCVS电路要小。

具体的电路如下:

 

输入与输出波形如下:

所以通带的最高截止频率为5.5KHZ.

实验6数字系统设计

一、实验目的:

1.理解单片机的定时器和计数器的工作原理

2.用AT80S52的内部计数器和定时器设计频率计

二、实验原理:

本程序可以实现一秒钟刷新LCD数据一次。

每次20ms中断进去之后,进行计数,当满50次的时候,进行数据刷新。

其中的定时器赋值用到了延时补偿技术实现了每1000KHZ误差1HZ。

 

程序流程图:

 

三、实验程序:

实验程序主体

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

//*FILE:

LED_显示模块

//*CREATE_TIME:

2011422

//*MODIFY_TIME:

2011422

//*NOTE:

NONE

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

#include

#include

#include"LED_1602_DRIVER.H"

#include"__frequency_test_h__.h"

unsignedintfrequency_test_count=0;

unsignedinta=0;

unsignedcharcodestring1[]={"FREQUENCYTESTSYSTEM"};

unsignedcharcodestring2[]={"VALUE:

"};

unsignedcharcodestring3[]={"NOSIGNALINPUT!

!

!

!

"};

unsignedcharcodestring4[]={"PLEASEPRESSRET"};

unsignedlongpin_value=0,count_kick1=0;

unsignedlongfrequency_ge=0;

unsignedlongfrequency_shi=0;

unsignedlongfrequency_bai=0;

unsignedlongfrequency_qian=0;

unsignedlongfrequency_wan=0;

unsignedlongfrequency_shi_wan=0;

unsignedlongFREQUENCY_HIGH=0;

unsignedlongFREQUENCY_LOW=0;

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

//*fuction:

voiddata_turning(unsignedcharfrequency_data)

//*inputvariable:

frequency_data

//*outputvariable:

void

//*note:

data_turningfunction

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

voiddata_turning(unsignedlongfrequency_data)

{

frequency_ge=frequency_data%10;

frequency_shi=frequency_data/10%10;

frequency_bai=frequency_data/100%10;

frequency_qian=frequency_data/1000%10;

frequency_wan=frequency_data/10000%10;

frequency_shi_wan=frequency_data/100000%10;

}

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

//*FUNCTION:

PROGRAMABLEENTRY

//*INPUTVARABLES:

NONE

//*OUTPUTVARIABLES:

NONE

//*NOTE:

NONE

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

main()

{

unsignedchari;

LCD_init();

//***************timer1andtimer2init*********//

TMOD=0x51;

TH1=0x00;//******初始化计数器0******//

TL1=0x00;

TH0=0XB1;//初始化定时器120ms//

TL0=0XE0;

TR1=1;//******打开定时器1******//

TR0=1;//******打开计数器0******//

ET1=1;//******定时器1中断允许**//

ET0=1;//******计数器0中断允许**//

EA=1;//******总中断中断允许**//

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

msdelay(10);

write_command(0x01);

msdelay(5);

write_address(0x00);//告诉LCD1602的首地址

msdelay(5);

i=0;

while(string1[i]!

='\0')

{

write_data(string1[i]);//写入数据//

i++;

msdelay(100);

}

for(i=0;i<9;i++)

{

write_command(0x18);

}

write_address(0x49);//告诉LCD1602的第二行的首地址//

msdelay(5);

i=0;

while(string2[i]!

='\0')

{

write_data(string2[i]);

i++;

msdelay(100);

}

msdelay(300);

//***********************测频数据处理显示***********//

while

(1)

{

data_turning(pin_value);

//***********测频数据处理显示送入LCD显示*********//

write_command(0x0c);

write_address(0x50);//告诉LCD1602的1地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_shi_wan));

msdelay(10);//硬件反应时间

//***********显示万位*****************************//

write_address(0x51);//告诉LCD1602的2地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_wan));

msdelay(10);//硬件反应时间

//***********显示千位*****************************//

write_address(0x52);//告诉LCD1602的3地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_qian));

msdelay(10);//硬件反应时间

//***********显示百位*****************************//

write_address(0x53);//告诉LCD1602的4地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_bai));

msdelay(10);//硬件反应时间

//***********显示十位*****************************//

write_address(0x54);//告诉LCD1602的5地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_shi));

msdelay(10);//硬件反应时间

//***********显示个位*****************************//

write_address(0x55);//告诉LCD1602的6地址

msdelay(5);//硬件反应时间

write_data(LCD_DECODE(frequency_ge));

msdelay(10);//硬件反应时间

//***********显示HZ*****************************//

write_address(0x56);//告诉LCD1602的6地址

msdelay(5);//硬件反应时间

write_data('H');

msdelay(10);//硬件反应时间

write_address(0x57);//告诉LCD1602的6地址

msdelay(5);//硬件反应时间

write_data('Z');

msdelay(50);//硬件反应时间

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

//while(TH0==0&&TL0==0);

while(!

TL1)

{

msdelay(1000);

msdelay(1000);

msdelay(1000);

if(!

TL1){

write_command(0x01);

write_address(0x00);//告诉LCD1602的首地址

msdelay(5);

i=0;

while(string3[i]!

='\0')

{

write_data(string3[i]);//写入数据//

i++;

msdelay(100);

}

///********第四行************//

write_address(0x40);//告诉LCD1602的首地址

msdelay(5);

i=0;

while(string4[i]!

='\0')

{

write_data(string4[i]);//写入数据//

i++;

msdelay(100);

}

write_command(0x01);

msdelay(100);

write_command(0x01);

msdelay(100);

write_command(0x01);

msdelay(100);

TL1=0;

}

////////////////////////////

}

}

}

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

//*fuction:

voidt0——timer(void)interrupt1using1

//*inputvariable:

void

//*outputvariable:

void

//*note:

weusetimer0tocountexternpulse,ifthevalueis65536,itseemsthatthevalueisalreadyoverflow.

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

voidt0(void)interrupt1

{

TR0=0;//**********关闭定时器0************//

TH0=0XB1;//初始化定时器120ms//

TL0=0XE0+31;//*******选定31为最适合的补偿数字

a++;

if(a>=50)

{

TR1=0;

FREQUENCY_HIGH=TH1;

FREQUENCY_LOW=TL1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1