基于51单片机的-正弦信号发生器的设计.doc
上传人:天马****23 上传时间:2024-09-12 格式:DOC 页数:20 大小:3.9MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于51单片机的-正弦信号发生器的设计.doc

基于51单片机的-正弦信号发生器的设计.doc

预览

免费试读已结束,剩余 10 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

西安文理学院课程设计报告第PAGE\*MERGEFORMAT20页第一章系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。1.1设计要求1)、利用单片机采用软件设计方法产生三种波型2)、三种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其平率1.2方案设计与论1.2.1信号发生电路方案论证方案一:通过单片机控制D/A,此方案电路简单、成本低。方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。以上三种方案综合考虑,选择方案一。1.3总体系统设计该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等块。图(1)为系统的总体框图图(1)总体方块图1.4硬件实现及单元电路设计1.4.1单片机最小系统的设计89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2)89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1)有可供用户使用的大量I/O口线。(2)内部存储器容量有限。(3)应用系统开发具有特殊性。图(2)89C51单片机最小系统1.4.2波形产生模块设计由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。其电路图如下:图(3)DA转换图(4)DAC0832的内部结构1.4.3显示模块的设计通过液晶1602显示输出的波形、频率,其电路图如下:图(5)液晶显示图(6)八位二进制图(7)幅度调节如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P3.2—P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。1.5软件设计流程本系统采用AT89S52单片机,用编程的方法来产生三种波形,并通过编程来切换三种波形以及波形频率的改变。具体功能有:(1)各个波形的切换;(2)各种参数的设定;(3)频率增减等。软件调通后,通过编程器下载到AT89S52芯片中,然后插到系统中即可独立完成所有的控制。软件的流程图如下:图(8)程序流程图1.6源程序ORG0000HLJMPMAINORG0100HMAIN:JNBP1.0,P10JNBP1.1,P11JNBP1.2,P12JNBP1.3,P13LJMPMAINP10:MOVR7,#00HLCALLSQULJMPMAINP11:MOVR7,#01HLCALLSAWLJMPMAINP12:MOVR7,#02HLCALLTRILJMPMAINP13:MOVR7,#03HLCALLSINLJMPMAINSQU:JNBP1.1,N1JNBP1.2,N2JNBP1.3,N3LJMPSSQUN1:MOVR7,#01HLJMPTC0N2:MOVR7,#02HLJMPTC0N3:MOVR7,#03HLJMPTC0SSQU:CJNER7,#00H,TC0MOVR0,#00H;MOVDPTR,#7FFFHK00:;MOVA,#0FFH;MOVX@DPTR,AMOVP0,#0FFHMOVP2,#0FFHMOVA,P2CPLAMOVR3,AL00:DECR3CJNER3,#255,L00INCR0INCR0CJNER0,#254,K00MOVR0,#00HK01:;MOVA,#00H;MOVX@DPTR,AMOVP0,#00HMOVP2,#0FFHMOVA,P2CPLAMOVR3,AL01:DECR3CJNER3,#255,L01INCR0INCR0CJNER0,#254,K01LJMPSQUTC0:RETSAW:JNBP1.0,N4JNBP1.2,N5