c语言中如何用sqar函数,简易函数信号发生器设计_毕业论文.doc

简易函数信号发生器设计

PAGE

PAGE 2

简易函数信号发生器设计

摘要:信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波形产生模块、输出显示模块、电源模块。使用AT89C52作为主控台结合芯片DAC0832产生1HZ-300HZ频率可调的五种信号波(正弦波、三角波和方波)。这几种波形有几个开关控制,可以随意进行切换,十分方便。另外,波形的频率和振幅也可以通过开关进行更改。可以说这次的设计操作简单,内容丰富,而且电路快捷明了。在编程语言上,我们选择自身比较熟悉的C语言,这样在后期波形的调试及与硬件衔接方面更容易发挥出自身优势。经过设计及后期长时间的调试,设计的所有功能均已实现。

关键字:信号发生器、频率、幅度、AT98C52、DAC0832

1、设计要求

1)以单片机为核心,经过D/A转换和放大电路的处理,最后输出信号;

2)要求能输出正弦波、三角波和方波四种信号;

3)输出信号可以通过按键来改变;

4)频率可变,范围在1300hz;

5)幅度可调010v;

6)可实现四路A/D电压采样;

2、总体设计

2.1?系统组成及工作原理

该函数信号发生器可以输出四种波形,有正弦波、三角波和方波。在此基础上进一步实现对波形频率和占空比的调节,并用液晶屏分两行显示波形名称和波形频率。

函数信号发生器的设计总体框图如图1所示,主要有单片机AT89C52,电源,键盘模块,LCD1602显示模块构成。

按案件模块:由5个复位开关与74LS21组成的系统通过对单片机传输中断信号来实现波形切换及频率和占空比的调节。

显示模块:用LCD1602,分行显示波形类型和波形频率的显示。

图1 系统总体框图

2.2测量原理

我们这个系统可实现四路A/D电压采样,使用的算法是:V=5*N/256,取五个点电压进行测量,并将测量完的十进制数据转化为二进制数据。

AD采样数据

电压源输入

0.10

0.20

0.30

0.40

0.45

电压表测得

(放大后)

1.01

2.00

3.02

4.01

4.51

采集系统测得

1.01

2.00

3.02

4.02

4.52

3、硬件设计

3.1硬件组成

3.1.1 资源分配

晶振采用12MHZ。P1口的P1.0-P1.4分别与四个按键连接,分别控制波形切换、频率加、频率减,占空比加,占空比减。

P2口与DAC0832的D0-D7数据输入端相连。

P3口用来控制DAC0832的输入寄存器选择信号CS。

3.1.2 D/A转换模块部件

DAC0832芯片原理

管脚功能介绍(如图2所示)

图2 DAC0832管脚图

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

ILE:数据锁存允许控制信号输入线,高电平有效。

CS:选片信号输入线(选通数据锁存器),低电平有效。

WR1:数据锁存器写选选通输入线,负脉冲有效,由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变化,LE1的负跳变时将输入数据锁存。

XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。

WR2:DAC寄存器选通输入线,负脉冲有效,由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

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

IOUT2:模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1+IOUT2=常数。

RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。

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

Vcc:芯片供电电压,范围为(+5~+15)V。

AGND:模拟量地,即模拟电路接地端。

DGND:数字量地。

3.1.3放大部分

放大部分采用双极运算放大电路,LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。

图3 lm358

3.2?单片机核心模块

3.2.1 AT89C52单片机及其说明

AT89

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值