ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:1.15MB ,
资源ID:18104260      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18104260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的信号发生器的设计课程设计Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的信号发生器的设计课程设计Word文档格式.docx

1、3.2方案论证经过比较,方案二采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,由单片机,按键电路、数模转换电路、放大电路、时钟电路以及复位电路组成。通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、锯齿波等波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。该系统采用单片机作为数据处理及控制核心,由单片机完成人机

2、界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。总体电路框图如图3-1所示:图3-1总体电路框图4硬件电路设计4.1单片机最小系统MCS-51是INTEL公司在成功推广的MCS-48单片机基础上加以改进而成的8位单片机。这种单片机大约是上世纪70年代末推出的,内部程序可重写的为8751,外扩程序的是8031,一次性生产,不可改变程序的是8051。图4-1为STC89C51单片机最小系统功能图。图4-1STC89C51单片机引脚图STC89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方

3、式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器计数器溢出时产生的中断请求,即是在STC89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,STC89C51等待,直到定时器计时结束,产生中断请求,STC89C51响应中

4、断,接着输出下一个采样点信号,如此循环产生所需要的信号波形。STC89C51单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,电容C1、C2对振荡频率有稳定作用,其容量的选择为30pf,振荡器选择频率为12MHz的石英晶体。由于频率较大时,三角波、正弦波、锯齿波中每一点的延时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形。为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分。所以,在本设计中加入了复位电路来保证单片机的持续稳定工作。4.2D/A数模转换电路数模转换就是将离散的数字量转换为连接变化的模拟量。DAC0832是双列直插式8

