一种基于单片机的函数发生器的设计实现

发布者:心灵捕手最新更新时间:2021-04-15 来源: eefocus关键字:单片机  函数发生器 手机看文章 扫描二维码
随时随地手机看文章

1引言

自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。


2高频信号发生器芯片MAX038简介

MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。


Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合来决定:A1A0=10或11时,输出正弦波;A1A0=00时,输出方波;A1A0=01时输出三角波。波形切换可在0.3μs内完成,但输出波形有0.5μs的延迟时间。输出频率由Lin引脚的电流、SOSC引脚的对地电容量和FADJ的电压来决定。当FADJ引脚接地时,输出频率由公式给出:


F0=Lin/CF


式中,F0是输出频率,单位MHz;Lin是管脚输入电流,单位μA;CF是决定输出频率的串入电容值,单位pF.


3基于单片机的函数发生器的设计与实现

3.1系统硬件接口电路设计

Intel公司的MCS-51系列中的8051单片机应用已很成熟,以其为基核的其他8位机都有极好的兼容性,应用十分方便。图1所示为以8051和MAX038为核心的系统硬件电路。



用8279完成键盘输入和LED显示控制两种功能,键盘按键设置:数字键0~9,小数点,正弦波、方波和三角波切换键,频率选择Hz、kHz、MHz切换键,占空比键,回车键。采用外部译码方式,8279的SL0~SL2经74LS138(2)输出接键盘,同时经74LS138(1)输出驱动后送LED。8279的显示输出B0~B3,A0~A3作8位数据输出,当键盘出现有效闭合键时,数据自动进入8279的RAM存储器,并向CPU申请中断。



MAX038的频率控制电压由10位DAC1020提供,经Rin=50kΩ的电阻进入Lin引脚,8051的P2.6作为DAC1020的片选信号,采用双缓冲器方式,锁存10位数据。DADJ引脚电压范围-2.4V~+2.4V由8位DAC0832的双极性输出电压提供,即占空比调节的控制电压。用8051的P2.5作为DAC0832的片选信号,基准电压采用MAX038内部2.5V基准电压,接入VR端。DAC0832的ILE接+5V,片选端和数据传送端都与74LS373输出线A0相连。


设Lin输入端电压为Vin,串接电阻为Rin,则有公式:


F0=Vin/〔Rin×CF〕


式中,F0是输出频率,单位MHz;Vin是输入端电压,单位V;Rin是串接电阻,单位Ω;CF是决定输出频率的串入电容值,单位pF。


取Rin=50kΩ,Vin的范围0.5~5V,这样对于某一电容,可提供十倍扫频范围,从而电容的选择就可确定输出频率范围,即频段。第一频段电容取100μF,频率范围0.1~1Hz,第二频段到第九频段电容选择按十倍衰减,即可获得各频段频率范围,第九频段频率范围是10~20MHz,每一频段步进值选各频段低段频率的0.5%。有九个频段供选择切换,8051的P1.2~P1.5通过T1042译码后送入频段设定电路,由软件启动频段设定电路中的开关来进行频段选择。


3.2系统软件设计方案及实现

系统的主程序流程框图如图2所示。

先对8279进行初始化,即允许中断申请,清8279状态,置键盘显示方式及时钟编程等,再置MAX038初始波形与频率、占空比。然后测试回车键是否闭合,以决定是否进行中断处理,判断输出波形并输出控制信号,有关输出波形频率的控制电压及占空比的计算送DAC1020及DAC0832,最后将波形频率及占空比送显示缓冲区,调显示子程序显示。


4结束语

利用单片机对MAX038的实时程序控制可产生高频高精度的输出波形,系统运行稳定,输出波形失真小、漂移小、频率范围宽,基于8051的CHMOS单片机也可方便地实现嵌入应用。


关键字:单片机  函数发生器 引用地址:一种基于单片机的函数发生器的设计实现

上一篇:一种CSR电源控制系统设计与实现
下一篇:基于AT89C51单片机控制LED摇摇棒的研究

推荐阅读最新更新时间:2024-11-12 07:02

运用C8051F340的数据采集系统电路设计
  本文以带有片上USB 控制器和D/A 转换器的高度集成处理器C8051F340为核心器件,采用SD 卡存储技术利用USB 总线、虚拟仪器实现软件LabVIEW 设计图形用户界面,设计一款低成本数据采集器。该数据采集器可与PC 机共同实现数据采集与分析,也可长时间独立工作于工业现场,并将采集数据存放于大容量SD 卡,便于数据收集并利用计算机分析。   系统的硬件设计主要是数据采集模块。由于C8051F340内部集成了高精度时钟源、USB 控制器、电压调节器、A/D 转换器以及用于A/D 转换的参考电压源等丰富的片上外设,因此在对数据采集模块硬件设计时,无需扩展上述电路,使得系统硬件结构简单,集成度高,可靠性好。如图所示,通过片
