常用函数波形发生器的设计

常用函数波形发生器的设计
常用函数波形发生器的设计

微机系统与应用课程设计

实验报告

成绩:

评语:

教师:________

年月日

班级:

学号:

姓名:

地点:

时间:

常用函数波形发生器的设计

一、课程设计目的

1. 掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。

2. 加深对和D/A 芯片的工作方式的理解,学会编写程序,使D/A 转换输出函数的

方法。

3. 掌握通过A/D 转换进行实时数据采集与处理的设计思路和实现方法。

二、课程设计的内容

微机通过DAC0832 接口(OUT2)输出常用函数波形(方波,锯齿波,正弦

波等),该波形作为ADC0809 模拟信号输入连到IN0,ADC0809 的输出通过8255 接口送到

数据总线,设计连接硬件线路,然后编写波形发生和数据采集程序,将采集的数据(波形)显示在计算机屏幕上。

三、系统功能与设计要求

1.基本功能要求

具有友好的人机交互界面,通过鼠标选择相关按钮或菜单对系统进行控制,采集

的数据(波形)要以图形的方式实时显示在计算机屏幕上。屏幕显示参考下图:

屏幕显示参考以上图形,也可以自行设计界面风格,通过按钮(或下拉菜单)选择要

产生的波形,点击“开始”后开始产生波形,并进行数据采集,采集到的数据按照图形坐标显示在计算机屏幕上,点击“停止”后立刻停止输出,重新选择波形后,再次点击“开始”即显示新的波形。

2.发挥部分

(1)增加频率调节功能。使输出到屏幕上的波形随频率值变化。

(2)增加PWM 信号,占空比可调。缺省为50%。

(3)增加一路信号采集,旋钮电位器的输出端接到ADC0809 的IN1,地址信号ADDA、ADDB、ADDC 分别接K0,K1,K2 开关,波动开关状态为000 或001,分别选择0 通道或1 信号输出到计算机屏幕上显示。

四、设计思路

微机利用软件编程,通过DAC0832 数模转换输出端口OUT2 输出0~5V 的连续模拟电

压(波形),然后将此模拟电压作为ADC0809 模数转换的一路输入信号接到IN0 端口,地址信号ADDA、ADDB、ADDC 分别接K0,K1,K2 开关,选择0 通道(000),输出的八位数字信号可以连接到8255 的PA 口,控制信号接PB 口和PC 口,通过采集程序实时读取采集到得数据,并输入到微机,最后在计算机屏幕上以图形方式显示出来。

注意事项:D/AC0832 和A/DC0809 的采样频率应小于640KHz。

五、操作步骤

1.提交设计方案

包括:控制功能实现方案,编程语言,硬件设计方案及硬件连线图,硬件支持环境

和软件支持的环境要求。

2.方案审核

系统设计方案经过指导老师审核后,方可以实施操作。

3.硬件系统实现

按照硬件设计方案及硬件连线图连线,经过指导老师认可后,加、电并观察是否正

确。如果发现异常,立刻关掉电源,查明原因,解决问题后,再加电观察。

4.按照功能要求编程,运行,调试

六、撰写课程设计报告及其内容

1. 应用系统设计方案

2. 系统测试结果

3. 课课程设计中遇到的问题及解决办法

4. 写出体会与建议

七、课程设计实验环境:

1. 硬件配置:

微机一台(Pentium 4)

微机接口技术实验箱一个

ISA – PCI 转接卡一块

连接电缆一条

万用表一块

微机接口技术实验讲义一本

导线、剥线钳等

2. 软件环境:

Windows XP 平台

Visual C++ 6.0 编译器

八、应用系统设计方案

1.主程序

#include "stdafx.h"

#include "Funciton Producer.h"

#include "Funciton ProducerDlg.h"

#include "PCI9052Dll.h"

#include

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

#define PI 3.141592654

int style=-1;//选择的波形类型

int x=70,y=480,a=0;

int range=1;

int stb=0;

double rate=0.5;

double frequence=1;

int re=1;

int timeq=20;

///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CFuncitonProducerDlg dialog

CFuncitonProducerDlg::CFuncitonProducerDlg(CWnd* pParent /*=NULL*/) : CDialog(CFuncitonProducerDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CFuncitonProducerDlg)

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CFuncitonProducerDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CFuncitonProducerDlg)

DDX_Control(pDX, IDC_COMBO1, m_style);

DDX_Control(pDX, IDC_EDIT_RATE, m_rate);

DDX_Control(pDX, IDC_EDIT_RANGE, m_range);

DDX_Control(pDX, IDC_EDIT_FREQUENCE, m_frequence);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CFuncitonProducerDlg, CDialog)

//{{AFX_MSG_MAP(CFuncitonProducerDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTON_START, OnStart)

ON_BN_CLICKED(IDC_BUTTON_STOP, OnStop)

ON_WM_TIMER()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CFuncitonProducerDlg message handlers

BOOL CFuncitonProducerDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

m_range.SetWindowText("1");

