数字式波形发生器课程设计.doc

上传人:土8路 文档编号:10001184 上传时间:2021-04-09 格式:DOC 页数:22 大小:2.51MB
返回 下载 相关 举报
数字式波形发生器课程设计.doc_第1页
第1页 / 共22页
数字式波形发生器课程设计.doc_第2页
第2页 / 共22页
数字式波形发生器课程设计.doc_第3页
第3页 / 共22页
数字式波形发生器课程设计.doc_第4页
第4页 / 共22页
数字式波形发生器课程设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数字式波形发生器课程设计.doc》由会员分享,可在线阅读,更多相关《数字式波形发生器课程设计.doc(22页珍藏版)》请在三一文库上搜索。

1、南华大学电气工程学院 电子技术课程设计任务书设计题目: 数字式波形发生器 专 业: 电子信息工程 学生姓名: 唐磊 学 号: 20084470114 起迄日期: 2011年2月18日 201年3月1日 指导教师: 李月华 教研室主任: 朱卫华 2011年3月3日电子技术课程设计任务书1课程设计的内容和要求(包括原始数据、技术要求、工作要求等):1、 设计并制作频率可调且具有高稳定度的方波发生器;2、 频率范围:0.01HZ100KHZ,频率调节分度为0.01HZ;3、 频率温度度:10-6/天;4、 具有输出频率设定与显示功能,显示位数为9位;5、 输出波形的占空比应在47%53%之间;6、

2、输出幅度为012V,分级可调,且能显示幅度,幅度与频率显示交替进行;7、 输出信号上升时间100ns,下降时间50ns;8、 输出阻抗752对课程设计成果的要求包括图表(或实物)等硬件要求:设计电路,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。3主要参考文献:1 康华光.电子技术基础数字部分(第五版)M.北京:高等教育出版社,2006.2大学生电子设计联盟 http:/4课程设计工作进度计划:序号起 迄 日 期工 作 内 容12010

3、.12.25-12.27设计电路22010.12.28-12.31 安装调试32011.1.1-1.7 分析实验结果并写出设计说明书主指导教师李月华日期: 2010 年 11 月 28 日引言波形函数发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本函数发生器采用STC89C52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(TL082)、按键和LCD显示电路等。此电路设计清晰,出现故障容易查找错误,操作简单方便。电路采用STC89C52单片机与一片DAC0832数模转换器组成低频信号发生器。通过按键控制可分别控制选择输出的幅值和频率,

4、同时用LCD1602显示器显示幅值和频率。所产生的波形幅值范围为0到12V;本系统设计简单、性能优良,具有一定的实用性。一、 方案设计1 系统设计1.1 总体设计思路根据题目要求,经过仔细考虑,充分考虑各种因素,制定整体设计方案:以STC89C52单片机为控制核心,P1口接DAC0832信号输入并书面转换,程序控制方波的产生,通过P2口接3个按键,控制幅值电压和频率,由按键选择波形的复制电压和频率输出,由TL082运放实现DAC0832 输出电流到电压的转换。在LCD1602上实时显示频率和幅值。1.2 总体框图 按键控制单片机TL082运放电路输出DAC0832转换1602显示二硬件电路本系

5、统由单片机、波形转换(D/A)电路、显示接口电路、键盘接口电路等部分组成。总的硬件电路图为:1. 功能与基本原理STC89C52外接12M晶振作为时钟频率,并采用电源复位设计。产生方波程序设计思路:根据定时器溢出的时间,将频率值换算为定时器溢出的次数,使用变量暂存定时器溢出的次数,当达到规定的次数时,将输出管脚的状态进行改变达到方波的产生。另外采用查询的方式实现案件的扫描和LCD液晶的显示,中断服务程序实现方波的产生和连续按键的计时功能。1.1 89C52单片机简介89C52的硬件结构:256字节*8bit内部RAM;2个16位定时/计数器(T0、T1),具有四种工作方式;5个中断源和2级中断