[单片机]
运用C<font color='red'>8051</font>F340的数据采集系统电路设计
单片机和ADC0832的AD模数转换
在工业控制和智能化仪表中,通常由微型计算机进行实时控制及实时数据处理。计算机所加工的信息总是数字量,而被控制或被测量的有关参量往往是连续变化的模拟量,如温度、速度、压力等等,与此对应的电信号是模拟信号。模拟量的存储和处理比较困难,不适合作为远距离传输且易受干扰。在一般的工业应用系统中传感器把非电量的模拟信号变成与之对应的模拟信号,然后经模拟(Analog)到数字(Digital)转换电路将模拟信号转成对应的数字信号送微机处理。这就是一个完整的信号链,模拟到数字的转换过程就是我们经常接触到的ADC(Analog to Digital Convert)电路。 模-数转换(ADC)简介 模-数转换原理 ADC的转换原理根据AD
[单片机]
<font color='red'>单片机</font>和ADC0832的AD模数转换
Mouser开售ST 的STM32H7系列微控制器
专注于引入新品的全球电子元器件授权分销商贸泽电子 ( Mouser Electronics ) 即日起开始备货 STMicroelectronics (ST) 的 STM32H7 系列微控制器。此高性能STM32H7微控制器采用与Arm®平台安全架构 (PSA) 框架相同的安全理念,并将这些理念与STM32系列的增强型安全功能和服务完美融合,提升互联智能设备防护性能。 贸泽备货的 ST STM32H7 微控制器内置带有双精度浮点运算单元 (FPU) 的32位Arm Cortex®-M7 内核、高达2MB闪存和1MB RAM。此微控制器集成硬件真随机数生成器 (TRNG) 和先进密码加密处理器等硬件安全功能,可简化嵌入式应
[电源管理]
Mouser开售ST 的STM32H7系列<font color='red'>微控制器</font>
msp430单片机利用FDC2214测量电容
#include io430.h #include oled.h #include bmp.h #include Config.h #include fdc2214.h #include iic.h void OLED_JM0(void); int main( void ) { WDTCTL = WDTPW + WDTHOLD; u8 retVal=0; unsigned int id; unsigned long Buffer ={0}; IIC_Init(); OLED_Init(); //初始化OLED OLED_C
[单片机]
基于32位单片机MC68HC376的高可靠性系统设计方案
  引言   随着工业技术的不断发展,对单片机控制的要求也越来越高,需要单片机具备更高的反应速度和更强的数据处理能力,各种高性能的新型单片机得到了迅猛的发展和应用。单片机上主要是高速的数字信号,弱信号很容易受到外界的电磁干扰,同时,单片机系统也会发生掉电、死循环等问题。在工业控制场合,一旦控制发生错误,将会造成难以估计的损失。因此,如何提高控制的可靠性是长期以来的一个重要问题。本文介绍了应用32位高性能单片机MC68HC376的一种实际开发方案,同时重点讨论了提高系统可靠性的设计和实现方法。   MC68HC376是Motorola公司推出的一种新型的32位高性能单片机,具有极强的数据处理、逻辑运算和信息存储能力,且支持BDM
[单片机]
基于32位<font color='red'>单片机</font>MC68HC376的高可靠性系统设计方案
AVR单片机TO定时器快速PWM模式范例
AVR单片机TO定时器快速PWM模式范例: /*/////////////////////////////////////////////// ///////定时器TO的使用例程 快速PWM模式///////// //编译环境:ICCV7 for AVR //晶体: 11.0592Mhz ///////////////////////////////////////////////*/ #include #include void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x08; //PB3为PWM输出 PORTC = 0x00; /
[单片机]
stm32单片机休眠模式后无法下载程序怎么办
利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。 我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No target connected。自己设计的最小系统又没有加入复位键。。。 有以下几种解决办法: 1、可以将单片机的NRST引脚引出来,外接复位键。(关于引脚查看可用ST官方软件STM32cubeMX,很方便) 2、通过ISP的方式
[单片机]
集Hi-Fi、智能和USB多通道等特征于一体的微控制器
随着诸多技术突破和全新流媒体服务的不断融合,在智能家居和智能音箱市场日益繁荣的今天,消费者对于音频的需求已不再仅仅局限于音质本身,更多的是追求高品质的生活体验和便捷的智慧互联。因此,要想更好的迎接数字音频新时代,当今的数字音频,不仅要能够提供Hi-Fi的音质,而且还能够作为智能设备的人机界面,同时还能够用USB多通道等方式方便连接...... XMOS在其最新的xcore器件中集成了边缘AI、DSP、控制单元和I/O等功能,因而可以在新一代音频、电机控制、工业自动化和边缘计算等许多应用和场景中,利用软件就能开发出功能非常先进的系统。这种在实现高性能硬件的同时,保持灵活性和可编程性的特性,可以为工程师和系统企业带来更快的产品上市
[嵌入式]
集Hi-Fi、智能和USB多通道等特征于一体的<font color='red'>微控制器</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved