您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于单片机的简易低频信号发生器的设计
1第1章绪论1.1信号发生器的现状与发展信号发生器是一种常用的信号源,广泛的应用于电子电路、自动控制和科学实验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。自六十年代以来,信号发生器就有了迅速的发展,出现了函数发生器、扫描信号发生器、合成信号发生器、控制信号发生器等种类。各种信号发生器的主要性能指标也都有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方面也有了显著的发展。1.2设计内容及方案的确定本课题要求以MCS-51系列单片机为核心,设计一个简易低频信号发生器。要求能输出0.1~50HZ的正弦波、三角波和方波信号,能方便的用键盘选择不同的输出并在LED显示器上显示。单片机通过查表的方法完成波形数据要求,输出的正弦波、三角波和方波信号频率在0.1~50HZ可调,系统有启动、调频和不同波形选择按键,转速显示要求至少4位。根据要求我们组讨论如下:直接采用8位DA转换芯片,让单片机对8位DA芯片进行控制,从而输出波形。2第2章基于单片机的简易低频信号发生器的设计2.1总体设计框图图2.1.1总体设计框图如方框图所示根据要求我们组讨论如下:通过C程序的编译,频率档位选择按键UP、DOWN以及波形选择按键SWITCH,通过数码管显示频率档位和波形。并且通过DAC0832实现数模转换,最后用示波器观察输出的结果。示波器按键DAC0832数码管51单片机32.2单片机结构及系统工作原理数模转换器器工作原理就是模拟信号数字化的逆过程,模拟信号数字化通过采样、量化、编码完成,那么数字信号模拟化的过程读取二进制码、二进制码权值相加、输出一个总的电流或电压。这其实就是一个模拟电子计数中的加法器。量化电平个数相对于数模转换的分辨率,对于低频低成本的信号发生器,为了简化程序设计,所以直接采用8位DA转换芯片DAC0832,让单片机AT89C51对8位DA芯片进行控制,从而输出波形。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。我们所设计的程序是总结了目前各个智能化设计程序的水位监测系统,采用51控制单片机,集水位采集、存储、显示及远程联网于一体的设计,使得仪器仪表数字化、智能化、微型化。同时采用AT89系列单片机,AT89系列单片机是ATEML公司的8位Flash单片机。AT89系列单片的核心是8031,在软件和硬件方面与MCS-51系列完全兼容,AT89系列的指令与有关定义和MCS一51完全相同,MCS—51系列单片机应用系统编写的程序可以直接使用。AT89系列的引脚排列、定义与MCS-51完全一致,可以直接替换。由于内部有FlashROM,所以编写的程序烧录很方便,易于电擦除,可以反复使用,非常方便用户对程序进行修改,缩短研制周期,降低了研制成本。在单片机部有Flash存贮器,功耗特别低,FlashROM的容量从TA89C1051的1K到AT89S55的20K,有许多品种,选择余地大。42.3系统工作流程图图2.3.1系统工作流程图在C编译时,通过在主程序内设置中断初始化、调用按键子程序、档位频率键、波形种类选择键的设置,在辅助程序中编译好各个子程序使得程序可以通顺流程的进行2.4独立按键流程图编译按键子程序时,要求开始后系统默认设置波形种类选择档位为1,设置频率档位为5,通过标志位来判断走向,如果标志位不为0则直接结开始中断初始化键盘扫描子程序数码管显示5束,如果标志位为0,则按键松开后看a的取值来选择波形种类,如果a3,则认为a=1,如果不大于则结束。图2.4.1独立按键流程图键松开?SWITCH标志位=0?YNa+1开始SWITCH按下?消抖延时20msNYa=1a3?结束YN62.5中断服务程序流程图图2.5.1中断服务程序流程图程序开始后根据Case语句给定时器赋初值,判定a的取值,如果a=1则输出正弦波形,如果a=2则输出三角波形,如果a=3则输出方波波形,待波形输出后看中断服务计数i的取值如果i++;if(i255)i=0,则程序结束。开始a=1?a=2?Case语句给定时器赋初值输出正弦波输出三角波输出方波YYa=3?YNN结束i++;if(i255)i=0;7第3章各硬件单元电路的设计3.1AT89C51单元电路的设计单片机的设计利用P1、P2口共同控制数码管的一系列显示,P1口为段码输出,P2.0、P2.3作为位码输出,P0口作为输出,输出到D/A转换器的输入,P3.2、P3.3、P3.4分别作为波形种类选择按键的输入,波形频率档位加的输入,波形频率档位减的输入,P3.6口连接到D/A转换器的WR口。图3.1.1AT89C51单元设计电路图83.2按键的单元电路设计三个不同的按键一端连在单片机P3口,另一端接地使得电路连通,在按键与单片机间还需增加三个上拉电阻来避免出现悬空的可能性。图3.2.1AT89C51单元设计电路图93.3DAC0832芯片的单元电路设计本单元的设计主要是把单片机的数字输出转换成模拟输出,把单片机的八位输出送到D/A转换器的D10到D17作为转换器的输入,从单片机P3.6口输出的信号送到D\A寄存器选通输入WR。因为D\A转换器的输出是电流,所以要加一个运算放大器把电流转换成电压。图3.3.1DAC0832单元设计电路第4章系统仿真由于本次课程设计条件的限制,只做了软件(protues)仿真。按照设计的电路连接好,电路接好后,按照预先设定好的调试步骤,逐步对电路进行系统调试,调试结果做如下:104.1方波当数码管上第四位及波形种类显示位显示为3时,示波器中显示为方波,此时频率的大小受频率档位选择键的控制。图4.1.1方波仿真图114.2正弦波当数码管上第四位及波形种类显示位显示为1时,示波器中显示为正弦波,此时频率的大小受频率档位选择键的控制。图4.2.2正弦波仿真图124.3三角波当数码管上第四位及波形种类显示位显示为2时,示波器中显示为三角波,此时频率的大小受频率档位选择键的控制。4.3.1三角波仿真图13结束语这次单片机课程设计我们历时两个星期,但经过这两个星期的实践和体验下来,我对单片机越来越感兴趣了,之前对我来说学到的仅是那些理论知识,通过这次设计的具体应用,我发现了它的强大之处。这次课程设计感触最深的是团队和合作。在这我要谢过那些帮我的老师和同学。现在想来,学校安排的课程设计确实有着它深层的意义,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。单片机课程设计结束了,但通过设计我所学到的东西却将长久的存在。相信这次设计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打下一个更坚实的基础。最后真诚的感谢李晓秀的老师的教育与指导,感谢周定双与陈顺舟同学在整个过程中对我的帮助!14参考文献【1】教材《单片微型计算机技术》刘国荣编机械工业出版社【2】《单片微型计算机原理、应用及接口技术》张迎新编国防工业出版社【3】单片机实用系统设计技术》房小翠编国防工业出版社【4】《单片机应用系统设计》何立民编北航出版社【5】《单片机原理及接口技术曹琳琳编国防科技大学出版社15附录A建议信号发生器设计控制电路及仿真16附录B源程序清单#includereg51.h#includeabsacc.h#defineP0XBYTE[0xdf00]//P0琐存地址unsignedcharcodeseg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//显示数组unsignedcharcodesig_sin[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,170x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c};unsignedchara;//全局信号信号选择变量unsignedintb;//全局信号档位变量送显示unsignedintpinlv;//档位变量送定时器赋初值unsignedinti=0;//中断服务计数sbitbutten_swtich=P3^2;//按键1波形选择sbitbutten_up=P3^3;//按键2频率+sbitbutten_down=P3
本文标题:基于单片机的简易低频信号发生器的设计
链接地址:https://www.777doc.com/doc-1726729 .html