函数信号发生器设计报告

时间:2024.4.13

工程训练课程设计报告

设计课题:信号发生器的设计

姓名:

班级:

设计时间:

基于51单片机的多功能信号发生器设计

摘 要: 本系统利用单片机AT89S52采用程序设计方法产生正弦波、脉冲波两种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—5kHz的波形。通过键盘来控制两种波形的类型选择、频率变化,幅度变化,并通过数码管显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及数码管显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。

关键词:单片机AT89S52、DAC0832

Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module, it can have the 1Hz-5KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail.

key word: AT89S52, DAC0832.

目录

1.1 设计要求

1.2方案设计与论证

1.2.1 信号发生电路方案论证

1.2.2 单片机的选择论证

1.2.3 显示方案论证

1.2.4 幅度控制论证

1.3 总体系统设计

1.4 硬件实现及单元电路设计

1.4.1 单片机最小系统的设计

1.4.2 数模转换模块设计

1.4.3 显示模块的设计

1.5 软件设计流程

1.6 源程序

1.7. 输出波形的种类与频率的测试

1.8 附录

1.81 参考文献

1.82 总体设计图

1、 系统设计

经过考虑,我确定方案如下:利用AT89S52单片机采用程序设计方法产生正弦波、脉冲波两种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过另一块DAC0832控制幅度的调节,通过键盘来控制两种波形的类型选择、频率变化,幅度变化,最终输出显示其各自的类型以及数值。

1.1、设计要求

1、 基本要求

(1)正弦波信号源

https://upload.fanwen118.com/wk-img/img100/3737927_1.jpg信号频率:https://upload.fanwen118.com/wk-img/img100/3737927_2.jpg步进调整,步长为https://upload.fanwen118.com/wk-img/img100/3737927_3.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_4.jpg频率稳定度:优于https://upload.fanwen118.com/wk-img/img100/3737927_5.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_6.jpg非线性失真系数。

(2)脉冲波信号源

https://upload.fanwen118.com/wk-img/img100/3737927_8.jpg信号频率:https://upload.fanwen118.com/wk-img/img100/3737927_9.jpg步进调整,步长为https://upload.fanwen118.com/wk-img/img100/3737927_10.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_11.jpg上升时间和下降时间:https://upload.fanwen118.com/wk-img/img100/3737927_12.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_13.jpg平顶斜降:https://upload.fanwen118.com/wk-img/img100/3737927_14.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_15.jpg脉冲占空比:https://upload.fanwen118.com/wk-img/img100/3737927_16.jpg步进调整,步长为https://upload.fanwen118.com/wk-img/img100/3737927_17.jpg

(3)上述两个信号源公共要求

https://upload.fanwen118.com/wk-img/img100/3737927_18.jpg信号频率可预置;

https://upload.fanwen118.com/wk-img/img100/3737927_19.jpg在负载为https://upload.fanwen118.com/wk-img/img100/3737927_20.jpg时,输出幅度为https://upload.fanwen118.com/wk-img/img100/3737927_21.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_22.jpg完成5位频率的数字显示。

2、发挥部分

(1)正弦波和脉冲波频率步长改为https://upload.fanwen118.com/wk-img/img100/3737927_23.jpg

(2)正弦波和脉冲波幅度可步进调整,调整范围为https://upload.fanwen118.com/wk-img/img100/3737927_24.jpg,步长为https://upload.fanwen118.com/wk-img/img100/3737927_25.jpg

(3)正弦波和脉冲波频率可自动步进,步长为https://upload.fanwen118.com/wk-img/img100/3737927_26.jpg

(4)降低正弦波非线性失真系数。

1.2方案设计与论证

1.2.1 信号发生电路方案论证

方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。

   方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。

   方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。

以上三种方案综合考虑,选择方案一。

1.2.2 单片机的选择论证

方案一:AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。

    方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵

    以上两种方案综合考虑,选择方案一

1.2.3 显示方案论证

方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,占用时间较短。

  方案二:采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母,但使用液晶显示,需要较长时间的软件延迟,影响产生波形的频率。

    以上两种方案综合考虑,选择方案一。

1.2.4幅度控制方案论证:

方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低,达不到至少500HZ的要求;

并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。

方案二:将输出电压通过一个运算放大器的放大。这样还有个优点是幅度连续可调。

方案三:用另外一片DA控制波形输出DA的参考电压值,以实现幅度控制。

经比较,方案三既可满足课程设计的基本要求,并且电路也挺简单

