毕设正文.docx

上传人:b****5 文档编号:27959811 上传时间:2023-07-06 格式:DOCX 页数:37 大小:66.17KB
下载 相关 举报
毕设正文.docx_第1页
第1页 / 共37页
毕设正文.docx_第2页
第2页 / 共37页
毕设正文.docx_第3页
第3页 / 共37页
毕设正文.docx_第4页
第4页 / 共37页
毕设正文.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

毕设正文.docx

《毕设正文.docx》由会员分享,可在线阅读,更多相关《毕设正文.docx(37页珍藏版)》请在冰豆网上搜索。

毕设正文.docx

毕设正文

第一章绪论

1.1选题依据和意义

信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器,除了在电子测量中有广泛应用,信号发生器在其它领域中也有应用,例如机械部门的超声波探伤,医疗部门的超声波诊断、频谱治疗仪等。

信号发生器也是一种常用的信号源,广泛应用于科学研究、生产实践和教学实践等领域,信号发生器作为电子领域不可缺少的测量工具,也常用于理论实验以及精确度要求不是太高的实验,因此完整的函数信号发生器的设计具有非常重要的实践意义和广阔的应用前景。

信号发生器必然将向更高性能,更高精确度,更高智能化方向发展,就像现在数字化信号发生器的崛起一样。

但作为一种仪器,必然要考虑其所用领域,也就是说要因地制宜,综合考虑性价比,用低成本制作的集成芯片信号发生器短期内还不会被完全取代,还会比较广泛的用于理论实验以及精确度要求不是太高的实验,有着广阔的应用前景。

本设计的意义在于使日常所学知识得到一个实际应用的机会,它不仅可以让学生了解到一个设计的组成和步骤,学习到一个设计的设计方法和技巧另外,也能通过设计使学生学习到了设计的技巧——模块化设计,即把一个设计分成若干个模块,对每个模块进行设计和完善,再对每个模块进行组合和完善,最后形成完整的设计,从而达到学习认知并加以使用的过程。

1.2国内外关于该论题的研究现状和发展趋势

信号发生器作为一种常见的应用电子仪器设备,传统的一般可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。

但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。

在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。

信号发生器一直在发展之中,从70年代的只能产生简单波形而且成本高到现在可以产生各种复杂的波形成本也大大降低,到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了函数波形发生器的发展,2003年,Agilent的产品33220A能够产生17种波形,最高频率可达到20M,2005年的产品N6030A能够产生高达500MHz的频率,采样的频率可达1.25GHz。

由上面的产品可以看出,函数波形发生器发展很快近几年来,国内外波形发生器技术发展的非常迅速!

1.3单片机在低频信号发生器中的应用

随之时代的进步,科技的不断进步,电子技术也日新月异,给人们带来了根本性的转变。

在现代社会电子领域内,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。

单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从工厂进入生活中,微波炉啊、空调、音响等等,处处可见其应用。

因此,单片机已成为日常生活必不可缺的一部分,带来了许许多多的好处,让民众的生活更加智能化、舒适化。

1.4研究内容

本文是基于单片机的多功能智能函数发生器的设计,采用C程序编程的方法来实现递增斜波、递减斜波、方波、三角波、正弦波、阶梯波的产生。

根据设计的要求,对各种波形的频率进行程序的编写,通过数码管显示波形种类和频率,并将所写程序装入单片机的程序存储器中,在程序运行中,当接收到来自外界的按键指令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经数/模转换电路和运算放大器电路处理后,从函数发生器的输出端口输出。

 

第二章系统设计

2.1系统方案比较

方案一:

采用单片函数发生器ICL8038,ICL8038可同时产生正弦波、方波等,而且方法简单易行,用运算放大器改变调制电压,也可以实现数控调整频率,但产生信号的种类有限,只有几种波形,也没有办法通过编程的方法改变频率,没法实现要求的功能。

方案二:

AT89C52芯片中的每一路模拟输出与DA0832芯片连接,构成多个DA0832同步输出电路,这样的做法好处是精度高,且电压的幅度高,但是,多个DA0832相连输出,不易检查错误,而且电路复杂。

方案三:

采用单片机编程的方法来实现,AT89C52芯片与一片DA0832相连,且DA芯片工作在直通模式,直接处理数据进行数模转换,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换与显示。

此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高,可调性也高。

鉴于方案一的信号产生的种类不够和频率不好控制和方案二的电路复杂,频率覆盖系数不好弄等缺点,所以决定采用方案三的设计方法。

它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。

2.2设计原理

复位

独立式按键

89C52单片机

LED显示波形种类

DA0832

波形选择

放大电路

基准电压电路(可选)

波形输出

图2.1系统设计框架图

由图2.1可知设计的基本原理,信号发生器由电源、单片机最小系统,D/A转换电路、基准电压电路、LED显示电路、按键、运放电路等组成。

89C52是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号频率的调节。

当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形,并通过按键控制波形。

2.3设计思想

(1)52单片机向直通模式下的DAC0832送对应的数字量就能得到相应的模拟信号,波形的选择通过P3口的按键中断实现。

(2)将一个周期的信号分离成256个点(按X轴等分),在单片机定时器模式3下用T0计时器,刚好可以送数256个,利用改变定时器的定时时间可以改变产生波形的频率。

(3)方波的模拟产生:

●数字量为0x00到第0x80时推入DAC0832输出为低电平

●数字量为时推入0x81到0xff时推入DAC0832输出为高电平

(4)三角波模拟信号由D/A转换器的模拟量输出:

向DAC0832送数据0—255后,再送数据255—0的连续数据就能够得上一个周期的完整三角波,由于取了两个256个值,所以频率是方波的两倍,

(5)正弦波的模拟信号由D/A转换器的模拟量输出的计算公式为:

mode5_temp=sin(N*3.14159/180)*127+128;(N=0~360)

mode5_temp;正弦的角度表值

由于52单片机ROM很小,计算的会比较吃力,考虑到这个原因本设计通过建立表格数据,进行查表查询正弦的数值,0到360度,所以正弦的频率和以上波形都不一样。

(6)同样,递增和递减是一个道理,相反的过程,递增斜波通过从0x00一直自加到0xff,溢出后再重复自加送给DA转换,递减则是从0xff自减到0x00依此重复这个过程形成递减斜波。

(7)阶梯波也是自加,通过对20进行模运算,每20个数取同一个值,再传给DA芯片进行转换,到了256再溢出重复,形成阶梯波。

(8)波形的放大输出:

由于DA0832芯片产生的是模拟电流信号,需要把电流转换为电压进行输出显示,这时候需要LM324进行电流电压变换,从而输出波形的目的。

2.4设计功能

以单片机AT89C52为核心器件组成一个多功能智能函数发生器。

1、系统能够产生递增斜波、递减斜波、方波、三角波、正弦波、及阶梯波。

2、系统可以通过选择开关选择相应的波形输出。

3、系统具有复位功能。

4、系统可用LED显示输出波形的种类和频率。

这里用按键来实现控制波形的功能,每按下一次按键,对应的输出波形也随之相应改变,要实现快捷变换,稳定,精度高的要求,其中LED数码管第一位显示的是波形的种类,用数字代表相应的波形,从1到6分别表示递增斜波、递减斜波、方波、三角波、正弦波、阶梯波。

后三位表示波形对应的频率,采用动态显示的方式,逐位选中显示,当间隔时间很短时,呈现出全亮的情况,肉眼看不出来停顿的情况下,就达到了动态显示的效果,这样的好处是电路简单,可以通过程序进行控制位选显示,DA输出端接LM324运放实现电流到电压的转换,并进行放大,便于观察波形和日常使用。

 

三、硬件电路设计

3.1硬件原理框图

硬件原理方框图如图3.1所示

基准电路

复位

运放电路

D/A电路

时钟

按键

LED显示电路

图3.1硬件原理图