m_rate.SetWindowText("0.5");

m_frequence.SetWindowText("1");

m_style.SetWindowText("请选择波形");

return TRUE; // return TRUE unless you set the focus to a control

}

void CFuncitonProducerDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework.

void CFuncitonProducerDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

//画x轴

CClientDC initdc(this);

initdc.MoveTo(70,480);

initdc.LineTo(70,310);

initdc.LineTo(65,315);

initdc.MoveTo(70,310);

initdc.LineTo(75,315);

//画y轴

initdc.MoveTo(70,480);

initdc.LineTo(750,480);

initdc.LineTo(745,475);

initdc.MoveTo(750,480);

initdc.LineTo(745,485);

//标注y轴

for(int i=1;i<=5;i++)

{

initdc.MoveTo(70,480-30*i);

initdc.LineTo(75,480-30*i);

}

//标注x轴

for(i=1;i<=10;i++)

{

initdc.MoveTo(70+60*i,480);

initdc.LineTo(70+60*i,475);

}

}

// The system calls this to obtain the cursor to display while the user drags // the minimized window.

HCURSOR CFuncitonProducerDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

void CFuncitonProducerDlg::OnStart()

{

// TODO: Add your control notification handler code here

Invalidate();

OnPaint();

char str[25];

style=m_style.GetCurSel();

m_range.GetWindowText(str,25);

if(atoi(str)>3 || atoi(str)<1)

{

MessageBox("请重新输入幅度值!范围1~3","错误",MB_ICONEXCLAMATION);

m_range.SetSel(0,-1);

m_range.ReplaceSel("");

m_range.SetWindowText("1");

}

else

range=atoi(str);

if(style==0)

{

m_rate.GetWindowText(str,25);

if(atof(str)>=1 || atof(str)<=0)

{

MessageBox("请重新输入占空比!范围0,1","错误",MB_ICONEXCLAMATION);

m_rate.SetSel(0,-1);

m_rate.ReplaceSel("");

m_rate.SetWindowText("0.5");

}

else

rate=atof(str);

}

m_frequence.GetWindowText(str,25);

if(atof(str)>2 || atof(str)<0.5)

{

MessageBox("请重新输入频率!范围0.5~2","错误",MB_ICONEXCLAMATION);

m_frequence.SetSel(0,-1);

m_frequence.ReplaceSel("");

m_frequence.SetWindowText("1");

}

else

frequence=atof(str);

// if(!strcmp(str,"方波")) style=0;

if(-1==style)

{

MessageBox("请选择波形!","错误",MB_ICONEXCLAMATION);

}

else if(0==style)

{

SetTimer(1,timeq,0);

x=70,y=480,a=0;

}

else if(1==style)

{

SetTimer(2,timeq,0);

x=70,y=480,a=0;

}

else if(2==style)

{

SetTimer(3,timeq,0);

x=70,y=480;

}

else

{

SetTimer(4,timeq,0);

x=70;

}

}

void CFuncitonProducerDlg::OnStop()

{

// TODO: Add your control notification handler code here

if(0==style)

{

KillTimer(1);

}

else if(1==style)

{

KillTimer(2);

}

else if(2==style)

{

KillTimer(3);

}

else

{

KillTimer(4);

}

}

void CFuncitonProducerDlg::OnTimer(UINT nIDEvent)

{

// TODO: Add your message handler code here and/or call default int t;

switch(nIDEvent)

{

case 1:

{

CClientDC idc(this);

idc.MoveTo(x,y);

t=a%(int)(120/frequence);

if(t==0||t==rate*120/frequence)

{

if(y==480)

y=480-range*30;

else

y=480;

idc.LineTo(x,y);

}

else

{

CPoint pp;

pp.x=x;

// pp.y=y;

pp.y=DA_AD((unsigned char)(y-390))+390;

idc.SetPixel(pp,RGB(0,255,0));

}

x++;

a++;

};break;

case 2:

{

CClientDC idc(this);

idc.MoveTo(x,y);

if(a%60==0)

{

y=480;

idc.LineTo(x,y);

}

else

{

CPoint pp;

pp.x=x;

pp.y=DA_AD((unsigned char)(y-390))+390;

idc.SetPixel(pp,RGB(0,255,0));

}

x+=(int)(2.0/frequence);

y-=range;

a+=2;

};break;

case 3:

{

CClientDC idc(this);

CPoint pp;

pp.x=x;

// pp.y=y;

pp.y=DA_AD((unsigned char)(y-300))+300;

idc.SetPixel(pp,RGB(0,255,0));

y=(int)(-sin((x-10)*PI/30.0*frequence)*30*range+420);

x+=1;

};break;

case 4:

{

CClientDC idc(this);

CPoint pp;

pp.x=x;

pp.y=-DA_AD(25)+500;

idc.SetPixel(pp,RGB(0,255,0));

x+=1;

};break;

}

CDialog::OnTimer(nIDEvent);

}

