天津大学《电子系统设计》实验报告部分(共18页).docx

上传人:飞****2 文档编号:14556255 上传时间:2022-05-05 格式:DOCX 页数:18 大小:5.30MB
返回 下载 相关 举报
天津大学《电子系统设计》实验报告部分(共18页).docx_第1页
第1页 / 共18页
天津大学《电子系统设计》实验报告部分(共18页).docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《天津大学《电子系统设计》实验报告部分(共18页).docx》由会员分享,可在线阅读,更多相关《天津大学《电子系统设计》实验报告部分(共18页).docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上一、 实验要求(一)利用IDE软件设计输出一个伪正弦阶梯波,要求如下:1、 输出一个频率处于100HZ1000HZ之间的由明显阶梯的伪正弦波2、 利用开发板控制伪正弦波频率步进步退功能,间隔分别为100HZ,3、 利用开发板控制伪正弦波的频率,从开发板键盘输入任意三位数,按“键入”之后输出该频率的正弦波,误差不超过5%4、 开发板的数字显示屏能过显示当前频率,误差不超过5%(二)利用TINA和FilterPro Desktop设计滤波器和放大器1、 根据题目要求,利用FilterPro Desktop软件设计出二阶巴特沃斯滤波电路大致的电路模型2、 利用TINA对初步

2、电路进行修改完善,并进行模拟仿真3、 利用TINA设计放大电路将输出波形放大(三)焊接电路 1、根据仿真结果组装电路图,并对组装结果进行调试修改 2、强修改结果进行排布并焊接在电路板二、 实验目的 1、 了解SDCC和IDE的安装过程2、 熟悉万用表、示波器、实验电源等的使用3、 学会利用IDE建立工程、编程、连接开发板和拷贝工程到开发板上4、 熟悉开发板,了解不同排针的功能,熟悉开发板的工作原理和构造5、 学习将FilterPro Desktop和TINA结合使用并进行电路设计仿真6、 学会独立设计滤波器和放大器,以及解决实验中遇到的各种问题7、 巩固焊接电路的手法,学习如何焊接出更加美观的

3、电路 三、 实验器件1、 实验器材:示波器、实验电源、MUC(C8051F020)、数字信号发生器、电脑、电 烙铁、剪线钳、吸锡器2、 实验元件:LM358,MAX7400,电阻:10K*3、20k*2,瓷片电容:10nF*3、100nF*2,电解电容:1000F*1、220F*1,电路板一个、排针一组、电线若干、焊锡若干四、 实验过程 1、 实验分工:(1)软件部分:刘晓寰(2):硬件加报告:徐婧文、吴美润2、 安装SDCC和IDE软件3、 学习如何使用IDE建立工程,编辑程序,连接开发板,并将工程拷贝到开发板上4、 学习实例程序,了解IDE程序语言以及编程要求5、 在示例程序的基础上对程序

4、进行修改,使经过开发板上的输出波形满足实验要求,并且能在开发板上实现步进,步退以及任意频率输出的实验要求6、 熟悉FilterPro Desktop和TINA模拟仿真软件的使用,学会用FilterPro Desktop设计基础滤波电路并用TINA进行仿真完善,用TINA设计放大电路并将滤波电路输出作为放大电路的输入进行仿真7、 利用面包板测试仿真结果电路并对其进行参数上的修改(注:测试前检查电路连接是否出错,测试时小心芯片爆炸)8、 将利用IDE编写好的程序通过开发板数出并作为面包板的输入,再次测试电路是否可用,如果不行继续对参数进行修改9、 设计电源电路要求能输入+5V电压,10、 对电源电

5、路进行测试,测试无误后进行焊接(注:测试电路时远离电路板,小心电源电路爆炸)11、 对修改后的实验电路进行排版焊接。(注:电路板上下三排和其中一端的三排接线和其余部分不同,电路板是纵向三孔连在一起的,与面包板不同)12、 焊接完成后对实验电路进行再次测试,测试成功后将电源电路接入总电路,再次进行测试五、 实验代码/*=电子系统设计平台实验板演示程序Release 2013=*/#include drivercommon.h#include driverosc.h#include driverio_config.h#include driveruart.h/volatile unsigned c