单片机是系统的核心部分,通过按键控制波形输出,通过DA转换电路和放大电路生成相应的波形,复位电路用于系统复位和重启。

3.2AT89C52单片机系统

①AT89C52芯片的引脚图如图3.2

图3.2AT89C52引脚图

②管脚说明:

低频信号发生器采用AT89C52单片机作为控制核心,工作电压为5v,其内部组成包括:

一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KBROM;四个8位并行I/O(输入/输出)接口P0–P3,每个口可以用作作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统:

一个全双工UART(通用异步接收发送器)的串行I/O口。

●VCC:

供电电压。

●GND:

接地。

●RST:

复位输入。

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

●ALE/PROG:

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

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

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

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

然而要注意的是:

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

●/PSEN:

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

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

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

●/EA/VPP:

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

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

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

●XTALl:

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

●XTAL2:

来自反向振荡器的输出。

●PO口:

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

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

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

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

●Pl口:

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

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

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

●P2口:

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

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

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

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

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

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

●P3口:

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

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

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故,P3口也可作为AT89C52的一些特殊功能口,如下所示:

P3.0RXD(串行输入口)P3.1TXD(串行输出口)

P3.2/INTO(外部中断O)P3.3/INTI(外部中断1)

P3.4TO(记时器0外部输入)P3.5T1(记时器l外部输入)

P3.6/WR(外部数据存储器写选通)

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

③AT89C52的外围晶振电路及复位电路

 

图3.3晶振和复位电路

如图3.3所示,左上面部分电路是晶振电路,左下部分是复位电路,52单片机要想正常工作的话,必须给他外接一个时钟脉冲,XTAL1位振荡电路的输入端,XTAL2为输出端。

通常晶振频率为1.2MHZ-12MHZ,而片内的时钟产生有两种方式:

一是内部时钟方式,而是外部时钟方式。

在这采用了内部振荡方式,c1,c2为22pf的电容,晶振是12MHZ的,机器周期为1us。

要想使单片机复位的话,就需要一个复位电路了,这里选择手动复位电路,在接通电源后,按下按钮单片机上电复位,因为单片机是高电平复位,所以选择了上述复位电路。

3.3LED显示模块

 

图3.4LED显示电路

如图3.4所示,在本设计中,采用4位共阳数码管来显示波形的种类和频率。

由4个PNP三极管驱动可以获得高亮度的显示。

第一位显示的是波形种类,后三位显示的是波形的频率。

当产生一个周期的波形需要把256个数组推送到DAC0832中,数据量大,所以不能产生很高的频率,用4位的数码管就够,4个数码管的b极接p1.4-p1.7口控制位选进行动态显示,段选端通过上拉电阻接p0口,当p口送入高电平时通过三极管发射极为低电平,没有位选到,送入低电平是,发射极为高电平,此时共阳数码管位选成功,进行显示。

3.4DA0832数模转换模块

 

图3.5DA0832引脚图

如图3.5所示,DA0832数模转换芯片的引脚图,要想将数字信号转换为模拟信号,就需要进行D/A转换,DA0832是分辨率为8位的电流输出型D/A转换器,DA0832内部由“8位输入锁存器”、“8位DAC寄存器”、“8位D/A转换电路”构成,这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用,DA0832寄存器的选择是通过与门、与非门组成的输入控制得,其工作原理框图如下图3.6所示:

 

图3.6DAC0832原理框图

根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:

直通方式、单缓冲方式和双缓冲方式

●DAC0832引脚功能说明:

●D0~D7:

数据输入线,TLL电平。

●ILE:

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

●CS:

片选信号输入线,低电平有效。

●WR1:

为输入寄存器的写选通信号。

●XFER:

数据传送控制信号输入线,低电平有效。

●WR2:

为DAC寄存器写选通输入线。

●Iout1:

电流输出线。

当输入全为1时Iout1最大。

●Iout2:

电流输出线。

其值与Iout1之和为一常数

●Rfb:

反馈信号输入线,芯片内部有反馈电阻。

