当前位置:文档之家› 基于单片机的信号发生器的设计

基于单片机的信号发生器的设计

基于单片机的信号发生器的设计
基于单片机的信号发生器的设计

基于单片机的信号发生

器的设计

WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

唐山师范学院

题目基于单片机的信号发生器的设计

院系名称:电子信息科学与技术

学号:

摘要

波形发生器即简易函数信号发生器,是一个能够产生多种波形,如三角波、锯齿波、方波、正弦波等波形电路。函数信号发生器在电路实验和设备仪器中具有十分广泛的用途。通过对函数发生器的原理以及构成分析,可设计一个能变换出三角波、锯齿波、方波、正弦波的函数波形发生器。在工业生产和科研中利用函数信号发生器发出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品进行指数验证、参数调整及性能鉴定。常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不仅参数准确度难以保证,而且体积和功耗都很大,而由数字电路构成的低频信号发生器,虽然其性能好但体积较大,价格较贵,因此,高精度,宽调幅将成为数字量信号发生器的趋势。

本文介绍的是利用89C52单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,89C52的基础理论,以及与设计电路有关的各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信号频率幅度也按要求可调。

本设计核心任务是:以AT89C52为核心,结合D/A转换器和DAC0832等器件,用仿真软件设计硬件电路,用C语言编写驱动程序,以实现程序控制产生正弦波、三角波、方波、三种常用低频信号。可以通过键盘选择波形和输入任意频率值。

关键词: AT89C52单片机函数波形发生器 DAC0832 方波三角波正弦波

目次

1 引言 (4)

2 系统设计 (6)

方案 (6)

器件选择 (6)

总体系统设计 (6)

硬件实现及单元电路设计 (7)

单片机最小系统设计 (7)

D/A转换器 (8)

运算放大器电路 (10)

LED显示器接口电路 (11)

波形产生原理及模块设计 (11)

显示模块设计 (13)

键盘显示模块设计 (14)

软件设计流程 (14)

软件中的重点模块设计 (14)

3 输出波形种类与频率的测试 (18)

测量仪器及调试说明 (18)

调试过程 (18)

调试结果 (22)

结论 (23)

致谢 (25)

参考文献 (26)

附录A 源程序 (27)

附录B仿真图 (34)

1 引言

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系

统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。用一般的信号发生器,不但笨重,而且只发一些简单的波形,不能满足需要。例如用户要调试串口通信程序时,就要在计算机上写好一段程序,再用线连接计算机和用户实验板,如果不正常,不知道是通讯线有问题还是程序有问题。用E2000/L的波形发生器功能,就可以定义串口数据。通过逻辑探勾输出,调试起来简单快捷。

基于单片机的简易波形发生器是一种常用的信号源,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。

目前, 简易波形发生器的构成方法有很多,例如采用DDS(Direct2Digital Synthesis)型的任意波发生器、采用专用的信号发生芯片MAX038以及传统的

AWG 。本设计源于2007年全国大学生电子制做大赛,通过分析比较后采用传统的方法来实现多功能波形发生器。借助高性能单片机运算速度高,系统集成度强的优势,设计的这种信号发生器,比以前的数字式信号发生器具有硬件简单,理解及实现起来较容易,该方案的设计思路较为清晰,且容易对频率和幅值进行控制等优点。

低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。

以单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、

方波、三角波及其他任意波形。波形的频率和幅度在一定范围内可任意改变。

介绍了波形的生成原理、硬件电路和软件部分的设计原理。介绍了单片机控制D/A转换器产生上述信号的硬件电路和软件编程、DAC0832 D/A转换器的原理和使用方法、AT89C52以及与设计电路有关的各种芯片、关于产生不同低频信号的信号源的设计方案。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。

2 系统设计

方案:

利用AT89C52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。

设计要求

1) 、利用单片机采用软件设计方法产生三种波形

2)、三种波形可通过键盘选择

3)、波形频率可调

4)、需显示波形的种类及其频率

器件选择

1、通过单片机控制D/A,输出三种波形。

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

3、采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。

总体系统设计

该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、

硬件实现及单元电路设计

单片机最小系统的设计

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

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

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

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

标准的52为8K程序空间,128字节的RAM,32条端口,5个中断,2个定时/计数器,12个时钟周期执行一条基本指令,最长的除法为48个周期。52为8K程序空间,256字节的RAM,32条端口,6个中断,3个定时/计数器。

图2-2 AT89C52单片机最小系统

D/A转换器

DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图为DAC0832的引脚图。其主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压(+10/span>-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。从图3-1中可见,在DAC0832中有两级锁存器,第一级锁存器

称为输入寄存器,它的允许锁存信号为ILE ,第二级锁存器称为DAC 寄存器,它的锁存信号也称为通道控制信号 /XFER 。

图2-3 DAC0832的引脚图

图2-3中,当ILE 为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB 的变化而变化。

对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC 寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC 寄存器中。 图2-3中其余各引脚的功能定义如下:

(1) DI7~DI0 :8位的数据输入端,DI7为最高位。

(2) IOUT1 :模拟电流输出端1,当DAC 寄存器中数据全为1时,输出电流最大,当 DAC 寄存器中数据全为0时,输出电流为0。

(3) I OUT2 :模拟电流输出端2, I OUT2与I OUT1的和为一个常数,即I OUT1+I OUT2=常数。 (4) R FB :反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 R FB 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。

(5) V REF :参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,V REF 范围为(+10~-10)V 。V REF 端与D/A 内部T 形电阻网络相连。

(6) Vcc :芯片供电电压,范围为(+5~ 15)V 。 (7) AGND :模拟量地,即模拟电路接地端。 (8) DGND :数字量地。 运算放大器电路

本系统的放大电路如图2-4所示:

图2-4

图2-4中R1是耦合电阻,R2,R3都为分压式反馈电阻。R2和R1的电压比例为1:2,OUT2的电压为-5v~0v,在第二级运放中要把-5v~0v之间的电压转变为-5v~5v,即第一级运放转换成电压量的值没增加或减少1v,第二级运放产生的电压就减少或增加

2v。

LED显示器接口电路

常用的LED显示器有LED状态显示器(俗称发光二极管)LED七段显示器(俗称数码管和LED十六段显示器,发光二极管可显示两种状态,用于系统显示;数码管用于数字显示;LED十六段显示器,用于字符显示)

1.数码管结构

数码管由8个发光二极管(以下简称字段)构成,通过不同组合可用来显示数字0-9.字符A-F及小数点“.”。数码管又分为共阴极和共阳极两种结构。

2. 数码管工作原理

共阳极数码管的8个发光二级管的阳极(二极管正端)连接在一起。通常会共阳极接高电平1.一般接电源1.当某个阴极接低电平时,则该数码管导通并点亮。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。公共阴极接低电平(一般接地)当某个阳极接高电平,则该数码管并点亮。

图2-5 数码管与单片机接口

波形产生原理及模块设计

波形产生的原理:

1、内存中首先存储波形的数字量值数组tosin;

2、52单片机读取数组中的值,送入D/A转换器;

3、D/A转换器将输入的数字值转换成模拟量输出;

4、D/A输出的模拟电流量通过运放转换成电压量输出。

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

图2-6形产生电路

显示模块的设计

通过液晶1602显示输出的波形、频率,其电路图如

图2-7液晶显示

如上图2-7所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E 分别接单片机的—。通过软件控制液晶屏可以显示波形的种类以及波形的频率。

键盘显示模块的设计

本系统采用独立键盘,其连接电路图如下:

图2-8

如图2-8开关1用来切换输出波形、开关2和3用来调节频率的加减。当按开关2时输出波形的频率减小,按开关3时输出波形的频率增加。

软件设计流程

软件中的重点模块

51单片机,D/A模块和基准电压,输出驱动(运放)。

基准电压:

最小输出电压LSB=5v/256

最大输出电压MSB=5v

波形形成:

正弦波:

0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,0x97,0x9a,0x9d,0xa0,0xa3,0xa6, 0xa9,0xac,0xaf,0xb2,0xb6,0xb9,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf, 0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec, 0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd, 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6, 0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86, 0x83,0x80,

由于DAc0832是8精度的转换器,其计算如下:

80×5v/256(即80×LSB)

82×LSB……

方波:

0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,

其计算如下:

80×5v/256(即80×LSB)

7c×LSB……

三角波:

0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35, 0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04, 0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b, 0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48, 0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80

其计算如下:

5a×5v/256(即5a×LSB) 下面依次类推。

本系统采用AT89S52单片机,用编程的方法来产生三种波形,并通过编程来切换三种波形以及波形频率的改变。

具体功能有:(1)各个波形的切换;

(2)各种参数的设定;

(3)频率增减等。

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

软件的流程图如下:

PC机,Keil 51,Protues

调试说明:正弦波、矩形波、三角波信号的输出,通过对独立键盘来实现其的不同波形的输出以及其频率的改变。

调试过程

当程序下进去时经过初始化,液晶屏的上只显示“wave:”和“f:“,当开关一按一下是此时输出波形为正弦波,按两下时输出为方波,按三下时输出为三角波。另外两个开关可以调节频率,三种波形的频率可调范围不同,分别如下:正弦波:1—111HZ

方波:1——

三角波:1——66HZ

根据示波器的波形频率的显示计算出三种波形的频率计算公式如下:

正弦波:f=(1000/(9+3*ys))

方波:f=(100000/(3*ys))

三角波:f=(1000/(15+3*ys)

其中ys为延时的变量。

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

正弦波程序:

if(s1num==1) //正弦波//

{

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

{

P0=tosin[j];

delay1(ys);

}

}

其电路图如下:

图3-1 正弦波形方波程序:

if(s1num==2) //方波//

{

P0=0xff;

delay1(ys);

P0=0;

delay1(ys);

}

其电路图如下:

图3-2 方波波形三角波程序:

if(s1num==3) //三角波//

{

if(a<128)

{

P0=a;

delay1(ys);

}

else

{

P0=255-a;

delay1(ys);

}

a++;

}

其电路图如下:

图3-3 三角波形

调试结果

各项指标均达到要求。

测试数据如下:

1)、产生正弦波、方波、三角波基本实现

2)、三种波形的频率都可调,但不能步进的调节,其中方波的可调范围最广为1—,其他两种波形的频率范围不大1—180HZ

