DAC0832波形发生器的设计

上传人:ldj****22 文档编号:28939196 上传时间:2018-01-21 格式:DOC 页数:15 大小:239.78KB
返回 下载 相关 举报
DAC0832波形发生器的设计_第1页
第1页 / 共15页
DAC0832波形发生器的设计_第2页
第2页 / 共15页
DAC0832波形发生器的设计_第3页
第3页 / 共15页
DAC0832波形发生器的设计_第4页
第4页 / 共15页
DAC0832波形发生器的设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《DAC0832波形发生器的设计》由会员分享,可在线阅读,更多相关《DAC0832波形发生器的设计(15页珍藏版)》请在金锄头文库上搜索。

1、课程设计课程名称: 低频信号源的设计 专业年级: 电子信息工程 082班 学生姓名: 学 号: 200805070211 实习时间: 2011 年 6月 30至 7月 1日 指导教师: 填写时间:2011 年 7 月 3 日一、设计任务及意义 本系统是基于 AT89C52单片机的数字式简易低频信号发生器。用程序实现方波、锯齿波、三角波等信号,并在 Protues电子设计平台上对方案进行了仿真。消除了传统信号发生器存在元器件分散性造成波形失真的弊端。系统采用AT89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832) 、按键电路。通过按键控制可产生方波、锯齿波、正弦波。波形的

