基于51单片机的波形发生器-毕业论文设计.doc
《基于51单片机的波形发生器-毕业论文设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的波形发生器-毕业论文设计.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机原理的波形发生器摘要:本系统采用单片机C8051为控制核心,输出数字量,然后由DAC0832把数字量转换成模拟量;但是输出的是电流,需要用运放(OP07),把电流转换成电压量。显示利用的是LCD1602的液晶,显示其波形,幅值。按键应用的是独立按键,用来波形的切换,幅值,频率的调解。其运算核心,我们通过MATLAB对正弦波,三角板,正弦波进行采样,得到一组组数据,然后同过数组存储;利用中断对数组进行扫描。其频率的调解就是调节其中断间隔的时间,幅值就是调节其数字的大小(同时乘以某个小于1的数)。为了波形的合成,我们采用的点的个数都是20个。关键词:AT-89C51 DAC0832 独立
2、按键 OP07The Design of Waveform Generator Based on 51Abstract:This system adopts single-chip C8051 as the control core, digital output, and then by DAC0832 convert digital to analog; But the output is current, the need to use operational amplifier (OP07), the amount of current into a voltage. Display
3、using the LCD1602 LCD, display the waveform amplitude. Key applications is independent, switch to waveform, amplitude, frequency of mediation. Its core operation, we use MATLAB to sine wave, triangle, the sine wave samples, groups of data, and then with an array of storage; Using the interrupt for s
4、canning array. The frequency of mediation is to adjust one interval time, amplitude is adjusting the size of its digital (multiplied by a certain number of less than 1) at the same time. For the waveform synthesis, we adopt the number of points is 20.Keywords:AT-89C51 DAC0832 Separate button OP07一、题
5、目要求及分析设计任务:设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和由用户编辑的特定形状波形。示意图如下:图1 设计要求图设计要求:1.具有产生正弦波、方波、三角波三种周期性波形的功能;2.用键盘输入编辑生成上述三种波形(同周期)的线性组合波形,以及由基波及其谐波(5次以下)线性组合的波形。3.具有波形存储功能。4.输出波形的频率范围为100Hz20kHz(非正弦波频率按10次谐波计算);重复频率可调,频率步进间隔100Hz。5.输出波形幅度范围O5V(峰峰值),可按步进0.1V(峰峰值)调整。6.具有显示输出波形的类型、重复频率(周期)和幅度的功能。7.增加红外配置功能(串
6、口配置程序或其他方式)二、总体系统方案设计题目要求实现的任务是设计并制作一个函数信号发生器,能够产生正弦波、方波、三角波,要求不用DDS和专用的波形产生芯片,频率范围在1Hz1MHZ可调,在频率范围为1HZ10KHz时,步进不大于10Hz在频率范围为10KHz1MHz时,步进不大于100Hz,并且电压范围在05V可调,步进为0.1V,能够实时的显示波形的类型及其频率和幅值。现在对以下方案进论证和验证。2.1总体设计思路根据题目的要求,经过仔细的考虑各种要素,制定了整体方案:以AT89C51单片机为控制核心,P0口接DAC0832信号输入并进行数模转换,P1口接矩阵键盘,P2口接液晶显示器LCD
7、1602,由程序控制P0口产生波形(分别是正弦波、方波、三角波),再由按键及按键次数控制产生波形的种类及频率和幅值在一定范围内可调,并且能够按任意键实现波形频率和幅值的设定(不通过步进按键设定来控制)。由运放OP07实现DAC0832输出电流到电压的转换,即实现数字信号到模拟信号的转换。在LCD上实时的显示波形的频率和幅值,波形在示波器上产生。其波形的存储方式,我们通过按键确定,一旦按键按下后,就把当时的波形对应的参数存储起来,例如幅度值,频率值等参数。波形的合成:为了波形的合成,我们在采样的时候,对正弦波,三角波,方波都只取乐20个点;因为点越少,其频率达到的值就会越大;合成时就是对幅值点进
8、行一个叠加后赋给DAC0832输出一组波形。红外,通过外部中断高低电平的延时的时间来进行解码。2.2总体框图本系统总体框图如图2所示:图2系统总体框图2.3信号发生部分方案一:采用模拟分立元件或单片压控函数发生器,可以产生正弦波、方波、三角波,通过调整外部元件可以改变输出频率,但采用模拟元器件由于元件分散性太大,因而产生频率稳定性较差,精度低,地抗干扰能力低,成本高,而且灵活心性较差,不能实现任意波形以及波形运算输出等智能化的功能。方案二:采用锁相式频率合成方案,锁相式频率合成一个高稳定度和精确度的大量离散技术,他在一定程度上解决了既要频率稳定精确又要频率在较大的范围内可调的矛盾,但是频率受V
9、CO可便频率范围的影响,高低频率比不可能做的很高,而且只能产生正弦波或方波,不能满足任意波形的要求。方案三:采用单片机和数模转换DAC0832实现波形的产生。波形的产生是通过AT89C51执行方波波形程序,向D/A转换器的输入端按一定的规律发生数据,从而在DA转换电路输出端得到相应的电压波形。在AT89C51的P1口接矩阵按键,通过软件编程来选择波形、幅值、频率,每种波形对应一个按键,此方案原理简单,实现起来比较容易。经比较,方案三能够更好的实现题目的要求,三种波形的产生可有程序控制,并通过按键选择波形的输出,在示波器上显示波形。波形的周期与频率步进也可以用程序控制,具有线路简单、结构紧凑等优
10、点。在本设计的基础上,加上LCD显示器,则可以通过按键设定波形频率,并在LCD显示频率、幅值电压。输出的波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。综上所述,我们选择第三种方案。2.4显示部分方案一:数码管显示,由于本题要求实时的显示输出信号的幅度、频率,而数字不能显示字符。方案二:LED点阵显示,LED点阵显示虽然能够显示数字和字符,但是显示的效果不好,而且不易编程。方案三:LCD液晶显示,LCD液晶显示不但能显示字符和数字,而且效果较好,且容易实现。2.5按键部分方案一:采用独立按键,他的按键的数目比少,但是它的结构简单,方便操作,执行效率高等优势。方案二:采用矩阵键盘,它
11、以较少得IO口实现了按键的功能,随之其操作比较复杂。经对比,由于我们需求的按键比较少,但是对执行的效率比较高,所以采用独立按键。三、硬件电路本系统由单片机、波形转换(D/A)电路、显示接口电路、键盘电路、电源电路、串口电路等六部分组成。电路图如图3.1所示:图3硬件电路原理图3.1功能与基本原理功能:形成扫描码、键值识别、案件处理、参数设置、字符设置等形成液晶显示波形的类型及频率和幅值;通过定时器0产生定时中断,形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。AT89C51外接12M晶振作为时钟频率,并采用电源复位设计。复位电路采用上电复位,其工作原理是,当通电时,电容两端相当于短路
12、,于是TST引脚为高电平,然后对电容充电。RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始工作。产生方波程序思路:对于小于100Hz的频率,根据定时器溢出时间1us,将频率值换算为定时器溢出次数,当达到规定的次数时,将输出管脚的状态取反达到方波的产生;对于大于100HZ的频率,直接根据频率值设置其定时溢出的时间,当溢出时间达到时,将输出管脚取反达到方波的产生。产生三角波程序思路:要产生峰值电压为5V的三角波,一个周期需要定时510次,由此便可以计算出每次定时溢出的时间,再将每次定时的电压加权便可以达到三角波的波形;产生正弦波程序思路:给正弦波的一个周期设定table表,由20个数据,
13、相当于每个周期定时255次,则每次定时溢出的时间便可计算出,每个点的电压加权便可得到正弦波的电压,即,形成正弦波。3.2资源分配软、硬件设计是比不可少的,为了满足功能和指标的要求,资源分配为:单片机用12MHz晶振,P0口与DAC0832相连;P1口接矩阵按键,实现频率、幅值以及波形的选择;P2口接LCD1602液晶显示器,实时显示波形的频率、幅值、类型。3.2.1显示接口电路功能:驱动LCD液晶显示、扫描按钮。由LCD1602液晶显示器和矩阵按键组成。当某一按键按下时,扫描程序扫描到之后,通过P2口将数字信号发送到LCD1602,LCD1602液晶专门用于显示字母、数字、符号等点阵式LCD,
14、其外接电压时5V。扫描利用软件程序实现,当某一按键按下时,扫描立即检测到,随即调用子程序,执行相应的功能。其与单片机连接如图4所示:图4显示部分电路图3.3波形转换(D/A)电路功能:将波形样值得编码转换成模拟值,完成波形的输出。由一片DAC0832和LF356运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内没有数据寄存器,输出信号随数据输入线的状态的变化而变化,因此不能直接与微型计算机接口,必须通过并行口与微型计算机接口。DAC0832是具有20条引线的双列直插
15、式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,股不需要外加电路。DAC0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以用运算放大器LF356实现。单片机想DAC0832发送数字编码,产生不同的输出。先利用采样定理对各种波形进行抽样,然后把各种采样值进行编码,收到的数字量存入各个波形表,执行程序时通过查表的方法依次取出,经过D/A转换后输出就可以得到波形。假如N个点构成波形的一个周期,则DAC0832输出N个样点值后,样值点形成运动轨迹,即,一个周期。重复输出N个点后,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制输出的波
16、形的频率。这样就控制了输出波形的及其幅值和频率,例如:正弦波,取20个样值点。具体连接的电路图如图5所示:图5D/A转换的电路连接图3.4红外电路图6红外电路红外的工作原理:51单片机对遥控的解码和我们前面所讲的串口并口通信不同,他不是单纯的用高电平代表1,低电平代表0。这一点大家要从思想上面转变过来。他是发送一连串的数据帧,这个数据帧就是一连串的二进制代码,单片机通过区分高电平的持续时间来区别红外编码的。我们就以HC6800单片机上的红外接头为例来说明,当高电平的脉冲宽度为1.12ms的时候单片机认为它为0,当高电平的脉冲宽度为2.25的时候单片机认为它为1。单片机是通过判断脉冲的宽度来得到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 波形 发生器 毕业论文 设计
限制150内