6、优先权;一个全双工的串行口,具有四种工作方式;2个时钟引脚XTAL1、XTAL2外接晶体与片内的反相放大器构成了1个震荡器,它为单片机提供了时钟控制信号;复位电路等。1.2 时钟电路本次设计采用的是内部时钟方式,即C52内部有一个用于构成震荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体震荡器和微调电容,就构成一个稳定的自激震荡器,图3.2是C52内部时钟方式的震荡器电路。图3.2 C51内部时钟方式的震荡器电路电路中电容C1和C2典型值通常选择为30pF左右,晶振的振荡频率的范围通常是在1.2MHz12MHz之间,晶振的频

7、率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。1.3 复位电路89C51的复位是由外部的复位电路来实现的,复位结构如图3.3所示。图3.3 复位结构复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来控制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。2 键盘接口电路本设计中有三个按键,分别为总控制按键、频率转换按键、幅值转换按键。其与单片机的连接如图所示。3显示电路功能:驱动LCD1602液晶显示,扫描按钮由LCD1602液晶显示器和三个按钮组成。当第一个按键按下一次后,程序开始扫描,再由第二个按键控

8、制显示幅值,第三个按键控制显示频率。有单片机的口和口将数字信号发送到LCD1602。LCD1602是专门用于显示字母、数字、符号等点阵式LCD,它的外接电压也是5V扫描利用软件程序实现,其与单片机的连接如图所示。4 电源电路单片机采用5V电源,DAC基准电压为15V,运放TL082采用正负15V供电。因此都采用外接电源供电。其电路图如图。5 波形转换(D/A)电路功能:将波形样值的编码转换成模拟值,完成波形输出。由一片0832和TL082运放组成。DAC0832是具有20条引线的CMOS器件,它内部具有两级数据寄存器,完成8为电流D/A转换,固不需要外加电路,输出波形为正负电压,0832是电流

9、输出型,示波器上显示的波形,通常需要电压信号,电流信号到电压信号的额转换可以由运算放大器TL082实现。在D/A转换电路中,很重要的一个参数就是基准电压(参考电压),设计中要求的最大幅值电压为12V,系统可以选用正负15V作为运算放大器供电的电源,同时用正15V作为DAC0832的基准电压。单片机向0832 发送数字编码,产生不同的输出。利用采样定理, 8位D/A转换器对应-15V15V的电压输出,其输入数字量应为00HFFH。在-15V15V的电压范围内产生波形,方波一个周期分成两个点,一个时钟中断向89C51送一个点,经过D/A转换后输出就可以得到方波。数字编码0x7f, 0x90, 0x

10、a1, 0xb2, 0xc3, 0xd4, 0xe5分别对应D/A输出的0V,2V,4V,6V,8V,10V,12V。单片机的晶振控制输出周期的速度,也就是控制输出的波形频率。这样输出的方波幅值和频率都得到控制。三、课设所需设备及芯片功能介绍1. 所需设备单片机最小开发系统,1602液晶屏一块,DAC0832一片,Tl082集成运放一片,PC机一台,其他器件任选。2. 芯片功能介绍8位D/A转换器DAC0832简介:DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片 以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用

11、。这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。1、DAC0832的引脚及功能:DAC0832芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,其主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程和下调整其线性度;单一电源供电(5V15V);低功耗,200mW。为便于DAC0832的使用,特将其应用特性总结如下:DAC0832是微处理器兼容型D/A转换器,可以充分利用微处理器的控制能力实现对D/A转换的控制。这种芯片有许多控制引脚,可以和微处理器控制线相连,接受微处理器的控制,如

12、ILE、/CS、/WR1、/WR2、/XFER端。有两级锁存控制功能,能够实现多通道D/A的同步转换输出。DAC0832内部无参考电压源;须外接参考电压源。DAC0832为电流输入型D/A转换器,要获得模拟电压输出时,需要外加转换电路。DAC0832的引脚图及逻辑结构如下图: 图1 DAC0832结构框图及引脚排列DAC0832各引脚的功能如下:DI0DI7: 数据输入线。ILE : 数据允许锁存信号,高电平有效;/CS: 输入寄存器选择信号,低电平有效。/WR1为输入寄存器的写选通信号。输入寄存器的锁存信号/LE1由ILE 、/CS、/WR1的逻辑组合产生。当ILE 为高电平、/CS为低电平