3)、显示部分基本实现

4)、键盘功能实现

结论

通过这次课程设计使我对课程所学理论知识的深化和提高。并且通过本次课程设计,使我了解和掌握单片机应用系统的软硬件设计过程、方法及实现,培养了我分析问题和解决问题的能力,为以后设计和实现更难的应用系统打下良好基础。同时培养了我撰写设计说明书的能力。

在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程

序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。

要设计一个成功的电路,必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解。

同时在本次设计的过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。

对该理论在实践中应用的深刻理解,通过把波形在计算机上实现,知道和理解该理论在计算机中怎样执行的,对该理论在实践中的应用更深刻的理解,激发了我的学习积极性,在这次课程设计中,我就是按通过该课程设计,全面系统了解编译原理课程序构造的一般原理的基本实现方法。把死板的课本知识变得生动有趣,激发了我的学习积极性。

附录A

源程序

#include <>

#define uchar unsigned char

#define uint unsigned int

sbit lcdrw=P3^3;

sbit lcdrs=P3^2;

sbit lcde=P3^4;

sbit d=P2^7;

sbit s1=P2^0;

sbit s2=P2^1;

sbit s3=P2^2;

sbit cs=P3^5;

sbit wr=P3^6;

uchar s1num,a,ys,j;

uint fre;

uchar code tosin[256]={

0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76, 0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,

0x76,0x79,0x7c,0x80 };/*正弦波码 */

void delay(uint z) //延时子程序

{

uchar i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void delay1(uint y)

{

uint i;

for(i=y;i>0;i--);

}

void write_com(uchar com) //1602写指令

{

lcdrs=0;

P1=com;

delay(5);

lcde=1;

delay(5);

lcde=0;

}

void write_data(uchar date) //1602数据

{

lcdrs=1;

P1=date;

delay(5);

lcde=1;

delay(5);

lcde=0;

}

void init() //初始化

{

lcdrw=0;

lcde=0;

wr=0;

cs=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80+0x00);

write_data(0x77); //写wave:

write_data(0x61);

write_data(0x76);

write_data(0x65);

write_data(0x3a);

write_com(0x80+0x40); //写 f:

write_data(0x66);

write_data(0x3a);

}

void write_f(uint date) //写频率

{

uchar qian,bai,shi,ge;

qian=date/1000;

bai=date/100%10;

shi=date/10%10;

ge=date%10;

write_com(0x80+0x42);

write_data(0x30+qian);

write_data(0x30+bai);

write_data(0x30+shi);

write_data(0x30+ge);

write_data(0x48);

write_data(0x5a);

}

void xsf() //显示频率

{

if(s1num==1)

{

fre=(1000/(9+3*ys));

write_f(fre);

}

if(s1num==2)

{

fre=(100000/(3*ys));

write_f(fre);

}

if(s1num==3)

{

fre=(1000/(15+3*ys));

write_f(fre);

}

}

void keyscanf()