unsigned char CFuncitonProducerDlg::DA_AD(unsigned char tochange) {

static unsigned short BASE_ADDR, P_ADDR, DA_ADDR;

static unsigned char data, Idata;

OpenDevice();

GetIoBase(&BASE_ADDR);

P_ADDR = BASE_ADDR + 0x08; //8255基地址,0b000010**

DA_ADDR = BASE_ADDR ; //0832基地址,0b000001**

//8255初始化

data = 0x8B; // 都是方式0,A口输出,B、C口输入

OutByte(P_ADDR+3, data); //写8255方式寄存器

data = 0x00; // PC_0 清零,C口第一位清零

OutByte(P_ADDR+3, data);

data = tochange;

OutByte(DA_ADDR, data); //进行DA转换

//PA_2--PA_0 : ALE, START, EN

data = 2; //data = 0b0010,准备

OutByte(P_ADDR, data);

data = 6; //data = 0b0110,锁存选路

OutByte(P_ADDR, data);

data = 4; //data = 0b0100,开始AD转换

OutByte(P_ADDR, data);

//return tochange;

//PC_0 : EOC,为高表示数据转换成功

for(;;)

{

InByte(P_ADDR+2, &Idata);

Idata &= 1;

if(Idata == 1)

break;

}

data = 5; //data = 0b0101,开始读准备,输出到8255的B口OutByte(P_ADDR, data);

InByte(P_ADDR+1, &Idata);

CloseDevice();

return Idata;

}

2.硬件连接图

3.流程图

4.系统测试结果

九、课程设计中遇到的问题及解决办法

1.在线路连接好之后,程序运行却没有波形形成,多次检查后更换了一台试验箱,运行后出现了波形。

2.波形形成后,波形不流畅呈现点状,后缩小画点的像素间距,运行后有了流畅的波形。

十、心得体会与建议

此次课程设计让我学到了很多,动手能力的不足是我们这次课设遇到的最大困难,经过大家的协作,互相取长补短不懈努力之下,还是成功的完成了实验目标,虽然还有许多不尽人意的地方以及需要改进的问题,这更对我们产生了深刻的教育,在今后的学习生活中不断加强动手能力的训练与实践。

函数发生器的设计

函数发生器的设计

目录 一、设计任务与要求 二、方案与论证 1.正弦波产生电路: 1. 1RC桥式正弦波振荡电路: 2.正弦波变换为方波的电路: 2.1 电压比较器电路: 3.方波变换为三角波的电路: 3.1 积分运算电路: 三、仿真 四、元器件清单 五、调式与性能分析:

一、 设计任务与要求: 掌握方波——三角波——正弦波函数发生器的设计方法与测试技术。了解集成运算放大器与晶体管差分放大器组成的函数发生器的工作原理与设计方法。学会安装与调试由分离器件与集成电路组成的多级电子电路小系统。 设计并制作一个简易函数发生器,要求如下: 1. 输出波形:正弦波、方波、三角波等 2. 频率范围:1Hz~10Hz, 10Hz~100Hz 3. 输出电压:方波Vp-p<=24V , 三角波Vp-p<=8V , 正弦波Vp-p>1V . 二、方案与论证 方案总体分为三部分,先设计一个正弦波发生电路,再将正弦波信号经迟滞比较器转化为方波,再将方波经积分运算转变为三角波。 正弦波 方波 三角波 1. 正弦波产生电路: RC 桥式振荡电路原理图如下: RC 桥式振荡电路 迟滞比较器 积分电路

3 2 6 7 415 U1 UA741 C C R R RF R1 0R1 由选频网络和放大电路两部分组成。选频网络兼作放大电路的正反馈,反馈系数Fv = Vf / V o ,当f =1 / (2πRC) 时,幅频响应的幅值为最大Fmax = 1/3 ,相频响应的相位角为零。也就是说,只有当f =1 / (2πRC) 时,输出电压的幅值最大,为输入电压的1/3,且输出电压与输入电压同相。 噪声中有f =1 / (2πRC) 这个频率,直流电源提供能源,选频网络的正反馈使输出频率越来越大,最后受电路中非线性元件的限制,振荡幅度自动稳定下来。适当调整负反馈的强弱,使Av

函数信号发生器设计方案

函数信号发生器的设 计与制作 目录 一.设计任务概述 二.方案论证与比较 三.系统工作原理与分析 四.函数信号发生器各组成部分的工作原理 五.元器件清单 六.总结 七.参考文献