2、频率和幅度在一定范围内可任意改变,其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。二、设计方案选择及论证 系统方案比较方案一:采用函数信号发生器 ICL8038集成模拟芯片,(如图 2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。图 2-1 方案一方框图D/A键 盘 单片机ICL8038 运算电路显 示D/A输出方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,

3、而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案三:采用单片机和 DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。三、硬件设计系统总体框图设计本系统是以单片机 AT89C51和 8位 D/A转换芯片 DAC0832共同实现正弦波,方波,锯齿波这三种常见波形的产生及显示相互切换的功能。图 3-1 系统总体框图3.1单片机晶振电

4、路对于 MCS-51一般的晶振可以在 1.2MHZ12MHZ之间选择,这是电容 C可以对应的选择10pf-30Pf。对于本设计的电容 C用 30pF,晶振选用 12MHZ。晶振电路解法图 3-2,一条引脚接在 XTAL1,另一条接在 XTAL2。电路图如图 3-1-1所示:示波器OP1PDAC0832波形选择开关单片机PC 机 下载线图 3-1-13.2单片机复位电路复位是单片机的初始化工作,复位后中央处理器 CPU和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位电路,电路图如图 3-1-2所示:图 3-

5、1-23.3完整电路参照附录三四、软件设计单片机内部数据只有 0、1 之分,所产生的信号也都是离散信号。为了能够让单片机输出所需的数字信号,我们采用对信号采样、量化的方法来实现由单片机产生所需信号。在设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。采样点越密,信号失真度也就越小。对于三角波,就是实现 2次循环,通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。方波的输出时间间隔由键盘输入,然后由软件通过定时、计数器来控制。因此,通过控制不同的计数初值就可以控制整个方波信号的频率,其计数初值=65 536-输入值。对于其他波形,程序根据输入频率值计算出波形的输出时间参数

6、,即波形中每2点的时间间隔 C。程序设定寄存器 T0作定时器,T1 作计数器。当计算出 C65 536时, CPU只使用 T0。当 C65 536时,CPU 将 T0和 T1串联起来使用。T0/T1 被调用后开始计数,总定时时间到,输出一个点,反复循环,从而在一个周期内输出完整波形。设计中软件分为初始化模块、显示模块、键盘扫描模块、键值处理模块和波形产生模块。4.1 初始化子函数初始化子函数的主要工作是设置定时器的工作模式、初值预置、开中断和打开定时器等。在这里,定时器 T1工作于 16位定时模式,单片机按定时时间重复的把波形送到DAC0832的寄存器。其程序流程图如下图 4-2所示:4. 2

7、键扫描子函数键扫描子函数的任务是检查 3个键是否有键按下,若有键按下,则执行相应的功能。这里 3个键分别用于频率增加、频率减小和正弦波,锯齿波和方波的选择功能。其程序流程图如图 4-3所示:程图T1 中断允许,开定时器,开总中断T1 置初值,设为 16 位定时模式开始返回查键开始返回定时值减 1 波形选择定时值加 1查键号,按键值执行功能有键按下?NY4.3波形数据产生子函数波形数据产生函数是定时器 T1的中断程序。当定时器溢出时,发生一次中断。当发生中断时,单片机按次序将波形数据表中的波形数据一一送到 DAC8032,DAC8032 根据输入的数据大小输出对应电压。波形数据产生子函数流程图如

8、图 4-4所示:功能标志=1?开中断、中断返回查表指针加 1正弦波输出方波输出 锯齿波输出关中断、关定时、重装初值、开定时中断开始图 4-44.4 主函数主函数的任务是进行上电初始化,并在程序运行中不断查询按键情况执行相应的功能。程序设计见附录五五、系统测试及结果硬件电路的调试比较简单,只要元器件安装无误,一般都能一次成功。软件调试主要是各子程序的调试,对于频数的增减按键,由于计数器为 16位定时器,最大值为 65535,在加减时用 255作为减数,这样频率的调整变化较快些,但是在接近最高频率变化太快;如果加减时用一作加减数,那么在频率的高端变化平稳,而在频率的低端则变化太慢。调试时可根据应用

9、特点选择加减数的大小。简易低频信号源输出频率指标实际测试如下:(1)当按下 K3键一下时,波形为正弦波。波形图如图 5-1所示: 图 5-1 正弦波波形图(2)当按下 K3键两下时,播行为三角波。仿真图如图 5-2所示:图 5-2 三角波波形图(3)由 P2.0口直接可输出方波。仿真图如图 5-3所示:K1键是频率增加键,K2 键是频率减小键本次设计的信号发生器正弦波的频率范围在 0.01HZ83HZ,方波的输出频率范围在1.310.6KHZ。在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面

10、与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。但从仿真波形上可以看出输出波形的频率大致与程序中的设置吻合。波形的幅度与程序设置的最大值有关,而频率受机器周期的控制。当仿真时,由于存在一定的系统误差,波形效果不是很好。简易低频信号源输出的频率不是很高,在设计时每周期波形用 255个采样点合成,波形不是很光滑。如果增加采样点,则输出的频率会更低,所以在设计时应根据应用特点选择合理的采样点数。用单片机产生低频信号的最大优点是可以输出产生复杂的不规则波形,这是一般通

11、用信号源无法做到的。6、实习体会通过这次实验,熟悉了基于 AT89C52单片机的数字式简易低频信号发生器,利用数模转换器 DAC832来实现波形又通过按键来改变波形的频率以及波形的转换。在这次设计中,遇到很多的问题,包括硬件的设计以及软件的设计。硬件方面,就电路而言,根据硬件的设计,该电路简单方便,实现波形并不是很困难,但是,在焊接电路过程中,由于粗心大意,第一次去测试的时候,没有任何反应,经过自己和同学的检查,最终发现是由于晶振没有焊接(由于晶振是次电路的灵魂,它提供了电路的出事震荡) ,所以一开始没有任何反应。第二次去测试的时候发现只有按住开关才能有波形(K1,K2,K3任何一个都行),后

12、来经过检查发现单片机的接地线 20脚没有接地,经过这次的接地,终于成功了,输出了完整而稳定的波形在软件设计中,要熟悉整个电路的工作原理以及就具体芯片管脚的程序代码,运行过程中,调整好电路板,接好每一根导线,进行调试。若程序与电路工作原理一致,将会出现预期效果。调节 K1是增加波形信号的频率,K2 是减少波形信号的频率,K3 是三角波以及正弦波的转换键。总而言之,在这次实习中,收获颇多,不仅练习了焊接的工艺,而且也熟悉了电路的流程,以及单片机程序设计和单片机 AT89C51的工作原理。参考文献1牛昱光,等.单片机原理及接口技术 .北京:电子工业出版社,2008.2李光飞,等.单片机 C程序设计实

13、例指导. 北京:北京航空航天出版社,2005.3黄仁欣,等.单片机原理及应用技术.北京:清华大学出版社,2005.4张毅刚,等.MCS-51 单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2002.附录一 :元器件清单元器件名称及规格 标注AT89C52 U1DAC0832 U2电阻 10K R1上拉电阻 RP1晶体振荡器 12M X1瓷片电容 30Pf C1,C2电解质电容 10uF C3按键开关 K1,K2,K3直流电源 5V VCC数字示波器附录二:芯片管脚图:1、AT89C522、DAC0832附录三:电路原理图附录五:设计程序#include reg51.h#define uchar

14、 unsigned char#define uint unsigned int#define key P1#define dataout P0/*正弦波数据表*/uchar code sin_tab256=0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0x

15、D4,0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,0xC7,0xC5,0xC3,0x

16、C1,0xBF,0xBD,0xBB,0xB9,0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,0x35,0x34,0x32,0x30,0x2F,0X2D,0x2C,0X2A,

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号