{

d=0;

if(s1==0)

{

delay(5);

if(s1==0)

{

while(!s1);

s1num++;

if(s1num==1)

{

ys=0;

write_com(0x80+0x05);

write_data(0x73); //写sine:

write_data(0x69);

write_data(0x6e);

write_data(0x65);

write_data(0x20);

write_data(0x20);

}

if(s1num==2)

{

ys=10;

write_com(0x80+0x05);

write_data(0x73); //写squrae

write_data(0x71);

write_data(0x75);

write_data(0x61);

write_data(0x72);

write_data(0x65);

}

if(s1num==3)

{

ys=0;

write_com(0x80+0x05); //train write_data(0x74);

write_data(0x72);

write_data(0x61);

write_data(0x69);

write_data(0x6e);

write_data(0x20);

}

if(s1num==4)

{

s1num=0;

P1=0;

write_com(0x80+0x05);

write_data(0x20);

write_data(0x20);

write_data(0x20);

write_data(0x20);

write_data(0x20);

write_data(0x20);

write_com(0x80+0x42);

write_data(0x20); write_data(0x20);

write_data(0x20);

write_data(0x20);

write_data(0x20);

write_data(0x20);

}

}

}

if(s2==0)

{

delay(5);

if(s2==0)

{

while(!s2);

ys++;

}

}

if(s3==0)

{

delay(5);

if(s3==0)

{

while(!s3);

ys--;

}

}

}

void main()