函数信号发生器的设计与制 一.设计任务概述 (1)该发生器能自动产生正弦波、三角波、方波。 (2)函数发生器以集成运放和晶体管为核心进行设计 (3)指标: 输出波形:正弦波、三角波、方波 频率范围:1Hz~10Hz,10Hz~100Hz 输出电压:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V; 二、方案论证与比较 2.1·系统功能分析 本设计的核心问题是信号的控制问题,其中包括信号频率、信号种类以及信号强度的控制。在设计的过程中,我们综合考虑了以下三种实现方案: 2.2·方案论证 方案一∶采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。 方案二∶采用锁相环式频率合成器。利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需要频率上。这种频率合成器具有很好的窄带跟踪特性,可以很好地选择所需要频率信号,抑制杂散分量,并且避免了量的滤波器,有利于集成化和小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。而且,由模拟方法合成的正弦波的参数,如幅度、频率相信都很难控制。 方案三:采用8038单片压控函数发生器,8038可同时产生正弦波、方波和三角波。改变8038的调制电压,可以实现数控调节,其振荡范围为0.001Hz~300K 方案四:采用分立元件设计出能够产生3种常用实验波形的信号发生器,并确定了各元件的参数,通过调整和模拟输出,该电路可产生频率低于1-10Hz的3种信号输出,具有原理简单、结构清晰、费用低廉的优点。该电路已经用于实际电路的实验操作。 三、系统工作原理与分析 采用由集成运算放大器与场效应管共同组成的方波—三角波—正弦波函数发生器的设计方法,先通过比较器产生方波,再通过积分器产生三角波,最后通过场效应管正弦波转换电路形成正弦波,波形转换原理图如下:

简易波形发生器设计

摘要:单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内部集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O接口、脉冲宽度调制器(Pulse Width Modulator,PWM)、监视定时器(Watch Dog Timer,WDT)等。这些对外电路及外设接口已经突破了微型计算机传统的体系结构,所以单片机也称为微控制器(Micro Controller)。 关键词:中央处理器;随机存储器;只读存储器

引言:一般函数发生器是由硬件组成的,它的输出频率范围宽,各项指标高,性能优良,因而在对输出波形要求较高的地方被广泛应用,这种仪器的缺点是电路复杂,成本高,输出波形种类不多,不够灵活。在对波形指标要求不高,频率要求较低的场合,可以用单片机构成一个波形发生器。产生所需要的各种波形,这样的函数发生器靠软件产生各种波形,小巧灵活,便于修改,且成本低廉,容易实现。 1设计概述 1.1 课程设计的目的 通过对本课题的设计,掌握A/D,D/A转换的应用,用单片机产生各种波形的方法及改变波形频率的方法。熟悉单片机应用系统的设计以及软硬件的调试。单片机本身并没有开发能力,必须借助开发工具即硬件开发环境才能进行开发。单片机的硬件开发环境有PC机、编程器和仿真机等。 1.2 设计的内容、要求 设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出正弦波、三角波、方波、及阶梯波等四种波形,并且这四种波形的频率均可通过输入电位器在一定范围内调节。 对于四种波形的切换,用两个开关的四种状态来表示(或用按钮)。选用常用的A/D转换芯片0809来实现模拟量的输入。D/A转换器选用0832来输出波形。

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

龙源期刊网 https://www.360docs.net/doc/af4861550.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 软件设计

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

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

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

函数信号发生器的使用方法规定

函数信号发生器的使用方法规定 1、目的:为操作人员作操作指导。 2、范围:适用于函数信号发生器操作人员。 3、操作步骤: 3.1注意事项 仪器在只使用“电压输出端”时应将“输出衰减”开关置于“0dB”~“80dB”内的位置,以免功率指示电压表指示过大而损坏。 3.2使用方法 3.2.1开机:在未开机前应首先检查仪器外接电源是否为交流220V±10%,50Hz±5%, 并检查电源插头上的地线脚应与在地接触良好,以防机壳带电。面板上的电源开关 应放在“关”位置,“电平调节”旋钮置中间,输出衰减旋钮置“0dB”,频段开关设 置在你所需要的频段。 3.2.2频率选择:首先将频段开关设置在你所期望的频率范围内,然后调节频率调谐旋钮 和频率微调旋钮,至数码管上指示你所需要的频率为止。 3.2.3波形选择:波形开关在“~”位置,可在电压输出端获得全频段的电压正弦信号,在 功率输出端可获得20Hz~100kHz的功率输出;波形开关在“”位置,在电压输 出端可获得全频段的电压方波信号。输出衰减在功率输出端8Ω档同样可以获得 20Hz~100kHz的方波功率输出。 3.2.4输出电压调整:电压输出端的输出电压可通过“电平调节”旋钮连续可调。 3.2.5功率输出调整:功率输出端的输出同由“电平调节”旋钮控制调节,并可通过“输 出衰减”进行80 dB的衰减。“输出衰减”控制开关上有8Ω和600Ω二档匹配档, 用以匹配低阻和较高负载以获取最大输出功率。 3.2.6功率的平衡输出:本仪器600Ω功率输出档可进行平衡输出,方法是可将面板上中间 红色接线柱和黑色接线柱之间的接地片取下,接在两个红色接线柱上即可,但本仪器连接的其它仪器也应不接在“地”电位。

函数发生器设计和仿真实现

