简易函数发生器设计_第1页
简易函数发生器设计_第2页
简易函数发生器设计_第3页
简易函数发生器设计_第4页
简易函数发生器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号:2012012662单片机课程设计题 目: 函数发生器设计学院(系):机械与电子工程学院专业年级: 电信122学生姓名: 徐晗指导教师: XXXXXX完成日期: 2015年7月目录1、设计任务及要求11.1设计任务11.2 设计要求12、系统方案设计12.1 系统方案选择12.2 系统方案设计23、系统硬件设计33.1单片机最小系统33.2 D/A转换电路43.3 键控电路43.4整体电路图44、系统软件设计54.1 系统主程序设计54.2 子程序软件设计64.2.1初始化程序设置64.2.2波形设计子程序设计75、系统调试结果85.1 proteus 仿真结果85.2 实物示波器测量结

2、果106、总结11参考文献12附录113附录214单片机课程设计函数信号发生器设计1、设计任务及要求1.1设计任务本系统采用AT89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、按键电路,通过按键可控制切换正弦波 、三角波、方波及频率大小。1.2 设计要求本系统是基于AT89C52单片机的数字式简易低频信号发生器。用程序产生正弦波、三角波、方波信号,并在Proteus电子设计平台上对方案进行仿真,具体要求如下:1) 用程序产生不同函数(正弦波、三角波、方波);2) 使用波形选择开关、频率调节按钮,实现波形切换及频率变换;3) 使用DAC0832模拟输出波形。2、系统

3、方案设计2.1 系统方案选择方案一:采用函数信号发生器ICL8038集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。D/A键 盘单片机ICL8038运算电路显 示D/A输出图1 方案一设计框图方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案三:采用单片机和DAC0832数模转换器生成波形,

4、由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,且实验室器件可寻,所以采用该方案。2.2 系统方案设计本系统是基于AT89C52处理器设计一套低频信号发生器系统,并通过DAC0832数模转换芯片输出信号,示波器观测信号波形的功能。系统采用按键控制信号波形切换及频率变换。系统总体框图如图2。PC机AT89C52DAC0832示波器最小系统按键控制图2 系统总体框图3、系统硬件设计3.1单片机最小系统3.1.1 时钟电

5、路对于MCS-51常用的晶振在1.2MHZ12MHZ之间选择,这时电容C可以对应的选择10pf-30Pf。本设计中的电容C使用电容值30pF,晶振选用11.0592MHz。时钟电路采用常用的晶振电路,一条引脚接在XTAL1,另一条接在XTAL2。电路图如图2所示:图3 时钟电路3.2.2 复位电路复位是单片机的初始化工作,复位后中央处理器CPU和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位电路,电路图如图4所示:图4 复位电路 3.2 D/A转换电路DAC0832为一个8位D/A转换器,单电源供电,在+

6、5 +15V范围内均可正常工作,基准电压的范围为±10V,电流建立时间为1us,CMOS工艺,低功耗20mW。本设计中ILE=1,CS=WR1=0,此时LE1,允许数据输入;WR2=XFER=0,此时LE2=0,允许D/A转换。DAC0832引脚连接如图5。图5 DAC0832引脚图 3.3 键控电路设置3个独立的弹性按键开关,分别与单片机P10,P11,P12相连。当对应的开关按下时,P1口低三位对应串口跳变低电平,从程序上看,即该串口赋值“0”,以此实现单片机与外部键盘的外部控制,其电路图如图6。图6 键控电路模块 3.4整体电路图系统整体包括单片机最小系统、D/A电路、按键电路

7、,系统总体电路图见附录1.4、系统软件设计4.1 系统主程序设计在本设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。采样点越密,信号失真度也就越小。对于三角波,就是实现2次循环,通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。方波的输出时间间隔由键盘输入,然后由软件通过定时、计数器来控制,设置P20口输出方波波形。程序设计中,通过外部按键开关来控制计数初值及波形切换。因此,通过控制对应按键就可以控制整个信号的频率,其计数初值=65 536-输入值。本程序设定寄存器T0作定时器,T1作计数器。设定初值917,此时中断初始时间50ms。程序运行中T0/T1被调用后开始计

8、数,总定时时间到,输出一个点,反复循环,从而在一个周期内输出完整波形。系统主程序设计流程图如图7。Y查键号,按键值执行功能有键按下?N频率加频率减波型切换开始输出图7 系统主程序设计框图4.2 子程序软件设计4.2.1初始化程序设置本设计方案设定TMOD=0x11,T0计数,T1定时。使用的晶振11.0592MHz,则机器周期约为1.09us。设定的初始化计数初值THHL为(65536-917),则中断初始化定时1ms。同时计数变化值也为每按键一次变化917。初始化设置框图如图8所示:T1中断允许,开定时器,开总中断T1置初值,设为16位定时模式开始返回图8 初始化子程序设计框图4.2.2波形

9、设计子程序设计程序编写时对于正弦波及三角波使用的是“查数据表法”,其具体数据可通过线性运算求得。预先设定两个点(0,80H)、(/2,0FFH),设置在0至/2范围内有64个点,则可以求得正弦波的函数方程为Y=127sin(90n/64)+128,(n=1,2,3,.256),如当n=1时,求得Y=83H。这样即可得到256点对应波形。此外,方波由P20输出,key3按键控制切换正弦波、三角波输出。波形程序设计框图如图9所示。NY波形切换=1?开中断、中断返回查表数据指针加1正弦波输出方波输出三角波输出关中断、关定时、重装初值、开定时中断开始图9 波形设计输出子程序框图5、系统调试结果5.1