6、har key_value;/*sbit TP0=P07;sbit TP1=P06;*/SBIT (TP0, SFR_P0, 7);SBIT (TP1, SFR_P0, 6);static LED_BUF6=0xff,0xff,0xff,0xff,0xff,0xff;/ LED数码管显示缓冲区,共6字节unsigned int SamplingControl=0;/*控制正弦波的采用点数*/unsigned int FrequencyControl=100;unsigned int BreakTime=0;/*截断时间*/*正弦函数表*/const static SIN=/*输出电压从0到最大

7、值(正弦波1/4部分)*/ 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96, 0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae, 0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8, 0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9, 0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,

8、 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,/*输出电压从最大值到0(正弦波1/4部分)*/ 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6, 0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea, 0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7, 0xc5,0xc2,0xbf,0xbc,0xba,0xb7,

9、0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80, /*输出电压从0到最小值(正弦波1/4部分)*/ 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69, 0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a, 0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27, 0x25,0x22,0x20,0x1

10、e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02, 0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /*输出电压从最小值到0(正弦波1/4部分)*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0

11、x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38, 0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66, 0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80, 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;int main(void)unsign

12、ed int i,j,f=100,KeyBuffer=0; unsigned int KeyValue=16,KeyTime=0;Osc_Init_Parameter_t Osc_Init_Parameter;/ 振荡器初始化参数/ 用于键盘线扫描:D7=0,D6=0,D5=0,D4=0unsigned char LINE4=0x7F,0xBF,0xDF,0xEF;/ 字符对应的段数值:0 1 2 3 4 5 6 7 8 9 . 8. unsigned char DIGI13=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f,0x00

13、,0xff;/ 键值 D0=0,D1=0,D2=0,D3=0unsigned char KEY4=0x0e,0x0d,0x0b,0x07;EA=0;/ 中断全局关闭/ 关闭开门狗定时器WDTCN = 0xDE;WDTCN = 0xAD;/* Initialize the OSC */Osc_Init_Parameter.Source_Select = EXTERNAL_OSC;Osc_Init_Parameter.External_Mode = CRYSTAL;Osc_Init_Parameter.Frequency = ;Osc_Init(&Osc_Init_Parameter);Loop_

14、Delay(100);io_config();io_init();XBR0=XBR0|BIT2_MASK;/ UART0: P0.0和P0.1XBR2=XBR2|BIT6_MASK;/ enable crossbarREF0CN=REF0CN|BIT1_MASK|BIT0_MASK;/ enable the internal voltage referenceDAC0CN=DAC0CN|BIT7_MASK|BIT2_MASK;/ enable DAC0, DAC0H: 8bit; DAC0L: 4bitDAC1CN=DAC1CN|BIT7_MASK|BIT2_MASK;/ enable DAC

15、1, DAC1H: 8bit; DAC1L: 4bitDAC0L=0;DAC0H=0;DAC1L=0;DAC1H=0;Uart0_Init();/*printf(n);printf(Tianjin Universityn);printf(Electronic System Design Kitn);printf(Version 1.0 C2012n);printf(-n);printf(MCU: C8051F020/24MHzn);printf(PWR: 3.3V/100mAn);printf(n);*/ Timer 0/1 initialization/BIT7BIT6BIT5BIT4BIT

16、3BIT2BIT1BIT0/-/TCON:TF1TR1TF0TR0IE1IT1IE0IT0/00010000/TMOD:GATE1C/T1T1M1T1M0GATE0C/T0T0M1T0M0/00000010/IE:EAIEGF0ET2ES0ET1EX1ET0EX0/10000010TL0=(231);/ when 24MHz & SYSCLK/12, 10kHz timeout TH0=(231);/ reloadEA=1;ET0=1;TMOD=0x02;TR0=1;/#if 1/ 测试字符显示/while(1)for(j=0;j12;j+)for(i=0;i6;i+)LED_BUFi=DIG