课程设计 课程名称模拟电子技术基础课程设计题目函数发生器 学院 专业 班级 姓名 指导教师 2015 年01 月20 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 函数发生器的设计和仿真实现 初始条件: 具备模拟电子电路的理论知识; 具备模拟电路基本电路的设计能力; 具备模拟电路的基本调试手段; 自选相关电子器件。 要求完成的主要任务: (1)设计任务 根据要求,完成对方波-三角波-正弦波发生器的仿真设计、仿真、装配与调试,并自制直流稳压电源 (2)设计要求 ①正弦波Upp≈3V,幅度连续可调;三角波Upp≈5V,幅度连续可调;方波Upp≈14V,幅度连续可调。 频率范围:三段:10~100Hz,100 Hz~1KHz,1 KHz~10 KHz; 频率控制方式:改变RC时间常数; 正弦波输出电量:电流; ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、 2015 年 1月13日集中,作课设具体实施计划与课程设计报告格式的要求说明,查阅相关资料,学习电路的工作原理。。 2、 2015 年 1月14日至2015年1月16日,方案选择和电路设计。 3、 2015 年 1月 17日至2015年1月18日,电路调试和设计说明书撰写。 4、 2015 年 1月 20日上交课程设计成果及报告,同时进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

函数信号发生器设计报告

函数信号发生器设计报告 目录 一、设计要求 .......................................................................................... - 2 - 二、设计的作用、目的 .......................................................................... - 2 - 三、性能指标 .......................................................................................... - 2 - 四、设计方案的选择及论证 .................................................................. - 3 - 五、函数发生器的具体方案 .................................................................. - 4 - 1. 总的原理框图及总方案 ................................................................. - 4 - 2.各组成部分的工作原理 ................................................................... - 5 - 2.1 方波发生电路 .......................................................................... - 5 - 2.2三角波发生电路 .................................................................... - 6 - 2.3正弦波发生电路 .................................................................. - 7 - 2.4方波---三角波转换电路的工作原理 ................................ - 10 - 2.5三角波—正弦波转换电路工作原理 .................................. - 13 - 3. 总电路图 ....................................................................................... - 15 - 六、实验结果分析 ................................................................................ - 16 - 七、实验总结 ........................................................................................ - 17 - 八、参考资料 ........................................................................................ - 18 - 九、附录:元器件列表 ........................................................................ - 19 -

简易波形发生器设计报告

电子信息工程学院 硬件课程设计实验室课程设计报告题目:波形发生器设计 年级:13级 专业:电子信息工程学院学号:201321111126 学生姓名:覃凤素 指导教师:罗伟华 2015年11月1日

波形发生器设计 波形发生器亦称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。 波形发生器一般是指能自动产生方波、三角波、正弦波等电压波形的电路。产生方波、三角波、正弦波的方案有多种,如先产生正弦波,再通过运算电路将正弦波转化为方波,经过积分电路将其转化为三角波,或者是先产生方波-三角波,再将三角波变为正弦波。本课程所设计电路采用第二种方法,利用集成运放构成的比较器和电容的充放电,实现集成运放的周期性翻转,从而在输出端产生一个方波。再经过积分电路产生三角波,最后通过正弦波转换电路形成正弦波。 一、设计要求: (1) 设计一套函数信号发生器,能自动产生方波、三角波、正弦波等电压波形; (2) 输出信号的频率要求可调; (3) 根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (4) 在面包板上搭出电路,最后在电路板上焊出来; (5) 测出静态工作点并记录; (6) 给出分析过程、电路图和记录的波形。 扩展部分: (1)产生一组锯齿波,频率范围为10Hz~100Hz , V V 8p -p =; (2)将方波—三角波发生器电路改成矩形波—锯齿波发生器,给出设计电路,并记录波形。 二、技术指标 (1) 频率范围:100Hz~1kHz,1kHz~10kHz ; (2) 输出电压:方波V V 24p -p ≤,三角波V V 6p -p =,正弦波V V 1p -p ≥; (3) 波形特性:方波s t μ30r < (1kHz ,最大输出时),三角波%2V <γ ,正弦波y~<2%。 三、选材: 元器件:ua741 2个,3DG130 4个,电阻,电容,二极管 仪器仪表: 直流稳压电源,电烙铁,万用表和双踪示波器 四、方案论证 方案一:用RC 桥式正弦波振荡器产生正弦波,经过滞回比较器输出方波,方波在经过积分器得到三角波。

函数信号发生器使用说明(超级详细)

函数信号发生器使用说明 1-1 SG1651A函数信号发生器使用说明 一、概述 本仪器是一台具有高度稳定性、多功能等特点的函数信号发生器。能直接产生正弦波、三角波、方波、斜波、脉冲波,波形对称可调并具有反向输出,直流电平可连续调节。TTL可与主信号做同步输出。还具有VCF输入控制功能。频率计可做内部频率显示,也可外测1Hz~的信号频率,电压用LED显示。 二、使用说明 面板标志说明及功能见表1和图1 图1 表1 序 面板标志名称作用号 1电源电源开关按下开关,电源接通,电源指示灯亮 2 1、输出波形选择 波形波形选择 2、与1 3、19配合使用可得到正负相锯齿波和脉

