基于8051单片机的波形发生器设计
基于8051单片机的超声波发生器设计方案

基于8051单片机的超声波发生器设计方案本设计的超声波发生器是利用生成初始信号,然后经过一系列处理的作用后生成用来杀灭水蚤的超声波,成本低、效果好,可以在农业上加以采纳。
在此对3个模块举行设计:(1)信号发生模块。
12 MHz的80硬件衔接及其程序设计。
(2)信号处理模块。
驱动电路设计(CD4069非门集成芯片);倍频电路设计(S9014或ECGl08、104一般、11 257.9 nH自制、1 kΩ);整波电路设计(CD4069非门集成芯片);和频电路设计(CD4081与门集成芯片);选频电路设计(S9014或ECGl08三极管、104一般电容、112.58 nH自制电感、1 kΩ电阻)。
(3)信号检测模块、数字的衔接。
在上述讨论基础上,设计一台超声波发生器样机,其技术指标如下:输入:220 VAC(50 Hz);开关频率:1.5~1.8 MHz;最大的输出功率:500 W;功率范围:50~500 W。
1 信号发生模块的设计选取一个8051单片机芯片,将晶振电路、复位电路、电源电路衔接到单片机相应的引脚上组成单片机的最小系统。
利用单片机的中断资源和I/O口资源举行相应衔接并举行程序编辑:用P3.2口控制初始信号的放射与否,用P0.O口、P0.1口放射初始信号,1所示。
2 信号处理模块的设计2.1 驱动电路的设计假如将两列波(0.03 MHz)挺直从单片机的输出口PO.O和P0.1输出接入后面的5倍频电路,可能会因为小而不能驱动倍频电路。
从这点来考虑就需要在单片机与倍频电路之间接入一个驱动电路,2所示。
在单片机的一个输出口接一个非门,而后接入由4个非门并联的电路,因为非门是有源器件,这样就使得输入倍频电路的信号能量大大提高,起到驱动电路的功能(若用方波发生器来代替单片机就可省略驱动电第1页共5页。
基于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) 系统具有显示输出波形的类型、重复频率和幅度的功能。
2波形发生器系统设计方案设计并制作一个波形信号发生器,能够产生正弦波、方波、三角波的波形,其中不使用DDS和一些专用的波形产生芯片。
并让系统的频率范围在1Hz~1MHZ可调节,在频率范围在1HZ~10KHz时,步进小于或等于10Hz,在频率范围在10KHz~1MHz时,步进小于或等于100Hz,并且电压在0~5V范围,能够实时的显示波形的类型、频率和幅值。
基于51单片机的波形发生器的设计

基于51单片机的波形发生器的设计引言:波形发生器是一种可以生成特定频率、特定波形的电子设备。
它广泛应用于科研、教学和产业生产等领域,可以用于信号发生、信号测试、信号仿真等各种任务。
本文将介绍一个基于51单片机的波形发生器的设计方案。
一、系统硬件设计1.系统框架该波形发生器系统采用51单片机作为主控芯片,主要包括三个部分:信号生成模块、显示模块和控制模块。
其中,信号生成模块负责产生各种特定频率、特定波形的信号;显示模块用于展示信号参数等相关信息;控制模块负责接收用户输入并对波形发生器进行控制。
2.硬件连接信号生成模块与主控芯片之间通过I/O接口相连,用于传输数据和控制信号。
显示模块通过串口与主控芯片相连,用于显示相关信息。
控制模块通过按键、旋钮等输入设备与主控芯片相连,用于接收用户输入。
二、系统软件设计1.系统初始化在系统初始化阶段,主控芯片需要完成引脚、定时器、串口等相关资源的初始化工作。
同时,还需要设置一些全局变量和参数的初始值。
2.信号生成模块信号生成模块通过定时器产生特定频率的时钟信号,并根据用户输入的参数生成相应的信号波形。
主控芯片利用定时器中断函数进行波形生成,并将生成的信号数据存放在缓冲区中。
3.显示模块显示模块负责将信号波形显示在液晶屏上,并显示相关参数,如频率、幅度等。
主控芯片将信号数据从缓冲区中读取,并通过串口发送给显示模块进行显示。
4.控制模块控制模块负责接收用户输入的控制指令,并通过按键、旋钮等输入设备完成用户交互。
主控芯片通过中断函数实时读取用户输入并进行相应的控制操作。
三、系统功能设计1.频率设置功能用户可以通过控制模块设置波形发生器的频率,可以选择固定频率或者可调频率。
利用定时器时钟频率与定时器中断的时间间隔来控制波形的频率。
2.波形选择功能用户可以通过控制模块选择不同的波形类型,如正弦波、方波、三角波、脉冲波等。
主控芯片根据用户指令设置波形参数,并生成相应的波形信号。
基于51单片机的波形发生器设计报告

