《基于51单片机的多功能函数信号发生器的设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的多功能函数信号发生器的设计.doc(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、西 南 交 通 大 学本科毕业设计论文基于单片机的多功能函数信号发生器设计年 级:2021学 号:2021XXXX姓 名:XXX专 业:电子信息工程指导老师:XXX 年 月 仅供学习参考 西南交通大学本科毕业设计(论文) 第页院 系 专 业 年 级 姓 名 题 目 指导教师评 语 指导教师 (签章)评 阅 人评 语 评 阅 人 (签章)成 绩 辩论委员会主任 (签章) 年 月 日 西南交通大学本科毕业设计(论文) 第页 西南交通大学本科毕业设计(论文) 第页毕业设计论文任务书班 级 电子信息工程 2 学生 XXX 学 号 2021XXX发题日期:2021 年3月9 日 完成日期:毕业当年的6月
2、 日题 目 基于单片机的多功能函数信号发生器设计 1、本论文的目的、意义 信号发生器无论在我们的教学实验中,还是在严谨的科学研究中,它都发挥着不可替代的作用。但是我们都知道,实验室中用到的经典函数信号发生器产生的信号不够稳定,频率和幅值容易发生抖动,因为它们使用纯硬件设计。并且它们往往价格还很昂贵。而使用单片机为主控的信号发生器有着设计方便、价格廉价,易于扩展等优点。所以本文就用单片机来设计多功能函数信号发生器,没有传统信号发生器的那些缺点。这不仅能提高个人的思维动手能力水平,还将会进一步扩大单片机的开展。 2、学生应完成的任务 研究的目的和意义:设计新型的函数信号发生器;系统设计:比拟各个设
3、计方案,选取一个比拟适宜的设计方案;硬件设计:包括使用Proteus软件搭建仿真模型和焊接信号发生器实物;软件设计:用Keil软件编写程序并能使仿真和实物能正常运行并产生波形;总体研究结论:总结设计函数信号发生器过程中遇到的问题和得到的收获。 3、论文各局部内容及时间分配:共 16 周第一局部 资料收集、整理和方案提出 ( 2周)第二局部 总体设计方案和组成方案图 ( 2周)第三局部 实现过程 ( 3周)第四局部 仿真分析和硬件验证 ( 5周)第五局部 论文书写、整理和装订 ( 3周) 评阅及辩论 ( 1周)备 注 指导教师:关海川 2021年3月9日审 批 人: 2021年 月 日 西南交通
4、大学本科毕业设计(论文) 第页 西南交通大学本科毕业设计(论文) 第页摘 要信号发生器也叫振荡器或者信号源,在现如今的科学研究和生产实践中有着很重要的作用。但是现在的函数信号发生器在价格上不够经济实惠,有些甚至还很昂贵。而基于AT89C51单片机开发的函数信号发生器就可以在价格上做到经济实惠。根据傅里叶变换原理,各种波形都可以用三角函数的相关表达式表示出来。函数信号发生器可以产生多类波形,比方三角波、锯齿波、方波和正弦波。本文那么通过51单片机加上一些外设,来完成波形的输出与控制。外围的键盘控制输出波形的种类和频率的大小,运放搭配可变电阻可以调节输出波形的幅值,LCD可以用来显示输出波形的相应
5、信息。在输出端使用DAC0832芯片可以对单片机输出的数字信号进行D/A转换,再通过两级放大对波形进行调整,最终在示波器上显示出来。关键词:信号发生器 单片机 D/A转换 波形调整 频率调整 西南交通大学本科毕业设计(论文) 第页 西南交通大学本科毕业设计(论文) 第V页AbstractSignal generator is also called source or oscillator. It plays an important role in production practice and the research of science and technology. Now, the
6、 price of the special waveform generator is not economic and some are quite expensive. While the function signal generator based on AT89C51 is quite affordable. As we know, it can be represented with trigonometric function equation for kinds of waveform curve. The one can produce various waveform, s
7、uch as triangle wave, sawtooth wave, square wave and sine wave is usually called function signal generator. Function signal generator is broad-spectrum in circuit experiment and test equipment. It can control the type and the output frequency of the waveform when the singlechip are equipped with the
8、 keyboard. And the output range can be changed when we change the size of variable resistor which is a part of operational amplifier. Also when it coupled with the LCD , the information of output can be displayed. It can be sure that it is digital signal that come from the microcontroller. So we can
9、 add the DAC0832 on the output side for D/A conversion. With the two levels of op-amp we can adjust waveform. Finally it can be displayed on the oscilloscope.key words:signal generator, AT89C51, D/A conversion,wave adjust,frequency adjust 西南交通大学本科毕业设计(论文) 第VI页目 录第1章 绪论11.1 课题研究背景11.2 单片机的特点和在信号发生器中的
10、应用11.3 波形介绍3第2章 系统设计52.1 方案选择52.2 框图设计52.3 单片机模块62.4 按键控制及显示电路设计102.5 D/A转换电路112.5.1 D/A转换的必要性112.5.2 DAC0832的特性及应用122.6 显示电路142.6.1 两个显示电路142.6.2 LCD1602工作原理162.7 放大电路212.7.1 放大电路设计212.7.2 LM358及其应用22第3章 软件仿真及程序编写243.1 仿真软件和编程软件243.2 整体电路仿真原理图263.3 程序编写思路及编写结果273.4 仿真结果28第4章 硬件调试314.1 硬件电路焊接314.2 硬
11、件调试及输出验证32结论33致谢34参考文献35附录136附录237 西南交通大学本科毕业设计(论文) 第 44 页 西南交通大学本科毕业设计(论文) 第1章 绪论1.1 课题研究背景近年来,计算机的开展在我们生活中的各个领域都有的很大的进步,以单片机为核心的一些智能产品也越来越常见。信号发生器一直以来都是实验中的重要工具。在科技不断开展的同时,我们也有了很多新的测试仪器和测试手段。所以信号发生器也在测试仪器中扮演者很重要的角色,因此研究和设计信号发生器有着很重要的意义。而研究者也可以根据信号发生器产生的各种波形来完成各种实验和研究,比方说可以测定信号发生器产生信号的各种参数,也可以用产生的信
12、号作为其他电路的鼓励源。实验室中常用的传统信号发生器大多为纯硬件电路搭建,比方一般情况下,实验室会采用555等一些特殊芯片来设计信号发生器,此电路可以产生正弦波、三角波和方波。像这种由特殊芯片设计的纯硬件电路,它们虽然不采用单片机,但是产生出来的波形有很多缺点,比方说可调范围小。同时这种电路设计复杂,本钱高,控制也不够灵活精确。而且由于现在制造工艺的问题,纯硬件信号发生器所需要的大电容电阻也比拟难制造,同时它们的精度也难以保证。所以现在各国对信号发生器的研究也加大了很多,我们也理应当对信号发生器做更深层次的研究和探索。本文那么利用单片机控制的灵活性、外设处理能力较强等特点,实现幅度与频率可调的
13、多种函数波形,这就克服了传统信号发生器的缺点,同时根据程序的易调节与易控制的特点,比拟容易、方便实现调频功能,具有良好的实用性。1.2 单片机的特点和在信号发生器中的应用当今社会是科学技术和设备仪器高度智能化飞速开展的信息化社会,电子科学技术也在开展和进步,这些技术的开展正在一点点的改变社会。单片机的应用在现代电子技术领域中在不断扩大,所以这也引起了传统控制和检测技术的改变。而单片机在智能设备仪器和智能家居中系统和智能办公系统等很多领域都得到了很广泛的应用,因为用单片机构成的仪器有很高的可靠性和性价比。就因为单片机具有很多优点,应用也越来越广泛,所以单片机的开展水平也逐渐成为了一个国家工业开展
14、水平的象征。由于单片机的内部集成了指令系统,并且由于它的特殊结构,所以在一定程度上,一块单片机就可以当做一台简易的电脑,而一般计算的作用是在某些特定领域完成一些专业任务,但是一般情况下,配备了一些外设的一块单片机系统那么可以做到。所以相比拟庞大的专用计算机来讲,小巧的单片机不仅携带方便、价格廉价,同样也能完成这些专业工作,所以单片机得到了空前的开展。以下总结单片机的一些特点:1性能优异,性价比高单片机的性能很高,因为一些常用的存储器和能实现各种功能的I/O口都会被集成到单片机芯片内,单片机随时都可以很方便地进行调用,而不再用对接口进行扩展。相对于性能优异,单片机的价格却比拟低廉,所以说单片机具
15、有很高的性价比。2控制能力强单片机的体积虽然比拟小,但却它却有各种功能部件。所以它能有很多专门的用途,比方说专门的控制。在同一个领域中,单片机控制能力和运行速度一般要比专用微型计算机更高,因为单片机内部一般都设有各种转移指令和其他的各种丰富的指令系统,让它能在各个领域完成一些较为困难的任务。(3) 集成度高、体积小、可靠性高单片机芯片的集成度很高,跟其他芯片相比,单片机内部集成了很多功能部件;而内部各部件之间又采用总线结构,所以就减少了部件之间的接线,这大大见笑了单片机的体积,并且提高了单片机的运行能力;单片机体积小,所以可以嵌入到各种仪器中去,单片机本钱低,也会致使以单片机为主控的设备价格廉
16、价,单片机性能稳定且寿命长,所以能保证设备稳定运行,免于频繁的维护维修。(4) 低电压、低功耗普通单片机的工作电压为5V,相比于其他家用设备,单片机功耗更低,所以由单片机控制的许多家用设备就更省电,并且现在许多单片机的工作电压应经降低到2V了,有的甚至可以工作在0.9V的电压下,功耗自然也就降低了很多,所以能保证设备的长期运行而又不用担忧耗电问题。1.3 波形介绍正弦波正弦波可以说是我们最熟悉的一种波形,不仅在数学中能学到,而且在实际中也经常用到,比方说我们家用的220V交流电就是正弦波交流电,正弦波在我们的实验中也经常用到,正弦信号可用下式表示:f (t)=Asin(t+ ) 1其中,A 为
17、振幅, 为初相位, 是角频率。正弦函数一周期信号如图1-1所示:图1-1 正弦波方波方波函数是我们在实验室中经常用到的一种波形,比方我们常把频率较大的方波作为脉冲使用,当方波的低电平为0时,高电平就是一个脉冲。它的表示形式如下: 2而矩形波那么是方波的下半周期的幅值为0时的一种波形,是方波的一种特殊形式,不再进行详细描述。方波波形如下列图1-2:图1-2 图形锯齿波锯齿波如图1-3所示:图1-3 锯齿波图形三角波三角波波形如图1-4所示:图1-4 三角波图.第2章 系统设计2.1 方案选择方案一:利用8038等一些单片机的函数发生器的传统方式就可以比拟容易地产生出我们常用的正弦波和方波波形等。
18、然后用数/模转换元件对输出的电压进行调节,也可以用数字调控对输出频率进行调节,但用这种方法产生的频率不稳定。方案二:采用频率合成器。我我们可以用锁相环式的频率合成器对所选择的波形频率用压控振荡器VCO进行选定。相比于第一种方法,这种方法产生出来的波形具有良好的性能,但是输出波形的频率难以突破某个范围的限制。最重要的一个缺点是,用这种方法构造的电路比拟复杂。方案三:可以利用对单片机进行编程的方法来实现波形的产生。比方我们可以拿AT89C51作为信号发生器的主控芯片,对单片机编程使其输出各种波形的数字量,然后再用D/A转换模块把输出的数字波形信号转换成模拟波形信号。这个D/A转换模块我们可以选择D
19、AC0832来完成,转换后的模拟信号再经过运放进行两级放大后输出,最终可以在示波器上显示输出波形。输出波形的种类的切换那么可以用I/O口外接按键来实现3。综合以上各种方案我们可以比拟出,方案一利用传统方法输出的函数信号频率不稳定,而方案二使用锁相环式的频率合成器的电路构造又比拟复杂,频率的范围也难以有所突破。所以在进行比拟之后,我决定采用第三种方案的思路。第三种方案,用编程的方法可以很方便地通过调节硬件从而调节输出波形的参数,并且方案三中所用到的一些元件的价格相对都比拟低,所以比拟适合用来完成毕业设计。2.2 框图设计基于单片机的函数信号发生器有以下几局部组成;AT89C51主控电路,外接按键
20、电路,复位电路,电源电路和信号输出电路,框图如下列图2-1所示:复位电路.按键电路.AT89C51主控电路.输出电路.电源电路.图2-1 函数信号发生器系统构成图函数信号发生器的主控局部就是AT89C51单片机,通过编程软件对程序进行编写,烧录到AT89C51里面后就可以产生不同数字波形信号,也可以通过单片机外接按键对输出波形的频率和幅度进行调节和改变。而单片机通过编程输出的波形是数字信号,当经过与单片机连接的数模转换模块DAC0832后,数字信号就可以被转换成模拟信号。而输出波形的幅度那么可以通过两级放大进行调节。图2-1中的输出电路包含了D/A转换电路和运放调整电路。图2-2为此次设计函数
21、信号发生器的原理图:6输出波形.滤波放大.D/A转换.接口电路.89C51单片机.图2-2 信号发生器原理框图2.3 单片机模块 AT89C51单片机片内有一个4KB的ROM/EPROM,因此只需要在外部接入晶振电路和复位电路就可以构成单片机最小系统了,所以单片机最小系统主要由电源、复位电路、振荡电路以及扩展局部组成1。最小单片机系统如图2-3所示。.图2-3 单片机最小系统.该最小系统的特点如下:(1) 由于没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O接口使用。(2) 片内数据存储器大小128B,空间地址为00H7FH,片外没数据存储器。3片内有4KB的程序存储器,地址为
22、0000H0FFFH,没有偏外存储器,.应接高电平。4有两个定时/计数器T0和T1可以使用,一个全双工串行通信接口,5个中断源。6电源供应模块:对于任何一个电子设备来讲,电源是整个设备正常运行的根本,所以供电系统是单片机系统运行的前提,所以单片机系统平稳运行的前提就是有一个稳定的电源系统。我们在实验中发现,虽然51单片机作为经典的一种单片机芯片,但是提供的电源供电模块不够稳定,那么51单片机的运行就可能会受到影响,比方在运行中如果受到了外界的干扰,那么51单片机很有可能会出现程序跑飞的现象。所以为了保证单片机能正常平稳地运行,就要给它提供一个稳定的电源。可以使用外部稳定的5V电源供电模块供应,
23、比方说可以用 充电器5V给最小系统供电。晶振电路工作原理及应用: 单片机系统里都含有晶振,单片机系统里的晶振作用很大,晶振的全称是晶体振荡器,晶体振荡器可以根据内部的特殊电路产生一定的时钟频率,就可以提供应单片机使用,理论上来讲就是晶振产生的频率信号就是单片机的时钟信号。晶振产生的平率代表着运行速度,因为单片机的一切指令都是基于晶振产生的频率上的,所以频率越大,单片机的运行速度就越快。晶振能够把电能转化为机械能,并且能在转化过程中的共振状态下工作,一般情况下,普通晶振的频率精度可以到达50%,而且有些晶振可以通过外部电压的变化,调整内部产生的频率大小,这种晶振成为压控振荡器VCO。晶振的精确度
24、也关系着单片机的精确度。比方说用单片机设计秒表和时钟系统,单片机就对频率的精确度要求很高。所以在某些特定情况下,单片机就需要一个很精确的晶振频率。通常情况下,一个单片机系统会共用一个晶振,所以各部就会在同一个频率下运行,这样会保证各系统之间运行同步。而在某些特殊情况下,某些通讯设备和射频模块会使用两个晶振,这样是为了使用方便,但是为了保证各局部能够同步运行,人们会采取电子调整晶振频率的方法使得两个晶振产生的频率相同,从而保证不同晶振系统能同步运行。而有些特殊的系统中各个子系统需要的频率不同,可以使用两个晶振为其提供时钟频率,也可以通过一个晶振搭配不同的锁相环来提供不同的时钟频率。所以通常情况下
25、,晶振会搭配锁相环为单片机系统提供时钟频率。此次设计使用的AT89C51只需要外接晶振和两个电容就可以构成单片机最小系统,晶振了两端的电容一般大小为15pF-50pF,我们查阅资料后采用22pF的瓷片电容搭配12MHz的晶振来为单片机提供时钟信号。因为51单片机内部在18和19两个管脚之间设有内部振荡电路,由一个反相放大器构成,而18和19两脚及时反相放大器的两个输入端。这样的时钟方式成为内部时钟,本次设计采用的就是这种方式。具体电路如图2-4所示:XTAL1XTAL2单片机复位电路工作原理及应用:单片机在运行过程中会因为程序问题或者操作失误而发生死机现象,这时就要用到单片机的复位系统,按下复
26、位键就能把单片机的运行状态初始化,恢复到刚开机状态。所以单片机的复位就是为了把系统恢复到某个确定的状态。而由于单片机的内部存放器一般在出厂时都有一个预设的初始值,所以单片机在开机时或者复位后,内部存放器就会自动装入这些初始值来到达初始化的目的。从原理上来讲,实现单片机上电自动复位,就是要保证复位管脚RST的复位电平时间大于两个机器周期,所以根据这个要求,晶振的时钟频率为12MHz,我们可以用RC电路的计算方法来计算出具体的参数值。而按键复位那么为手动触发电容放电,然后在充电,就到达了开机上电的效果。下面那么详细表达复位电路的两个组成局部上电复位和按键复位:(1) 上电复位:AT89C51单片机
27、的上电复位有效电平是高电平,通常我们会在RST复位管脚上连接一个电容,然后接到高电平,再连接一个电阻接到低电平,这样就会形成一个RC充放电回路。当上电时,电容充电,RST管脚为高电平,单片机进行复位;充电完成后,RST与电阻连接到GND,单片机正常运行。所以只要保证电容充电时间能持续两个机器周期以上就能让单片机完成上电复位。这个电阻和电容的典型值是10K和10uF。(2)按键复位:从原理上来讲,按键复位就是手动触发上电复位,而不是市使用关掉电源再翻开。按键复位就是在电容两端并联一个开关,当开关按下时,电容两端短路,电容放电,同时RST也接通到了VCC;松开按键时,电容有个充电过程,此过程上电复
28、位过程一样,RST有足够的时间来完成单片机复位。上面已经讲过,复位就是使单片机恢复到初始化状态,即内部存放器都转入厂家预设的初始值,从这个初始化状态开始运行1。当单片机系统上电后,RST会接收到一个连续且持续两个周期以上的高电平,这就是单片机复位的条件。上电复位和按键复位的具体电路如图2-5所示:图2-5 按钮复位电路2.4 按键控制及显示电路设计 本次设计的按键电路共包含3个按键,分别为按键S1、S2和S3。这三个按键分别连接单片机的P3.4脚、P3.5脚和P3.6脚。S1用来改变单片机输出波形函数的类别,按下S1一次,表示对输出波形进行一次切换;S2和S3那么是用来改变频率的,当按下S2时
29、,输出波形的频率会按照一个特定的单位量进行增加,比方说单位量是50,初始值为100Hz,那么按下S2一次,频率变为150Hz,同样S3的作用为对频率进行减小操作。通过与门74LS21可以对各按键信号进行与操作,然后将信号传到P3.2脚,用来测定是否有按键按下。具体电路如图2-6所示。图2-6-按键电路2.5 D/A转换电路D/A转换模块就是把数字量转换为模拟量。此模块常用于信号发生器等一些需要数模转换的设计。我们都知道,D/A模块的输入量和输出量成正比,即Uo=n*Ui,其中Uo为输出模拟量,Ui为输入的数字量,n为倍数。所以我们可以控制AT89C51单片机向D/A模块发送一定规律的数字量波形
30、采样得到,然后经过D/A模块转换后就可以输出有波形规律的模拟量1。2.5.1 D/A转换的必要性此次设计中要产生的波形是模拟量,可以在示波器上显示出来,但我们都知道,单片机作为函数信号发生器的主控,它所产生并输出的量是并非是模拟量,而是不连续的数字量,相当于对波形进行采样的结果。而D/A转换模块的用途就是把数字量转换成模拟量。所以我们可以用数模转换模块岁单片机输出的数字量进行D/A转换,转换后的模拟量就可以在示波器上显示出来,从而到达我们的要求。2.5.2 DAC0832的特性及应用要完成我们这次的设计任务,就要用D/A转换模块把单片机输出的数字量转换为模拟量。说到数模转换模块,首先我们能想到
31、的就是DAC0832芯片,作为一个8位输入的数模转换芯片,其价格廉价易于购置,且芯片资料较多,可以很容易地查阅到DAC0832的相关资料。DAC0832是一个输入为8位的数模转换器,且DAC0832的8位输入端接口可以很容易地与单片机的P口进行连接,所以控制起来也比拟容易。虽然DAC0832的使用很频繁,有很重要的地位,但DAC0832的输出量不是真正的连续可调的模拟量,而是对输出量以其绝对分辨率为单位进行增减,所以从严格意义上来讲,它的输出量是准模拟量。DAC0832主要由四局部组成,它们分别是八位输入存放器、八位D/A转换器、八位DAC存放器和输入控制电路。其内部结构及引脚图如图2-7所示
32、:图2-7 DAC0832的内部结构图2-8 DAC0832的引脚图(1) D7-D0:8位数据输入端,D7位最高位。(2) OUT1为模拟电流输出1端,OUT2为模拟电流输出端2。跟编码器类似,DAC存放器中的数据有两个极端,全1或者全0,两种情况时分别输出为最大值和最小值。(3) Rfe为反阻的端,由于0832内部已经设有反应电阻,所以DAC0832的Rfe脚可以直接连到运放输出端,这样就相当于运放的输出端和输入端之间有了一个反应电阻3。(4) Vref为参考电压的输入端,它决定输入端输入的8位数字量转化到模拟量后的电压值幅度。Vref范围为-10V - +10V。Vref端与DA内部T形
33、电阻网络相连,Vref可接正电压或者负电压3。(5) Vcc:芯片供电引脚输入端,范围为5V-15V。(6) GND3脚:模拟量电路接地端。(7) GND10脚:数字量接地端。DAC0832是D/A转换器的一类,属于电流型,所以后面要跟着I/V转换。DAC0832的输入端可以有以下几种方式:单缓冲、双缓冲和直通方式。当引脚WR1、WR2、XFER直接接地且ILE脚接电源时,DAC0832处于直通状态工作方式。在这种工作状态下,是要输入端有数字量输入,输出端就会马上有输出,这种输入输出方式控制简单,但只能通过独立的I/O接口进行连接。当、WR1、CS和XFER引脚被连接时,两锁存器会分别在直通与
34、受控状态下工作,或者两个同时被控制,那么DAC0832处于单缓冲工作方式1。只要DAC0832的输入端有数据输到8位输入锁存器,数模转换就立即开始。如果对八位DAC存放器和对锁存器的控制分开进行,这种控制方式就是双缓冲工作方式,但是这种工作方式对I/O口的占用较大。综合以上三种工作方式,我们选取但缓冲的工作方式,其电路连接原理图如图2-9所示:图2-9/DAC0832单缓冲方式的连接2.6 显示电路2.6.1 两个显示电路显示电路分成2局部,分别为LCD显示和示波器显示。KLCD显示 LCD的作用是用来显示开机复位后的键盘操作说明、当前输出的波形函数类别以及当前输出信号的频率。图2-10那么为
35、LCD显示电路:图2-10 LCD显示接线图示波器显示在信号进行两级放大之后,在输出端接示波器对输出波形信号进行显示,直观的显示出波形形状以及幅度、频率的相对大小。电路如图2-11所示:图2-11jg+示波器图2.6.2 LCD1602工作原理单色液晶显示器的原理图2-12. 1602字符型液晶显示器实物图表2-1. 液晶主要技术参数显示容量16x2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最正确工作电压5.0V字符尺寸2.95x4.35mm(宽乘高)从内部构造上来讲,LCD技术就是把液晶灌入平面上的两列垂直的细槽中,所以在细槽中的液晶分子也成垂直排列状态,而光线的振动方向为一个平面,也就是说各个方向都有。而当光线穿过两列垂直的液晶分子时,光线会被扭转90度。如果在液晶分子两端施加一个电压时,液晶分子就会重新进行排列,从而呈现平行状态,所以这是通过的光不会有任何扭转,可以直射出去3。LCD的另一个特点就是必须需要两个重要因素:滤光片和光线。极化滤光片其实就是多列平行的细线,只有振动方向与细线平行的光线才能通过。而第二个极化滤光片的细线与第一个垂直,所以正常情况下光线不能同时通过两层极化滤光片。
限制150内