DC1641数字函数信号发生器使用说明 一、概述 DC1641使用LCD显示、微处理器(CPU)控制的函数信号发生器,是一种小型的、由集成电路、单片机与半导体管构成的便携式通用函数信号发生器,其函数信号有正弦波、三角波、方波、锯齿波、脉冲五种不同的波形。信号频率可调范围从~2MHz,分七个档级,频率段、频率值、波形选择均由LCD显示。信号的最大幅度可达20Vp-p。脉冲的占空比系数由10%~90%连续可调,五种信号均可加±10V的直流偏置电压。并具有TTL电平的同步信号输出,脉冲信号反向及输出幅度衰减等多种功能。除此以外,能外接计数输入,作频率计数器使用,其频率范围从10Hz~10MHz(50、100MHz[根据用户需要])。计数频率等功能信息均由LCD显示,发光二极管指示计数闸门、占空比、直流偏置、电源。读数直观、方便、准确。 二、技术要求 函数发生器 产生正弦波、三角波、方波、锯齿波和脉冲波。 2.1.1函数信号频率范围和精度 a、频率范围 由~2MHz分七个频率档级LCD显示,各档级之间有很宽的覆盖度, 如下所示: 频率档级频率范围(Hz) 1 ~2 10 1~20 100 10~200

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

实验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.方波-三角波产生电路 电路图:

多种波形发生器的设计与制作

课题三 多种波形发生器的设计与制作 方波、三角波、脉冲波、锯齿波等非正弦电振荡信号是仪器仪表、电子测量中最常用的波形,产生这些波形的方法较多。本课题要求设计的多种波形发生器是一种环形的波形发生器,方波、三角波、脉冲波、锯齿波互相依存。电路中应用到模拟电路中的积分电路、过零比较器、直流电平移位电路和锯齿波发生器等典型电路。通过对本课题的设计与制作,可进一步熟悉集成运算放大器的应用及电路的调试方法,提高对电子技术的开发应用能力。 1、 设计任务 设计并制作一个环形的多种波形发生器,能同时产生方波、三角波、脉冲波和锯齿波,它们的时序关系及幅值要求如图3-3-1所示。 图3-3-1 波形图 设计要求: ⑴ 四种波形的周期及时序关系满足图3-3-1的要求,周期误差不超过%1±。 ⑵ 四种波形的幅值要求如图3-3-1所示,幅值误差不超过%10±。 ⑶ 只允许采用通用器件,如集成运放,选用F741。

要求完成单元电路的选择及参数设计,系统调试方案的选取及综合调试。 2、设计方案的选择 由给定的四种波形的时序关系看:方波决定三角波,三角波决定脉冲波,脉冲波决定锯齿波,而锯齿波又决定方波。属于环形多种波形发生器,原理框图可用3-3-2表示。 图3-3-2 多种波形发生器的方框图 仔细研究时序图可以看出,方波的电平突变发生在锯齿波过零时刻,当锯齿波的正程过零时,方波由高电平跳变为低电平,故方波发生电路可由锯齿波经一个反相型过零比较器来实现。三角波可由方波通过积分电路来实现,选用一个积分电路来完成。图中的u B电平显然上移了+1V,故在积分电路之后应接一个直流电平移位电路,才能获得符合要求的u B波形。脉冲波的电平突变发生在三角波u B的过零时刻,三角波由高电平下降至零电位时,脉冲波由高电平实跳为低电平,故可用一个同相型过零比较器来实现。锯齿波波形仍是脉冲波波形对时间的积分,只不过正程和逆程积分时常数不同,可利用二极管作为开关,组成一个锯齿波发生电路。由上,可进一步将图3-3-2的方框图进一步具体化,如图3-3-3所示。 图3-3-3 多种波形发生器实际框图 器件选择,设计要求中规定只能选用通用器件,由于波形均有正、负电平,应选择由正、负电源供电的集成运放来完成,考虑到重复频率为100Hz(10ms),故选用通用型运放F741(F007)或四运放F324均可满足要求。本设计选用F741。其管脚排列及功能见附录三之三。

如何使用函数信号发生器