基于51单片机的波形发生器设计报告波形发生器是一种电子设备,用于产生各种不同类型和频率的电信号波形。
基于51单片机的波形发生器设计是一种常用的工程设计。
下面是一个关于基于51单片机的波形发生器设计的报告,详细介绍了设计的原理、步骤、电路、程序和性能。
一、设计原理:二、设计步骤:1.确定波形发生器的输出频率范围和分辨率要求。
2.选择适当的定时器/计数器模块来实现频率的计时和控制。
3.设计电路,包括定时器/计数器模块、晶振、滤波电路和输出接口等。
4.编写程序,配置定时器/计数器模块的工作模式、计数值和中断服务程序。
5.调试和测试电路和程序,确保波形发生器正常工作并满足设计要求。
三、电路设计:1.定时器/计数器模块:选择一个合适的定时器/计数器模块,如51单片机的定时器/计数器T0或T1、根据设计要求,设置工作模式、计数器模式和计数值。
2.晶振:选择适当的晶振频率,一般为11.0592MHz,将晶振连接到单片机的晶振引脚。
3.滤波电路:根据需要,设计一个滤波电路来滤除不需要的高频噪声和杂散信号。
4.输出接口:设计一个输出接口电路来连接单片机和外部电路,使用电平转换电路将单片机的低电平(0V)输出转换为所需的电平电压。
四、程序设计:1.配置定时器/计数器模块的工作模式和计数值,设置中断服务程序。
2.在中断服务程序中,根据设计要求生成矩形波信号,并将信号输出到输出端口。
3.在主程序中,初始化单片机和定时器/计数器模块,使波形发生器开始工作。
4.在主循环中,可以设置按键输入来改变输出频率,通过调整计数值来实现不同的频率输出。
五、性能评估:1.输出频率范围:根据设计要求,测试波形发生器的最低和最高输出频率是否在设计范围内。
2.分辨率:对于指定频率范围,测试波形发生器的输出频率的分辨率,即最小可调节的频率。
3.稳定性:测试波形发生器的输出信号的稳定性和准确度,是否有漂移和偏差。
4.噪声:测试波形发生器的输出信号是否有杂散噪声和幅度波动。
基于单片机的波形发生器_毕业设计论文

基于单片机的波形发生器_毕业设计论文摘要:本文详细介绍了一种基于单片机的波形发生器的设计与实现。
波形发生器是一种广泛应用于电子测量、科研和教学等领域的仪器设备。
本设计采用了单片机作为控制芯片,利用其强大的计算和控制能力实现了多种波形的生成。
通过研究和分析不同波形的特点,采用相应的算法和模拟电路设计,实现了正弦波、方波和三角波的发生功能。
本文还介绍了硬件电路的设计和软件的编写,并对波形发生器的性能进行了测试和分析。
1.引言波形发生器是一种可以产生各种形状的周期信号的仪器设备,广泛应用于电子测量、科研和教学等领域。
随着数字技术和单片机技术的发展,基于单片机的波形发生器具有体积小、成本低、灵活性强等优点,逐渐代替了传统的模拟波形发生器。
2.系统设计2.1系统框架本系统采用了单片机作为控制芯片,配合DAC芯片和锁相环电路,构建了一个完整的波形发生器系统。
单片机负责控制波形的生成参数,通过DAC芯片将数字信号转化为模拟电压输出,锁相环电路则负责对时钟信号进行处理和同步。
2.2波形生成算法根据不同波形的特点,本设计实现了正弦波、方波和三角波的发生功能。
正弦波的生成采用了Taylor级数展开方法,方波的生成利用了比较器的电平调制,而三角波的生成则通过DAC芯片将数字递增或递减的信号转化为模拟电压输出。
3.硬件设计3.1单片机选型与外围电路设计本设计选用了XX单片机作为控制芯片,并根据其技术手册设计了相应的外围电路。
外围电路包括时钟电路、复位电路和供电电路等,保证了单片机的正常运行。
3.2DAC芯片选型与接口设计为了将数字信号转化为模拟电压输出,本设计选用了XXDAC芯片,并设计了合适的接口电路。
通过控制单片机的输出端口和DAC芯片的输入端口连接,实现了数字到模拟的转换。
3.3锁相环电路设计为了保证波形的准确性和稳定性,本设计添加了锁相环电路。
该电路利用比较器和VCO实现了对时钟信号的同步与输出。
4.软件设计4.1系统初始化系统初始化包括单片机寄存器的初始化和外围设备的初始化,为后续的波形生成做好准备。
用80c51单片机产生方波的程序设计