5、位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图4-2为DAC0832数模转换电路图。图4-2数模转换电路图图4-3为DAC0832为数模转换的最要元件引脚结构图。图4-3DAC0832的引脚图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。图4-3为DAC0832的引脚图。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为1LSB,参考电压(+10/span-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。

6、在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。当ILE为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平

7、变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。图4-3中其余各引脚的功能定义如下:DAC0832引脚功能说明:DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线(+5v+15v) Vref:基准电压输入线(-10

8、v+10v)AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地4.3 按键电路图4-4为键盘接口电路的电路图,本系统采用独立键盘开关,其中按键“KEY1”可以来调节切换波形的输出,按键“KEY4”用来调节调节波形频率的步进值。按键“KEY2”;“KEY3”可以调节波形频率的加和减。图4-4按键电路4.4放大电路LM358里面包括有两个高增益、独立的、内部频率补偿的双运放,适用于电压范围很宽的单电源,而且也适用于双电源工作方式,它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方。电路图如图图4-5所示:图4-5 放大电路如图4

9、-6所示的LM358功能引脚图所示,LM358的5管脚与DAC0832的(IOUT2)12管脚相连,LM358的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.图4-6LM358功能引脚图其中4引脚为正电源;11引脚为负电源;1,7,8,14引脚为输出;3,5,10,12位正输出;2,6,9,13引脚为负输出。第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路的(R2/R1)倍。5 系统软件设计本文中设计是通过按键的选择来实现,在相应按键按下后,采用STC89C5

10、1单片机,用编程的方法来产生三种波形,并通过编程来切换三种波形以及波形频率的改变。软件调通后,通过编程器下载到STC89C51芯片中,然后插到系统中即可独立完成所有的控制。软件的流程图中通过选择K1是否有按下,如果没有则重新开始,如果有则通过K1来选择波形,第一次按下出现正弦波,第二次按下出现方波,第三次按下出现三角波,第四次按下出现锯齿波,依次循环。按下K2、K3、K4依次进行频率加减和步进值的加减,最终输出波形。如图5-1所示:图5-1程序流程图6系统调试6.1 硬件调试为了准确发现系统存在的问题,需要进行系统调试,调试的顺序按照先硬件后软件,先局部后整体的顺序来完成。首先介绍系统的硬件安

11、装过程及针对各单元模块的硬件电路调试,检验其是否符合设计初衷,能否达到相应指标。硬件调试主要包括电源系统的调试、单片机小系统的调试、D/A转换电路的调试、示波器的调试几部分。为保证整个系统能够正常工作,首先要保证电源系统正常工作并且保证输出为+5V。通过测量输出口的电压值不断修改电路设计,完成电源系统的调试。6.2 软件调试主要进行了单片机STC89C51的软件调试过程,检验其是否符合设计初衷,能否达到相应的指标。主要是示波器的调试,通过编写程序实现波形的显示,按键的不同,对应的示波器的显示波形一样。正弦波波形如下图6-1所示:图6-1 正弦波矩形波波形如下图6-2所示:图6-2 矩形波三角波

12、形如下图6-3所示:图6-3 三角波锯齿波形如下图6-4所示:图6-4 锯齿波7总结通过这次课程设计使我对课程所学理论知识的深化和提高。并且通过本次课程设计,使我了解和掌握单片机应用系统的软硬件设计过程、方法及实现,培养了我分析问题和解决问题的能力,为以后设计和实现更难的应用系统打下良好基础。同时培养了我撰写设计说明书的能力。在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程

13、中大部分时间是用在程序上面的。对理论在实践中应用的深刻理解,通过把波形在计算机上实现,知道和理解该理论在计算机中怎样执行的,对该理论在实践中的应用更深刻的理解,激发了我的学习积极性,在这次课程设计中,参考文献1 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,20022 刘乐善.微型计算机接口技术及应用M.北京:北京航空航天大学出版社,20013 童诗白.模拟电路技术基础M.北京:高等教育出版社,20004 张友德.单片微型机原理、应用与实践M.上海:复旦大学出版社,2004 5 张永瑞.电子测量技术基础M.西安:西安电子科技大学出版社,20066 李叶紫. MCS-51单片机应用教

14、程M.北京:清华大学出版社,2004、总体电路原理图元器件清单序号名称规格数量1单片机STC89C512运放芯片LM3583数模转换芯片DAC08324电位器1035电阻10K6电解电容10pf7瓷片电容30pf8LED5mm9晶振12M102.2K1110012220131K14按键实物图源程序#include /包含头文件intrins.h#define uchar unsigned char /宏定义#define uint unsigned intsbit s1=P35; /定义按键的接口sbit s2=P36;sbit s3=P37;sbit s4=P34;sbit led0=P30

15、;sbit led1=P31;sbit led2=P32;sbit led3=P33; sbitlcdrs=P27; /液晶控制位sbitlcden=P26;char num,boxing,u; /定义全局变量intpinlv=100,bujin=1,bujin1=1;uchar code table=0123456789; /定义显示的数组uchar code table1=Fout= Wave form:unsigned long int m;int a,b,h,num1;/自定义字符uchar code zifu= 0x0e,0x11,0x11,0x00,0x00,0x00,0x00,0

16、x00, 0x00,0x00,0x00,0x00,0x11,0x11,0x0e,0x00, /正弦波 0 1 0x00,0x07,0x04,0x04,0x04,0x04,0x1c,0x00, 0x00,0x1c,0x04,0x04,0x04,0x04,0x07,0x00, /矩形波 2 3 0x00,0x01,0x02,0x04,0x08,0x10,0x00,0x00, 0x00,0x10,0x08,0x04,0x02,0x01,0x00,0x00, /三角波 4 5 0x00,0x01,0x03,0x05,0x09,0x11,0x00,0x00, /锯齿波 6;uchar code sin6

17、4=135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128 /正弦波取码uchar code juxing64=255,255,255,255,255,255,255,255,255,255,255,255,255

18、,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /矩形波取码uchar code sanjiao64=0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216

19、,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0 /三角波取码uchar code juchi64=0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,2

20、10,215,219,223,227,231,235,239,243,247,251,255 /锯齿波取码void delay(uintxms) /延时函数 inta,b; for(a=xms;a0;a-) for(b=110;bb-);void write_com(uchar com) /写命令函数 lcdrs=0; P0=com; delay(1); lcden=1; lcden=0;void write_date(uchar date) /写数据函数 lcdrs=1; P0=date;/自定义字符集voidLcd_ram() uinti,j,k=0,temp=0x40; for(i=0;i7;i+) for(j=0;j1000) pinlv=100; display(); m=65536-(150000/pinlv); a=m/256; b=m%256; EA=1; if(s2=0)

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

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