基于单片机的信号发生器设计用单片机做信号发生器Word格式文档下载.docx
《基于单片机的信号发生器设计用单片机做信号发生器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的信号发生器设计用单片机做信号发生器Word格式文档下载.docx(5页珍藏版)》请在冰点文库上搜索。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波及其他任意波形。
波形的频率和幅度在一定范围内可任意改变。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
介绍了单片机控制D/A转换器产生上述信号的硬件电路和软件编程、DAC0832D/A转换器的原理和使用方法、AT89C51以及与设计电路有关的各种芯片、关于产生不同低频信号的信号源的设计方案。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
1.2单片机相关介绍单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压,低功耗。
1.2.1D/A转换器DAC0832是双列直插式8位D/A转换器。
能完成数字量输入到模拟量(电流)输出的转换。
其主要参数如下:
分辨率为8位,转换时间为1μs,满量程误差为±
1LSB,参考电压(+10/span>
-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。
在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号/_FER。
1.3设计意义使用单片机作为本设计的控制方案主要是考虑到其低廉的成本和易学易用的特性,相较于类似ARM这类性能更为强大的控制方案,单片机的性能并非其优势所在。
但是如何充分利用单片机已有的功能进行最大化的开发才是本设计的重点。
总的来说,本设计意义有如下2个方面:
(1)波形发生器应用进行研究和开发;
(2)探究单片机在信号发生器中应用,举一反三,延伸到其他类似领域的应用;
1.4设计内容本设计的主要内容包括如下几个方面:
(1)设计信号发生器的实现方案;
(2)设计单片机最小系统和周边电路;
(3)设计整个系统的电路分布和接线;
(4)使用汇编语言编写整个系统运行所需要的程序;
第二章方案比较、设计和论证2.1单片机方案选择方案一:
采用标准AT89C51单片机作为控制器;
波形选择通过按键来选择,波形通过DAC0832。
按以上系统框架设计,占用单片机端口资源少。
该系统具有电路简单,设计方便,显示亮度高,可靠性高等特点。
方案二:
采用AT89C52单片机作为控制器,波形通过AD7542输出,利用此方案对系统资源浪费比较大,在模型制作中较少采用。
考虑到实际情况和波形的正确性,本设计采用了第一套方案。
2.2D/A转换器接线方式选择方案一:
采用单缓冲接线方式。
采用双缓冲接线方式;
此接线方式可使DAC转换输出前一个数据的同时将下一个数据传送到8位输入寄存器,优点是可以提高D/A转换的速度;
其缺点是接线和编程稍复杂一点。
方案三:
采用直通接线方式;
此接线方式接线简单、编程简单。
为了使接线和编程都简单易行,故选用方案三。
第三章系统设计3.1总体系统设计3.1.1系统流程图图3-1系统流程图3.1.2系统框图该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用虚拟示波器显示波形的方案。
将设计任务分解为按键电路、输出转换电路等模块。
图3-2为系统的总体框图。
图3-2总体方框图3.2硬件实现及单元电路设计3.2.1单片机最小系统的设计AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图89C51单片机最小系统所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
(1)有可供用户使用的大量I/O口线。
(2)内部存储器容量有限。
(3)应用系统开发具有特殊性。
标准的51为8K程序空间,128字节的RAM,32条端口,5个中断,2个定时/计数器,12个时钟周期执行一条基本指令,最长的除法为48个周期。
图3-3AT89C51单片机最小系统3.2.2运算放大器电路本系统的放大电路如图3-4所示:
图3-4运算放大器电路3.2.3波形产生原理及模块设计波形产生的原理:
1、内存中首先存储波形的数字量值数组TABLE;
2、51单片机读取数组中的值,送入D/A转换器;
3、D/A转换器将输入的数字值转换成模拟量输出;
4、D/A输出的模拟电流量通过运放转换成电压量输出。
由单片机采用编程方法产生四种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。
其电路图3-5如下:
图3-5波形产生电路3.2.4控制系统设计电路图图3-6系统设计电路图第四章系统调试及仿真4.1系统仿真单击仿真界面左下方的开始按扭,仿真就开始了。
具体仿真过程如下:
(1)f=250HZ正弦波的调试结果图4-1正弦波的调试结果
(2)f=250HZ方波的调试结果图4-2方波的调试结果(3)f=250HZ锯齿波的调试结果图4-3锯齿波的调试结果(4)f=143HZ三角波的调试结果图4-4三角波的调试结果第五章结论通过这次课程设计使我对课程所学理论知识的深化和提高。
并且通过本次课程设计,使我了解和掌握单片机应用系统的软硬件设计过程、方法及实现,培养了我分析问题和解决问题的能力,为以后设计和实现更难的应用系统打下良好基础。
同时培养了我撰写设计说明书的能力。
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。
对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。
因此在整个设计过程中大部分时间是用在程序上面的。
很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。
因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。
要设计一个成功的电路,必须要有耐心,要有坚持的毅力。
在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。
这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。
完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解。
同时在本次设计的过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。
我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。
偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。
对该理论在实践中应用的深刻理解,通过把波形在计算机上实现,知道和理解该理论在计算机中怎样执行的,对该理论在实践中的应用更深刻的理解,激发了我的学习积极性,在这次课程设计中,我就是按通过该课程设计,全面系统了解编译原理课程序构造的一般原理的基本实现方法。
把死板的课本知识变得生动有趣,激发了我的学习积极性。
参考文献[1]张毅坤.
单片微型计算机原理及应用.西安电子科技大学出版社,1998.
[2]余锡存曹国华.单片机原理及接口技术.西安电子科技大学出版社,20__0.
[3]吴黎明,王桂棠,洪添胜,等.
单片机原理及应用技术.科学出版社,20__5.
[4]韩克,柳秀山,等.
电子技能与EDA技术.暨南大学出版社,20__4.
[5]周润景.
张丽娜.
基PROTEUS的电路及单片机系统设计与仿真.航空航天大学出版社,20__6.
[6]张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998[7]李俊谟.单片机中级教程.北京航空航天大学出版社,20__6.
[8]胡宴如.模拟电子技术.高等教育出版社,20__4[9]李朝青.单片机原理及接口技术(修订版).北京:
北京航空航天大学出版社,1998.
[10]李广弟.单片机基础.北京:
北京航空航天大学出版社,1992.
[11]何立民.单片机应用技术大全.北京:
北京航空航天大学出版社,1994.
致谢本论文是在向根祥老师指导下完成的。
从论文选题到课题难点的解决,都给予了本人悉心地指导。
向老师的治学态度、专业造诣和敬业精神都使我收益非浅,。
在此,我首先向向根祥师致以衷心的感谢!
在课题完成过程中,还得到了许多同学的帮助,给我提供了很多思路与经验,对我深入理解课题的有关知识与方法起到了重要作用。
在此,我对同学们也表示诚挚的谢意。
附录程序清单ORG0000HSJMPSTARTORG30HSTART:
CJNEA,#0FFH,KEYSJMP$KEY:
JNBP1.0,KEY0JNBP1.1,KEY1JNBP1.2,KEY2JNBP1.3,KEY3SJMPSTARTKEY0:
ACALLSINSJMPKEYKEY1:
ACALLFANGSJMPKEYKEY2:
ACALLJUCHISJMPKEYKEY3:
ACALLSJIAOSJMPKEYSIN:
LOOP:
MOVR0,#00HLOOP1:
MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP2,AINCR0MOVP0,#0FFHMOVR3,P0L1:
INCR3CJNER3,#00H,L1CJNER0,#255,LOOP1JNBP1.4,E1SJMPLOOPE1:
RETFANG:
LOOP2:
MOVA,#00HMOVP2,AMOVP0,#0FFHMOVA,P0CPLAMOVR3,AACALLDELAYJNBP1.4,E2MOVA,#0FFHMOVP2,AMOVP0,#0FFHMOVA,P0CPLAMOVR3,AACALLDELAYSJMPLOOP2E2:
RETJUCHI:
MOVA,#00HLOOP6:
MOVP2,AINCAMOVP0,#0FFHMOVR3,P0L4:
INCR3CJNER3,#00H,L4JNBP1.4,E3SJMPLOOP6E3:
RETSJIAO:
MOVA,#00HLOOP9:
MOVP2,AINCAMOVP0,#0FFHMOVR3,P0L5:
INCR3CJNER3,#00H,L5CJNEA,#0FFH,LOOP9LOOP8:
DECAMOVP0,#0FFHMOVR3,P0L6:
INCR3CJNER3,#00H,L6MOVP2,ACJNEA,#00H,LOOP8JNBP1.4,E4SJMPLOOP9E4:
RETDELAY:
LOOP3:
MOVR6,#1LOOP4:
MOVR5,#250LOOP5:
NOPNOPDJNZR5,LOOP5DJNZR6,LOOP4DJNZR3,LOOP3RETTABLE:
DB80H,83H,86H,89H,8DH,90H,93H,96HDB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0BAHDB0AEH,0ABH,0A8H,0A5H,0A2H,09FH,09CH,99HDB96H,93H,90H,8DH,89H,86H,83H,80HDB80H,7CH,79H,78H,72H,6FH,6CH,69HDB66H,63H,60H,5DH,5AH,57H,55H,51HDB4EH,4CH,48H,45H,43H,40H,3DH,3AHDB38H,35H,33H,30H,2EH,2BH,29H,27HDB25H,22H,20H,1EH,1CH,1AH,18H,16HDB15H,13H,11H,10H,0EH,0DH,0BH,0AHDB09H,08H,07H,06H,05H,04H,03H,02HDB02H,01H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,01H,02HDB02H,03H,04H,05H,06H,07H,08H,09HDB0AH,0BH,0CH,0DH,0EH,10H,11H,13H,15HDB16H,18H,1AH,1CH,1EH,20H,22H,25HDB27H,29H,2BH,2EH,30H,33H,35H,38HDB3AH,3DH,40H,43H,45H,48H,4CH,4EHDB51H,55H,57H,5AH,5DH,60H,63H,66HDB69H,6CH,6FH,72H,76H,79H,7CH,80HEND