1.3总体系统设计

该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。图(1)为系统的总体框图

https://upload.fanwen118.com/wk-img/img100/3737927_27.jpg

图(1) 总体方框图

1.4硬件实现及单元电路设计

1.4.1单片机最小系统的设计

89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2) 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:

(1) 有可供用户使用的大量I/O口线。

(2) 内部存储器容量有限。

(3) 应用系统开发具有特殊性。

https://upload.fanwen118.com/wk-img/img100/3737927_28.jpg

图(2) 89C51单片机最小系统

 1.4.2 波形产生模块设计

由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。其电路图如下:

https://upload.fanwen118.com/wk-img/img100/3737927_29.jpg

图(3) 数模转换模块

如上图所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。DAC0832的为八位数据并行输入的,其结构图如下:

https://upload.fanwen118.com/wk-img/img100/3737927_30.jpg

图(4)DAC0832的内部结构

1.4.3 显示模块的设计https://upload.fanwen118.com/wk-img/img100/3737927_31.jpg

https://upload.fanwen118.com/wk-img/img100/3737927_32.jpg

图(5)数码管显示模块

1.4.4 幅度控制模块及滤波模块设计

https://upload.fanwen118.com/wk-img/img100/3737927_33.jpg

图(6)幅度控制模块

https://upload.fanwen118.com/wk-img/img100/3737927_34.jpg

图(6)滤波模块模块

1.5 软件设计流程

本系统采用AT89S52单片机,用编程的方法来产生三种波形,并通过编程

来切换三种波形以及波形频率的改变。

具体功能有:(1)各个波形的切换;(2)各种参数的设定;(3)频率增减等。

软件调通后,通过编程器下载到AT89S52芯片中,然后插到系统中即可独立完成所有的控制。

1.6源程序

#include<reg52.h>

#include<absacc.h>

#include<intrins.h>

sbit k1=P3^0;

sbit k2=P3^1;

sbit k3=P3^3;

sbit k4=P3^4;

sbit k5=P3^5;

sbit k6=P3^7;

bit led=1;

//sbit RS=P3^4;

//sbit RW=P3^5;

//sbit E=P3^7;

/*sbit LED0=P3^0;

sbit LED1=P3^1;

sbit LED2=P3^3;

sbit LED3=P3^4;

sbit LED4=P3^5;

sbit LED5=P3^7;*/

unsigned char i=0,k,f=14,g=255,n=0,m=0;

unsigned int j=200,num=800,num1;

unsigned char code sin[16]={135,176,218,245,254,243,213,170,121,72,24,3,2,20,55,102};

unsigned char code mai[2]={255,0};

unsigned char code du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

unsigned char code we[]={0x01,0x02,0x04,0x08,0x10,0x20};

init()

{

EA=1;

EX0=1;

IT0=1;

EA=1;

ET0=1;

TMOD=0x01;

TH0=(65536-1)/256;

TL0=(65536-1)%256;

TR0=1;

}

main()

{

init();

XBYTE[0xbfff]=255;

while(1)

{

//num=16+j*16;

if(k5==0&&g>0)

{

g--;

XBYTE[0xbfff]=g;

}

if(k6==0&&g<255)

{

g++;

XBYTE[0xbfff]=g;

}

if(k1==0&&j<65535)

{

j+=30;

}

if(k2==0&&j>0)

{

j-=30;

}

if(led==1)

{

XBYTE[0x7fff]=sin[0];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[1];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[2];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[3];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[4];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[5];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[6];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[7];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[8];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[9];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[10];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[11];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[12];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[13];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[14];

for(i=0;i<j;i++);

XBYTE[0x7fff]=sin[15];

for(i=0;i<j;i++);

}

if(led==0)

{

if(k4==0&&f<14)

{

f++;

}

if(k3==0&&f>0)

{

f--;

}

for(k=0;k<f;k++)

{

XBYTE[0x7fff]=mai[0];

for(i=0;i<j;i++);

}

for(k=0;k<(15-f);k++)

{

XBYTE[0x7fff]=mai[1];

for(i=0;i<j;i++);

}

}

}

}

void int0() interrupt 0

{

led=~led;

}

void jsq() interrupt 1

{

TH0=(65536-1)/256;

TL0=(65536-1)%256;

P2=P2&0xc0;

P2=P2|we[5-n];

if(n<6)

{

m=num1%10;

num1=num1/10;

P1=du[m];

}

n++;

if(n==6)

{

n=0;

num1=num;

}

}