13、、/WR1输入负脉冲时,在/LE1产生正脉冲;/LE1为高电平,输入锁存器的状态随数据输入线的状态变化,/LE1的负跳变将数据线上的信息锁入输入寄存器。/XFER: 数据传送信号,低电平有效。/WR2为DAC寄存器的写选通信号。DAC寄存器的锁存信号/LE2,由/XEFR、/WR2的逻辑组合产生。当/XFER为低电平,/WR2输入负脉冲,则在/LE2产生正脉冲;/LE2为高电平是时,DAC寄存器的输出和输入寄存器的状态一致,/LE2负跳变,输入寄存器的内容打入DAC寄存器。VREF : 基准电源输入引脚 。Rfb : 反馈信号输入引脚,反馈电阻在芯片内部。IOUT1、IOUT2 : 电流输出引

14、脚。电流IOUT1、IOUT2 的和为常数,IOUT1、IOUT2 随DAC寄存器的内容线性变化。VCC: 电源输入引脚。AGND: 模拟信号地DGND: 数字地。2、DAC0832三种数据输入方式: (1)双缓冲方式:即数据经过双重缓冲后再送入DA转换电路,执行两次写操作才能完成一次DA转换。这种方式可在DA转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。 (2)单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过

15、一级缓冲送入DA转换电路。这种方式只需执行一次写操作,即可完成DA转换。 (3)直通方式:此时两个寄存器均处于直通状态,因此要将、和端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入DA转换电路进行DA转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。四.程序编写#include#include#includeLCD_1602_H.h#define uchar unsigned char#define uint unsigned int#define DAdata P1uchar code a67=100

16、0.00, /频率显示 0100.00, 0010.00,0001.00,0000.10,0000.05 ;uchar code Squaretab72= /输出的幅度数组0x7f,0x7f, /0V 0x90,0x6e, /正负2V0xa1,0x5d, /正负4V0xb2,0x4c, /正负6V0xc3,0x3b, /正负8V0xd4,0x2a, /正负10V0xe5,0x19;/正负12Vuchar code disp1=Voltage: 000V ;uchar code disp2=Frq:0000000.00Hz;uint i,num,k,freq=0;uchar count,s;uc

17、har keytemp=0,keytemp2=0;sbit DA=P23;sbit WR1=P24;sbit key1=P25;sbit key2=P26;sbit key3=P27;void delay(uint z)uint i,j;for(i=z;i0;i-)for(j=110;j0;j-);void T0_time()interrupt 1TH0=(65536-1000)/256; /定时器装初值 精确到1mSTL0=(65536-1000)%256;num+; void key1_ctr_frq() /调频控制按键if(key1=0) TR0=0;_nop_();if(key1=0)

18、keytemp+;while(!key1)TR0=1; if(keytemp=1) /通过按键按下的次数控制频率freq=1; /选择频率1KHz /whileif(keytemp=2)/选择频率100Hzfreq=10;if(keytemp=3)/选择频率10Hzfreq=100;if(keytemp=4) /选择频率1HZfreq=1000;if(keytemp=5) /选择频率0.1Hzfreq=10000;if(keytemp=6) /选择频率0.05HZfreq=20000;if(keytemp=6)keytemp=1;write_1602_com(0xc0+7);for(k=0;k

19、=7)keytemp2=0;void key3_ctr() /总控制按键if(key3=0) /功能按键TR0=0;_nop_();/精确延时1uSif(key3=0)delay(2);while(!key3)s+;/if(s=2)DA=1;if(s=2)s=1;void init()TMOD=0X01; /设定定时器0为工作方式1TH0=(65536-1000)/256; /进行1ms的精确定时 TL0=(65536-1000)%256; /定时器装初值EA=1; /开总中断ET0=1; /开定时器0中断TR0=1;init_1602();void main()DAdata=0x00;DA=

20、0; WR1=0;init();display_1602(0x80, disp1);_nop_();display_1602(0x80+0x40,disp2);_nop_();while(1)key3_ctr();/if(count=2)count=0;if(s=1) /总控制按键key1_ctr_frq();key2_ctr_vol();_nop_(); if(num=freq) /选频num=0;count+;if(count=2)count=0;switch(keytemp2)case 0:DAdata=Squaretab0count;break;case 1:DAdata=Square

