波形发生器课程设计_第1页
波形发生器课程设计_第2页
波形发生器课程设计_第3页
波形发生器课程设计_第4页
波形发生器课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 报 告课程名称: 模拟电子技术 设计名称: 波形发生器设计 姓 名: 学 号: 班 级: 指导教师: 起止日期: 2011.06.6至2011.06.10 课 程 设 计 任 务 书学生班级: 09电气工程本 学生姓名: 学号: 设计名称:波形发生器设计 起止日期:2011-6-72011-6-10 指导教师: 设计要求:1.设计要求用集成运放是组成的正弦波、方波和三角波发生器2.幅值和频率自定义,要求频率可调。3.要求完成计算机和dac的选型,了解不同波形的产生原理和设计方案,画出硬件电路图,并编程完成软件部分,最后调试观察产生不同类型的波形信号。(1)课程设计论文内容要正确

2、,概念要清楚;(2)完成任务书所规定的内容;(3)附有电路原理图及程序流程图,以及程序清单;(4)文字要通顺,书写要工整,设计图纸必须符合规范摘要波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。所以本设计使用的是dac0832芯片构成的发生器,可产生三角

3、波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了lcd显示频率大小。在单片机的输出端口接dac0832进行d/a转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。本设计制作的波形发生器,可以输出多种标准波形,如方波、正弦波、三角波、锯齿波等,还可以输出任意波形,如用鼠标创建的一个周期的非规则波形或用函数描述的波形等,输出的波形的频率、幅度均可调,且能脱机输出。设计的人机界面不但清晰美观,而且操作方便。目录 正文5 1.设计思路、

4、元件选型5 2.原理图5 3.软件设计6 4.三角波产生的过程6 5.方波产生个过程6 6.正弦波产生的过程77.通过开关实现波形切换和调频、调幅9 参考文献11 附录11 评语表12正文1.设计思路:(一)、课设需要各个波形的基本输出。如输出锯齿波、三角波、方波、正弦波。这些波形的实现的具体步骤:锯齿波实现很简单,只需要一开始定义一个初值,然后不断的加1,当溢出后又重初值开始加起,就这样循环下去。三角波的实验过程是先加后减,实现方法是先是从00h开始加1直到溢出后就执行减1操作,就这样不断调用这个循环。方波的实现方法是连续输出一个数,到某个时候就改变一下值,可以把值定义为正极性的,也可以是负

5、极性。正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。(二)、通过p1口和开关k0-k4相连接来控制各个波形的输出。能根据k0-k5键状态进行波形切换,开关键向上接“1”,产生波形,向下拔接“0”,无波形输出。如k0键向上拔,k1-k4键向下拔,产生锯齿波; k1键向上拔,k0、k2-k4键向下拔,产生三角波;以此类推。元件选型:单片机at89c51系统,dac0832一片,pc机一台,运算放大器2原理图2.原理图 3.软件设计总体方框图函数发生器的设计k2键三角波k3键方波k4键正弦波4.三角波产生的过程三角波的实现是设置一个初值,然后进行加数

6、,同样是加到某个数之后再行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。此程序输入的vref的电压是5v,因此该波形输出的最大频率是初值为00h和最终值为0ffh,这样输出的波形是最大的。三角波发生子程序如下: mov dptr,#7fffh ; 设置d/a转换器的端口地址 l1:mov r7,#00h ;a清零 mov a,r7 l2: movx dptr,a ;写外部存储器 nop ;延时 nop nop inc a ;a加1 jnz l1 ;不等与零则转l1 l3: movx dptr,a ;写外部存储器5.方波产生过程此波形的实现更加简单,只需开始的时候设置一

7、个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。方波发生子程序:mov dptr,#7fffh ; 设置d/a转换器的端口地址 mov r7,#ffh ;将#ffh送r7fangb:mov a,r7 ;给a赋值 movx dptr,a ;写ram acall delay ;调用延时子程序 cpl a ;a取反 movx dptr,a ;写ram acall delay ;调用延时子程序 sjmp fangb ;返回fangbdelay:mov r

8、7,#200 ; 延时50ms del1:movr6,#123 nop del2:djnz r6,del2 djnz r7,del1 retend ;程序结束 6.正弦波产生过程正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出。输出的数据刚好是256个数据,这样则可以直接相加就行了正弦波发生子程序如下: mov dptr,#sintab ;正弦表写入内部ram6dh-7fh mov r0,#6dhloop: clr a movc a,a+dptr mov r0,a inc dptr inc r0 cjne r0,#80h,loop mov