一、实验目的和要求
1、掌握定时器/计数器计数功能的使用方法。
2、掌握定时器/计数器的中断、查询使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计
数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。
2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计
数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。
三、电路原理图
四、实验程序流程图和程序清单
五、实验结果
六、实验总结
通过本次实验加强了对于定时器与计数器的运用,熟悉了定时器与计数器的中断查询不同方式的工作方法。
七、思考题
利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。
基于51单片机汇编程序波形发生器实训报告

单片机实训报告(波形发生器)一、设计方案(1)、硬件基本设计思路本设计方案采用8051单片机和DAC0832将数字信号转化成模拟信号,并通过LM324运算放大器将信号进行处理,最终得到各种波形。
其中,波形的切换采用矩阵键盘通过外部中断0来实现。
(2)、软件基本设计思路首先,将基本波形通过程序进行编写,并调试成功;其次,再编写按键扫描子程序;最后,将按键程序放入中断中,并进行整体调试,直到调通为止。
(3)、程序说明略二、原理图波形发生器原理图三、程序JUCHI E QU 50HSANJI EQU 51HFANGB EQU 52HTIXIN EQU 53HKU EQU 55HORG 0000H ;程序入口AJMP MAIN ;指向主程序ORG 0003H ;主程序入口地址AJMP INTT0 ;指向按键中断程序ORG 0030H ;中断程序入口地址MAIN: ;主程序MOV P2,#00H ;将P2口初始化为0SETB EA ;开总中断SETB EX0 ;开启外部中断0SETB IT0 ;将外部中断0设置为下降沿有效MOV DPTR,#00FFH ;设置输入寄存器地址MOV JUCHI,#00H ;初始化MOV SANJI,#00HMOV FANGB,#00H;***************************************************START:MOV A,KU ;将键码送累加器ACJNE A,#00H,W1 ;将累加器A和00H比较,如果相等,则00键按下顺序执行,否则跳到W1再判断01键是否按下MOV SANJI,#00H ;屏蔽其他波形MOV FANGB,#00HMOV TIXIN,#00HAJMP JCB ;跳转到锯齿波形W1: CJNE A,#01H,W2 ;判断01键是否按下MOV JUCHI,#00H ;屏蔽其他波形MOV FANGB,#00HMOV TIXIN,#00HAJMP SJB ;跳转到三角波形W2: CJNE A,#02H,W3 ;判断02键是否按下MOV TIXIN,#00HMOV JUCHI,#00H ;屏蔽其他波形MOV SANJI,#00HAJMP FB ;跳转到方波W3: CJNE A,#03H,W4 ;判断03键是否按下,没有按下,跳转回去继续循环扫描MOV JUCHI,#00H ;屏蔽其他波形MOV FANGB,#00HAJMP TXB ;跳转到梯形波W4: AJMP START;**********************************************INTT0: ;中断程序;***********键盘扫描子程序KEY*****************KEY: ACALL KS ;调按键查询子程序,判断是否有键按下JNZ K1 ;有键按下,转移 WEI1跳转ACALL DELAY ;无键按下,调延时程序去抖AJMP K4 ;继续查询按键;***********键盘逐列扫描程序***********************************K1: ACALL DELAYACALL KS ;再次判别是否有键按下JNZ K2 ;有键按下,转移AJMP K4K2: MOV R3,#0FEH ;首列扫描字送R3MOV R4,#00H ;首列号送R4K3: MOV A,R3MOV P2,A ;列扫描字送P2口MOV P1,#0FFH ;初始化P1口MOV A,P1 ;读取行扫描值JB ACC.0,L1 ;第零行无键按下转查第一行为1跳转MOV A,#00H ;第零行有键按下,行首键号送AAJMP LK ;转求键号L1: JB ACC.1,NEXT ;第一行无键按下,转查下一列MOV A,#03HAJMP LK ;键扫描结束,返回;************************************************************NEXT:INC R4 ;修改列号MOV A,R3JNB ACC.2,KEY ;三列扫描完返回按键查询状态RL A ;未扫描完,改为下列扫描字MOV R3,A ;扫描字暂存R3AJMP K3 ;转列扫描程序LK: ADD A,R4 ;形成键码送AMOV KU,APUSH ACC ;键码入栈保护;**********************************************K4:ACALL KS ;等待键释放JNZ K4POP ACC ;键释放,弹栈送ARETI ;中断返回;**********按键查询子程序**************************************KS: ;MOV A,#00HMOV P2,#00H ;全扫描字送p2口MOV P1,#0FFHMOV A,P1 ;读入P1口状态CPL A ;变正逻辑,高电平表示有键按下ANL A,#0FH ;屏蔽高四位RET ;子程序返回;****************锯齿波***********************JCB:MOV A,JUCHI ;转换初值WW: MOVX @DPTR,A ;D/A转换INC A ;A自加1NOP ;延时CJNE A,#255,WW ;判断A是否加到255,若没有返回到WW继续加MOV JUCHI,AAJMP START;******************三角波********************SJB:MOV A,SANJI ;转换初值EE: MOVX @DPTR,A ;D/A转换INC ANOPCJNE A,#255,EEDEC AQQ: MOVX @DPTR,ADEC ANOPCJNE A,#00,QQMOV SANJI,AAJMP START;******************方波********************* FB:MOV A,FANGBMOVX @DPTR,AACALL DELAY3ACALL DELAY3CPL AMOVX @DPTR,AACALL DELAY3ACALL DELAY3MOV FANGB,APOP ACCAJMP START;***************梯形波**********************TXB:MOV A,TIXINSS: MOVX @DPTR,AINC AACALL DELAY3CJNE A,#255,SSACALL DELAY3ACALL DELAY3DEC AZZ: MOVX @DPTR,ADEC AACALL DELAY3CJNE A,#00,ZZACALL DELAY3ACALL DELAY3MOV TIXIN,AAJMP START;*******************************************************1ms DELAY3: MOV R0,#7DHDEL7: NOPNOPDJNZ R0,DEL7RET;*******************************************50毫秒延时子程序DELAY2: MOV R0,#05DEL5: MOV R1,#10DEL4: MOV R2,7DHDEL3: NOPNOPDJNZ R2,DEL3DJNZ R1,DEL4DJNZ R0,DEL5RET;******************************************END四、实训总结通过两周的实训,我们对单片机有了一个基本的认识和了解,我们学到了怎样从一个设计课题入手去编写相关程序,并通过硬件实现。
基于51单片机的波形发生器的设计讲解

