基于单片机的波形发生器.docx

上传人:b****5 文档编号:7678580 上传时间:2023-01-25 格式:DOCX 页数:29 大小:376.33KB
下载 相关 举报
基于单片机的波形发生器.docx_第1页
第1页 / 共29页
基于单片机的波形发生器.docx_第2页
第2页 / 共29页
基于单片机的波形发生器.docx_第3页
第3页 / 共29页
基于单片机的波形发生器.docx_第4页
第4页 / 共29页
基于单片机的波形发生器.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于单片机的波形发生器.docx

《基于单片机的波形发生器.docx》由会员分享,可在线阅读,更多相关《基于单片机的波形发生器.docx(29页珍藏版)》请在冰豆网上搜索。

基于单片机的波形发生器.docx

基于单片机的波形发生器

基于单片机的波形发生器

摘要

随着电子技术的发展,电子产品越来越走进人们的生活,在电子产品的生产应用和调试检验中经常需要产生一定频率的仿真信号用于驱动仪表或仪器,同时,在教学实验中也有很多的应用。

所以,从实用性、可靠性及经济性上考虑,设计一种基于单片机新型的、性能稳定的波形发生器是十分必要的。

本论文详细的阐述了基于单片机的波形发生器的设计,着重就硬件电路以及应用软件的设计进行了研究,对总体设计思路进行了阐述,介绍了芯片的选择,外围电路设计及主要流程图。

在熟悉单片机和数模转换芯片工作原理和应用方法的基础上,设计了各个模块的接口电路,并分析了各模块的主要功能。

在硬件电路的基础上对个部分对应的软件也进行了设计。

本文设计的波形发生器可以产生多种波形,成本低廉且操作简洁方便。

波形由软件产生各种数据再经过D/A转换后输出,除了能产生所要求的正弦、三角、方波、锯齿等多种波形外,并可根据实际情况的需要在波形存储器中写入不同的波形可以随时添加。

并有键盘输入和显示,显示部分采用LED设计,主要显示输出频率,此方案产生的最大频率大约10KHz。

可满足精度误差要求达到5%的,可满足多种低频信号源的使用场所。

在各大专院校及其他行业具有很广泛的应用前景和推广价值。

关键词:

单片机,波形发生器,数模转换,波形存储,频率

THESCMWAVEFORMGENERATOR

 

ABSTRACT

 

Alongwithelectronictechnology'sdevelopment,theelectronicproductsenterpeople'slifemoreandmore,theproductionofelectronicproductstestinganddebuggingoftenneedtohaveacertainfrequencysignalforthesimulation-driveninstrumentsorequipment,simultaneously,alsohasmanyapplicationsintheteachingexperiment.Therefore,consideredtheusability,thereliabilityandtheefficiency,designsanewkindwavegeneratorwhichisbasedonthemicrocontrollerandhavethestableperformanceisverynecessary.

ThispaperelaboratsonthedetailsoftheSingleChipMicrocontrollerwaveformgenerator'sdesign,focusedonhardwareandsoftwareforthedesign.Andtheoveralldesignideaswereexpounded.ITintroducedthechipchoice,theperipheralcircuitdesignandthemainflowchart.BasedontheunderstandofmicrocontrollerandD/Aconverterchip,Idesigntheinterfacecircuitandanalysethemainfunctionsofeachmodule.Onthehardwarecircuitsonthebasisofthecorrespondingpartsofthesoftwarehavealsocarriedoutdesign.

Inthispaper,thedesignofthewaveformgeneratorcanproduceavarietyofwave,low-costoperationsimpleandconvenient.Waveformdatageneratedbythesoftware,thenthroughanotherD/Aconverteroutputs.Inadditiontoproducetherequiredsine,triangle,squareandsawtoothwaveform,accordingtoactualneedsthiswaveformgeneratoralsocanproduceotherwaveform.Andakeyboardinputanddisplay,thedisplayadoptLED,maindisplayoutputfrequency.Themaximumfrequencyofthisdesignisaboat10KHz.Tomeettherequirementsofprecisionoferrorof5percent,andtomeetavarietyofsourcestouselow-frequencysignalsplaces.Havetheverywidespreadapplicationprospectandpromotedvalueinvariousuniversities,collegesandinstitutesandotherprofessions

