单片机函数信号发生器(参考文献)
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计1引言函数信号发生器是一种用于生成常用函数信号的仪器仪表,主要用于电子测试、数据采集和计算机仿真系统中。
由于仪器价格昂贵、操作复杂、生成信号精度一般,因此基于单片机来设计函数信号发生器就显得尤为重要和实用。
本文介绍以单片机(MCU)作为控制核心设计函数信号发生器的原理及其实现过程。
2相关技术使用单片机作为函数信号发生器的核心控制,就需要按照以下步骤实现:(1)主控芯片的选择:单片机有着多种型号,用来实现函数信号发生器时,应选择具有较丰富的资源和功能特性的以太网芯片,以保证其对复杂信号系统的支持。
(2)信号频率的控制:信号频率的控制是函数信号发生器的重要功能,主要利用单片机的定时中断和PWM模块实现,单片机的定时中断功能可以实现对定义频率的准确控制;PWM模块可以进行频率的精确控制,并能实现调频的模拟信号输出。
(3)信号特征的定义:函数信号发生器可以制定正弦、方波、三角波或矩形波等信号,其信号形式定义很精确,且可以任意调节信号幅度、频率、波形等特性,这就要求用单片机控制信号特征,实现对波形信号的可调控,进而实现任意设置周期内任意特征信号。
(4)模数转换:单片机通过AD转换模块,实现对外部信号的采样和转换,并将转换后的数据存入内部影象存储器,然后根据采样参数的设置改变信号,实现信号发生。
3系统设计根据以上技术步骤,确定了基于单片机的函数信号发生器的设计模式,并根据主控芯片的性能参数和功能要求,确定了STM32系列芯片作为控制主模块,由它完成函数信号发生器的主控制功能,具体实现步骤如下:(1)MCU主模块的选择:STM32系列芯片主要以ARM Cortex-M内核为核心,内部集成了DMA、多种定时器、CAN、USB、IIC、ADC/DAC 等功能,因此选用该系列的芯片即可大大提高系统结构的灵活性和效率。
(2)信号函数参数的确定:正弦波、三角波、矩形波和方波等信号波形参数可以根据信号源参数进行确定,可以分析出正弦波、三角波、矩形波和方波的频率,幅值和偏移量等参数。
什么是函数信号发生器,函数信号发生器的作用,函数信号发生器的工作原理

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