17、Ij;P4=0xFF;Loop_Delay(500);P4=0xF0;Loop_Delay(500);#endif/#if 0/ 测试IO最大翻转速度while(1)TP0=0;TP0=1;TP0=0;TP0=1;TP0=0;TP0=1; /*TP0=0;TP0=1;TP0=0;TP0=1;*/#endif/#if 0/ 测试LED数码管while(1)P2=0x01;for(i=0;i6;i+)P1=0x00;Loop_Delay(1);P1=0xFF;Loop_Delay(1);P2=P21;#endif/#if 1/ 测试键盘,LED数码管低两位显示行列值while(1) int l=0

18、; /KeyValue=0;for(i=0;i4;i+)P3=LINEi;Loop_Delay(1);for(j=0;j4;j+) if (P3&0x0f)=KEYj) KeyValue=i*4+j;/*计算键值*/LED_BUF0=DIGIj+1;/LED_BUF1=DIGIi+1;LED_BUF3=DIGI12;LED_BUF4=DIGI12;LED_BUF5=DIGI12;/P2=0x01;/P1=DIGIj;/Loop_Delay(1);/P2=0x02;/P1=DIGIi;/Loop_Delay(1);/P1=0xFF;while(l500)&(P3&0x0f)=KEYj) Loop

19、_Delay(1); l+;if(KeyValue=10)&(f100)/*设计步退间隔*/ f=f-100; FrequencyControl=10000/f;/*数码管显示当前频率*/ LED_BUF0=DIGI0; LED_BUF1=DIGI0; LED_BUF2=DIGI(f/100); KeyValue=16; if(KeyValue=(FrequencyControl/4) DAC0H=SINabc;/ DAC0 输出锯齿波,递增SamplingControl=SamplingControl+8;if(SamplingControl=256)SamplingControl=0;Br

20、eakTime=0;DAC1H-;/ DAC1 输出锯齿波,递减/ 每十次中断执行一次以下代码,扫描一位LEDif(cnt=10)cnt=0;switch(led_cnt)case 0:P2=0x01;P1=LED_BUF0;led_cnt=1;break;case 1:P2=0x02;P1=LED_BUF1;led_cnt=2;break;case 2:P2=0x04;P1=LED_BUF2;led_cnt=3;break;case 3:P2=0x08;P1=LED_BUF3;led_cnt=4;break;case 4:P2=0x10;P1=LED_BUF4;led_cnt=5;break

21、;case 5:P2=0x20;P1=LED_BUF5;led_cnt=0;break;default:break;cnt+;elsecnt+; TP1=0;/ TP1 置低,TP1的高电平持续时间代表中断服务程序执行时间/*按键控制*/void KeyDown(void)char a=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)/读取按键是否按下Delay10ms();/延时10ms进行消抖if(GPIO_KEY!=0x0f)/再次检测键盘是否按下/测试列GPIO_KEY=0X0F;switch(GPIO_KEY)case(0X07):KeyValue=0;break

22、;case(0X0b):KeyValue=1;break;case(0X0d):KeyValue=2;break;case(0X0e):KeyValue=3;break;/测试行GPIO_KEY=0XF0;switch(GPIO_KEY)case(0X70):KeyValue=KeyValue;break;case(0Xb0):KeyValue=KeyValue+4;break;case(0Xd0):KeyValue=KeyValue+8;break;case(0Xe0):KeyValue=KeyValue+12;break;while(a0;c-) for(b=38;b0;b-) for(a

23、=130;a0;a-);*/六、 实验电路 (一)总电路图6-1 总电路图(二)滤波电路图6-2 巴特沃斯滤波器幅频特性图图6-3 滤波电路图图6-4 仿真结果根据实验要求我们设计了一个二阶巴特沃斯低通滤波器,理想状态下100HZ1000HZ均应处于通带部分。但由于滤波器并不理想,且当按1000HZ滤波频率计算并不适用于是100HZ的伪正弦波。反复衡量我们将截止频率定为1.2KHZ左右(三)放大电路图6-5 放大电路图图6-6 仿真结果我们设计的是反向放大器,电压增益A0=U0/Ui=-R6/R5。实验要求放大电路要相对输入波放大几倍,而我们的放大电路是在对滤波之后的波形进行处理,所以在考虑放