KEYWORDS:

SingleChipMicrocontroller,WaveformGenerator,D/A,Amplitude,Frequency

目 录

前 言1

第1章绪论3

§1.1课题的研究目的和意义3

§1.2多种波形发生器国内外现状3

§1.3主要研究内容4

第2章总体系统方案设计6

§2.1波形发生方案选择6

§2.2波形发生器整体设计7

§2.2.1主要设计思想7

§2.2.2系统组成7

§2.2.3系统功能8

第3章系统硬件设计9

§3.1中央处理模块9

§3.1.1控制芯片选择9

§3.1.2AT89C51单片机结构特点9

§3.1.3系统外围电路设计14

§3.2数模转换模块16

§3.2.1芯片选择16

§3.2.2DAC0832结构16

§3.2.3DAC0832应用电路18

§3.3波形存储模块19

§3.4键盘模块21

§3.5显示模块23

第4章软件设计24

§4.1软件调试环境简介24

§4.2程序设计24

§4.2.1主程序设计25

§4.2.2键盘程序设计26

结 论27

参考文献28

致 谢30

附 录31

前 言

在现代社会,电子产品越来越走进人们的生活,并在社会生活的各个方面得到普遍应用,在电子产品的生产应用和调试检验中经常需要产生一定频率的仿真信号用于驱动仪表或仪器。

在电子技术领域中,许多电子系统及元器件的电气性能,只有在一定的电信号作用下才能显露出来,因此信号源在电子测量技术中是极其重要的,它是构建测量系统的重要组成部分。

信号源作为现代电子产品中的重要一员,必须满足高精度、高速度、高分辨率等要求。

另外,不同的应用系统所要求的信号波形是不同的,因此设计一种通用性较强的频率可调的多种波形信号发生起是十分必要的。

所以应运而生的是基于各种不同原理的信号发生器。

结构简单,成本低廉但是性能优良的波形发生装置已经越来越广泛地应用在现代化控制领域的各个方面。

无论是工业,民用,航空,军事还是商业领域都有信号发生装置的设计应用产品。

而且波形发生器也广泛应用于各大专院校实验室以及各科研单位。

技术的发展应是面向人性化、智能化、经济化为一体的发展目标。

本课题正是以控制信号发生为出发点,对单片机作为中央控制器,直接由软件产生波形信号的输出,并可通过软件的修改,达到输出任意波形,用于测试电路,可以用来给定时器提供波形,使电路能稳定工作的智能化波形发生器模型作较详细的介绍。

本设计以单片机为应用核心,通过单片机控制各种外围芯片及电路,重点是51系列单片机和D\A转换器、分频器、波形存储器、以及键盘显示等应用。

这个波形发生器具有以下一些功能

(1)具有产生正弦波、方波、三角波和锯齿波几种种周期性波形的功能。

(3)具有波形存储的功能。

(5)输出波形幅度范围0~5V(峰-峰值)。

(6)具有显示频率(周期)功能。

(7)用键盘或其他输入装置产生任意波形。

由于此种信号源是基于单片机,所以可以在不修改硬件结构的情况下,通过软件的修改来实现信号源功能的扩充,从而节省了成本。

具有频率合成精度高,性能稳定可靠,转换速度快,通用性强,兼容性好,使用方便等优点,能够满足各种用户在不同场合的使用要求。

第1章绪论

 

§1.1课题的研究目的和意义

当今世界在以电子信息技术为前提下推动了社会跨跃式的进步,科学技术的飞速发展日新月异带动了各国生产力的大规模提高。

由此可见科技已成为各国竞争的核心,尤其是电子信息技术更显得尤为重要,在国民生产各部门电子信息技术得到了广泛的应用。

电子产品也越来越走进人们的生活,并在社会生活的各个方面得到普遍应用,作为一个现代人无时无刻不在与电子产品打交道。

那么,在电子产品的生产应用和调试检验中经常需要一种仪器产生一定频率的仿真信号用于驱动仪表或仪器,这就是波形发生器,波形发生器是一种常用的信号源,广泛用于科学研究、生产实践和教学实践等领域。

如电子产品的设计和测试、汽车制造、生物医药、传感器仿真、制造模型等。