如何使用函数信号发生器 认识函数信号发生器 信号发生器一般区分为函数信号发生器及任意波形发生器,而函数波形发生器在设计上又区分出模拟及数字合成式。众所周知,数字合成式函数信号源无论就频率、幅度乃至信号的信噪比(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及频率计等功能,其设

函数信号发生器设计报告

目录 1设计的目的及任务 1.1 课程设计的目的 1.2 课程设计的任务与要求 2函数信号发生器的总方案及原理图 2.1 电路设计原理框图 2.2 电路设计方案设计 3 各部分电路设计及选择 3.1 方波发生电路的工作原理 3.2 方波、三角波发生电路的选择 3.3三角波---正弦波转换电路的选择 3.4总电路图 4 电路仿真与调试 4.1 方波---三角波发生电路、三角波---正弦波转换电路的仿真与调试 4.2方波---三角波发生电路、三角波---正弦波转换电路的实验结果 5 PCB制版 6 设计总结 7仪器仪表明细清单 8 参考文献

1.课程设计的目的和设计的任务 1.1 设计目的 1.掌握用集成运算放大器构成正弦波、方波和三角波函数发生器的设计方法。 2.学会安装、调试与仿真由分立器件、调试与仿真由分立器件与集成电路组成的多级电子电路小系统。 2.2设计任务与要求: 设计一台波形信号发生器,具体要求如下: 1.输出波形:方波、三角波、正弦波。 2.频率范围:在1 Hz-10Hz,10 Hz -100 Hz,100 Hz -1000 Hz等三个波段。 3.频率控制方式:通过改变RC时间常数手控信号频率。 4.输出电压:方波U P-P≤24V,三角波U P-P =8V,正弦波U P-P >1V。 5.合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图。 6.选用常用的电器元件(说明电器元件选择过程和依据)。 7.画出设计的原理电路图,作出电路的仿真。 8.提交课程设计报告书一份,A3图纸两张,完成相应答辩。

2.函数发生器总方案及原理框图 图1-1 整体原理框图 2.2 函数发生器的总方案 函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法。 本课题中函数发生器电路组成框图如下所示: 由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路的基本结构是比例放大器,对不同区段内比例系数的切换,是通过二级管网络来实现的。如输出信号的正半周内由D1~D3控制切换,负半周由D4~D6控制切换。电阻Rb1~Rb3与Ra1~Ra3分别组成分压器,控制着各二极管的动作电平。

简易波形发生器的设计

目录 第一章单片机开发板 (1) 1.1 开发板制作 (1) 1.1.1 89S52单片机简介 (1) 1.1.2 开发板介绍 (2) 1.1.3 89S52的实验程序举例 (3) 1.2开发板焊接与应用 (4) 1.2.1开发板的焊接 (4) 1.2.2开发板的应用 (5) 第二章函数信号发生器 (7) 2.1电路设计 (7) 2.1.1电路原理介绍 (7) 2.1.2 DAC0832的工作方式 (9) 2.2 波形发生器电路图与程序 (10) 2.2.1应用电路图 (10) 2.2.2实验程序 (11) 2.2.3 调试结果 (15) 第三章参观体会 (16) 第四章实习体会 (17) 参考文献 (18)

第一章单片机开发板 1.1 开发板制作 1.1.1 89S52单片机简介 图1.1 89s52 引脚图 如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EP ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SF R)的集中控制方式。 各功能部件的介绍: 1)数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。 2)程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。 3)中断系统:具有5个中断源,2级中断优先权。 4)定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。 5)串行口:1个全双工的串行口,具有四种工作方式。 6)特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、监控、监视。 7)微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。 8)四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。这四个端口的功能不完全相同。 A、P0口既可作一般I/O端口使用,又可作地址/数据总线使用; B、P1口是一个准双向并行口,作通用并行I/O口使用; C、 P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用; D、P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。 控制引脚介绍: 1)电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2)时钟引脚XTAL1、XTAL2时钟引脚外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,

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

Xuchang Electric V ocational College 毕业论文(设计) 题目:函数信号发生器的设计与制作 系部:电气工程系_ 班级:12电气自动化技术 姓名:张广超 指导老师:郝琳 完成日期:2014/5/20

毕业论文内容摘要

目录 1引言 (3) 1.1研究背景与意义 (3) 1.2研究思路与主要内容 (3) 2 方案选择 (4) 2.1方案一 (4) 2.2方案二 (4) 3基本原理 (5) 4稳压电源 (6) 4.1直流稳压电源设计思路 (6) 4.2直流稳压电源原理 (6) 4.3集成三端稳压器 (7) 5系统工作原理与分析 (8) 5.1ICL8038芯片性能特点简介 (8) 5.2ICL8038的应用 (8) 5.3ICL8038原理简介 (8) 5.4电路分析 (9) 5.5ICL8038内部原理 (10) 5.6工作原理 (11) 5.7正弦函数信号的失真度调节 (11) 5.8ICL8038的典型应用 (12) 5.9输出驱动部分 (12) 结论 (14) 致谢 (15) 参考文献 (16) 附录 (17)