24、大倍数时要考虑到较高频率波形在滤波时有一定的衰减,在放大部分要把衰减的电压进行弥补 (四)滤直流部分图图6-7 隔直电容为了滤除直流分量,在滤波之后要进行滤直流的操作,为了防止两级电路级间干扰,考虑把滤直流的电容放在两级电路之间 (五)电源部分 利用7805芯片产生+5V电压图6-8 电源电路(六)结果电路图6-9 焊接成果七、 操作说明(一)按键操作说明图7-1 板监控部分(二)显示说明图7-2 开发板显示屏 LED显示屏使用右边三位,且从右向左为个、十、百位。程序烧入开发板后开发板输出100HZ伪正弦波,LED显示屏没有任何显示。按一下“步进”键后显示200,输出200HZ伪正弦波,在此基

25、础上按步退,LED显示屏显示100HZ,输出100HZ伪正弦波,其余阶段,按“步进”“步退”键后分别显示100HZ之后的频率值(当前输出值)。任意数输入时,键入任意三位数(因为是100HZ1000HZ输出频率,所以设计显示范围为1999),按“键入”键,开发板输出该数字频率的伪正弦波,LED显示屏显示键入数字八、 实验结果 (一)实验输出伪正弦波(以100HZ为例)图8-1 伪正弦输出(二)滤波放大结果图8-2 100HZ波形滤波放大结果 图8-3 1000HZ波形滤波放大结果图8-4 任意频率输入九、 问题分析 (一)硬件部分:1、仿真软件是处在理想状态下进行的模拟仿真,所以仿真结果并不存在

26、级间干扰问题。而我们在最初在面包板上测试时是将滤波电路和放大电路两部分分开测试,检验无误后进行两级串联。级联后最终输出显示滤波部分出现问题,再次检验滤波输出,发现其发生明显变化。我们反复对电路进行了一系列测更改,并没有改进。请教了老师之后才了解到我们忘记滤除直流分量,而且两级电路之间会出现明显干扰。经老师点播之后我们决定在两级之间加一个电容滤除直流同时电容也能起到隔离两级电路的作用。2、最初我们以1000HZ为最终输出频率设计滤波电路考虑,截止频率设定相对比较高,但是当输出100HZ波形经过滤波电路时截止频率相对100HZ过高,过多的波相对100HZ的波属于高频分量。过多的杂波混入基波中造成滤

27、波之后的波形并不理想。经过反复调试后我们决定将截止频率定为比1000HZ稍大点的值。3、因为未考虑到放大倍数过高会对输出造成影响,我们直接选取了一个较大的值进行测试,因为测试时我们电源电路并没有完成,所以使用12V实验电源进 行测试并没有出现任何问题。后期电源电路完成后我们使用5V电源时出现了削顶失真。经过考虑,我们将反馈电阻减小。经反复测试后决定了最终阻值。(二)软件部分 1、通过改变采样点个数,控制阶梯大小。期初,我们严格根据实例图样设计了一个阶梯很少的伪正弦波。后期调试时,为匹配硬件使用,我们需要更改阶梯波的阶梯数。更改阶梯数是通过更改采样点的多少实现的。 2、调控步进步退间隔。更改采样

28、点之后,步进步退间隔也随之改变,为了保证步进步退间隔一直处于100HZ,控制步进步退的函数也要进行一定的调整。十、 实验心得这次实验主要要求我们学会利用IDE软件编程,二阶巴特沃斯滤波器和放大器的设计,还有电路的焊接。通过为期十天的课程,我们理解了电子线路设计的一些知识学会了一些新的软件的使用,巩固了电工实习期间掌握的焊接技术。通过这次课程,我们更加深入的了解接触了我们专业领域的知识,了解了行业的要求。同时也了解到作为一个软件或者硬件开发者的艰辛。期间,我们一次次的更改我们的程序,不断地完善着我们的电路,满怀希望的等待着测试结果的出来,不断地推翻自己得到的结论,只为得到更加完美的结果。电路焊接时我们小心翼翼的进行每一步,生怕自己的一个失误导致不好的结果。一切努力都得到了回报,我们靠自己的努力完成实验。也许结果不是最好的,但我们为止骄傲,毕竟这是我们努力无数天的成果,毕竟我们为之拼搏过。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