版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用课程设计题目:专业:学号:r>r1 f n 1 i名:用单片机实现的波形发生器10自动化(2)201010320220完成日期:指导教师:2013-6-28单片机原理及应用课程设计任务书班级: 姓名:指导老师:张玲 2013年6月28 h设计题目:用单片机实现的波形发生器设计任务1. 以单片机为主控制器设计一波形发生器,通过示波器观察所得的信号 波形。2. 通过功能选择,可输出方波、正弦波和三角波。设 计 要 求1. 调研、查找并收集资料。2. 总体设计。3. 硬件设计::用a4纸画出硬件的接线图。4. 软件设计:画流程图及编写程序。5. 撰写设计说明书(字数约2500字
2、左右)。6. 参考资料目录参 考 资 料单片机原理及接口技术 胡汉才 清华大学出版社单片机中级教程 张俊谟北航出版社单片机原理及接口技术李全利 高等教育出版社教研室主任签字:年 月目录1引言42概述52.1方案论证5方案一5方案二5方案三53主要芯片介绍63. 1高精度可编程波形发生器ad9833小文资料63. 1. 1 ad983363.1.2 ad9833的结构及功能64 软件程序94.1程序流程图94.2程序95调试与实物展示135.1结果分析135.2实物图16附录:总体电路图171引言信号发生器是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信 号、函数(波形)信号、脉冲信号
3、和随机信号发牛器等四大类。信号发生器乂称信号 源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角 函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正 弦波的电路被称为函数信号发生器。正弦信号是频率成分最为单一的一种信号,因这种信号的波形是数学上的正弦 曲线而得名。任何复杂信号一一例如音乐信号,都可以通过傅里叶变换分解为许多频 率不同、幅度不等的正弦信号的迭加。方波信号是指电路系统中信号的质量,如果在要求的时间内,信号能不失真地从 源端传送到接收端,我们就称该信号是方波信号。信号具有良好的方波信号是指当在 需要的时候,具有所必需达到的电压电平数值。
4、差的方波信号不是由某一单一因素导 致的,而是板级设计中多种因素共同引起的。主要的方波信号问题包括反射、振荡、 地弹、串扰等阶梯波发生器产生的阶梯信号,在无线电遥测,调频信号磁带记录以及数字电压 表屮较为有用,有时作为比较基准电压产生阶梯波的方法也较多。实现信号发生器的方法有很多种,通过模拟电路的脉冲信号发生电路配合枳分 微分电路可以产牛正弦,三角波,方波信号,而目前市面上有很多集成好的信号发牛 器芯片,例如ad9850. ad9833等芯片,能通过单片机等控制器产生频率可变的很稳 定和精度很高的基础信号,本设计采用at89s52控制集成芯片ad9833产生正弦波, 三角波和方波信号,通过加法器
5、处理方波信号实现方波到阶梯波的转变,并利用第二 课堂的资源制作成实物,将实验产生的波形通过数字示波器测试出来。2概述该系统是通过51单片机控制集成的dds波形发生器产生三角波,正弦波,方波 的电路设计,经过测试系统能产牛精确度为0. 1hz的上述波形,频率范围可通过控制 器使频率在1hz飞mhz的稳定的波形范围内。该设计通过了硬件调试,设计论文中的 波形图像都来自于数字示波器的usb flash devide端口。2.1方案论证方案一:通过da0832 8位精度的数字-模拟转换芯片,使用这块集成芯片优点 有芯片价格低廉,接口简单,软件编写简单,但不足之处是芯片产生的合成信号转换 速度低,产生信
6、号的频率范围很有限方案二:釆用纯数字模拟技术,用ne555史密斯触发器产生方波信号,以方波 为基波通过模拟电路组成的积分微分电路再生成其他波形,通过手动调节电阻 从而控制波形频率,其结构图如图1图1该方案的优点在于成本很低很低,并且可以免去程序的编制,不需要微处理器 的知识,能很好的巩固硬件知识。但有利必有弊,其缺点在于过多的硬件器件使系统 稳定性大幅度下降,没有软件辅助波形设定麻烦,波形不稳定,最主要的是纯模拟电 路调试很麻烦。方案三:釆用集成芯片dds波形发生器,该系列芯片优点突出,其屮ad9833是adi 公司生产的一款低功耗,可编程波形发生器,能够产生正弦波、三角波、方波输出。其 特点
7、是频率和相位可通过改变内部寄存器来编程,通过主控制器选择波形,频率。三 线的spi接口使得线路简单,软件编写简单,输岀频率有所提高,其缺点是输出杂散 大。根据上面的优缺点比较综合论证,本设计采用方案三。3主要芯片介绍3. 1高精度可编程波形发生器ad9833中文资料3.1.1 ad9833ad9833是adt公司生产的一款低功耗,可编程波形发生器,能够产生正弦波、三 角波、方波输出。波形发牛器广泛应用于各种测量、激励和时域响应领域,ad9833无 需外接元件,输岀频率和相位都可通过软件编程,易于调节,频率寄存器是28位的,主 频时钟为25mhz时,精度为0. 1hz,主频时钟为1mhz时,精度
8、可以达到0. 004hz。可以 通过3个串行接口将数据写入ad9833,这3个串口的最高工作频率可以达到40milz,易 于与dsp和各种主流微控制器兼容。ad9833的工作电压范围为2. 3v-5. 5v。3.1.2 ad9833的结构及功能电路结构ad9833 是一块完全集成的 dds (direct digital frequency synthesis)电路, 仅需要1个外部参考时钟、1个低精度电阻器和一个解耦电容器就能产牛高达12. 5mhz 的正弦波。除了产生射频信号外,该电路还广泛应外于各种调制解调方案。这些方案全都用在数字领域,采用dsp技术能够把复杂的调制解调算法简化,而且很
9、精确。ad9833的内部电路主要有数控振荡器(nco)、频率和相位调节器、sine rom、数 模转换器(dac)、电压调整器,其功能框图如图2所示。图2ad933的核心是28位的相位累加器,它由加法器和相位寄存器组成,每来1个时钟, 相位寄存器以步长增加,相位寄存器的输岀与和位控制字相加后输入到正弦查询表地 址中。止弦查询表包含1个周期止弦波的数字幅度信息,每个地址对应止弦波中0° 360°范围内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字 量信号,去dac输出模拟量,相位寄存器每经过228/m个mclk时钟后回到初始状态,相 应地正弦查询表经过一个循环
10、回到初始位置,这样就输出了一个正弦波。输出正弦波 频率为:fout=m (fmclk/228)(1)其中,m为频率控制字,由外部编程给定,其范围为0wmw2281。vdd引脚为ad9833的模拟部分和数字部分供电,供电电压为2. 3v-5. 5v。ad9833 内部数字电路工作电压为2. 5v,其板上的电压调节器可以从vdd产生2. 5v稳定电压,注意:若vdd小于等于2. 7v,引脚cap/2. 5v应直接连接至vdd。功能描述ad9833有3根串行接口线,与spi、qspi、mi-crowire和dsp接口标准兼容, 在串口吋钟sclk的作用下,数据是以16位的方式加载到设备上,吋序图如图
11、3所 示,fsync引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,fsync 引脚必须置低,要注意fsync有效到sclk下降沿的建立时间t7的最小值。fsync置低 后,在16个sclk的下降沿数据被送到ad9833的输入移位寄存器,在第16个sclk的 下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的数据保持时间ts 的最小和最大值。当然,也可以在fsync为低电平的时候,连续加载多个16位数据,仅 在最后一个数据的第16个sclk的下降沿的时将fsync置高,最后要注意的是,写数据 时sclk时钟为高低电平脉冲,但是,在fsync刚开始变为低时,(
12、即将开始写数据 时),sclk必须为高电平(注意til这个参数)。当ad9833初始化时,为了避免dac产牛虚假输出,reset必须置为1 (reset不会 复位频率、相位和控制寄存器),直到配置完毕,需要输岀时才将reset置为0;reset 为0后的8-9个mclk时钟周期可在dac的输出端观察到波形。ad9833写入数据到输出端得到响应,中i'可有一定的响应时i'可,每次给频率或相位寄存器加载新 的数据,都会有7-8个mclk时蚀周期的延时之后,输出端的波形才会产生改变,有1个mclk时 钟周期的不确定性,因为数据加载到目的寄存器时,mclk的上升沿位置不确定。3. 2
13、89s52 介绍at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k在系统可编程 flash存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产 品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程 器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52在众多 嵌入式控制应用系统屮得到广泛应用。4软件程序4.1程序流程图图6示出了 ad9833的软件流程。无论是写控制寄存器、频率寄存器还是相位寄存器、在写数据之前都需要把选通 信号置为有效状态,这样写入的数据才会有效,否则无效。在dsp发送完1个数据字后 将
14、产生sp1中断请求,本设计中未使用中断方式,而且通过查询中断标志来跳出,并虚 读dsp的接收缓冲器清除中断标志。图34.2程序include <reg52.h>irinclude <intrins. h>define b1tb 0x0800sbit fsync = pl"4;sbit sclk = p5;sbit sdata = pl"6;define dds sclk up sclk=l#define dds_sclk_d0wn sclk二0define dds sdata up sdata=l#define dds sdata down sdat
15、a=0define dds_fsync_up fsync=l define ddsj;sync_down fsync二0unsigned int config data8;void delay2us(unsigned char i) while (i):void wri ledds2byte(unsigned int config)unsigned char i;dds sclk down;_nop_();dds fsync up;_nop_ ();dds sclk up; delay2us(l);dds fsync down;_nop_();for (i二0; i<16; i+) if
16、 (config & 0x8000) dds_sdata_up;else dds sdata down; delay2us(l);dds sclk down: dclay2us (1);dds sclk .up;con fig «= 1:dds_fsync_up;_nop_ ();dds sclk down; delay2us(100);/波形发生函数入口参数:频率:freq (<=12000000)/形状:0 (正弦波),1 (三和波),2 (方波)/默认:fmclk=25mhz, 0相移,方波不分频.void wavcgencralc(unsigned long f
17、req,unsigncd char shape) unsigned long temp;unsigned char k;if(freq>12000000) freq=l2000000;switch(shape)case 0: config_data0=0x2108;config data7=0x2008;break;case 1: config_data0=0x210a;config data7=0x200a;break;case 2: config data0-0x2128;confi g_data7=0x2028;break;default:config data0=0x2108;c
18、onfig data7=0x2008;temp=freq*13. 4217728;/1emp=freq*(ox10000000/25000000);config datal=temp&0x3fff;config data3=config datal:config_data 2 = (tcmp&oxofffcooo) »14;config data4=config data2;config datal=config datal 0x4000;config data2=config data2|0x4000;configdata3=configdata3 0x8000;c
19、onfig data4=confi g data4 0x8000;config data5=0xc000;config data6=0xe000;for(k=0;k<8;k+)writcdds2byte(config datak);/* for (;) wr i tedds2byte(oxcooo);for (k=200;k;k-);writedds2byte(oxcooo 2047);for (k=200;k;k-一);*/char shape)void dds 2fsk(unsigned long freql, unsigned long freq2, unsignedunsigne
20、d long temp;unsigned char k;if (freql>12000000) freql=12000000;if (freq2>12000000) freq2=l2000000;switch(shape)case 0: config_data0=0x2108;config data7=0x2008;break;case 1: config data0=0x210a;config data7=0x200a; break;case 2: config_data0=0x2128;confi g_data7=0x2028; break;default:config dat
21、a0=0x2108;config data7=0x2008; temp=freql*13. 4217728;/lemp=freq*(ox 10000000/20000000);config datal=temp&0x3fff;config data2 = (temp&oxofffcooo)»14;temp=freq2*13. 4217728;conf ig_data3=temp&0x3fff;config_data4=(temp&oxofffcooo)>>14;0x4000;config datal=config datalconfig d
22、ata2=config data210x4000;config_data3=config_data3 0x8000;confi g_data4=config_data4 0x8000;config data5=0xc000;config data二oxeooo;for (k=0;k<8;k+)wr i t edds2by t e(con f i g_ da t ak);while (1) for (k=200; k; k);writedds2byte(config data7 | bttb);for (k=200; k; k一一);wri tedds2byte (conf ig_data7 & cbitb); void key (void)辻(p3"2=0)i二i+1000;if(p3"3=0)i=i-1000;if(p3'4=0)j+;if (j=4)j=l;if(p35=0)辻(j=0)j=3;void main()whilc(l)key();dds 2fsk(3000, 1000, 0);5调试与实物展
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腹膜透析的观察和护理
- 蜗牛的奖杯课件
- 有理数指数幂课件
- 护理质控护士
- 体育实习报告范文锦集六篇
- 小班安全活动不跟陌生人走
- 羊皮卷看书心得10篇
- 建筑施工人员安全教育培训
- 钢材购买合同
- 乒乓球比赛的作文合集七篇
- 外研版一年级英语上册(全套)试卷
- 常用消毒剂使用的试题及答案
- 国开【形考】《理工英语(1)》形考任务1-8答案
- 会计学原理:利润及利润分配的练习
- 工程力学智慧树知到课后章节答案2023年下黑龙江科技大学
- 医疗器械软件设计和开发-全套开发资料模板范本汇编
- 预防混料管理办法
- 2023-2024学年北京市海淀区数学三年级第一学期期末经典试题含答案
- HACCP标准体系内审检查表完整版
- 干眼症的防治课件
- 研发项目奖励申请表
评论
0/150
提交评论