21、tab1count;break;case 2:DAdata=Squaretab2count;break;case 3:DAdata=Squaretab3count;break;case 4:DAdata=Squaretab4count;break;case 5:DAdata=Squaretab5count;break;case 6:DAdata=Squaretab6count;break; / end SWITCH/end if/ end if / end while /end main液晶1602的初始化程序#ifndef LCD_1602_H#define LCD_1602_H#defin

22、e uchar unsigned char#define uint unsigned intuchar com_1602,date_1602;sbit lcd_1602_rs=P20;sbit lcd_1602_rw=P21;sbit lcd_1602_en=P22;sbit lcd_busy=P07;void delay_1602(uint x) /延时子函数uint i,j;for(i=x;i0;i-)for(j=110;j0;j-);void write_1602_com(uchar com_1602)lcd_busy=0;lcd_1602_rs=0; /选择写命令模式P0=com_16

23、02;delay_1602(5); /稍做延时以待数据稳定lcd_1602_en=1; /使能端给一高脉冲,因为初始化函数中已经将lcden置为0delay_1602(5); /稍做延时lcd_1602_en=0; /将使能端置0 ,以完成高脉冲void write_1602_data(uchar date_1602)lcd_busy=0;lcd_1602_rs=1;P0=date_1602;delay_1602(5);lcd_1602_en=1;delay_1602(5);lcd_1602_en=0;void display_1602(uchar addr,uchar *temp)uchar

24、 i;write_1602_com(addr);delay_1602(5);for(i=0;i16;i+)write_1602_data(tempi);delay_1602(5) ;void init_1602(void)lcd_1602_rs=0;/清除读操作lcd_1602_rw=0; /初始化写操作lcd_1602_en=1;delay_1602(10);write_1602_com(0x01);delay_1602(10);write_1602_com(0x02);/光标归位,此处不设置可能出现错误write_1602_com(0x38); /设置16X2显示,5X7点阵,8位数据接口

25、write_1602_com(0x0c); /设置开显示,且显示光标并闪烁write_1602_com(0x06); /写一字符后光标自动加一五、系统调试与测试结果1. 硬件调试整个硬件调试过程基本顺利,由于采用了分单元模块制作,各单元电路工作稳定,给调试工作带来很大的方便。1.1 放大模块部分在实物模拟时,出现发送信号不稳定、跳变的问题。经过仔细检查电路线路路径和连线问题,最终发现PCB板子上某些连线存在断路的问题,于是用焊锡焊好,从而得以解决。1.2 调试过程中,由于某些元器件参数的问题,在频率要求上没有达到预期效果,频率最低未能达到0.01H,最高也不能达到100KHZ。各单元调试通过以

26、后,进行整机调试,调试结果显示,整个系统能够正常工作。2. 软件调试由于对51系列单片机编程不是很熟悉,在软件的仿真调试过程中请同学帮了忙,在同学的帮助和指导下,调试也顺利完成。3. 调试结果3.1 液晶显示结果图3.2 方波波形图3.3三角波波形3.4正弦波波形3.5 实验结果与实际要求对比3.5.1 经液晶显示可得频率范围为0.05Hz1KHz,频率调节分度为0.01HZ,最大频率和最小频率都没有达到老师的要求,经分析原因是元器件参数的选择原因,焊接电路板时由于找不到7.5K的电阻,就用了8K的电阻代替了。所以最大频率和最小频率都没有达到老师的要求。3.5.2 具有输出频率设定与显示功能,

27、显示位数为9位;输出波形的占空比应在47%53%之间;输出幅度为012V,分级可调,且能显示幅度,幅度与频率显示交替进行;这三点要求均基本达到。3.3.3 由示波器观察到的方波图形可得的方波稳定准确度高,失真少,只是有一些杂波干扰。3.5.4 频率温度度:10-6/天;输出信号上升时间100ns,下降时间50ns;输出阻抗75。这三个要求由于验证不方便,所以没有检测。3.6 设计和调试遇到的主要问题3.6.1 设计时的主要问题是软件方案上,涉及到51单片机编程,由于没有学单片机,对单片机不熟悉,所以编程时很迷茫,这一大模块是在同学的帮助下得以顺利完成的。3.6.2 第一次观察波形时,达到的波形

