- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
物理与信息工程学院 课 程 设 计 报 告 课题名称:方波—三角波—正弦波函数发生器设计 专 业:电子信息工程 班 级: 学 号: 学生姓名: 指导教师: 2012 年 6 月 15 日 实验目的 函数发生器是一种多波形的信号源。它可以产生正弦波、方波、三角波、锯齿波,甚至任意波形。有的函数发生器还具有调制的功能,可以进行调幅、调频、调相、脉宽调制和VCO控制。在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件 (如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本采用由的方法。单片机、,波形转换(D/A)电路和电源等构成波形的产生是通过AT8951 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。在AT8951的P2口接个按扭,通过软件编程来选择各种波形,每种波形对应一个按钮。此方案的是电路原理比较简单,实现起来比较容易。缺点是,采样频率由单片机内部产生故使整个系统的频率降低。 TLC561510位DAC芯片,性能比早期电流型输出的DAC要好。只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其主要特点如下:单5V 电源工作;3 线串行接口;高阻抗基准输入端;DAC 输出的最大电压为2 倍基准输入电压;上电时内部自动复位;微功耗,最大功耗为1. 75mW ;转换速率快,更新率为1. 21MHz ; 8引脚功能如下:DIN ,串行二进制数输入端;SCLK ,串行时钟输入端;CS ,芯片选择,低有效;DOUT ,用于级联的串行数据输出;AGND ,模拟地;REFIN ,基准电压输入端;OUT ,DAC 模拟电压输出端;VDD ,正电源电压端。 TLC5615只有当片选CS为低电平时, 串行输入数据才能被移入16 位移位寄存器。当CS 为低电平时,在每一个SCLK时钟的上升沿将DIN 的一位数据移入16位移寄存器。注意, 二进制最高有效位被导前移入。接着,CS的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC 寄存器, 供DAC 电路进行转换; 当片选CS为高电平时,串行输入数据不能被移入16位移位寄存器。注意,CS的上升和下降都必须发生在SCLK 为低电平期间。 TLC5615共有两种使用方式:使用菊花链功能和不使用菊花链功能。本次实验不使用菊花链功能,当不使用菊花链功能时,DIN只需输入12位数据。DIN输入的12位数据中,前十位为TLC5615输入的D/A转换数据,并且输入时,高位在前,低位在后,后2位必须写入为0的二位数值,因为TLC5615的DAC输入锁存器为12位宽。 实验设计图 流程图: 仿真图: 方波 方波 正弦波 正弦波 三角波 三角波 软件设计 主程序和子程序都存放在AT8951单片机中。 主程序的功能是:开机以后负责查键,即做键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理。 子程序的功能有:正弦波输出、输出、方波输出、显示等。 void keyscan() { uchar i; for(i=0;i2;i++) { P2=tab[i]; if((P2_1P2_0)==0) //查询按键 { delay(); if((P2_1P2_0)==0) //去抖动 { if(P2==0xfe) key=0; if(P2==0xfd) key=1; if(P2==0xfb) key=2; } } } } #includereg52.h #includeabsacc.h #define uchar unsigned char
文档评论(0)