●Vcc:

电源输入线(+5v~+15v)。

●Vref:

基准电压输入线(-10v~+10v)。

●AGND:

模拟地。

●DGND:

数字地。

在本设计中,采用的是直通模式,如图3.7,因为接线比较简单,直接进行送数就可以了,直通模式,WR1和CS,WR2和XFER接地,ILE接电源高电平,VREF接电源5v,也可以接MC1403生成的基准电压,这样工作更稳定。

 

图3.7DAC0832直通模式接法

在本设计中当然也可以使用其他方式的接法,单缓冲方式适用于一路模拟信号输出或者几路模拟信号非同步输出的情形下,双缓冲方式适用于在需要同时需要记录模拟信号的场合,一路对应一个DAC0832芯片,程序简单,但是电路连接比较麻烦,这两种方式都需要单片机的IO口进行控制,选通进行工作,故而没有直通模式简单实用,直通模式下只需要进行传输数据给DAC0832就可以了,不需要单片机控制它的选通状态。

所以考虑再三选择了直通模式接法。

3.5LM324运放模块

LM324芯片的管教图如图3.8所示:

 

图3.8LM324管脚图

每一个LM324都包含了四个运放在里面,采用的14脚双列直插封装模式,1,2,3管脚组成一个小运放,1是out输出端,2时反向输入端,3是同向输入端,4和11管脚接电源供电,LM324具有电源电压范围广,静态功耗小,也很便宜,性价比高,所以设计中采用LM324运放进行电流电压转换并且放大。

使显示的波形更加美观,在这里采用的是双极性放大电路,电路图如图3.9所示:

 

图3.9双极性放大电路

运放U5的作用是把运放U4的单向输出电压转换成双向输出电压,设U4端输出电压参数为Uout1,D/A的输出电压Uout计算如下:

Uout=-[(R3/R1)Uout1+(R3/R2)VCC]

R2=R3=20K,R1=10K,VREF=5V

Uout=-(2Uout1+VCC)

Uout1=-VREF*(数字码/256)

计算得D/A输出电压在-5V到5V之间变化。

3.6MC1403低压基准模块

MC1403芯片是低压基准芯片,用作D/A芯片的基准电压,使其工作的更加稳定,实践中发现可以不使用这个芯片,对设计的结果影响不是很大,故而没有采用这个芯片,MC1403芯片管脚如图3.10所示:

 

图3.10MC1403

MC1403输出电压2.5v,电路连接1管脚接5v电源,3管脚接地,2管脚接个小的电容就可以实现基准电压的输出。

●频率、幅度范围:

频率范围取决于晶振电路,本设计中晶振是12MHZ的,单片机的机器周期是1us,即最小的延时也必须1us以上,一个波形信号的周期是由两个机器周期组成,所以最小周期为2us,此时,产生的频率最大,为0.5MHZ,没有下限频率,可以无限小,而幅度取决于D/A电路和运放模块,如运放模块计算结果,D/A输出电压在-5V~5V之间。

 

第四章软件设计

4.1主程序流程图

本设计中程序功能调用是通过按键的选择来实现的,在按键按下后,启动定时器和相应的中断服务程序,再直接调用预先设置好的子程序通过D/A电路转换输出相应的电压,从而形成所需的各种波形,按下复位按键后对单片机进行初始化,设计中程序编写是通过keiluv2软件进行编写的,uv2软件是单片机众多开发软件中优秀软件之一,界面简洁,操作简单,仿真功能也强。

程序语言使用的是C语言,C语言编写程序结构清晰易懂,移植性也好,比较好进行调试,程序模块大概分为这几个:

主程序模块、递增、递减斜波模块、三角波模块、方波模块、正弦波模块、阶梯波模块、延时模块、显示模块等。

下面是程序设计中的资源分配情况:

●P0口:

全部接上拉电阻,P0.0-P.07依次分配接四位共阳数码管的A、B、C、D、E、F、G、DP段选端,逐一驱动。