另外,许多电子系统及元器件的电气性能,只有在一定的电信号作用下才能显露出来,由此可以看出信号源在电子信息技术中是极其重要的,它是构建现代电子信息系统的重要组成部分。

为了满足科学研究、生产实践和教学实践的需要,我们觉得有必要设计出一种经济、实用的波形发生器,根据要求可以产生正弦波、方波、三角波、锯齿波等多种波形,波形频率和幅值均可调,可显示波形频率,用键盘可对波形的频率和幅值都可进行步进调节,便于程控,满足波形发生所需的高精度、高熟读、高分辨率的要求。

§1.2多种波形发生器国内外现状

结构简单,成本低廉但是性能优良的波形发生装置已经越来越广泛地应用在现代化控制领域的各个方面。

无论是工业,民用,航空,军事还是商业领域都有信号发生装置的设计应用产品。

而且波形发生器也广泛应用于各大专院校实验室以及各科研单位。

传统的波形发生器采用模拟电子技术由分离元件构成振荡电路和整形电路,产生波形。

他在电子通信、通信、工业等领域曾发挥了很大的作用。

但是采用这种技术的波形发生器电路结构复杂、体积庞大、稳定性和准确度较差而且仅能产生几种简单波形,难易产生较为复杂的波形信号,且可控性不好,如要改变频率和幅值比较困难。

目前常用的波形发生器主要是两种:

低频正弦波发生器和通用多波形发生器。

前者只能产生正弦波调节范围不大,但是信号稳定,失真度低,主要用在对波形有很高要求的地方;后者能产生正弦波、方波和三角波,也有的能产生三种以上的波形。

这两种波形发生器都比较昂贵,适用于一些要求较高的产业中,比如,在波形发生领域,常用的波形发生器多数采用分立元件组成,不但电路复杂而且价格昂贵。

直接数字合成(DirectDigitalSynthesisDDS)技术虽已出现,并可产生高频纯净的信号,但因价格比较昂贵所以不适合在学校使用,而且仅能产生一种常用的信号波形正弦波,还很少有可调节两路输出波形之间相位差的波形发生器,不能满足实际需要。

而在我们的普通应用和日常实验中有的要求产生更多的波形或是对波形的要求不是太高,那么基于这种需求,我们设计的波形发生器,以单片机系统为核心,能够产生正弦波、方波、三角波以及锯齿波,波形频率和幅度可调,正弦波频率可达10kHz以上,具有波形存储功能,并能够实时地显示输出波形的类型、重复频率和幅度,能满足一般的实验及演示的需要,并且成本很低,操作简洁方便。

§1.3主要研究内容

本课题主要研究基于单片机的波形发生器设计,主要研究内容为:

(1)熟悉AT89C51单片机的应用和接口电路设计要求;

(2)熟悉模数转换芯片DAC0832的应用;

(3)根据要求进行系统方案的分析和设计;

(4)熟悉PROTEL绘图工具,根据单片机和数模转换芯片的特点设计各功能模块的硬件电路;

(5)熟悉软件开发环境并完成各模块的程序调试工作。

第2章总体系统方案设计

 

整个波形发生器系统的设计分为硬件设计和软件设计两个方面。

系统硬件的设计是否合理,极大的影响着软件的实现和系统的性能和使用,对整个系统设计来说非常关键。

本章主要阐述系统硬件的设计方案。

§2.1波形发生方案选择

方案一:

由硬件产生。

由硬件产生的信号没有阶梯,波形光滑。

如果采用压控振荡器,就可单片来控制信号的频率,能过电子开关来选择不同的振荡器投入工作,就可以输出不同的波形。

不过,不同波形需要用不同的振荡器来实现,电路较复杂,难以输出超低频的信号。

方案二:

直接数字查表法合成周期信号,结构见图2-1。

波形固化在EPROM或其他非易失性存储器中,通过查表电路,在晶振时钟控制下不断地从EPROM中取出数据,通过DAC和低通滤波器输出。

此结构的特点是能产生较高频率的信号,但不变程控切长生信号类型有限。

图2-1直接数字查表法

方案三:

利用单片机查表法合成周期信号,结构见图2-2波新数据固化在EPROM中,单片机不断地从存储器中取出数据,经并行口送出,再经DAC输出。