9、dptr,#7fffh ;设置d/a转换器的端口地址 mov r0,#6dh ;设置正弦表指针loop1: mov a,r0 ;查表 movx dptr,a ;d/a转换 acall delay ;延时,等待转换结束 dec r0 ;正弦表位移量增量 cjne r0 #6dh,loop1 ;第一象限输出完?loop2: mov a,r0 ;查表 movx dptr,a ;d/a转换 alcall delay ;延时,等待转换结束 dec r0 ;正弦表位移量减量 cjne r0 #6dh,loop2 ;第二象限输出完?loop3: mov a,r0 ;查表 cpla ;表值取反 movx dp

10、tr,a ;d/a转换 aclall delay ;延时,等待转换结束 inc r0 ;正弦表位移量增量 cjne r0,#7fh,loop3 ;第三象限输出完?loop4:mov a,r0 ;查表 cpl a ;表值取反 movx dptr,a ;d/a转换 alcall delay ;延时,等待转换结束 dec r0 ;正弦表位移量减量 cjne r0,#6dh,loop4 ;第四象限输出完? sjmp loop1delay:mov r7,#200 ; 延时50ms del1:movr6,#123 nop del2:djnz r6,del2 djnz r7,del1 retsintab:

11、db 7fh,89h,94h,9fh,0aah,0b4h,0c8h,0d1h,0d9h db 0e0h,0e7h,0edh,0f2h,0f7h,0fah,0fch,ofeh,0ffhend7.通过开关实现波形切换和调频、调幅通过开关实现波形的切换比较简单只需通过输出波形后不断返回到检测开关的子程序中,判断是否有别的开关拨动,如果有别的开关拨动则执行别的程序,否则输出原来的波形,不过如果要能够识别别的开关发生变化,必须将此开关关掉否则会识别不了别的键按下。当然开关的调频和调幅的实现也一样,不过首先先输出一个波形,然后再检测开关是否需要调频或者调幅,如果需要则转入到相应的程序中,最后再重新输出波形

12、。下面是调频和调幅:开 始判断p1.0-p1.1是否为1?否是输出各种波形调整一下数字量 输出波形原理图下图式实现各种波形通过开关的切换的流程图,按下开关通过p1.1为1输出三角波, p1.2为1输出方波,p1.3为1输出正弦波。开 始判断p1.0是否为1判断p1.1是否为1判断p1.2是否为1否否否否是是是是输出响应的波形判断p1.3是否为1参考文献1 朱定华,马爱梅,林卫. 微机应用系统设计m. 武汉:华中科技大学出版社,1999:130-1332 顾德英,张健,马淑华. 计算机控制技术m. 北京:北京邮电大学出版社,2006:64-703 夏扬. 计算机控制技术m. 北京:机械工业出版社

13、,2004:11-924 刘国钧,陈绍业,王凤翥.图书馆目录m.北京:高等教育出版社,1957.15-18.5 刘润华,刘立山.模拟电子技术j.山东:石油大学出版社,2003.6 潘永雄,沙河,刘向阳.电子线路cad实用教程m.西安:西安电子科技大学出版社,2001.13-118. 7 朱定华,戴汝平等,单片微机原理与应用m.北京交通大学出版社,清华大学出版社.8 彭介华.电子技术课程设计指导j.北京:高等教育出版社,1997.9张毅刚,彭喜源,谭晓昀,曲春波.mcs-51单片机应用设计m.哈尔滨:哈尔滨工业大学出版社,1997.53-61.8江思敏,陈明. protel电路设计教程m. 北京

14、:清华大学出版社9彭楚武. 微计原理与接口技术m. 长沙:湖南大学出版社10(美)richard blum著;马朝晖等译;汇编语言程序设计m 北京市:机械工业出版社附录 评语表(共一页,含自我评价、指导老师评语和成绩)自我评价本次的设计中利用at89c51和dac0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。在这次的软件设计中,程序设计采用的是汇编语言。汇编语言具有速度快,可以直接对硬件进行操作的优点,它可以极好的发挥硬件的功能。但是汇编语言也存在编写的代码非常难懂,不好维护,很容易产生 bug,难于调试的缺点。因此,在大型程序的设计中,多采用c语言进行程序编译。c语言简洁高效,是最贴近硬件的高级编程语言,经过多年的发展,现在已成熟为专业水平的高级语言。而且,现在单片机产品推出时纷纷配套了c语言编译器,应用广泛。不过就本次课程设计来说,汇编语言还是适用的。由于真正意义上的程序设计还不多,因此还不是很得心应手,所以在设计中遇到一些问题和一些难点。比如:在程序设计中如何实现程序结构的最优化,以达到较高

温馨提示

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

评论

0/150

提交评论