●P1口:

P1.4-P1.7依次分配接数码管的4个位选端,1、2、3、4,实现位选选通显示功能。

●P2口:

P2.0-P2.7依次分配接DA0832的数据输入端D0-D7,实现数据传输的功能。

●P3口:

P3.0串行输入口接按键,控制波形输出。

●DA0832:

直通模式,WR1和CS,WR2和XFER接地,ILE接电源高电平

●数码管:

4位共阳数码管由三个PNP三极管驱动显示。

 

开始

单片机初始化程序

DA0832初始化设置

数码管显示输出波形种类频率值

是否有键按下

按键处理程序,更新DA0832的控制和显示

返回

图4.1主程序框图

主程序设计框图如图4.1所示,利用的是p3口的按键来控制波形输出,通电后默认输出的波形是正弦波,种类显示是5和频率,当再次按下键时,数字加1显示6和频率,输出阶梯波,再按,数字溢出回到1,输出递增斜波,再次按下,显示2输出递减斜波,依此显示方波,三角波,然后循环,其中递增斜波,递减斜波,三角波,阶梯波频率是一样的,方波的频率是它们一半的值,正弦的自行用测周期方法进行计算频率显示。

 

4.2中断流程图

本设计的中断是T0定时器内部中断,中断源的I/O设备是按键,在没有按下时,P3.0口默认是高电平,当按下按键时,这时候电平发生变化,产生一个低电平送入P3.0口,单片机检测到中断并进入,调用子程序处理数据,由于主程序是一个while死循环,如果没有按键再次按下,就会一直不断重复处理,实现连续波形的输出。

重新给定

时器赋值

开定时器,显

示波形和频率

中断

进入

 

中断

返回

 

图4.2中断流程图

中断是指CPU在执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:

CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。

(如有必要,被中断的程序可以在后来某时间恢复,继续执行。

)。

特点:

1)中断随机的

2)中断是可恢复的

3)中断是自动进行处理的

本设计利用p3口按键中断控制波形,如图4.2所示是中断流程图,每按一次调用一次中断,并设置一个参数进行计数,开启定时器,并调用对应的波形显示子程序显示波形种类和频率。

4.3递增斜波流程图

递增斜波在软件设计中设为模式0,因为DA0832处于直通模式下,所以不需要先选中DA0832进行工作,首先要先开启定时器,设计中选择的是1ms的定时,选用的T0定时器,设计数器的最大值为M,计数值为N,初值为X,X的计算方法如下:

计数状态:

X=M–N

定时状态:

X=M–定时时间/T

而T=12/晶振频率

选用的是12MHZ的晶振,所以计数脉冲周期T=1us,模式3下计数最大值M为256,通过计算的初值X=FC18H,再通过程序的编写,便得到了1ms定时,要选择单片机工作模式定时器为工作模式3即TMOD赋值0x11,定时器寄存器TH0,TL0构成计数器T0,定时器寄存器TH1,TL1构成计数器T1,寄存器之间都是通过内部总线和控制逻辑电路连接起来的,1ms的定时,要将0xfc送TH0,0x18送TL0,这样就可以得到1ms的定时。

递增斜波的实现通过赋一个计数初值0,送给0832输出,然后进行自加送出显示,到256再溢出,又从0开始循环,通过DA0832进行数模转换形成递增斜波,递增斜波流程图4.3如下:

送数给0832输出

model_count赋初值0

开始

 

model_count+1=model_count

model_count=ffh?

N

 

Y

图4.3递增斜波流程图

4.4递减斜波流程图

递减斜波和递增斜波刚好相反,递增斜波是通过自加的方式,而递减斜波则是通过从ffh一直自减到00h送数,本设计中递减斜波计数选用的是下面mode2_count是递减斜波的程序流程图4.4所示:

mode2_count-1=mode2_count

送数给0832输出

mode2_count=00h?

mode2_count赋初值ffh

开始

 

N

 

Y

图4.4递减斜波流程图

4.5方波

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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