欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多频率的正弦波低频信号发生器的设计.docx

    • 资源ID:2601221       资源大小:2.10MB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多频率的正弦波低频信号发生器的设计.docx

    1、多频率的正弦波低频信号发生器的设计机械与电子工程学院接口技术课程设计报告题目:多频率的正弦波低频信号发生器的设计摘 要: 本系统利用单片机AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz,10Hz,100Hz,1000Hz的波形。通过键盘来控制正弦波频率的变化,并通过数码管显示其数值,系统大致包括信号发生部分、数/模转换部分以及显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。关键词:单片机AT89C51、DAC0808、74HC5731.设计任务及要求 (1)设计任务为多频率

    2、的正弦波低频信号发生器 (2)要求正弦波低频信号发生器产生1Hz,10Hz,100Hz,1000Hz的波形,频率可由开关选择。2.方案选择 信号发生电路方案论证:方案一:通过单片机控制D/A,输出正弦波。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波。此方案,电路复杂,干扰因素多,不易实现。方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的正弦波周期性波形。但此方案成本高,程序复杂度高。综合考虑以上三种方案

    3、,本设计选择方案一。 3.硬件系统设计 3.1 总体系统设计思路本设计系统由主控制模块、数模转换模块、显示模块、控制模块共四个模块组成。主控芯片使用AT89C51单片机,数模转换模块采用DAC0808实现,显示模块采用4个数码管构成,利用键盘控制正弦波频率的改变。系统整体模块如图1所示。 图1系统整体模块 3.2 电路构成介绍利用单片机AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz,10Hz,100Hz,1000Hz的波形。通过键盘来控制正弦波频率的变化,并通过数码管显示其数值,系统大致包括信号发生

    4、部分、数/模转换部分以及显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 3.2.1单片机最小系统 AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1)有可供用户使用的大量I/O口线。(2)内部存储器容量有限。(3)应用系统开发具有特殊性。图2 AT89C51单片机最小系统 3.2.2波形产生电路设计 由单片机采用编程方法产生正弦波波形、通过

    5、D/A转换模块DAC0808在进过滤波放大之后输出。单片机的P2口连接DAC0808的八位数据输入端,DAC0808的输出端接放大器,经过放大后输出所要的波形。DAC0808的为八位数据并行输入的,DAC0808的引脚图如图3所示,其结构图如图4所示: 图3 DAC0808引脚图 图4 DAC0808的内部结构其连接电路图如下: 图5 波形产生电路 如图所示,VEE接-5V电压,COMP端与VEE之间接0.1uF电容,VREF(+)通过5K电阻接+5V电源,VREF(-)接地。输出端IOUT连接运算放大器反向输入端。运算放大器同相输入端接地。 3.2.3频率显示电路的设计通过4个74HC753

    6、连接4个数码管显示输出的正弦波的频率,其电路图如下:图6 正弦波频率显示如上图所示,74HC753输入端接单片机的P0口,其LE端分别接单片机的P3.1P1.4。通过软件控制可以显示波形的频率。 3.2.4键盘显示电路的设计 由于本系统所用按键少,其连接电路图如下:图7 键盘图中独立键盘引出的线接单片机的P1.0-P1.1,开关的功能如图所示。P11每按一次频率10,P22每按一次频率10。3.2.5系统整体电路系统整体电路图如图8所示;图8 整体电路图单片机AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,最终由示波器显示出来,能产1Hz,1

    7、0Hz,100Hz,1000Hz的波形。通过键盘来控制正弦波频率的变化,并通过数码管显示其数值。4.软件系统设计软件的流程图:本系统采用AT89C51单片机,用编程的方法来产生正弦波波形,设置初始值,并通过编程来切换波形频率的改变。具体功能有:(1)正弦波波形的显示;(2)频率增减。软件调试后,通过编程器下载到AT89C51芯片中,首先初始化函数,接着键盘扫描,定时器初始化,分离函数,最后显示出正弦波频率。软件的流程图如下: 图9 软件的流程图5.系统调试与存在的问题 5.1 Proteus仿真结果仿真结果如下所示:图10 频率为1Hz时波形图AT89C51采用程序设计方法产生正弦波,再通过D

    8、/A转换器DAC0808将数字信号转换成模拟信号,最终由示波器显示出来,能产1Hz。图11 频率为10Hz时波形图AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,最终由示波器显示出来,能产10Hz。图12 频率为100Hz时波形图AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,最终由示波器显示出来,能产100Hz。图13 频率为1000Hz时波形图AT89C51采用程序设计方法产生正弦波,再通过D/A转换器DAC0808将数字信号转换成模拟信号,最终由示波器显示出来,能产1000Hz。 5.

    9、2 结果分析本系统通过对AT89C51加载程序使其输出正弦波波形,同时可以通过按键正弦波频率。设置初始频率为1Hz,当第一次按下K键时,选择要改变正弦波的频率为10Hz,第二次按下K键时,选择要改变正弦波的频率为100Hz,第三次按下K键时,选择要改变正弦波的频率为1000Hz,第四次按下K键时,正弦波的频率恢复到初始状态1Hz,同时输出各个频率对应的波形,能正确显示波形及其频率。 5.3 存在问题刚开始用4位数码管显示的时候,正弦波频率到了100Hz和1000Hz的时候数码管就会不停地闪烁。之后换用74HC573连接静态数码管,前面的问题得到解决,不过当正弦波频率到了1000Hz以后,有时候

    10、按下10键就回不到程序要求的1Hz。6.心得体会在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。要设计一个成功的电路,必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是

    11、各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解。最后还要在此感谢各位毕业设计的指导老师们和我的组员们,他们在整个过程中都给予了我充分的帮助与支持。参考文献1 郭文川主编.单片机原理与接口技术.中国农业出版社,2007.82 郭天祥.51单片机C语言教程.北京: 电子工业出版社,2009.13 郑学坚,周斌.微型计算机附录1:程序#include #include #define uchar unsigned

    12、charuchar code SINX=0x7F,0x82,0x85,0x88,0x8B,0x8F,0x92,0x95,0x98,0x9B,0x9E,0xA1,0xA4,0xA7,0xAA,0xAD,0xB0,0xB3,0xB6,0xB8,0xBB,0xBE,0xC1,0xC3,0xC6,0xC8,0xCB,0xCD,0xD0,0xD2,0xD5,0xD7,0xD9,0xDB,0xDD,0xE0,0xE2,0xE4,0xE5,0xE7,0xE9,0xEB,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFB,

    13、0xFC,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFC,0xFB,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEB,0xE9,0xE7,0xE5,0xE4,0xE2,0xE0,0xDD,0xDB,0xD9,0xD7,0xD5,0xD2,0xD0,0xCD,0xCB,0xC8,0xC6,0xC3,0xC1,0xBE,0xBB,0xB8,0xB6,0xB3,0xB0,0xAD,0xAA,0xA7,

    14、0xA4,0xA1,0x9E,0x9B,0x98,0x95,0x92,0x8F,0x8B,0x88,0x85,0x82,0x7F,0x7C,0x79,0x76,0x73,0x6F,0x6C,0x69,0x66,0x63,0x60,0x5D,0x5A,0x57,0x54,0x51,0x4E,0x4B,0x48,0x46,0x43,0x40,0x3D,0x3B,0x38,0x36,0x33,0x31,0x2E,0x2C,0x29,0x27,0x25,0x23,0x21,0x1E,0x1C,0x1A,0x19,0x17,0x15,0x13,0x12,0x10,0x0F,0x0D,0x0C,0x0A,

    15、0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0C,0x0D,0x0F,0x10,0x12,0x13,0x15,0x17,0x19,0x1A,0x1C,0x1E,0x21,0x23,0x25,0x27,0x29,0x2C,0x2E,0x31,0x33,0x36,0x38,0x3B,0x3D,0x40,

    16、0x43,0x46,0x48,0x4B,0x4E,0x51,0x54,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x73,0x76,0x79,0x7C ;/正弦波信号#define uint unsigned int#define Fosc 11059200 /晶振频率11059200 #define ALL 65536 /最长基数长度65536uchar LED1_BUF=0xff,LED2_BUF=0xff,LED3_BUF=0xff,LED4_BUF=0xff; /数码管显示uchar TIMER0_H,TIMER0_L; /定时器0的初值

    17、设置uchar NUM=0; /计数变量 uint FREQ=1; uint a; /bit FLAG=0; /频率调节标志 sbit F_UP=P10; /频率上调按钮sbit F_DOWN=P11; /频率下调按钮void delay(uchar t); /延时函数void display(); /显示函数void calculate_F(); /频率变化,计算定时初值void discrete(); /分离频率用于显示void key_scan(); /键盘扫描函数void init(); /初始化函数void timer0(); /定时器0的终端服务函数void delay(uchar

    18、 t) /函数功能:延时 uchar i,j; while(t-) for(i=0;i10;i+) for(j=0;j3) a=0; /FLAG=1; if(a=0) FREQ=1; if(a=1) FREQ=10; if(a=2) FREQ=100; if(a=3) FREQ=1000;void init() /函数功能:定时器初始化函数 TMOD=0x01; TH0=TIMER0_H; TL0=TIMER0_L; ET0=1; EA=1; TR0=1; calculate_F(); discrete(); display(); void discrete() /函数功能:参数分离函数 LE

    19、D1_BUF=FREQ/1000; LED2_BUF=FREQ/100%10; LED3_BUF=FREQ%100/10; LED4_BUF=FREQ%10; uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; void display() /函数功能:数码管显示函数 P3=0Xf1; P0=DSY_CODELED1_BUF; delay(5); P3=0xf2; P0=DSY_CODELED2_BUF; delay(5); P3=0xf4; P0=DSY_CODELED3_BUF; delay(5); P3=0xf8; P0=DSY_CODELED4_BUF; delay(5); void timer0() interrupt 1 /函数功能:定时器0中断函数 /TR0=0; TH0=TIMER0_H; TL0=TIMER0_L; P2=SINXNUM; NUM+; /TR0=1; main() /函数功能:主程序入口 init(); while(1) key_scan(); calculate_F(); discrete(); display();


    注意事项

    本文(多频率的正弦波低频信号发生器的设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开