此方案由软件产生,将各种波形的数据固定在单片机的程序存储器里,通过改变这些数据的输出速度便可以改变信号的频率,通过改变D/A转换器的参考电压便可以改变信号的最大值,硬件电路简单,成本低,便于程控,但不能产生较高频率的信号。

图2-2利用单片机查表法

通过比较,最后一个方案适合课题要求,决定采用方案三来实现。

§2.2波形发生器整体设计

§2.2.1主要设计思想

本系统设计一个能产生正弦波,三角波、方波及锯齿波的信号发生器。

使用AT89C51作为CPU单元,波形函数由单片机产生,经过DAC0832芯片处理得出模拟信号。

以数字控制信号发生为出发点,单片机作为中央控制器,直接由软件产生波形信号的输出,并可通过软件的修改,达到输出任意波形的目的,用于测试电路。

为了达到输出幅值控制的目的,本系统用两片0832控制,其中一片作为信号输出,另一片作为基准电压的输入。

显示部分LED数码管显示,主要显示输出频率。

键盘输入所要产生波形的频率和幅值,此方案产生的最大频率大约10KHz,具有线路简单、结构紧凑、性能优越等特点。

§2.2.2系统组成

波形发生器系统由以下几部分组成:

中央处理模块、D\A转换模块、波形存储模块、键盘输入模块、数码显示模块以及功率放大模块。

系统框图如下:

图2-3系统框图

§2.2.3系统功能

(1)具有产生正弦波、方波、三角波和锯齿波等波形的能力;

(2)用键盘输入控制生成上述四种波形;

(3)具有波形存储的功能;

(4)输出波形最大频率10KHZ,频率可步进调节;

(5)输出波形幅度范围0-5V;

(6)具有显示输出波形频率的功能;

(7)具有掉电存储功能;

(8)当负载变化时,输出电压幅度变化不大,要求变化幅值不大于±5%。

 

第3章系统硬件设计

本章主要阐述系统硬件设计,对芯片选型、芯片特点及外围电路设计进行详细研究。

§3.1中央处理模块

中央处理模块是整个系统的控制核心,它的主要作用是接受键盘发来的信息并进行处理,处理后发送给LED模块进行显示,按键盘输入信息生成对应波形的信息表,并存入EEPROM,当有波形输出要求时,查询EEPROM中表,把查得数据输出到模数转换模块中生成相应波形。

§3.1.1控制芯片选择

方案一:

采用通用的51单片机AT89C51作为主控制器,这是现在比较通用的51系列单片机。

51系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较熟,其软件编程易实现,编程语言为通用C语言,易于掌握,而且资料丰富。

方案二:

采用凌阳SPCE061A单片机,此单片机功能比较强大,且自身带有D\A转换器,处理数据快速,外围部件完备,但由于价格比较昂贵,使用较少,资料很少,且软件编程难掌握。

由此,选用方案一。

§3.1.2AT89C51单片机结构特点

AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。

AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

图3-1AT89C51管脚

主要性能参数:

·与MCS-51兼容

·4K字节可编程闪烁存储器

·寿命:

1000写/擦循环

·数据保留时间:

10年

·全静态工作:

0Hz-24Hz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

(1)管脚说明:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚      备选功能

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(外部数据存储器写选通)

P3.7      /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

(2)工作模式

1、复位方式

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位操作通常有两种基本形式:

上电复位和上电或开关复位。

上电复位要求接通电源后,自动实现复位操作。

2、空闲节电模式

AT89C51有两种可用软件编程的省电模式,他们是空闲模式和掉电工作模式。

这两种方式是控制专用寄存器PCON中的PD和IDL位来实现的。

PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。

IDL是空闲等待方式,当IDL=1时,激活空闲工作模式,单片机进入睡眠状态。

如需同时进入两种工作状态,即PD和IDL同时为1,即激活掉电模式。

在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。

此时,片内RAM和所有特殊功能寄存器的内容保持不变。

空闲模式可由任何允许的中断请求或硬件复位终止。

终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件激活,IDL被硬件清处,即刻终止空闲工作方式。

程序会首先响应中断,进入中断服务程序,执行中断服务程序并紧随RETI指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。

其二是通过硬件复位也可以将空闲工作模式终止。

需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序都的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。

为了避免可能对端口产生以外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。

3、掉电模式

在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1