1.7. 输出波形的种类与频率的测试

https://upload.fanwen118.com/wk-img/img100/3737927_35.jpg

图(7)4000HZ正弦波输出

https://upload.fanwen118.com/wk-img/img100/3737927_36.jpg

图(8)4000HZ脉冲波输出

1.8附录

1.81 参考文献

[1] 戴仙金主编 51单片机及其C语言汇编程序开发实例 清华大学出版社,2008

[2] 高吉祥主编 全国大学生电子设计竞赛培训系列教程 电子工业出版社,2007

[3] 杨素行主编 模拟电子技术基础简明教程 高等教育出版社,2007

[4] 蒋辉平主编 单片机原理与应用设计 北京航空航天大学出版社 2007

1.82 总体设计图

https://upload.fanwen118.com/wk-img/img100/3737927_37.jpg

更多相关推荐:
函数信号发生器实验报告

一实验标题函数信号发生实验二实验目的1了解单片集成函数信号发生器ICL8038的功能及特点2掌握ICL8038的应用方法三实验仪器与设备3高频电子线路试验箱TKGP4双踪示波器5频率计6交流毫伏表等四实验原理实...

函数信号发生器电子设计报告

电子综合设计报告设计题目函数信号发生器一综合设计方案要求可以输出正弦波方波三角波频率范围200Hz10KHz方波输出电压幅度UPP5VUPP3V函数信号发生器由以下两部分组成112v稳压电源电路使用变压器全桥L...

函数信号发生器课程设计报告

漳州师范学院模拟电子技术课程设计函数信号发生器姓名学号系别专业年级指导教师20xx年4月3日1函数信号发生器摘要利用集成电路LM324设计并实现所需技术参数的各种波形发生电路根据电压比较器可以产生方波方波再继续...

信号发生器设计总结报告

摘要信号发生器一般指能自动产生正弦波方波三角波电压波形的电路或者仪器电路形式可以采用由运放及分离元件构成现采用分立元件设计出能够产生3种常用实验波形的信号发生器该发生器通过将滞回电压比较器的输出信号通过RC电路...

信号发生器设计报告

模拟电子技术基础课程设计信号发生器班级姓名学号目录摘要21信号发生器设计目的与设计的意义211设计目的212设计的意义22信号发生器课程设计的内容及相关要求23信号发生器设计的方案34信号发生器的设计原理341...

函数信号发生器课程设计

模拟电路课程设计报告中原工学院20xx年6月24日目录一课程设计的任务要求及步骤二设计方案的选择三电路设计主要的技术指标四函数信号发生器电路原理分析五函数信号发生器元件参数的选择六函数信号发生器的安装和调试七课...

函数信号发生器设计报告

目录1设计的目的及任务1.1课程设计的目的1.2课程设计的任务与要求2函数信号发生器的总方案及原理图2.1电路设计原理框图2.2电路设计方案设计3各部分电路设计及选择3.1方波发生电路的工作原理3.2方波、三角…

函数发生器设计报告

信息工程学院课程设计论文湖北民族学院信息工程学院课程设计报告书题目函数发生器课程电子线路课程设计专业电子信息科学与技术班级学号学生姓名指导教师信息工程学院课程设计论文信息工程学院课程设计任务书信息工程学院课程设...

多功能函数信号发生器设计报告

20xx级模拟电子技术课程设计多功能函数信号发生器设计姓名学号院系部班号完成时间摘要本次课程的内容是设计一个能产生正弦波矩形波三角波的电路的函数信号发生器方波与三角波发生器由集成运放电路构成包括比较器与RC积分...

函数信号发生器实验报告

北京邮电大学电子电路实验报告院系信息与通信工程学院班级20xx211112姓名卢跃凯班内序号13学号20xx210344指导教师廖老师实验一函数信号发生器的设计与调测课题名称函数信号发生器的设计与调试摘要实验电...

函数信号发生器实验报告

函数信号发生器实验报告实验题目:函数信号发生器的设计与调测班级:电信1017班姓名:学号:20##年6月18日函数信号发生器的设计与调测摘要使用运放组成的积分电路产生一定频率和周期的三角波、方波(提高要求中通过…

电路实验报告 函数信号发生器

电子电路综合设计实验班级20xx211108姓名范灵均学号09210238小班序号26实验一函数信号发生器的设计与调测课题名称函数信号发生器的设计与实现一摘要函数信号发生器是一种为电子测量提供符合一定要求的电信...

函数信号发生器设计报告(26篇)