10、proteus 仿真结果本设计基于proteus开发环境,绘制原理电路、加载程序后,直接采用虚拟示波器观测波形。其中,对于频数的增减按键,由于计数器为16位定时器,最大值为65535,在加减时用917作为加(减)数,即信号间隔变化1ms,这样频率的调整变化较快些,但是在接近最高频率变化太快。因此,调试时可根据应用特点选择加减数的大小。本系统低频函数发生器指标仿真测试如下:1) 初始设置为三角波输出,其波形如图10所示:图10 三角波输出波形 2) Key3按下时切换至正弦波,为前后对比突出,截取改变时刻波形如图11:图11 正弦波输出波形对比图 3) P20输出方波信号,其波形如图12所示:图

11、12方波信号波形 4) key1频率增加键,key2是频率减小键。以正弦波为例,增大频率时,其周期变长,截取改变时刻波形图如图13所示:图13 频率减小正弦波前后波形对比5.2 实物示波器测量结果1) Key3按下时切换至正弦波,截取改变时刻波形如图14:图14三角波切换至正弦波2) Key1键是频率增加键,Key2键是频率减小键。以三角波为例,。可以看出,增加频率后周期变短,从波形上看则是此时输出三角波线条替换上一周期所对应的波形,突出对比前后变化波形如图15所示:图15 增加频率三角波前后波形对比 6、总结本次课设是基于AT89C52单片机设计一个简易的低频函数信号发生器,并利用数模转换器

12、DAC0832来实现波形输出,同时通过外部按键来改变信号的频率以及波型的切换。硬件电路设计时,则利用之前制作的正常工作的单片机开发板,并在面包板上搭建DAC0832芯片及电路连接,调整好电路板,接好每一根导线,进行调试,继而通过示波器即可观测、记录波形。按键部分设置key1是增加波形信号的频率,key2是减少波形信号的频率,key3是三角波以及正弦波的切换按键。以频率变化为例,当频率增加(减少)时,对应示波器上在一个周期内,可以直观的观测到改动后波形替换上一周期的波形,时间间隔对应减小(增加)。程序设计中对于正弦波及三角波信号的生成,采用的是“查表法”。当然了,实际编程时则是直接在网上寻找到一

13、般使用的正弦波(三角波)16进制数据表。至于按键开关控制信号频率部分,则是通过改变中断定时计数初值(65536-变化值)来改变的。设定的初始化计数初值THHL为65536-917,T1定时方式1,1ms中断定时。计数变化值为每按键一次变化917。总之,此次单片机课程设计弥补了自身“键盘”、“D/A”的不足,学习了一种设计低频信号发生器的方法,更加深刻的理解了其原理及使用方法,收货颇丰。同时,课题中也并未要求制作实物。而实际上,本人则在实现proteus仿真后也搭建了硬件电路 ,用示波器进行了显示、记录,达到了预期的效果。参考文献1 李庭贵.基于DAC0832和AT89S52的信号发生器设计J.

14、 电子科技. 2012(06)2 逯久鑫,彭旋,樊军庆.基于51单片机的低频信号发生器的设计与仿真J. 电子设计工程. 2011(16)3 田蛟,展文豪,张宏伟.基于单片机的信号发生器设计J. 信息技术. 2011(05)4 黄鹏勇.基于AT89S51单片机的信号发生器设计J. 科技经济市场. 2011(04)5 石玉军,刘振来.函数信号发生器的设计与仿真J. 现代电子技术. 2008(09)6 万永芳,余忠凯.一种采用80C51的函数信号发生器硬件设计J. 长江大学学报(自然科学版)理工卷. 2008(03)7 郭文川主编. 单片机原理与接口技术,中国农业出版社,2007.8附录1附录2#i

15、nclude "reg51.h"#define uchar 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,0xC

16、7,0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,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,0xD

17、0,0xCE,0xCC,0xCB,0xC9,0xC7,0xC5,0xC3,0xC1,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,0x4

18、7,0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,0x35,0x34,0x32,0x30,0x2F,0X2D,0x2C,0X2A,0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x2

19、4,0x25,0x26,0x28,0x29,0X2A,0x2C,0X2D,0x2F,0x30,0x32,0x34,0x35,0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D;/*三角波数据表*/uchar code thr_tab256=0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0

20、x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,0xBF,0xBE,0xBD,0xBC,0xBB,0

21、xBA,0xB9,0xB8,0xB7,0xB6,0xB5,0xB4,0xB3,0xB2,0xB1,0xB0,0xAF,0xAE,0xAD,0xAC,0xAB,0xAA,0xA9,0xA8,0xA7,0xA6,0xA5,0xA4,0xA3,0xA2,0xA1,0xA0,0x9F,0x9E,0x9D,0x9C,0x9B,0x9A,0x99,0x98,0x97,0x96,0x95,0x94,0x93,0x92,0x91,0x90,0x8F,0x8E,0x8D,0x8C,0x8B,0x8A,0x89,0x89,0x87,0x86,0x85,0x84,0x83,0x82,0x81,0x80,0x7F,0

22、x7E,0x7D,0x7C,0x7B,0x7A,0x79,0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,0x6F,0x6E,0x6D,0x6C,0x6B,0x6A,0x69,0x68,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x5F,0x5E,0x5D,0x5C,0x5B,0x5A,0x59,0x58,0x55,0x55,0x55,0x54,0x53,0x52,0x51,0x50,0x4F,0x4E,0x4D,0x4C,0x4B,0x4A,0x49,0x48,0x44,0x44,0x45,0x44,0x43,0

23、x42,0x41,0x40,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x55,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63,0x66,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73,0x77,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F;/*/uint data THHL;uchar data keyword,n=0;bdata sinthr;sbit sin_thr=sinthr0;sbit ww=P20; /*方波输出*/sbit key1=P10;sbit key2=P11;sbit key3=P12;/*x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论