1引言 信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波(含方波)、正弦波的电路被称为函数信号发生器。 1.1研究背景与意义 函数信号发生器是工业生产、产品开发、科学研究等领域必备的工具,它产生的锯齿波和正弦波、矩形波、三角波是常用的基本测试信号。在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波信号产生器作为时基电路。例如,要在示波器荧光屏上不失真地观察到被测信号波形,要求在水平偏转线圈上加随时间线性变化的电压——锯齿波电压,使电子束沿水平方向匀速搜索荧光屏。对于三角波,方波同样有重要的作用,而函数信号发生器是指一般能自动产生方波正弦波三角波以及锯齿波阶梯波等电压波形的电路或仪器。因此,建议开发一种能产生方波、正弦波、三角波的函数信号发生器。函数信号发生器根据用途不同,有产生三种或多种波形的函数发生器,其电路中使用的器件可以是分离器件,也可以是集成器件,产生方波、正弦波、三角波的方案有多种,如先产生正弦波,根据周期性的非正弦波与正弦波所呈的某种确定的函数关系,再通过整形电路将正弦波转化为方波,经过积分电路后将其变为三角波。也可以先产生三角波-方波,再将三角波或方波转化为正弦波。随着电子技术的快速发展,新材料新器件层出不穷,开发新款式函数信号发生器,器件的可选择性大幅增加,例如 ICL8038就是一种技术上很成熟的可以产生正弦波、方波、三角波的主芯片。所以,可选择的方案多种多样,技术上是可行的[1]。 1.2研究思路与主要内容 本文主要以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术实验使用。ICL8038是一种具有多种波形输出的精密振荡集成电路,只需要个别的外部元件就能产生从几赫到几百千赫的低失真正弦波、三角波、矩形波等脉冲信号。基于ICL8038函数信号发生器主要电源供电、波形发生、输出驱动三大部分组成。电源供电部分:主要由集成三端稳压管LM7812和LM7912构成的±12V直流电压作为整个系统的供电。波形发生部分:主要由单片集成函数信号发生器ICL8038构成。通过改变接入电路的电阻或电容的大小,能够得到几赫到几百千赫不同频率的信号。输出驱动部分:主要由运放LF353构成。由于ICL8038的输出信号幅度较小,需要放大输出信号。ICL8038的输出信号经过运放LF353放大后能够得到输出幅度较大的信号[2]。

波形发生器课程设计

1.设计题目:波形发生电路 2.设计任务和要求: 要求:设计并用分立元件和集成运算放大器制作能产生方波和三角波波形的波形发生器。 基本指标:输出频率分别为:102H Z 、103H Z ;输出电压峰峰值V PP ≥20V 3.整体电路设计 1)信号发生器: 信号发生器又称信号源或振荡器。按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和随机信号发生器等四大类。各种波形曲线均可以用三角函数方程式来表示,如三角波、锯齿波、矩形波(含方波)、正弦波。通过模拟电子技术设计的波形发生器是一个不需要外加输入信号,靠自身振荡产生信号的电路。2)电路设计: 整体电路由RC振荡电路,反相输入的滞回比较器和积分电路组成。 理由:a)矩形波电压只有两种状态,不是高电平,就是低电平,所以电压比较器是它的重要组成部分; b)产生振荡,就是要求输出的两种状态自动地相互转换,所以电路中必须引入反馈; c)输出状态应按一定的时间间隔交替变化,即产生周期性变化,所以电路中要有延迟环节来确定每种状态维持的时间。 RC振荡电路:即作为延迟环节,又作为反馈电路,通过RC充放电实现输出状态的自动转换。 反相输入的滞回比较器:矩形波产生的重要组成部分。 积分电路:将方波变为三角波。 3)整体电路框图: 为实现方波,三角波的输出,先通过 RC振荡电路,反相输入的滞回比较器得到方波,方波的输出,是三角波的输入信号。三角波进入积分电路,得出的波形为所求的三角波。其电路的整体电路框图如图1所示:

图1 4)单元电路设计及元器件选择 a ) 方波产生电路 根据本实验的设计电路产生振荡,通过RC 电路和滞回比较器时将产生幅值约为12V 的方波,因为稳压管选择1N4742A (约12V )。电压比较电路用于比较模拟输入电压与设定参考电压的大小关系,比较的结果决定输出是高电平还是低电平。滞回比较器主要用来将信号与零电位进行比较,以决定输出电压。图3为一种滞回电压比较器电路,双稳压管用于输出电压限幅,R 3起限流作用,R 2和R 1构成正反馈,运算放大器当u p >u n 时工作在正饱和区,而当u n >u p 时工作在负饱和区。从电路结构可知,当输入电压u in 小于某一负值电压时,输出电压u o = -U Z ;当输入电压u in 大于某一电压时,u o = +U Z 。运算放大器在两个饱和区翻转时u p =u n =0,由此可确定出翻转时的输入电压。u p 用u in 和u o 表示,有 2 1o 1in 22 1o 2 in 1p 111 1R R u R u R R R u R u R u ++= ++= 根据翻转条件,令上式右方为零,得此时的输入电压 th Z 2 1 o 21in U U R R u R R u ==-= U th 称为阈值电压。滞回电压比较器的直流传递特性如图4所示。设输入电压初始值小于-U th ,此时u o = -U Z ;增大u in ,当u in =U th 时,运放输出状态翻转,进入正饱和区。如果初始时刻运放工作在正饱和区,减小u in ,当u in = -U th 时,运放则开始进入负饱和区。 RC 振荡电路 积分电路 方波 三角波 反相输入的滞回比较 生成 生成 输入 积分电路 输入

相关文档
最新文档