信号发生器课程设计论文.doc_第1页
信号发生器课程设计论文.doc_第2页
信号发生器课程设计论文.doc_第3页
信号发生器课程设计论文.doc_第4页
信号发生器课程设计论文.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第 I 页 课程设计说明书 摘 要 信号发生器是一类非常重要的电子仪器,在做实验、进行产品研制和调试以及系统测试中都是必不可少的,而一般的信号发生器是由硬件组成的,它的输出频率范围宽,各项指标高,性能优良,因而在对输出波形要求较高的地方被广泛采用。这种仪器的缺点是电路复杂,成本高,输出波形种类不多,不够灵活。在对波形指标要求不高、频率要求较低的场合,可以用单片机构成一个波形发生器,产生所需要的各种波形这样的函数发生器靠软件产生各种波形,小巧灵活,便于修改,且成本低廉,容易实现。本设计用DA转换器0832和核心控制器89C51实现数字信号发生器的课程设计。关键词:89C51,DAC0832,D/A转换器第 II 页 课程设计说明书 目 录绪 论11硬件设计11.1 单片机电路11.2 D/A转换电路21.3 信号发生器总电路图31.4 频率数码显示电路42软件设计42.1 主程序流程图42.2 方波流程图52.3 阶梯波产生流程图62.4 三角波程序流程图72.5 正弦波程序流程图92.6 中断响应流程图92.7 软件程序102.8 仿真结果14总 结17致 谢18参 考 文 献19第 15 页 课程设计说明书 绪 论波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号各种波形,然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。本系统利用单片机AT89C51采用程序设计方法产生阶梯波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数模转换部分以及液晶显示部分三部分。1硬件设计1.1 单片机电路单片机电路原理图如图1所示,单片机选用AT89C51,该芯片是一种高性能八位单片机,简单易控制,成本低,性能稳定1,完全满足本系统的设计要求,复位电路和晶振电路是该单片机最简单的电路,复位电路采用最简单的上电复位,晶振频率为12MHz,晶振电容为30PF 。我选用D/A专用芯片0832完成波形输出。用一块AT89C51实现键盘输入扫描与LED数码管显示控制,同时通过外中断向AT89C51发送频率控制与波形转换档位选择信息。AT89C51通过接受外中断0的触发次数确定当前输出的波形,并且通过外中断1触发的次数确定当前波形的频率,总共合计16个状态,实现50HZ-200HZ的频率输出。利用P1口和P2口实现频率显示数码管的控制,P1控制位选,P2控制段选,利用动态扫描方式进行显示。利用DAC0832的双缓冲方式输出波形,外界两级集成运放实现信号放大与输出。对于波形的产生,最简洁的办法是让单片机连续的输出一组数字量,并且每一个数字量都有一定的保持时间,这样在利用数模转换,即可实现不同波形的输出,可以将那些数字量统统放在一个表里,供输出是查找,至于那些数字量,自然是那些波形函数的一些点通过转换得到的八位二进制数或者是小于等于255的十进制数。对于波形幅值的调节,可以通过对参考电压的调节实现,而频率的调节,则可以通过对每个数字量得保持时间的调节得到。89C51单片机电路原理图如图1所示。图1 单片机电路原理图1.2 D/A转换电路D/A转换电路原理图如图2所示,主要包括D/A转换器、运算放大器和一些基准电压源。D/A转换器选用前面提过的DAC0832。D/A转换器的数据输如与单片机的P0口相连。DAC0832的输入寄存器选择信号CS、DAC寄存器些宣统信号WR2和数据传送信号XFER直接与地相连,表明一直有效,输入寄存器些宣统信号WR1与单片机的写信号相连2。DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现3。 运放电路选用芯片AD711P。该芯片具有低失真,高精度的特点4。D/A转换电路如图2所示。图2 D/A转换电路原理图1.3 信号发生器总电路图PO和P2口组成16位地址总线,P0口组成的8位地址总线,地址信号和数据信号时分复用P0端口,A15和WR信号控制DAC0832模数转换器,P0口输出8位数据到DA转换器的D10D17,DA转换后由IOUT1和IOUT2端口以电流端输出,经运算放大器U3转换为电信号,由示波器监视其波形。此电路以非总线式链接,如图3所示。图3 信号发生器总电路图1.4 频率数码显示电路频率指示电路如图4所示,本系统的频率显示利用三个7段共阴数码管实现显示,利用P0口与P2口实现数码管的动态扫描,以达到显示的目的。 图4 频率指示电路原理图2软件设计2.1 主程序流程图主程序流程图如图5所示。程序开始执行,中断初始化,调用显示函数,判断K值,K=0时,输出低电平,K=1时为方波输出;K=2时为锯齿波输出;K=3时为三角波输出;K=4时为正弦波输出,通过连续按键,可以依次在这四个波形之间切换8。开始初始化K=1K=2K=3K=4调用DISPLAY输出方波输出锯齿波输出三角波输出正弦波NNNYYYYN图5 主程序流程图2.2 方波流程图正弦波程序流程图如图8所示。正弦波波形设计通过查表指令得到。当进入正弦波后,通过延时,即可得到波形。开始DAC0832=0;DAC0832=0;延时延时YNYN图6 方波产生流程图2.3 阶梯波产生流程图通过对脉宽的调制,我们可以设计阶梯波的流程图,如图7所示。开始延时i255i=0;DAC0832=i;i=i+1;YNYN图7 阶梯波程序流程图2.4 三角波程序流程图三角波程序流程图如图7所示,将0-255先送给DAC0832,然后在反过来将255-0送给DAC0832,从而可产生三角波。开始i=0;DAC0832=i;延时i=i+1;i255i=255;DAC0832=i;延时i255YNYN图9 正弦波程序流程图2.6 中断响应流程图外部中断0与外部中断1分别实现了波形频率调节与波形转换,通过对外部中断的计数实现了波形转换与频率增加。中断流程图如图10所示。外中断0HZ=HZ+10;j=j+1;j16j=0;HZ250HZ=80;返回外中断1K=K+1K4K=0;返回YNYNYN图10 外中断流程图2.7 软件程序程序清单:# include# include# define DAC0832 XBYTE0X0FFFint code table2=100,102,104,107,109,112,114,117,119,121,124,126,129,131,133,135,138,140,142,144,147,149,151,153,155,157,159,161,163,165,167,168,170,172,174,175,177,178,180,181,183,184,185,187,188,189,190,191,192,193,194,194,195,196,197,197,198,198,198,199,199,199,199,199,200,199,199,199,199,199,198,198,198,197,197,196,195,194,194,193,192,191,190,189,188,187,185,184,183,181,180,178,177,175,174,172,170,168,167,165,163,161,159,157,155,153,151,149,147,144,142,140,138,135,133,131,129,126,124,121,119,117,114,112,109,107,104,102,100,97,95,92,90,87,85,82,80,78,75,73,70,68,66,64,61,59,57,55,52,50,48,46,44,42,40,38,36,34,32,31,29,27,25,24,22,21,19,18,16,15,14,12,11,10,9,8,7,6,5,5,4,3,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,8,9,10,11,12,14,15,16,18,19,21,22,24,25,27,29,31,32,34,36,38,40,42,44,46,48,50,52,55,57,59,61,64,66,68,70,73,75,78,80,82,85,87,90,92,95,97,100; /正弦波形表unsignedintcodeduan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x0;/数码管段选码unsigned int code wei=0xfe,0xfd,0xfb; /数码管位选unsigned int HZ=80; /波形起始频率unsigned int k=0,j=0; /波形转换技术器void delay(int i) /延时函数while(i-);void fang() /方波函数 DAC0832=0; delay(HZ*128); DAC0832=0xff; delay(HZ*128);void jvchi() /阶梯波函数unsigned char i;for(i=0;i255;i+)DAC0832=i;delay(HZ);void tran() /三角波函数unsigned char i;for(i=0;i0;i-)DAC0832=i;delay(HZ);void sin() /正弦波函数unsigned int i;for(i=0;i=5)k=0;void main(void) /主函数IE=0x85;TCON=0x05;while(1)if(k=1)fang();if(k=2)jvchi();if(k=3)tran();if(k=4)sin();if(k=0)DAC0832=0;2.8 仿真结果方波,梯形波三角波和正弦波的Proteus仿真图如图11图14所示。图11 方波波形图12 阶梯波波形图13 三角波波形图14 正弦波波形第 19 页 课程设计说明书 总 结经过努力,本次单片机课程设计终于做完了,由于我知识水平有限,有很多不恰当的地方,请老师指正,我会虚心接受并修改。在本次课程设计过程中,通过理论与实际的结合,增强了自己的动手能力和分析能力。在课下与老师同学的交流和学习,思想上和专业知识课程上都提高了很多。在此过程中,我学会了很多,也看到了很多自己的不足之处。在单片机应用方面自己掌握还有待提高,在以后的学习生活中,我会更加努力学习专业知识,完善自我,为将来的发展做好充分的准备。总之,在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性,使自身得到了锻炼。明白了在以后的学习中,不仅要把理论知识掌握牢固,更要提高自己的动手能力、分析能力与实践能力。致 谢本设计是在我的导师李文方老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。李老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向李老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。感谢这篇论文所涉及到的各位学者。感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在设计的撰写和排版的过程中提供热情的帮助。参 考 文 献1 江志红51单片机技术与应用系统开发案例精选M.北京:清华大学出

温馨提示

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

评论

0/150

提交评论