{

init();

while(1)

{

keyscanf();

if(s1num==1) //正弦波//

{

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

{

P0=tosin[j];

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.doczj.com/doc/6310175470.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

(完整word版)基于单片机的信号发生器开题报告

内蒙古工业大学本科生毕业设计(论文)开题报告

注:表格根据所填内容可进行调整,可多页。 一、设计总体方案 利用AT89S52 单片机采用程序设计方法产生锯齿波,正弦波,矩形波,方波四种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控四种波形的类型,频率变化,最终输出显示其各自的类型及数值

图4.1 硬件原理框图 二.硬件各单元电路方案设计与选择 1、单片机的选择 方案一:AT89S52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下CPU对DAC0832 执行一次写操作,则把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 以上两种方案综合考虑,选择方案一 2.键盘设计方案比较 方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。 方案二:独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 以上两种方案综合考虑,选择方案二。 3、D/A转换部分

基于单片机的低频信号发生器设计毕业设计论文

淮阴工学院 毕业设计说明书(论文) 作者: 学号: 学院: 电子与电气工程学院 专业: 电子信息工程 题目: 基于单片机的低频 信号发生器 张月红讲师 指导者: (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 年月

毕业设计说明书(论文)中文摘要

毕业设计说明书(论文)外文摘要

淮阴工学院毕业设计说明书(论文)第Ⅰ页共Ⅰ页4 目录 1 绪论................................................. 错误!未定义书签。 1.1 信号发生器综述..................................... 错误!未定义书签。 1.2信号发生器的发展历史............................... 错误!未定义书签。 2 硬件设计............................................. 错误!未定义书签。 2.1总体设计框图....................................... 错误!未定义书签。 2.2单片机最小系统..................................... 错误!未定义书签。 2.3 数模转换模块....................................... 错误!未定义书签。 2.4运算放大模块....................................... 错误!未定义书签。 2.5 键盘电路设计模块................................... 错误!未定义书签。 2.6显示电路设计模块................................... 错误!未定义书签。 3 软件设计............................................. 错误!未定义书签。 3.1 主程序流程图....................................... 错误!未定义书签。 3.2 子程序流程图....................................... 错误!未定义书签。 4 系统调试............................................. 错误!未定义书签。 4.1软件调试........................................... 错误!未定义书签。 4.2生成hex文件....................................... 错误!未定义书签。 4.3 Protues硬件电路仿真调试........................... 错误!未定义书签。 结论................................................... 错误!未定义书签。致谢................................................... 错误!未定义书签。参考文献............................................... 错误!未定义书签。附录................................................... 错误!未定义书签。附录A 电路原理图.仿真图............................... 错误!未定义书签。附录B 程序清单........................................ 错误!未定义书签。

什么是函数信号发生器,函数信号发生器的作用,函数信号发生器的工作原理

什么是函数信号发生器,函数信号发生器的作用,函数信号发生器的工作原 理 什么是函数信号发生器?函数信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。 函数信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。 函数信号发生器的工作原理:函数信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。它能够产生多种波形,如三角波、锯齿波、矩形波、正弦波,所以在生产实践和科技领域中有着广泛的应用。 函数信号发生器系统主要由主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器和指示电压表构成。当输入端输入小信号正弦波时,该信号分两路传输,一路完成整流倍压功能,提供工作电源;另一路进入一个反相器的输入端,完成信号放大功能。该放大信号经后级的门电路处理,变换成方波后经输出,输出端为可调电阻。 函数信号发生器产生的各种波形曲线均可以用三角函数方程式来表示,函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频发射,这里的射频波就是载波,把音频、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。

基于51单片机的函数信号发生器

基于51单片机的函数信号发生器 设计方案 利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz 的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 设计要求 1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 方案设计 1 信号发生电路方案

通过单片机控制D/A,输出四种波形。此方案虽输出的波形不够稳定,抗干扰能力弱,不易调节,但此方案电路简单、成本低。因此选用此方案。 2 单片机的选择 AT89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 3 显示方案 采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。 4 键盘方案论证 采用独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键

输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图: 总体方框图 硬件实现及单元电路设计 1单片机最小系统的设计 AT89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2) 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。

基于51单片机的信号发生器设计报告

基于51单片机的信号发生器设计报告 二零一四年十二月十一日

摘要 根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。本设计经过测试,性能和各项指标基本满足题目要求。 关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片

目录 摘要...................................................................... 目录...................................................................... 第一章绪论................................................................. 1.1单片机概述........................................................... 1.2信号发生器的概述和分类.............................................. 1.3问题重述及要求....................................................... 第二章方案的设计与选择................................................... 2.1方案的比较........................................................... 2.2设计原理 ............................................................. 2.3设计思想 ............................................................. 2.4实际功能 ............................................................. 第三章硬件设计............................................................ 3.1硬件原理框图......................................................... 3.2主控电路 ............................................................. 3.3数、模转换电路....................................................... 3.4按键接口电路......................................................... 3.5时钟电路 ............................................................. 3.6显示电路 ............................................................. 第四章软件设计............................................................ 4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................

函数信号发生器的设计与制作

函数信号发生器的设计、和装配实习 一.设计制作要求: 掌握方波一三角波一正弦波函数发生器的设计方法和测试技术。学会由分立器件和集成电路组成的多级电子电路小系统的布线方法。掌握安装、焊接和调试电路的技能。掌握在装配过程中可能发生的故障进行维修的基本方法。 二.方波一三角波一正弦波函数发生器设计要求 函数发生器能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形。其电路中使用的器件可以是分立器件,也可以是集成电路(如单片集成电路函数发生器ICL8038)。本次电子工艺实习,主要介绍由集成运算放大器和晶体管差分放大器组成的方波一三角波一正弦波函数信号发生器的设计和制作方法。 产生正弦波、方波、三角波的方案有多 种: 1:如先产生正弦波,然后通过整 形电路将正弦波变换成方波,再由积分 电路将方波变成三角波。 2:先产生三角波一方波,再将三 角波变成正弦波或将方波变成正弦波。 3 3:本次电路设计,则采用的图1函数发生器组成框图 是先产生方波一三角波,再将三角波变换成正弦波的电路设计方法。此钟方法的电路组成框图。如图1所示:可见,它主要由:电压比较器、积分器和差分放大器等三部分构成。 为了使大家能较快地进入设计和制做状态,节省时间,在此,重新复习电压比较器、积分器和差分放大器的基本构成和工作原理: ,并判所谓比较器,是一种用来比较输入信号v1和参考电压V REF 断出其中哪个大,在输出端显示出比较结果的电路。 在《电子技术基础》一书的9.4—非正弦波信号产生电路的9.4.1中,专门讲述了: A:单门限电压比较器、B:过零比较器 C:迟滞比较器的电路结构和工作原理。 一、单门限电压比较器 所谓单门限电压比较器,是指比较器的输入端只有一个门限电压。

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 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 and liquid crystal display of 1602, it can have the 1Hz-3KHz 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, liquid crystal 1602. 目录

单片机低频信号发生器课程设计.

目录 一、题目的意义 (1) 二、本人所做的工作 (1) 三、课设要求 (2) 四、课设所需设备及芯片功能介绍 (2) 4.1、所需设备 (2) 4.2、芯片功能介绍 (2) 五、总体功能图及主要设计思路 (5) 5.1、总体功能图 (5) 5.2、主要设计思想 (5) 六、硬件电路设计及描述 (7) 6.1、硬件原理图 (7) 6.2、线路连接步骤 (7) 七、软件设计流程及描述 (7) 7.1、锯齿波的实现过程 (7) 7.2、三角波的实现过程 (8) 7.3、梯形波的实现过程 (9) 7.4、方波的实现过程 (11) 7.5、正弦波的实验过程 (12)

7.6、通过开关实现波形切换和调频、调幅 (13) 八、程序调试步骤与运行结果 (15) 8.1、调试步骤 (15) 8.2、运行结果 (15) 九、课程设计体会 (17) 十、参考文献 (18) 十一、源代码及注释 (18) 一、题目的意义 (1)、利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)、我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的函数发生器。 (3)、掌握各个接口芯片(如0832等的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。 (4)、在平时的学习中,我们所学的知识大都是课本上的,在机房的练习大家也都是分散的对各个章节的内容进行练习。因此,缺乏一种系统的设计锻炼。在课程所学结束以后,这样的课程设计十分有助于学生的知识系统的总结到一起。 (5)、通过这几个波形进行组合形成了一个函数发生器,使得我对系统的整个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目,更可以锻炼大家单片机知识的应用。 二、本人所做的工作

简易信号发生器单片机课程设计报告

课程设计(论文)任务书 电气学院电力系统及其自动化专业12(1 )班 一、课程设计(论文)题目:简易信号发生器设计 二、课程设计(论文)工作自 2015年1 月12 日起至2015 年 1月16 日止。 三、课程设计(论文) 地点:电气学院机房 10-303 四、课程设计(论文)内容要求: 1.课程设计的目的 (1)综合运用单片机原理及应用相关课程的理论知识和实际应用知识,进行单片机应用系统电路及程序设计,从而使这些知识得到进一步的巩固,加深和发展;(2)熟悉和掌握单片机控制系统的设计方法,汇编语言程序设计及proteus 软件的使用; (3)通过查阅图书资料、以及书写课程设计报告可提高综合应用设计能力,培养独立分析问题和解决问题的能力。 2.课程设计的内容及任务 (1)可产生频率可调的正弦波(64个点)、方波、锯齿波或三角波。 (2)显示出仿真波形。 (3)通过按键选择输出波形的种类。 (4)在此基础上使输出波形的幅值可控。

3.课程设计说明书编写要求 (1)设计说明书用A4纸统一规格,论述清晰,字迹端正,应用资料应说明出处。(2)说明书内容应包括(装订次序):题目、目录、正文、设计总结、参考文献等。应阐述整个设计内容,要重点突出,图文并茂,文字通畅。 (3)报告内容应包括方案分析;方案对比;整体设计论述;硬件设计(电路接线,元器件说明,硬件资源分配);软件设计(软件流程,编程思想,程序注释,) 调试结果;收获与体会;附录(设计代码放在附录部分,必须加上合理的注释)(4) 学生签名: 2015年1月16 日 课程设计(论文)评审意见 (1)总体方案的选择是否正确;正确()、较正确()、基本正确()(2)程序仿真能满足基本要求;满足()、较满足()、基本满足()(3)设计功能是否完善;完善()、较完善()、基本完善()(4)元器件选择是否合理;合理()、较合理()、基本合理()(5)动手实践能力;强()、较强()、一般()(6)学习态度;好()、良好()、一般()(7)基础知识掌握程度;好()、良好()、一般()(8)回答问题是否正确;正确()、较正确()、基本正确()、不正确() (9)程序代码是否具有创新性;全部()、部分()、无() (10)书写整洁、条理清楚、格式规范;规范()、较规范()、一般()总评成绩优()、良()、中()、及格()、不及格() 评阅人:

简易函数信号发生器

课程设计任务书 (一)设计目的 1、掌握信号发生器的设计方法和测试技术。 2、了解单片函数发生器IC8038的工作原理和应用。 3、学会安装和调试分立元件与集成电路组成的多级电子电路小系统。 (二)设计技术指标与要求 1、设计要求 (1)电路能输出正弦波、方波和三角波等三种波形; (2)输出信号的频率要求可调; (3)拟定测试方案和设计步骤; (4)根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (5)在面包板上或万能板或PCB板上安装电路; (6)测量输出信号的幅度和频率; (7)撰写设计报告。 2、技术指标 频率范围:100Hz~1KHz 1KHz~10KHz; 输出电压:方波V P-P≤24V,三角波V P-P=6V,正弦波V P-P=1V;方波t r小于1uS。 (三)设计提示 1、方案提示: (1)设计方案可先产生正弦波,然后通过整形电路将正弦波变成方波,再由积分电路将方波变成三角波;也可先产生三角波-方波,再将三角波变成正弦波。 (2)也可用单片集成芯片IC8038实现,采用这种方案时要求幅度可调。 2、设计用仪器设备: 示波器,交流毫伏表,数字万用表,低频信号发生器,实验面包板或万能板,智能电工实验台。 3、设计用主要器件: (1)双运放NE5532(或747)1只(或741 2只)、差分管3DG100 4个、电阻电容若干; (2)IC8038、数字电位器、电阻电容若干。 4、参考书: 《电子线路设计·实验·测试》谢自美主编华中科技大学出版社 《模拟电子技术基础》康华光主编高等教育出版社 《模拟电子技术》胡宴如主编高等教育出版社 (四)设计报告要求 1、选定设计方案; 2、拟出设计步骤,画出设计电路,分析并计算主要元件参数值; 3、列出测试数据表格; 4、调试总结,并写出设计报告。 (五)设计总结与思考 1、总结信号发生器的设计和测试方法;

基于51单片机的简易函数信号发生器

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

2、实验内容 1、运用keil软件对程序进行编写,运行程序,并进行程序修改。 2、运用protues软件进行硬件电路仿真设计。 3、将程序下载到仿真单片机中,并观测输出波形。 4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。 5、仿照仿真软件进行硬件电路的焊接。 6、将程序下载到单片机,并用示波器测试输出波形。 7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤 1、首先打开keil软件. 2、运用keil软件对程序进行编写,程序见附件。 3、打开protues软件. 4、运用protues软件对硬件电路进行设计。 9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:?XTAL1,XTAL2:外接晶振,产生时钟信号。 ?RST:复位电路; ?P2口:8位数字信号输出输出,外接DAC0832; ?P3.6口和P3.7口:DAC0832的时钟信号; 单片机模块 单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

基于51单片机的信号发生器

基于51单片机的函数发生器 以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。 关键词:低频信号发生器;单片机;D /A转换; 一.设计任务 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。 二.系统概述 2.1总体方案: 采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器, 生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到 设计的500HZ以上。性能高,在低频范围内稳定性好、操作方便、体积小、耗电 少。将输出电压通过一个运算放大器的放大来改变幅度。这样还有个优点是幅度 连续可调。 2.2工作原理: 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

基于单片机的信号发生器 设计

摘要 在介绍MAX038 芯片特性的基础上,论述了采用MAX038 芯片设计数字函数信号发生器的原理以及整机的结构设计。对其振荡频率控制、信号输出幅度控制以及频率和幅度数显的实现作了较详细的论述。该函数信号发生器可输出三角波,方波和正弦波。 本文重点论述了整机通过D/A转换电路控制MAX038的实现过程,D/A转换电路采用了8位4通道的MAX505来实现。在幅度的控制上采用数字电位器AD5171,该芯片是I2C总线方式控制,文中给出了I2C总线的读写控制程序。系统支持按键操作和上位机操作两种模式。 关键词:函数信号;D/A ;单片机控制

Design of Signal Generator System Based on SCM Zisu zhou (College of Zhangjiajie, Jishou University, Jishou,Hunan 416000) Abstract Based on the introduction of MAX038 , we discussed the principle and the whole frame of the digital function signal generator. We described the control of the oscillatory frequent , amplitude and the digital display in detail. Thegenerator can output three kinds of waves : sine wave , square wave , triangle wave. This text has exposition the mirco-computer controls the D/A electric circuit of conversion realize the process. In D/A changing electric circuit adopt the 8 bit 4 channel come to realize. Porentiometer AD5171 is adopted in the control of length. This chip is that I2C bus control way. This system supports key-control or computer-control modes. Key words : function signal ;D/A ;single - chip microprocessor control ;

如何使用函数信号发生器

如何使用函数信号发生器 认识函数信号发生器 信号发生器一般区分为函数信号发生器及任意波形发生器,而函数波形发生器在设计上又区分出模拟及数字合成式。众所周知,数字合成式函数信号源无论就频率、幅度乃至信号的信噪比(S/N)均优于模拟,其锁相环( PLL)的设计让输出信号不仅是频率精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但毕竟是数字式信号源,数字电路与模拟电路之间的干扰,始终难以有效克服,也造成在小信号的输出上不如模拟式的函数信号发. 这是通用模拟式函数信号发生器的结构,是以三角波产生电路为基础经二极管所构成的正弦波整型电路产生正弦波,同时经由比较器的比较产生方波,换句话说,如果以恒流源对电容充电,即可产生正斜率的斜波。同理,右以恒流源将储存在电容上的电荷放电即产生负斜率的斜波,电路结构如下: 当I1 =I2时,即可产生对称的三角波,如果I1 > >I2,此时即产生负斜率的锯齿波,同理I1 < < I2即产生正斜率锯齿波。 再如图二所示,开关SW1的选择即可让充电速度呈倍数改变,也就是改变信号的频率,这也就是信号源面板上频率档的选择开关。同样的同步地改变I1及I2,也可以改变频率,这也就是信号源上调整频率的电位器,只不过需要简单地将原本是电压信号转成电流而已。 而在占空比调整上的设计有下列两种思路: 改变电平的幅度,亦即改变方波产生电路比较器的参考幅度,即可达到改变脉宽而频率不变的特性,但其最主要的缺点是占空比一般无法调到20%以下,导致在采样电路实验时,对瞬时信号所采集出来的信号有所变动,如果要将此信号用来作模数(A/D)转换,那么得到的数字信号就发生变动而无所适从。但不容否认的在使用上比较好调。 2、占空比变,频率跟着改变,其方法如下: 将方波产生电路比较器的参考幅度予以固定(正、负可利用电路予以切换),改变充放电斜率,即可达成。 这种方式的设计一般使用者的反应是“难调”,这是大缺点,但它可以产生10%以下的占空比却是在采样时的必备条件。 以上的两种占空比调整电路设计思路,各有优缺点,当然连带的也影响到是否能产生“像样的”锯齿波。 接下来PA(功率放大器)的设计。首先是利用运算放大器(OP) ,再利用推拉式(push-pull)放大器(注意交越失真Cross-distortion的预防)将信号送到衰减网路,这部分牵涉到信号源输出信号的指标,包含信噪比、方波上升时间及信号源的频率响应,好的信号源当然是正弦波信噪比高、方波上升时间快、三角波线性度要好、同时伏频特性也要好,(也即频率上升,信号不能衰减或不能减太大),这部分电路较为复杂,尤其在高频时除利用电容作频率补偿外,也牵涉到PC板的布线方式,一不小心,极易引起振荡,想设计这部分电路,除原有的模拟理论基础外尚需具备实际的经验,“Try Error”的耐心是不可缺少的。 PA信号出来后,经过π型的电阻式衰减网路,分别衰减10倍(20dB)或100倍(40dB),此时一部基本的函数波形发生器即已完成。(注意:选用π型衰减网络而不是分压电路是要让输出阻抗保持一定)。 一台功能较强的函数波形发生器,还有扫频、VCG、TTL、 TRIG、 GATE及频率计等功能,其设

基于51单片机函数信号发生器设计

摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 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 and liquid crystal display of 1602, it can have the 1Hz-3KHz 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, liquid crystal 1602.

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

专业方向课程设计报告设计课题:信号发生器的设计 设计时间:2012年06月6日

信号发生器的设计 摘要:本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。 关键词:低频信号发生器; 单片机;D/A转换 1设计要求 设计一个能产生方波、三角波、梯形波、锯齿波并且频率、幅度可调的信号发生器。 发挥部分:作品还能产生正弦波。 2系统概述 2.1.1波形产生方案 采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ 以上。 2.1.2改变幅度方案: 方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低;并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。 方案二:将输出电压通过一个运算放大器的放大。这样还有个优点是幅度连续可调。经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。 2.2工作原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模

拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如图2.2所示。 89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下: x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128 图2.2 系统框图 3单元电路设计与分析 3.1.1主控电路(如图3.1.1所示) 设计中主要采用STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。 在波形发生器中,用两个开关直接与外部中断0和外部中断1的管脚相连,其中S1开光用来改变波形,S2开光用来改变频率。在程序主函数中,我们写了个死循环一直输出一个默认的波形和频率(正弦波),当S1或S2按下(接通低电平)又抬起(STC89C51单片机管脚使能高电平)时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率

函数信号发生器的设计与实现

实验1 函数信号发生器的设计与实现 姓名:_ _____ 学号: 班内序号:____ 课题名称:函数信号发生器的设计 摘要:采用运算放大器组成的积分电路产生比较理想的方波-三角波,根 据所需振荡频率和对方波前后沿陡度、方波和三角波幅度的要求,选择运放、稳压管、限流电阻和电容。三角波-正弦波转换电路利用差分放大器传输特性曲线的非线性实现,选取合适的滑动变阻器来调节三角波的幅度和电路的对称性,同时利用隔直电容、滤波电容来改善输出正弦波的波形。 关键词:方波三角波正弦波 一、设计任务要求 1.基本要求:

设计制作一个函数信号发生器电路,该电路能够输出频率可调的正弦波、三角波和方波信号。 (1) 输出频率能在1-10KHz范围内连续可调,无明显失真。 (2) 方波输出电压Uopp=12V(误差小于20%),上升、下降沿小于10us。 (3) 三角波Uopp=8V(误差小于20%)。 (4) 正弦波Uopp1V,无明显失真。 2.提高要求: (1) 输出方波占空比可调范围30%-70%。 (2) 自拟(三种输出波形的峰峰值Uopp均可在1V-10V内连续可调)。 二、设计思路和总体结构框图 总体结构框图: 设计思路: 由运放构成的比较器和反相积分器组成方波-三角波发生电路,三角波输入差分放大电路,利用其传输特性曲线的非线性实现三角波-正弦波的转换,从而电路可在三个输出端分别输出方波、三角波和正弦波,达到信号发生器实验的基本要求。 将输出端与地之间接入大阻值电位器,电位器的抽头处作为新的输出端,实现输出信号幅度的连续调节。利用二极管的单向导通性,将方波-三角波中间的电阻改为两个反向二极管一端相连,另一端接入电位器,抽头处输出的结构,实现占空比连续可调,达到信号发生器实验的提高要求。 三、分块电路和总体电路的设计过程 1.方波-三角波产生电路 电路图:

相关主题
文本预览
相关文档 最新文档