基于51单片机的波形发生器的设计讲解波形发生器是电子设备中常见的一种电子设备,它可以产生各种不同形状的波形信号。
在这篇文章中,我们将会详细介绍基于51单片机的波形发生器的设计。
一、波形发生器的原理及分类波形发生器的原理是利用电子元件、电路以及控制信号源,将一定幅度的电压信号变化成为需要的各种形状的波形信号。
根据波形的形状分类,可以将波形发生器分为以下几种类型:1.正弦波发生器:产生正弦波信号的发生器,常用于音频设备中。
2.方波发生器:产生方波信号的发生器,常用于数字电路中,也可用于频率测量和脉冲调制等应用。
3.三角波发生器:产生三角波信号的发生器,常用于音频设备以及频率测试等领域。
4.锯齿波发生器:产生锯齿波信号的发生器,常用于音频设备、测试仪器以及数据采集和测量等领域。
二、基于51单片机的波形发生器设计下面我们将详细介绍基于51单片机的波形发生器的设计步骤。
1.硬件设计:在基于51单片机的波形发生器设计中,我们需要准备的硬件元件有:-51单片机控制芯片-芯片烧录器-液晶显示屏-按键开关-电源模块-杜邦线等电子连接线2.硬件连接:根据电路原理图进行将电子元件进行正确的电路连接。
其中,51单片机作为核心控制芯片,负责生成波形信号,液晶显示屏用于显示波形信号,按键开关用于控制波形发生器的启动、停止以及参数调整等操作。
3.软件设计:利用Keil C编译软件进行51单片机的软件设计,根据控制芯片的指令集编写相应的程序代码,实现以下几个功能:-波形信号的产生:根据选择的波形类型(正弦波、方波、三角波或锯齿波),利用特定的算法生成相应形状的波形信号。
-参数调节:通过按键开关控制波形的频率、幅度以及相位等参数的调节,使波形发生器能够产生不同特性的波形信号。
-波形信号显示:通过LCD显示屏将生成的波形信号进行实时显示,以方便观察和调试。
4.软硬件的调试与优化:三、波形发生器的应用1.音频设备:波形发生器可以生成不同频率的正弦波信号,用于音频信号的发生和测试等应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于8051单片机的波形发生器设计摘要:波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。
本系统是基于A T89C51单片机的数字式低频信号发生器,采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。
通过按键控制可产生方波、三角波、正弦波等,同时用数码管显示其对应的频率。
介绍DAC 0832数模转换器的结构原理和使用方法,A T89C51的基础理论,以及与设计电路有关的各种芯片。
文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路原理和软件编程原理,其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。
关键词:AT89C51,DAC0832,LM324一引言波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件设计而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形,而且这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大。
大电阻,大电容在制作上有困难,参数的精度也难以保证。
体积大,漏电,损耗显著更是致命的弱点。
二功能分析和方案论证与比较依据不同的设计要求选取不同的设计方案,波形发生器的具体指标要求也有所不同。
通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波,有些场合可能还需要任意波形的产生。
各种波形指标有:波形的频率、幅度要求,频率稳定度,准确度等。
对于不同波形,具体的指标要求也会有所差异,例如,占空比是脉冲波形特有的指标。
波形发生器的设计方案多种多样,大致可以分为三大类:纯硬件设计法、纯软件设计法和软硬件结合设计法。
1 方案一在波形发生器设计纯硬件法的早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。
实现的波形比较单一,主要为正弦波、方波和三角波。
工作原理相对简单:首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。
在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。
通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。
纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。
LC振荡器适宜于产生几兆赫兹至几百兆赫兹的高频信号;石英晶体振荡器能产生几千赫兹至几百兆赫兹的高频信号且稳定度高;对于频率低于几兆赫兹,特别是在几百赫兹时,常采用RC振荡电路。
RC振荡电路又分为文氏桥振荡电路、双T网络式和移相式振荡电路等类型。
其中,以文氏桥振荡电路最为常用。
目前,实现波形发生器最简单的方法是采用单片集成的函数信号发生器。
它是将产生各种波形的功能电路集成到一个集成电路芯片里,外加少量的电阻、电容元件来实现。
采用这种方法的突出优势是电路简单,实现方便,精度高,性能优越;缺点是功能较全的集成芯片价格较贵。
实际中应用较多的单片函数信号发生器有MAX038(最高频率可达40)和ICL8038(最高频率为KHzMHz300)。
2 方案二波形发生器的设计还可以采用纯软件的方法来实现,它以计算机为基础,软件为核心,没有传统仪器那样具体的物理结构,通过软件设计实现和改变仪器的功能。
例如用图形化编程工具LabVIEW来实现任意波形发生器的功能,在LabVIEW软件的前面板通过拖放控件,设计仪器的功能面板(如波形显示窗口,波形选择按键,波形存储回放等工作界面),在软件的后面板直接拖放相应的波形函数并进行参数设置或直接调用编程函数来设计任意波形以实现波形产生功能;完成的软件打包后,可脱离编程环境独立运行,实现任意波形发生器的功能。
采用纯软件的虚拟仪器设计思路可以使设计简单、高效,仅改变软件程序就可以轻松实现波形功能的改变或升级。
从长远角度来看,纯软件法成本较低,但其缺点是波形的响应速度和精度低于硬件法。
3 方案三软硬件结合的波形发生器设计方法同时兼具软硬件设计的优势,既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。
如以单片机和单片集成函数发生器为核心(如图1)。
同时带有以键盘控制、数码管显示等电路,设计出智能型函数波形发生器,采用软硬件结合的方法可以实现功能较全、性能更优的波形发生器,同时还可以扩展波形发生器的功能,比如通过软件编程控制实现波形的存储、运算、打印等功能,采用USB接口设计,使波形发生器具有远程通信功能等。
目前,实验、科研和工业生产中使用的信号源大多采用此方法来实现。
图1 软硬件结合的波形发生器纯硬件设计法功能较单一,波形改变困难、控制的灵活性不够,不具备智能性,其中由运算放大器加分立元件组成的波形发生器,除在学生实验训练中使用外,基本不被采用。
纯软件设计法实现简单,程序改变及功能升级灵活,但实现的波形精度及响应速度不如硬件法高。
纯软件法主要适用于对波形精度、响应速度要求不是很高的场合。
相比之下,软硬件结合的方法可以设计出性能更优、功能扩展灵活、控制智能化的新一代波形发生器,可以满足教学、科研、工业生产等各方面对波形发生器性能有较高要求的应用场合。
综合以上几种设计方案,本设计采用方案三软硬件设计法。
其方案能够产生很好的波形,也易实现。
三硬件原理波形的产生是通过AT89C51单片机执行某一波形发生程序,向D/A转换器的输入端按一定的规律传送数据,从而在D/A转换电路的输出端得到相应的电压波形。
AT89C51单片机的最小系统有三种连接方式。
一种是两级缓冲器型,即输入数据经过两级缓冲器后,送入D/A转换电路。
第二种是单级缓冲器型,即输入数据经输入寄存器直接送入DAC寄存器中,然后再送入D/A转换电路。
第三种是两个缓冲器直通,输入数据直接送入D/A转换电路进行转换。
本电路仿真的总图如下:图2 系统电路1 MCS-51单片机的内部结构典型的MCS-51单片机芯片集成了以下几个基本组成部分。
一个8位的CPU。
256单元内数据存储器(RAM)。
B128或B8片内程序存储器(ROM或EPROM)。
KB4或KB4个8位并行I/O接口P0~P3。
两个定时/计数器。
5个中断源的中断管理控制系统。
一个全双工串行I/O口UART(通用异步接收、发送器)。
一个片内振荡器和时钟产生电路。
图3 单片机引脚2 CPU 结构CPU 是单片机的核心部件,它由运算器和控制器等部件组成。
运算器以完成二进制的算术/逻辑运算部件ALU 为核心,它可以对半字节,单字节等数据进行操作。
例如,能完成加、减、乘、除、加1、减1、BCD 码十进制调整、比较等算术运算,完成与、或、异或、求反、循环等操作,操作结果的状态信息送至状态寄存器。
运算器还包含有一个布尔处理器,用以处理位操作。
它以进位标志位C 为累加器,可执行置位、复位、取反、位判断转移,可在进位标志位与其他的位之间进行位数据传送等操作,还可以完成进位标志位与其他的位之间进行逻辑与、逻辑或操作。
PC 是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为KB 64~0,PC 有自动加1功能,即完成了一条指令的执行后,其内容自动加1。
指令寄存器(IR ,Instruction Register )。
存放当前从主存储器读出的正在执行的一条指令。
当执行一条指令时,先把它从内存取到数据寄存器(DR ,Data Register )中,然后再传送至IR 。
指令划分为操作码和地址码字段,由二进制数字组成。
为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。
指令译码器就是做这项工作的。
指令寄存器中操作码字段的输出就是指令译码器的输入。
操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
3 存储器和特殊功能寄存器存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。
计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
它根据控制器指定的位置存入和取出信息。
特殊功能寄存器(SFR)的地址范围为80H~FFH。
在MCS-51中,除程序计数器PC和四个工作寄存器外,其余21个特殊功能寄存器都在这SFR块中。
其中有5个是双字节寄存器,它们共占用了26个字节。
特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。
这些特殊功能寄存器大体上分为两类,一类和芯片的引脚有关,另一类作片内功能的控制用。
与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。
4 P0~P3口结构P0口功能:P0口具有两种功能:第一,P0口可以作为通用I/O接口使用,P0.7~P0.0用于传送CPU 的输入/输出数据,输出数据时可以锁存,不需要外接专用锁存器,输入数据可以进行缓冲。
第二,P0.7~P0.0在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写。
P1口功能:P1口的功能和P0口的第一功能相同,仅用于传递输入/输出数据。
P2口功能:P2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。
它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。
P3口功能:P3口有两个功能:第一功能与其余三个端口的第一功能相同;第二功能作控制用。
P3.0—RXD串行数据接收口。
P3.1—TXD串行数据发送口。
P3.2—INT0外中断0输入。
P3.3—INT1外中断1输入。
P3.4—T0计数器0计数输入。
P3.5—T1计数器1计数输入。
P3.6—WR外部RAM写选通信号。
P3.7—RD外部RAM读选通信号。
5 时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
6 时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。
图4 时钟部分电路在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡,并产生振荡时钟脉冲。
振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。