电子系统设计实验报告1Word文件下载.docx
- 文档编号:19832458
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:50
- 大小:597.05KB
电子系统设计实验报告1Word文件下载.docx
《电子系统设计实验报告1Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子系统设计实验报告1Word文件下载.docx(50页珍藏版)》请在冰豆网上搜索。
实验心得:
做的时候,注意把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微秒
CJNER0,#0FFH,UP;
输出未到5伏则转UP,继续正向增长
DOWN:
DECR0;
输出值减1
反向减小,DA转换输出
CJNER0,#80H,DOWN;
输出未到0伏则转DOWN,继续反向减小
AJMPDA;
一个周期结束进入下一个周期
END
2.方波输出程序(C语言实现)
#include<
reg52.h>
absacc.h>
#defineDAC0832XBYTE[0X0C000]
voiddealy()
{
unsignedchari;
for(i=0;
i<
0xff;
i++){;
}
voidmain()
while
(1)
{
DAC9708=0;
//输出低电平
delay();
DAC9708=0xff;
//输出高电平
}
正弦波发生程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
L0:
MOVR4,#00H
L1:
MOVDPTR,#TAB
MOVA,R4
MOVCA,@A+DPTR
MOVDPTR,#0C000H
L2:
MOVX@DPTR,A
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:
//*NOTE:
NONE
//************************************************//
#include<
intrins.h>
#include"
LED_1602_DRIVER.H"
__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:
//*OUTPUTVARIABLES:
//************************************************//
main()
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的首地址
i=0;
while(string1[i]!
='
\0'
)
write_data(string1[i]);
//写入数据//
i++;
msdelay(100);
9;
i++)
write_command(0x18);
write_address(0x49);
//告诉LCD1602的第二行的首地址//
while(string2[i]!
write_data(string2[i]);
msdelay(300);
//***********************测频数据处理显示***********//
{
data_turning(pin_value);
//***********测频数据处理显示送入LCD显示*********//
write_command(0x0c);
write_address(0x50);
//告诉LCD1602的1地址
//硬件反应时间
write_data(LCD_DECODE(frequency_shi_wan));
//***********显示万位*****************************//
write_address(0x51);
//告诉LCD1602的2地址
write_data(LCD_DECODE(frequency_wan));
//***********显示千位*****************************//
write_address(0x52);
//告诉LCD1602的3地址
write_data(LCD_DECODE(frequency_qian));
//***********显示百位*****************************//
write_address(0x53);
//告诉LCD1602的4地址
write_data(LCD_DECODE(frequency_bai));
//***********显示十位*****************************//
write_address(0x54);
//告诉LCD1602的5地址
write_data(LCD_DECODE(frequency_shi));
//***********显示个位*****************************//
write_address(0x55);
//告诉LCD1602的6地址
write_data(LCD_DECODE(frequency_ge));
//***********显示HZ*****************************//
write_address(0x56);
write_data('
H'
);
write_address(0x57);
Z'
msdelay(50);
//硬件反应时间
//*****************//
//while(TH0==0&
&
TL0==0);
while(!
TL1)
msdelay(1000);
if(!
TL1){
while(string3[i]!
write_data(string3[i]);
}
///********第四行************//
write_address(0x40);
while(string4[i]!
write_data(string4[i]);
TL1=0;
////////////////////////////
}
voidt0——timer(void)interrupt1using1
weusetimer0tocountexternpulse,ifthevalueis65536,itseemsthatthevalueisalreadyoverflow.
voidt0(void)interrupt1
TR0=0;
//**********关闭定时器0************//
TL0=0XE0+31;
//*******选定31为最适合的补偿数字
a++;
if(a>
=50)
TR1=0;
FREQUENCY_HIGH=TH1;
FREQUENCY_LOW=TL1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 系统 设计 实验 报告