drc dg a f q e c y tei D F ) h et ea dsoecnb hn e ecr i rn e t i t i t eu nysn s e( D S .T p n cp a ec agdi t et n ag .I e i lr h z y nh a
K e r s: wa eo r e e ao ;AT 9C5 y wo d v f r lg n r t r f 8 2;D/A o v ri n c n e so
0 引 言
信号 发生器 亦称 函数 发 生 器 , 是一 种 能 产生 各 种 函数 波形 的仪 器 。在现 代 电子学 的各 个领 域 , 常 常需要高精度 和频率 方便 可调 的信号 发 生器 。产 生 信号频率越高 , 波形 种类 越多 , 发生 器 的性 能越好 , 但 随之而来的是 , 器件 成本和技术要求也会大大提高 。 利用单 片 机 通 过 程 序 设 计 方 法 来 产 生 低 频 信 号 , 频率底 线很低 , 其 具有线 路相 对简单 、 结构 紧凑 、
收 稿 日期 :2 1 0 0—1 0 1— 8 作 者 简 介 : 【蛟 ( 9 7一), , 士 研 究 生 , 究 方 向 为 系统 性 能 检 } { 18 男 硕 研
1 工作 原 理
信 号发 生器采用 直接数 字合成 技术 。基本原 理 为 采样定 理 : 样频 率必 须 大 于 或等 于 两倍 信 号谱 抽 的最 高频率 。因此 , 通过 查 表 法来 让 单 片机 产 生波 形 。首先 , 对需要 产生 的波形进 行采样 , 将采 样值数 字化 存人 单 片 机存储 器 作 为查 找 表 , 后再 通 过查 然
Absr c : T e ta t h wa e o m g ne ao fg r d he v fr e r tr i u e t AT8 2 a d 9C5 n DAC 3 a t e a d o e Th 08 2 s h h r c r . e
基于单片机的函数信号发生器的设计与实现

基于单片机的函数信号发生器的设计与实现一、引言函数信号发生器是一种用于产生不同形式的函数信号的仪器。
在电子领域中,经常需要使用函数信号进行信号调试、测试和仿真。
传统的函数信号发生器通常较为昂贵,而基于单片机的函数信号发生器则能够以较低的成本实现,并且具有良好的可调节性和稳定性。
本文将介绍基于单片机的函数信号发生器的设计与实现。
二、设计原理基于单片机的函数信号发生器主要由以下几部分组成:单片机控制模块、波形发生模块、幅度控制模块、频率控制模块和显示模块。
其中,单片机控制模块采用单片机进行控制和信号生成,波形发生模块用于产生不同形式的函数信号,幅度控制模块用于调节信号的幅度,频率控制模块用于调节信号的频率,显示模块用于显示当前的信号参数。
三、基本功能和设计过程1.单片机控制模块的设计:选择合适的单片机,搭建合适的电路,并进行相应的编程。
具体的控制程序需根据单片机型号和要求进行设计和实现。
2.波形发生模块的设计:选择合适的波形发生电路,包括正弦波、方波、三角波等。
这些波形的发生可以采用基于单片机的数字方法生成。
3.幅度控制模块的设计:通过调节电路中的阻值来实现对信号幅度的调节。
可以使用模拟方法或者数字方法实现。
4.频率控制模块的设计:通过调节电路中的电容或者电阻来实现对信号频率的调节。
可以使用模拟方法或者数字方法实现。
5.显示模块的设计:选择合适的显示设备,如LCD液晶显示屏,将信号的参数通过单片机发送到显示设备上进行显示。
四、设计实例以基于PIC16F877A单片机的函数信号发生器为例,简要介绍其设计与实现步骤。
1.单片机控制模块的设计:选择PIC16F877A单片机,并搭建相应的电路。
使用C语言编写程序,根据用户的输入和要求,通过PWM或DAC控制输出信号的幅度和频率。
2.波形发生模块的设计:根据需要,选择合适的波形发生电路进行设计。
可使用PIC16F877A的PWM输出产生正弦波,方波和三角波等。
简易信号发生器设计

随着电子技术的飞快发展,单片机也应用得越来越广泛,基于单片机的智能仪器的设计技术不断成熟。
单片机构成的仪器具有高可靠性,高性价比。
单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并用到各种家庭电器,单片机技术的广泛应用推动了社会的进步。
利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于程序控制。
只要对电路稍加修改,调整程序,就能实现功能的升级。
本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、梯形波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,并通过按键来控制四种波形的类型选择。
本次设计主要由信号发生模块、数模转换模块和仿真模块。
关键词 AT89C52单片机,DAC0832,独立式键盘,Proteus,Keil绪论---------------------------------------------------------------------- 1一、设计概述------------------------------------------------------------ 21.1设计目标和要求------------------------------------------------ 21.2设计分析------------------------------------------------ --------- 21.3设计方案------------------------------------------------ --------- 2二、整体设计论述----------------------------------------------------- 3三、硬件设计---------------------------------------------------------- 33.1 硬件电路连接图---------------------------------------------- 43.2 主要芯片介绍------------------------------------------------ 53.2.1 单片机AT89C51 --------------------------------------- 53.2.2 DAC0832数模转换器---------------------------------- 73.3 硬件模块-------------------------------------------------------- 83.1.1 单片机最小系统-------------------------------------- 83.1.2 独立式键盘--------------------------------------------- 83.1.3 数模转换电路------------------------------------------ 9四、软件设计--------------------------------------------------------- 104.1 主流程图的设计----------------------------------------------- 104.2 子程序的设计----------------------------------------------- 104.2.1 正弦波的产生---------------------------------------- 104.2.2 方波的产生------------------------------------------ 124.2.3 三角波的产生--------------------------------------- 124.2.4 锯齿波的产生----------------------------------------- 134.2.5延时函数的产生------------------------------------- 144.2.6 中断程序---------------------------------------------- 154.2.7 主程序------------------------------------------------- 15五、应用软件----------------------------------------------------------- 175.1 KeilC51 -------------------------------------------------------- 175.2 Protues -------------------------------------------------------- 18六、调试结果----------------------------------------------------------- 186.1 代码调试------------------------------------------------------ 186.2 仿真调试------------------------------------------------------ 18七、收获体会--------------------------------------------------------- 23八、参考文献---------------------------------------------------------- 24绪论在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域里,经常需要用到各种各样的信号波形发生器。
单片机控制之信号发生器(振荡器)设计 单片机技术课程设计

单片机技术课程设计说明书课题名称目录引言 (3)一设计任务 (3)1设计内容 (3)2设计要求 (3)二芯片功能介绍 (3)三总体功能图和总原理图 (5)四程序流程图 (6)1 锯齿波程序流程图 (6)2 三角波程序流程图 (7)3 梯形波程序流程图 (8)4 方波程序流程图 (9)5 正弦波程序流程图 (10)6 整体程序流程图 (11)五程序设计 (12)六仿真测试 (16)七总结与体会 (19)八参考文献 (20)引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波形产生模块、输出显示模块、电源模块。
使用AT98C52作为主控台结合芯片DAC0832产生1HZ-10HZ频率可调的五种信号波(锯齿波、三角波、方波、梯形波、正弦波)。
这几种波形有几个开关控制,可以随意进行切换,十分方便。
另外,波形的频率和振幅也可以通过开关进行更改。
可以说这次的设计操作简单,内容丰富,而且电路快捷明了。
1设计任务1.1设计内容以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且频率、幅度可变的函数发生器。
1.2设计要求设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真图,并编写出控制波形的程序。
2芯片功能介绍2.1、DAC0832芯片介绍:DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。
基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。
DAC0832的内部结构框图如下图所示。
图2.1 DAC0832的内部结构框图2.2 DAC0832的外部引脚及功能介绍图如下:图2.2 DAC0832介绍2.3 DAC0832的应用:DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。
2.4 DAC0832与8031的连接方式:DAC0832的与单片机的连接方式有三种方式:(1)单缓冲;(2)双缓冲、(3)直通方式。
基于STM32单片机的函数信号发生器

www�ele169�com | 15电子电路设计与方案0 引言信号发生器在生产实践和科技领域中有着广泛的作用,而且如今高校实验室都有装备,它是一种不可缺少的通用信号源,但是在市面上的函数信号发生器少则几百多则上千,对于一名学生来说是奢侈的。
现如今,电子科技技术高速发展,嵌入式系统设计越来越成熟,我们可以通过使用成熟的嵌入式芯片系统用来设计具有真正的实用性和成本低廉的函数信号发生器。
1 系统设计如图1所示,基于STM32函数信号发生器的研究内容分为任意波形合成与任意波形合成后模拟通道数据综合处理后的信息显示部分,其中程控接口为写入STM32最小系统的软件控制部分,这是基于STM32函数信号发生器的核心部分。
任意波形合成则由软件进行控制合成,硬件采用的是成熟的STM32最小系统板。
模拟通道数据综合处理后的信息显示部分主要实现的就是输出经过单片机处理后的模拟信号使其显示在屏幕上。
图1 系统框图2 函数信号发生器系统波形生成原理任何波形可以看成由一系列时间点电压组成,这些点包含了电压信息,时间信息,我们需要根据实际情况确定一个周期内要多少个时间间隔相同的点组成,改变点数量或者改变时间间隔,这样来改变频率,再来确定每个时刻点输出的电压大小用来确定/改变波形的电压。
图2 任意波形合成流程图单片机只可以处理数字信号,输出高低电平,要想生成模拟信号可以使用STM32单片机内部自带的D/A 转换,实现定时在某一时刻输出某一电压,这些数字量事先存储在存储器里,由单片机定时输出一个数字量传递给D/A 转换芯片由芯片进行转换, D/A 转换出的一系列点服从相应的函数表达式,故改变这个函数表达式就可以得到相应的波形,以此来进行输出不同波形。
由于受到D/A 转换器本身属性限制与精度无关,所有的波形都是阶梯波逼近,当频率越高这种现象越不明显,但是实际上仍然存在,故采用STM32内部的12位精度D/A转换器可以满足要求。
3 函数信号发生器系统硬件与软件设计■3.1 系统硬件设计基于STM32函数信号发生器采用的STM32F103VET6最小系统版可以很好的满足要求,而且此系列之间引脚功能都可以兼容,设计时可以选用性价比更高的芯片或者直接选用成熟的STM32成熟模块,省去了硬件设计的烦恼,增强设备的稳定性与性能。
函数发生器

函数发生器作者:陈益,李立刚,孙文,董玲丽辅导教师:程智摘要:本系统采用AT89C52芯片和DAC0832芯片来完成一个简易的函数发生器,能够产生方波、三角波、锯齿波、正弦波等多种波形。
该函数发生器的设计电路主要由三个模块组成:D/A转换模块、信号处理模块及控制模块。
D/A转换主要由芯片DAC0832来完成,它负责把采集到的数字量转换为相应的模拟量再传送到信号处理模块;而信号处理则由运放LM324来完成,它将模拟信号转换为相应的波形送到示波器进行显示;控制模块就由芯片AT89C52来完成,其负责把它内部的数字信号通过DAC0832转换成模拟信号。
本系统具有线路简单、结构紧凑、性能优越等特点。
关键词:函数发生器;DAC0832;AT89C52;LM324Function generatorAbstract: the system USES AT89C52 chip and DAC0832 chip to complete a simple function generator, can produce square wave, triangle wave, the sawtooth wave, sine wave, etc DuoZhong waveform. This function generator circuit design mainly by three modules: D/A conversion module, signal processing module and control module. D/A transformation mainly by the chip DAC0832 to complete, it is responsible for gathering to the digital quantity converted to then delivered to the analog signal processing module; And signal processing by the op-amp LM324 to complete, it will analog signal converted to wave to oscilloscope displayed; Control module by AT89C52 chip to complete it, which is responsible for the digital signal through internal DAC0832 converted into analog signals. This system has a circuit is simple, compact structure, superior performance and so on the characteristic.Keywords: function generator; DAC0832; AT89C52; LM324一、系统方案论证1. 系统总体方案方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机函数信号发生器(参考文献)单片机函数信号发生器摘要:本文以STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率798.6HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
关键词:低频信号发生器;单片机;D /A转换;1设计选题及任务设计题目:基于单片机的信号发生器的设计与制作任务与要求:设计一个由单片机控制的信号发生器。
运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。
信号发生器所产生的波形的频率、幅度均可调节。
并可通过软件任意改变信号的波形。
基本要求:(1)产生三种以上波形。
如正弦波、三角波、矩形波等。
(2)最大频率不低于 500Hz。
并且频率可按一定规律调节,如周期按1T,2T,3T,4T或1T,2T,4T,8T变化。
(3)幅度可调,峰峰值在0-5V之间变化。
扩展要求:产生更多的频率和波形。
2系统概述2.1方案论证和比较2.1.1总体方案:方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。
但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ 的波形。
但是该方案也不能产生任意波形(例如梯形波),并且价格昂贵。
方案四:采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。
它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。
性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
经比较,方案四既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案.12.1.2改变幅度方案:方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低,达不到至少500HZ的要求;并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。
方案二:将输出电压通过一个运算放大器的放大。
这样还有个优点是幅度连续可调。
经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。
2.2系统部休结构与原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图2-1所示。
波形数模转换电路按键电路单片机ROM表放大电路电源低通滤波波形输出图2-1 系统框图89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON 内。
具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下: x=0:2*pi/64:2*pi; y=round(sin(x)*127)+1283硬件电路设计与分析3.1主控电路设计中主要采用STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。
(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。
由于该芯片可电擦写,故可重复使用。
如果更改程序内容,可将芯片拿下重新烧写。
(3)该单片机与工业标准的MCS,51型机的指令集和输出引脚兼容。
2中断系统是使处理器具有对外界异步事件的处理能力而设置的。
当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。
在波形发生器中,用两个开光直接与外部中断0和外部中断1的管脚相连,其中S1开光用来改变波形,S2开光用来改变频率。
在程序主函数中,我们写了个死循环一直输出一个默认的波形,当S1或S2按下又抬起时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率进行改变。
时钟电路。
由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用11.0592MHz晶振。
STC89C52VCC5V140P1.0VCC1239D01P1.1P0.02338D12P1.2P0.13437D2P1.3P0.24536D3P1.4P0 .35S3635D4P1.5P0.46734D5VCCP1.6P0.57833D6P1.7P0.68932D7RSTP0.79S1P301031 P3.0/RXDEAVCCP311130PAIZU-10KP3.1/TXDALES21229P3.2/INT0PSEN1328P3.3/INT1P2.7C61427P3.4/T0P2.61526P 3.5/T1P2.51625P3.6/WRP2.430P1724P3.7/RDP2.3Y11823CSDAX2P2.211.0592M1922W RX1P2.1C72021GNDP2.030P图3-1 主控电路图3.2 数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。
本设计选用直通方式。
DAC0832的数据口和单片机的P0口相连。
CSDA:片选信号输入线(选通数据锁存器),低电平有效;WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR13的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;P4CSDA120WR219VCC318D3417D2D4516D1D5615D0D6714D7VCC8139121011DAC0832图3-2 数模转换电路3.3运算放大电路和低通滤波电路P4CSDA120WR219VCC318D3417D2D4-12V12V516D1D5VOUT1615D0D6R27141D71VCC813215LM3244912R1710K9LM324VOUT2101 1R368231DAC08325K10C621001044112V1-12V图3-3 滤波与放大电路LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路-(R2/R1)倍。
题目要求输出的电压在0-5V可调,而V1的电压大约是5V,所以R1选择5K的电阻,R2选择10K的电位器,这样最大的输出电压为5*(10/2)=10,最小电压为0,可以实现题目要求的0-5V。
在第二个运算放大器的输出端连了一个低通滤波器。
如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。
低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3 为100欧姆电阻,C6为104电容,截止频率F=16KHZ。
实验表明,此时的输出波形效果不错。
4 系统软件设计软件设计上,根据功能分了几个模块编程。
模块主要有:主程序模块、外部中断0模块,外部中断1模块。
44.1 主程序设计主程序先是进行一些初始化的工作,然后根据波形标志a,b,c,d,e的值进入相应的while 循环。
这样写的好处是输出的波形频率可以790多HZ。
在while循环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。
然后根据频率标志位进行相应的延时。
开始输出数字量给DAC0832数据口初始化地址标志位加1根据a,b,c,d,e的值进入相应的while循环地址标志位是否否等于64while循环地址标志位置0根据地址标志位查表相应延时(对应频率)4-1 主程序流程图4.2 中断服务程序本程序中两个外部中断分别起到了控制波形和频率的作用。
在程序中还加入了消抖部分。
根据波形标志做波形标志位置0相应处理否是否有中断信波形标志位是是是外部中断0波形标志位加1号否等于5否根据频率标志做频率标志位置0相应处理否是否有中断信频率标志位是是是外部中断1频率标志位加1号否等于8否图4-2 中断服务程序流程55 安装调试及测量数据分析5.1调试过程(1)不通电,用万用表根据电路图仔细检查各线路连接是否正常。
(2)首先是调试单片机部分,DA和运算放大器芯片不接。
用STC_ISP_V483软件通过串口下程序。
看是否可以正常下程序。
(3)当可以正常下程序时,给51单片机下一个让所有I/0口一会儿输入0,延时,再输出1,以此类推。
用万用表测量各I/O口得电压是不是一会儿高,一会儿低。
(4)安上DA和运算放大器芯片,给单片机下一个输出正弦波的测试程序,通过示波器看输出是否正常。