

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本设计从功能简单、调整方便、功能完备出发,采用Atmega16单片机。具有LED数字参数显示,矩阵键盘输入、小键盘微调/粗调频率值以及占空比,可实现输 出方波、正弦波、三角波,频率可调整,稳幅输出,频率范围0.1Hz- 3Mhz,可粗调和细调频率值,输出波形清晰而稳定。一、方案设计1、波形生成方案 本设计的核心问题是信号的程控问题, 其中包括信号频率、 信号种类的程控。 在 设计过程中,我们综合考虑了两种实现方案:方案一:程控PWMS合D/A转换。这种方案可以实现三种基本波形。 具体方案如 下:首先通过AVR的相频可调PWM模式产生所需要频率的方波,通过低通滤波电路可以得到频率可调的三角波以及
2、正弦波。其优点是工作频率可以做得很高, 频率范围可以做得很宽, 也可以得到很高的频率分辨率; 缺点是使用的滤波电路 要 求通带可变。方案二:直接数字频率合成(DDFSoDDF战术是60年代末出现的第三代频率 合成技术,以Nyquist时域中进行频率合成,它可以快速转换频率, 频率、相 位、幅度都可以实现程控,便于单片机控制。缺点是该技术已经比较成熟,而且 有集成电路可以使用,并且如果直接使用单片机实现则很难达到高频率,另 一 方面成本太咼。综合考虑各种因素,选择第一种方案。2、 显示界面方案这是决定系统使用是否方便的关键。我们采用的方案是用LED显示频率,信号输出到示波器上显示波形。3、 输入
3、方式方案本系统需要用户选择预设波形,调整波形。这对输入方式提出了较高的要求。 我们采用的方式是大键盘输入方波的频率,小键盘上实现对各种波的频率调整。二、系统设计1、总体设计(1) 系统框图模块说明波形产生电路:采用RC滤波电路,从AVR的PD4端口读出波形数据,经过D/A转换得到模拟的波形。矩阵键盘模块:4X4矩阵键盘按下后,引发INTO中断,AVR读取键值并做出相 应反应。此方案采用中断,实时性好。粗调/微调模块:;小键盘按下后,引发INT1软中断,可粗调/微调频率值、占 空比,以及调整档位值。显示模块:采用LED显示频率、占空比、档位值等。2、软件系统流程图(2) 方波发生程序本程序可产生
4、频率相位占空比可调的方波,频率可调得正弦波和频率可调的三角波,其中方波部分是另外两部分的基础,调节最精细,功能最全面,程序最复杂。 方波部分采用Timel相频可调的PWM模式,采用7.3738M的外部晶振。 输出方波频率公式7372800f =-2NxOCR1A其中OCR1A范围为065535, N为分频值可取1,8,64,256,1024。对OCR1A勺调节采用外部中断INT1,由于它的数值比较大我们把它分为100档, 对于前35档每档有656个微调值,对于以后的档位每当有655个微 调值。按住OCR1A勺档位加后OCR1不断自加直到100,按住OCR1A勺档位减后它会自减直 到0,对于OC
5、R1的微调采用同样的思路。根据公式可算出方波的频率范围为(0.0553686400)占空比OCR1的取值范围为0OCR1A同样我们将OCR1分为100档和相应的微调值, 其功能与效果与OCR1A勺调节相同。在频率模式与占空比模式之间转换时我们引入了指示位一一全局变量freq_occup,当freq_occup=0时为频率调节模式,当为1为占空比模式.(3) 正弦波发生程序-1* -CC-仁原理:上图所示为一个周期内的方波形,其中C代表占空比。不妨将电压看作x的函数,表示为将它傅里叶展开为y(x) = 5C+a” cos罕n=l从公式中可以看出电压的第一项与占空比成正比,因此只要采用滤波电路滤去
6、其 他的交变信号,就可以通过调节占空比来调节输出的电压。首先按照下面的公式建立一个正弦波样本表, 样本表将一个正弦波的1/4周期分 为90个点:const unsigned char sin = 0 x0, 0 x2, 0 x4, 0 x6, 0 x8, 0 xb, 0 xd, 0 xf, 0 x11,0 x13, 0 x16, 0 x18, 0 x1a, 0 x1c, 0 x1e, 0 x20, 0 x23, 0 x25, 0 x27, 0 x29, 0 x2b,0 x2d, 0 x2f, 0 x31, 0 x33,0 x35, 0 x37, 0 x39, 0 x3b, 0 x3d,0 x3
7、f, 0 x41,0 x43,0 x45, 0 x47, 0 x48, 0 x4a,0 x4c, 0 x4e, 0 x4f, 0 x51,0 x53,0 x54, 0 x56, 0 x58,0 x59, 0 x5b, 0 x5c, 0 x5e,0 x5f, 0 x61,0 x62, 0 x64, 0 x65,0 x66,0 x68, 0 x69,0 x6a, 0 x6 b, 0 x6c, 0 x6d, 0 x6f, 0 x70, 0 x71, 0 x72, 0 x73,0 x74,0 x74, 0 x75,0 x76, 0 x77, 0 x78, 0 x78, 0 x79, 0 x7a, 0
8、x7a, 0 x7 b, 0 x7b, 0 x7c, 0 x7c, 0 x7d,0 x7d, 0 x7d, 0 x7e, 0 x7e, 0 x7e, 0 x7e, 0 x7e, 0 x7e, 0 x7e公式如下:sinn=128xsin(nO)占空比公式Otxupatioa澤OCR1I-:0CXUH根据此样品表来调节0CR1B从而调节了占空比:0CR1B= 127+si nn此时0CR1A勺值为255在一个正弦波周期中采用360个样点, 根据正弦函数的变化规律依次取占空比的 合适的值。在正弦波波形发生时中周期性的取这360个样点。其中每个样点保持的时间为PX(256-TCNT0)!出占空比按正
9、弦规律变化的方波,经过滤波电路即可得到正弦 波。通过以上分析可得到正弦波的频率公式t7372800360 x (2S6 - TCNT0)x P从公式中可以看出,可以通过调节P和TCNT0勺值来改变正弦波的频率。其中P取值范围(110),TCNT0勺范围为(0255)(4) 三角波发生程序三角波的原理与正弦波相同,不过取样时占空比按线性规律变化, 在程序正是通 过对占空比取样值加一实现的。其频率公式:十73?2800吨山=360 x(256TCNTO)xP(5)人机接口部分a)输入:包括4X4键盘和四个独立按键组成。大键盘:采用INTO中断下降沿触发,在中断中进行行列反转键盘扫描,并将扫描到的键
10、 值存入频率数组,同时赋给LED显示数组中。功能:完成方波频率的输入,以及波形输出模式和频率占空比模式的转换。其中输入的频率前三位是频率的有效值,最后一位是数量级(如1234为123X104。输入频率后,会自动转化为与输入频率最接近的可输出值,并显示到数码管上 独立按键:采用软中断,将PD3设为输出。在主函数中不断检测四个键中是否有健按下,一旦有键按下,在程序中令PORTD3&=0 x1即完成软中断的设置。在中断中对相 应的参数进行调整,将调整值存入对应的数组中,然后将这些数组中的数赋给LED显示数组。功能:在频率模式下可以实现对频率参数OCR1A勺100档位和对应的微调档位的 调整,
11、从而改变频率。在占空比模式下可以实现对占空比参数OCR1B勺100档位和对应的微调档位的调整,从而改变占空比。在正弦和三角波模式下,可以实 现对P和TCNT0勺调整,从而改变正弦波频率。b)显示:4位7段数码管没有键按下或者只从大键盘输入时在主函数中对LED进行动态扫描。在按下四位 独立按键时,由于INT1中断时间较长。在INT1中断中也会对LED进行动态扫描。 在中断中和正常模式下分别将要显示的数存入不同的数组中。4、系统设计图三、系统调试1、软件调试本系统的程序较长,软件调试较复杂。除了语法差错和逻辑差错外,当确认程序没问题时,将程序下载到单片机,进行 在线仿真。具体采取的是自下到上、从小
12、到大的调试方法,即单独调试好每一个模块,然后 再连接成一个完整的系统调试。2、软硬联调我们选用了三组R/C值进行波形的输出检测,R/C值如下:参数 组别RC时间常数RC第一组10 KQ100 nF1 ms第二组10 KQ10 nF100 1 s第三组100 KQ100 nF10 ms第二组输出的三角波失真较大,拐弯处太圆滑; 第三组输出的正弦波不如第一组清晰; 综上,我们选择了第一组的参数。四、系统测试1、测试仪器二踪示波器:XJ4318函数信号发生及检测器:SG16452、测试数据 方波频率范围测试预置频率/Hz转换频率/Hz输出频率/Hz0.069.9X10-20.10.11.0X10-1
13、0.10.32.9X10-10.30.98.9X10-10.911.01.033.03.09.59.59.510.71.07X1010.7303.00X1030.090.49.04X1090.41001.00X102100.01301.30X102130.11901.90X102190.03333.33X102330.09999.99X102999.01K1.0X10310003.45K3.45X10334529.87K9.88X103988310.7K1.07X10410716K30K2.99X10429.971K90.8K9.21X10492.159K100K9.96X10499.631K
14、321K3.35X105335.123K911K9.21X105921.589K1M9.21X105921.589K1.23M1.22X1061228.78K2M1.84X1061843.18K2.5M3.68X106超量程3M3.68X106超量程3.6M3.68X106超量程正弦波频率测试1.1412.920.330.7404574.9预置频率/Hz输出频率/Hz1152040.141.54445三角波频率测试预置频率/Hz1.1412.920.330.7404574.9输出频率/Hz11520丁40.141.54445五、结论由表可以看出,在频率稳定度方面,方波在0.1Hz100KHZ频
15、率范围内非常好, 在大于1MHz频率范围内较大误差;其原因在于高频附近,步进值较大,自动转 换的频率值与输入值可能相差较大。正弦波以及三角波模式下在示波器中可看到清晰、标准的波形,其频率也可通过键盘进行调节,由这两种波形产生的原理知,频率不能由频率发生器进行检测, 由示 波器进行目测试,可以初步看出正弦波在输出在频率方面不是十分精确,误差较大。原因在于AVR在输出这两种波形时,需要不断调节占空比,所以数码 管的扫描 显示干扰了此项要求,导致误差较大。这个问题可以通过另外加一片AVR来解决,考虑到成本问题,暂未采用。现将我们设计的系统的指标及系统实际性能列表如下:方波正弦波三角波频率范围0.1H
16、z100KHz2Hz40Hz2Hz40Hz频率步进4- iOCJUA+1误差大,略误差大,略占空比范围01/占空比步进DCR1亠11DCRIA + ii/六、问题总结1.显示问题:在动态显示中出现重影.原因:由于动态扫描时相邻LED亮灭时间过短,由于视觉暂留,会产生重影.解决方案:在显示一位后加一个灭的延迟2.同时利用多个中断时,某个中断可用而其他中断无效,或只能中断中断一次.原因:某个中断被连续触发,将其他中断被屏蔽.解决方案:更改触发方式3.强制类型转换后公式计算的数值严重不准.原因:强制类型转换舍掉小数问题若转换后的数乘一个比较大的数就会产生很 大的误差时.解决方案:注意小数点后面的数字的取舍问题.可以在强制类型转换后加一个四 舍五入的功能以减少误差.4.全局变量初值未赋开机后读不到预期的效果 原因?:初值未赋会使开机时状态不稳解决方案:根据想要的效果合理赋初值.5.十六进制和十进制比较大小时出错.原因? :不同进制的数除零之外不能比较大小.解决方案:将两个数转换为同一进制后在比较大小.6.在利用正确的公式进行计算时达不到正确的结果.原因? :在计算过程中某种类型的数字溢出而使结果错误解决方案? :分析公式计算的过程找到溢出的数值选取正确的类型防止变量溢出7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于制定个人的汽车租赁合同范本
- 2025北京市家具买卖合同范本(桌椅类)
- 妊娠合并缺铁性贫血
- 小说家创作艺术与职业发展全解析
- 幼儿园医学启蒙教育
- 河北省衡水市2024-2025学年高二下学期4月期中联考试题 生物 含答案
- 浙江省衢州市五校联盟2024-2025学年高二下学期期中联考语文试卷(PDF版含答案)
- 委托勘察业务协议
- 某酒吧的广告策划
- 某房地产贩卖技巧培训
- 麦收消防安全培训课件
- 2025展览馆装饰工程合同范本
- 《科普技巧常识》课件
- 2025年中国全电脑横机市场现状分析及前景预测报告
- 2019-2025年房地产经纪协理之房地产经纪操作实务过关检测试卷B卷附答案
- 2025年全国保密教育线上培训考试试题库及答案(夺冠)带答案详解
- 沪教牛津版(深圳用)英语五年级下册Unit-11-Chinese-festivals课件
- 初中历史明清时期的科技与文化 课件 2024-2025学年统编版七年级历史下册
- 2025年上半年发展对象题库(含答案)
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- 国际金融(南开大学)智慧树知到答案章节测试2023年
评论
0/150
提交评论