28、很不稳定,而且不像方波,仔细检查线路才发现PCB板上某些地方由于洗板子时不小心断路了,用焊锡焊接好后,得到了精确度比较高的方波。六、实验心得两周的专业综合设计结束了,本次课程设计题目是数字式波形发生器的设计,虽然设计的时间不是很长,但在这短短的两周时间里确实使我学到了很多东西,在李老师的细心教导和同学的帮助下,我初步学会了使用单片机进行编程,也知道了一个单片机的工作过程,与此同时,还在对一些硬件的使用上,电路板的设计上有了很大的进步,对今后的学习有很大的帮助。 设计刚开始时,我通过老师和同学给的教学讲义,学习了本次使用单片机系统的基本工作原理,了解它的强大功能,用了两天的时间学习初步了解了用C

29、语言对单片机进行编程以及进一步复习了数模转换的工作原理,在老师的指导和同学的指点下,很顺利的完成了这个步骤。 其次,我们要进行的就是编写其它部分的程序,主要是按照设计的任务书来做,根据自己设计的实验步骤,一点点去实现各部分的功能。在这个过程中,学到了很多我已前没有用到过的新知识,真正的了解了一个单片机的基本工作原理,在了解了之后,设计程序才得心应手,在这个过程当中,遇到了很多问题,经过老师的耐心教导,最终把程序都给实现了。 在此次综合设计的整个过程中,学习了使用Protel DXP软件绘制原理图和进行了单片机编程,同时还学习了单片机的一系列内容,包括:复位电路、时钟电路、数码管与单片机的接口、

30、汇编指令系统。对于一些器件的工作原理也有了进一步的了解,如:LED显示器等。而且软件程序和硬件电路的结合,更加深刻体会了单片机系统的妙处。在本次设计中,让我学到了很多的知识也懂得了很多的道理,不管做什么工作前期准备工作是必不可少的,也要发挥自己的想象力。 两周的短暂设计时间不能使我们了解更多的硬件知识,不能使我们得到太多的经验,但它却让我知道在学习中要刻苦,在工作中要认真。虽然在硬件的很多知识上知道的还很少,并且编写的程序实在是有一点点的乱,但是有了这次经验,下次在编写程序的过程中一定会注意这些问题。通过这次综合设计,锻炼了我的动手实践能力,加强了我对单片机各个功能的了解,深刻地理解了keil

31、编译器的优越性,也提高了单片机的编程能力,为今后从事电子线路设计,从事单片机开发等硬件领域的工作打下一定的基础。最后,对我的指导老师李老师表示最衷心的感谢,谢谢她在做课程设计前给了我们一次实验的机会,才使这次课程设计完成得更加顺利成功过,同时,对给予我的帮助的同学和朋友表示感谢。七、参考文献1 程全.基于AT89C52实现的多种波形发生器的设计J.周口师范学院学报,2005.22(5):5758.2 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,2002.341364.3 刘乐善.微型计算机接口技术及应用M.北京:北京航空航天大学出版社,2001.258264.4 童诗白.模拟电路

32、技术基础M.北京:高等教育出版社,2000.171202.5 杜华.任意波形发生器及应用J.国外电子测量技术,2005.1:3840.6 张友德.单片微型机原理、应用与实践M.上海:复旦大学出版社,2004.4044. 7 程朗.基于8051单片机的双通道波形发生器的设计与实现J.计算机工程与应用,2004.8:100103.8 张永瑞.电子测量技术基础M.西安:西安电子科技大学出版社,2006.61101.9 李叶紫. MCS-51单片机应用教程M.北京:清华大学出版社,2004.232238.八、附录附录一:课程设计原理图附录二:课程设计PCB图附录三:元件清单1 1K电阻6个2 22uF电解电容4个3 104瓷片电容3个4 33pF2个5 0.1uF1个6 15K电阻2个7 7.5K电阻1个 8 12Mhz 晶振1个9 轻触开关3个10 89C52单片机芯片一片11 DAC0832数模转换芯片1片12 TL082运放芯片1片13 发光二极管 2个 14 上拉电阻1个15 1602液晶显示1个16 双面板一块17 排针若干

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1