1、基于单片机函数发生器系统设计系别信息工程系专业自动化/测控技术与仪器班级B141401学号B14140123姓名指导教师负责教师沈阳航空航天大学北方科技学院2015年6月沈阳航空航天大学北方科技学院毕业设计(论文)I摘要函数信号发生器是各种测试和实验过程中不可缺少的工具,在通信、测量、雷达、控制、教学等领域应用十分广泛。为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。当今是科技以及仪表设备高度智能化飞速发展的信息社会,电子技术的发展进步,给人们的生活带来了根本性的转变。单片机构成的仪器具有高可靠性,高性价比,在智能仪表系统和办公自动化中得到广泛应用,因此,基于单片
2、机的函数信号发生器的普及是一种趋势。本系统是基于AT89C52单片机的函数信号发生器。采用AT89C52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键等。利用单片机设计的函数信号发生器具有编程灵活,功能更加多样等实际的优点。利用单片机设计的函数信号发生器能够产生正弦波,锯齿波,三角波,方波,并实现对频率的调节,以及液晶屏12864显示波形名称和波形频率,波形的切换和频率的调节都可以用按键实现,其设计简单、性能优好,可用于多种需要函数信号的场所,具有一定的实用性。关键词单片机;DAC0832;液晶16824;LM324沈阳航空航天大学北方科技学院毕
3、业设计(论文)IIABSTRACTFUNCTIONSIGNALGENERATORISANINDISPENSABLETOOLINTHEPROCESSOFTESTINGANDEXPERIMENT,THECOMMUNICATION,MEASUREMENT,AREWIDELYUSEDINFIELDSSUCHASRADAR,CONTROL,TEACHINGFORCONVENIENTEXPERIMENT,RESEARCHANDDEVELOPAFLEXIBLETOAPPLY,COMPLETEFUNCTION,EASYTOUSETHESIGNALSOURCEISVERYNECESSARYTODAYSTECHN
4、OLOGYANDINSTRUMENTEQUIPMENTHIGHLYINTELLIGENTTHERAPIDDEVELOPMENTOFINFORMATIONSOCIETY,THEDEVELOPMENTANDPROGRESSOFELECTRONICTECHNOLOGY,HASBROUGHTTHEFUNDAMENTALCHANGETOPEOPLESLIFESINGLECHIPINSTRUMENTHASHIGHRELIABILITY,HIGHCOSTPERFORMANCE,THEINTELLIGENTINSTRUMENTSYSTEMANDISWIDELYUSEDINOFFICEAUTOMATION,AS
5、ARESULT,THEPOPULARITYOFFUNCTIONSIGNALGENERATORBASEDONSINGLECHIPMICROCOMPUTERISAKINDOFTRENDTHISSYSTEMISBASEDONAT89C52MCUFUNCTIONSIGNALGENERATORUSESAT89C52SINGLECHIPMICROCOMPUTERASCONTROLCORE,PERIPHERYADOPTSDIGITAL/ANALOGCONVERSIONCIRCUITDAC0832,THEOPAMPCIRCUITLM324,BUTTONS,ETCUSINGSINGLECHIPDESIGNOFF
6、UNCTIONSIGNALGENERATORWITHFLEXIBLEPROGRAMMING,FUNCTIONMOREDIVERSEPRACTICALADVANTAGESMICROCONTROLLERDESIGNOFFUNCTIONSIGNALGENERATORCANPRODUCESINEWAVE,SAWTOOTHWAVE,TRIANGLEWAVE,SQUAREWAVE,ANDTOREALIZETOADJUSTTHEFREQUENCY,AND12864LCDDISPLAYNAMEOFWAVEFORMANDWAVEFORMFREQUENCYANDWAVEFORMOFTHESWITCHINGFREQ
7、UENCYANDADJUSTTHEIMPLEMENTATIONCANUSEBUTTONS,ITSDESIGNISSIMPLEANDGOODPERFORMANCEADVANTAGES,CANBEUSEDFORAVARIETYOFPLACESTHATNEEDFUNCTIONSIGNAL,HASACERTAINPRACTICALITYKEYWORDSSINGLECHIPMICROCOMPUTERDAC0832LCD16824LM324沈阳航空航天大学北方科技学院毕业设计(论文)III目录1绪论111课题背景和研究的意义112函数发生器的分类113国内外发展状况2131国内发展现状2132国外发展现状
8、214课题任务及要求4141主要内容4142技术指标42系统方案的设计521方案论证5211方案15212方案25213方案比较622系统总体设计63硬件设计731主控单片机电路7311AT89C52单片机介绍7312AT89C52单片机的标准功能7313单片机的复位电路9314单片机的时钟振荡电路1032波形产生模块设计1133显示模块的设计1136键盘显示模块的设计134软件设计1441开发工具介绍1442程序流程图15沈阳航空航天大学北方科技学院毕业设计(论文)IV421主程序流程图15422正弦波子程序流程图16423三角波子程序流程图16424方波子程序流程图17425锯齿波子程序流
9、程图185仿真及结果分析2051仿真和编译工具2052仿真结果图20521正弦波仿真图20522三角波仿真图21523锯齿波仿真图22524方波仿真图2353仿真结果分析236整体调试2461电路板的焊接组装2462整体调试24621正弦波的调试24622三角波的调试25623方波的调试25624锯齿波的调试2663系统升级方案探讨277结论28结束语29致谢30参考文献31附录电路图32附录实物图33附录系统元件清单34附录主控单片机程序清单35沈阳航空航天大学北方科技学院毕业设计(论文)11绪论11课题背景和研究的意义函数发生器是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信号、
10、函数(波形)信号、脉冲信号和随机信号发生器等四大类。函数发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。在测试、研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。当要求进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。当测试系统的瞬态特性时,又需使用前沿时间
11、、脉冲宽度和重复周期已知的矩形脉冲源。并且要求信号源输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出,利用单片机控制脉冲的输入和输出,从而控制信号波形的频率和幅度,并根据要求输出的波形设计对
12、应的硬件电路。最后利用PROTEUS软件对设计的电路进行实时仿真,通过仿真的结果来观察波形的输出。12函数发生器的分类函数发生器应用广泛,种类繁多,性能各异,分类也不尽一致沈阳航空航天大学北方科技学院毕业设计(论文)21按照频率范围分类可以分为超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。2按照输出波形分类可以分为正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。3按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指
13、对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。13国内外发展状况131国内发展现状波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。我国已经开始研制函数信号波形发生器,
14、并取得了可喜的成果。国产SG1060数字合成信号发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖范围为1HZ60MHZ;国产S1000型数字合成扫频信号发生器通过采用新技术、新器件实现高精度、宽频带的扫频源,同时应用DDS和锁相技术,使频率范围从1MHZ1024MHZ能精确地分辨到100HZ,它既是一台高精度的扫频源,同时也是一台高精度的标准信号发生器。但总的来说我国的函数信号波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在函数信号波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对
15、这类产品的研制显得迫在眉睫。132国外发展现状在70年代前,信号发生器主要有两类正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产沈阳航空航天大学北方科技学院毕业设计(论文)3生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在70年代后,微处理器的出现,可以利用
16、处理器、A/D/和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。1978年,由美国WAVETEK公司和日本东亚电波工业公司公布了最高取样频率为5MHZ,可以形成256点存储长度波形数据,垂直分辨率为8BIT,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的越多,波
17、形形成的操作性越好。90年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8中波形,而且价格昂贵。不久以后,ANALOGIC公司推出了型号为DATA2020的多波形合成器,LECROY公司生产的型号为9100的任意波形发生器等。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHZ的DDS芯片,同时也推动了函数波形发生器的发展,2003年,AGILENT的产品33220A能够产生17种波形,最高频率可达到20M,2005年的产品
18、N6030A能够产生高达500MHZ的频率,采样的频率可达125GHZ。美国安捷伦生产的33250A型函数/任意波形发生器可以产生稳定、精确和低失真的任意波形,其输出频率范围为1HZ80MHZ,而输出幅度为10MVPP10VPP;该公司生产的8648D射频信号发生器的频率覆盖范围更可高达9KHZ4GHZ。目前市场上的信号发生器多种多样。他们各有各的优点,但是函数发生器总的趋势将向着宽频率覆盖、高频率精度、多功能、多用途、自动化和智能化方向发展。沈阳航空航天大学北方科技学院毕业设计(论文)414课题任务及要求141主要内容本系统是基于AT89C52单片机的数字式低频信号发生器。采用AT89C52
19、单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。通过按键控制可产生方波、三角波、正弦波等,同时用12864液晶屏显示其对应的频率。142技术指标可产生方波、锯齿波、三角波、正弦波等,显示屏显示结果与示波器一致。沈阳航空航天大学北方科技学院毕业设计(论文)52系统方案的设计21方案论证依据应用场合需要实现的波形种类,波形发生器的具体指标要求会有所不同。依据不同的设计要求选取不同的设计方案。通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波。波形发生器的设计方案多种多样,大致可以分为2大类纯硬件设计法和软硬件结合设计法。211
20、方案1波形发生器设计的纯硬件法早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。实现的波形比较单一,主要为正弦波、方波和三角波。工作原理也相对简单首先是产生正弦波,然后通过波形变换正弦波通过比较器产生方波,方波经过积分器变为三角波实现方波和三角波。在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度的改变。通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。212方案2软硬件结合法,软硬
21、件结合的波形发生器设计方法同时兼具软硬件设计的优势既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。如以单片机和单片集成函数发生器为核心,辅以键盘控制、液晶显示等电路,设计出智能型函数波形发生器,可以实现功能较全、性能更优的波形发生器。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。沈阳航空航天大学北方科技学院毕业设计(论文)6213方案比较鉴于方案一的信号频率不够稳定和电路复杂且频率覆盖系数难以达标等缺点,所以决定采用方案二的设计方法。它不仅采用
22、软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。22系统总体设计该系统采用AT89C52单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。单片机显示屏LCD12864DAC0832LM324键盘图21硬件设计总体框图沈阳航空航天大学北方科技学院毕业设计(论文)73硬件设计31主控单片机电路311AT89C52单片机介绍随着大规模集成电路
23、技术的发展,中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机具有体积小、成本低,性能稳定、使用寿命长等特点。其最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的。本设计采用AT89C52单片机,AT89C52是美国ATMEL公司生产的51系列单片机,它是一种低功耗、高性能8位CMOS微控制器,具有8K系统可编程FLASH存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上的FLASH不仅允许程序存
24、储器在常规编程器上编程,还适用于在线编程下载,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。312AT89C52单片机的标准功能1内部结构概述典型的MCS51单片机芯片集成了以下几个基本组成部分1一个8位的CPU2128B或256B单元内数据存储器(RAM)34KB或8KB片内程序存储器(ROM或EPROM)44个8位并行I/O接口P0P3。5两个定时/计数器。65个中断源的中断管理控制系统。7一个全双工串行I/O口UART(通用异步接收、发送器)8一个片内振荡器和时钟产生电路。2I/O口结构沈阳航空航天大学北方科技学院毕业设计(论文)8P0口功能P0口具有两种功能第
25、一,P0口可以作为通用I/O接口使用,P07P00用于传送CPU的输入/输出数据。输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。第二,P07P00在CPU访问片外存储器时用于传送片外存储器DE低8位地址,然后传送CPU对片外存储器的读写P1口功能P1口的功能和P0口DE第一功能相同,仅用于传递I/O输入/输出数据。P2口的功能2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。P3口功能P3口有两个功能第一功能与其余三个端口的第一功能相同;第二功能作控制用,每个引脚都不
26、同。P30RXD串行数据接收口P31TXD串行数据发送口P32INT0外中断0输入P33INT1外中断1输入P34T0计数器0计数输入P35T1计数器1计数输入P36WR外部RAM写选通信号P37RD外部RAM读选通信号采用DIP40封装的AT89S52单片机实物图如图31所示,引脚定义如图32所示。图31采用DIP40封装的AT89C52单片机实物图沈阳航空航天大学北方科技学院毕业设计(论文)9图32采用DIP40封装的AT89C52单片机引脚定义313单片机的复位电路单片机的复位电路如图33所示。沈阳航空航天大学北方科技学院毕业设计(论文)10图33单片机复位电路复位操作则使单片机的片内电
27、路初始化,使单片机从一种确定的状态开始运行。当MCS5L系列单片机的复位引脚RST全称RESET出现2个机器周期以上的高电平时,单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,通常是RST引脚保持10MS以上的高电平,根据应用的要求,复位操作通常有两种基本形式上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。314单片机的时钟振荡电路单片机的时钟振荡
28、电路如图34所示。图34单片机的时钟振荡电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;单片机的时钟信号通常用两种电路形式得到内部振荡和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ、或24MHZ。振荡周期晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此一个状态周期包含2个振荡周期。机器周期1个机器周期由6个状态周期12个振荡周期组成,是计算机执
29、行一种基本操作的时间单位。指令周期执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同沈阳航空航天大学北方科技学院毕业设计(论文)1132波形产生模块设计由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。其电路图如下图35波形产生电路如上图所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路放大(R2/R1)倍。在第二个运算放大器的输出端连了一个电位器。
30、通过电位器来调节波形振幅的大小,同时在输出端接到示波器的输入端,通过示波器观察产生的波形。33显示模块的设计1OCM12864液晶显示模块概述OCM12864液晶显示模块是12864点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。采用KS0107控制IC,该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。2最大工作范围1、逻辑工作电压VCC4555V2、电源地GND0V3、LCD驱动电压VEE010V4、输入电压VEEVDD5、工作温度TA055常温/2070(宽温)6、保存温度TSTG10653电气特性测试条件TA25,VD
31、D50/025V沈阳航空航天大学北方科技学院毕业设计(论文)121、输入高电平VIH35VMIN2、输入低电平VIL055VMAX3、输出高电平VOH375VMIN4、输出低电平VOL10VMAX5、工作电流20MAMAX4接口说明1VSS0V逻辑电源地。2VDD50V逻辑电源正。3V0LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻。4D/IH/L数据指令选择高电平数据D0D7将送入显示RAM;低电平数据D0D7将送入指令寄存器执行。5R/WH/L读写选择高电平读数据;低电平写数据。6EHH/L读写使能,高电平有效,下降沿锁定数据。7DB0H/L数据输入输出引脚。8DB1H/L数据输
32、入输出引脚。9DB2H/L数据输入输出引脚。10DB3H/L数据输入输出引脚。11DB4H/L数据输入输出引脚。12DB5H/L数据输入输出引脚。13DB6H/L数据输入输出引脚。14DB7H/L数据输入输出引脚。15CS1H/L片选择信号,低电平时选择前64列。16CS2H片选择信号,低电平时选择后64列。17RETL复位信号,低电平有效。18VEE10VLCD驱动电源。19BLAC背光电源,LED。20BLAC背光电源,LED。通过液晶12864显示输出的波形、频率,其电路图如下沈阳航空航天大学北方科技学院毕业设计(论文)13图36液晶显示如上图所示,12864的八位数据端接单片机的P2口
33、,其三个使能端RS、RW、E分别接单片机的P26P24。通过软件控制液晶屏可以显示波形的种类以及波形的频率。36键盘显示模块的设计由于本系统所用按键少,所以采用独立键盘,其连接电路图如下图37键盘显示图中独立键盘引出的四根线分别接单片机的P32、P33、P34,另一端接地。各开关的功能如图所示。沈阳航空航天大学北方科技学院毕业设计(论文)144软件设计41开发工具介绍单片机开发中除必要的硬件外,同样离不开开发软件来完成系统程序的编写、编译、调试。本设计所使用的开发软件是KEILVISION4。KEIL软件是目前最流行开发MCS51系列单片机的软件之一,软件开发界面如图41所示。图41KEILV
34、ISION4软件开发界面KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么KEIL几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。KEIL公司制
35、造和销售种类广泛的开发工具,包括ANSIC编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(REALTIMEKERNEL)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。C51工具包的整体沈阳航空航天大学北方科技学院毕业设计(论文)15结构,UVISION与ISHELL分别是C51FORWINDOWS和FORDOS的集成开发环境IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经
36、L51连接定位生成绝对目标文件ABS)。可具有以下优点KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面,是一个非常实用的编译软件。42程序流程图421主程序流程图主程序流程图如图42所示。开始定时器中断是否初始化,开启定时器输出波形显示否是图42主程序流程图沈阳航空航天大学北方科技学院毕业设计(论文)16422正弦
37、波子程序流程图正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出。输出的数据刚好是256个数据,这样则可以直接相加就行了。流程图如下图所示开始初始化定时器是否中断从数组按顺序调出一个数是否已调出256个结束本次周期返回否是是否图43正弦波程序流程图输入正弦波的采样点,计算出256个(一个周期内)正弦波信号值。然后通过输出的两点间的延时来实现调频。依次循环输出,可得出正弦波。423三角波子程序流程图三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,这个操作跟正弦波的实现是相似的。此程沈阳
38、航空航天大学北方科技学院毕业设计(论文)17序输入的VREF的电压是5V,因此该波形输出的最大值是初值为00H和最终值为0FFH,且步数为2,这样输出的波形是最大的。流程图如下图所示开始初始化定时器是否中断从数组按顺序调出一个数是否已调出256个结束本次周期返回否是是否图44三角波程序流程图424方波子程序流程图此波形的实现更加简单,只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。流程图如下图所示沈阳航空航天大学北方科技学院毕
39、业设计(论文)18开始初始化定时器是否中断定时器计数加1计数值是否小于128输出高电平返回否是是输出低电平否图45方波程序流程图425锯齿波子程序流程图锯齿波的实现过程是首先定义一个初值然后进行加法操作。加到最大值之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。流程图如下所示沈阳航空航天大学北方科技学院毕业设计(论文)19开始初始化定时器是否中断调用数加1是否已调出256个结束本次周期返回否是是否图46锯齿波程序流程图沈阳航空航天大学北方科技学院毕业设计(论文)205仿真及结果分析51仿真和编译工具PROTEUS软件是英国LABCENTERELECTRONICS公司出版的EDA工具
40、软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、
41、AVR、ARM、8086和MSP430等,2010年又增加了CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL和MATLAB等多种编译器。此外,PROTEUS软件还有图形显示功能,可以将线路上变化的信号以图形的方式实时地显示出来。对于单片机硬件电路和软件的调试,PROTEUS提供了两种方法系统总体执行效果和对软件的分步调试。它还提供了比较丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号。在用PROTEUS进行仿真和程序调试时,可以从工程的角度直接看程序运行和电路工作的过程和结果。它还提供SCHEMATICDRAWING、SPICE
42、仿真与PCB设计功能,同时可以仿真PIC、AVR、51系列等常用的MCU,并提供周边设备的仿真,例如示波器、373、LED等。52仿真结果图521正弦波仿真图正弦波仿真频率分别为30HZ和35HZ。仿真结果分别如图所示。沈阳航空航天大学北方科技学院毕业设计(论文)21图51正弦波仿真输出(30HZ)图52正弦波仿真输出(51HZ)522三角波仿真图三角波仿真频率30HZ,仿真结果如图45所示。沈阳航空航天大学北方科技学院毕业设计(论文)22图53三角波仿真输出523锯齿波仿真图锯齿波仿真频率30HZ,仿真结果如图所示。图54锯齿波仿真输出沈阳航空航天大学北方科技学院毕业设计(论文)23524方
43、波仿真图方波仿真频率35HZ,仿真结果如图所示。图55方波仿真输出53仿真结果分析本系统仿真结果,满足设计需求。实际操作灵活,使用方便。通过按键来控制输出不同的波形,在仿真输出图中可以看到,并可以利用频率增大键和减小键来控制频率的大小。通过上述结果可以看到对应不同频率的不同波形。但是在仿真中由于DAC0832量化电平的缘故无法让该波形发生器的频率做的很高,同时频率步进的最小值为一,使得信号波形发生器的精确度有所下降,但总体的设计基本满足了设计的要求,顺利完成了设计主要内容。沈阳航空航天大学北方科技学院毕业设计(论文)246整体调试61电路板的焊接组装对照硬件原理图,焊接硬件。焊接完成后,仔细检
44、查主控板和每块显示单元板上的芯片焊接方向是否正确,在通电之前用万用表的二极管档测量电源端口,检查电源输入端是否有短路。确认无误后通电测试各测试点的电压电流值,检查是否在正常值范围内。将程序下载到单片机,调试硬件。62整体调试621正弦波的调试正弦波的实物调试结果如图61所示。图61正弦波实物调试结果图沈阳航空航天大学北方科技学院毕业设计(论文)25622三角波的调试三角波的实物调试结果如图62所示。图62三角波实物调试结果图623方波的调试方波的实物调试结果如图61所示。沈阳航空航天大学北方科技学院毕业设计(论文)26图63方波实物调试结果图624锯齿波的调试锯齿波的实物调试结果如图61所示。
45、沈阳航空航天大学北方科技学院毕业设计(论文)27图64锯齿波实物调试结果图63系统升级方案探讨任何一个完整的系统设计都会存在这样或那样的缺点和不足,都需要进行改进和升级,本系统也不例外,下面就实际的使用情况阐述本系统的不足之处和解决办法。实际使用中发现,此设计出的函数发生器频率不能过大,这主要是单片机的频率低造成的,可以选择STM32等ARM处理器芯片,速度和精度将得到显著提高。调试中发现,输出波形的电压峰值不是很高。原因是供电电源的电压有限,而且受电池电量的影响较为显著。可以选择更高电压值的电源。以上是本系统在实际使用过程中发现的缺点和不足,相信在以后的长期使用中,可能还会发现一些现在没有发
46、现问题,通过不断的改进和升级,系统将会更稳定的工作。沈阳航空航天大学北方科技学院毕业设计(论文)287结论本次的设计中利用AT89C51和DAC0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。本文设计了一套基于单片机的波形发生器系统,硬件采用AT89S51单片机为主控芯片,按键可调控电压和频率,通过DAC0832进行信号的数模转换,运放对单片机信号进行操作,软件应用KEILC编程语言编写控制程序,最后通过示波器输出各种所需的波形。该函数信号发生器,具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电
47、少等特点。经现场试验证明该系统性能良好,具有较高的应用价值。沈阳航空航天大学北方科技学院毕业设计(论文)29结束语在本次设计的过程中,我学会了怎样把所学的书本知识应用于实践中去,并学会了如何去思考整个控制系统的软硬件设计。实践过程中我遇到了一些困难,但在解决问题的过程中,我学会了怎样发现问题、分析问题,进而解决问题。此次毕业设计,使我不仅对单片机这门课程有了更深刻的认识,懂得了如何运用课本知识结合实际来完成定时器的显示和编程方法以及显示电路的驱动方法,使我能够很快的适应现代控制技术发展的需求,同时也提高了我的思维能力和实际操作能力,为以后更好的走上工作岗位奠定了坚实的基础。沈阳航空航天大学北方
48、科技学院毕业设计(论文)30致谢本设计在指导老师的悉心指导和严格要求下已完成本次设计,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的心血和汗水,老师在我做毕业设计的每个阶段,都给予我耐心的指导和帮助。可以说,没有老师的耐心指导和帮助,我是不可能顺利完成我的毕业设计的。另外,老师严谨的治学态度以及对待学生极端负责的精神,给我留下很深的印象,并将积极影响我今后的学习和工作。在四年的本科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向老师表示深深的感谢和崇高的敬意。四年寒窗,所收获的不仅仅是愈加丰厚的知识,更重要的是在阅读、实践中所培养的思维方式、表达能力和广阔视野
49、。很庆幸这四年来我遇到了如此多的良师益友,无论在学习上、生活上,还是工作上,都给予了我无私的帮助和热心的照顾,让我在一个充满温馨的环境中度过四年的大学生活。感恩之情难以用言语量度,谨以最朴实的话语致以最崇高的敬意。沈阳航空航天大学北方科技学院毕业设计(论文)31参考文献1贾金玲等单片机原理及应用成都电子科技大学出版社,20042胡汉才单片机原理及其接口技术北京清华大学出版社,20043张毅刚MCS51单片机原理及应用哈尔滨哈尔滨工业大学出版社,19904潘新民单片机实用系统北京人民邮政出版社,20015胡汉才主编单片机原理及其接口技术清华大学出版社,19966靳桅等基于51系列单片机的LED显示屏开发技术M北京北京航空航天大学出版社,20097蒋辉平基于PROTEUS的单片机系统设计与仿真实例M北京机械工业出版社,20098周润景PROTEUS入门实用教程M北京机械工业出版社,20079胡汉才单片机原理及其接口技术M2版北京清华大学出版社,200410徐爱钧8051单片机实践教程M北京电子工业出版社,200511张义和例说51单片机C语言版M北京人民邮电出版社,200812赵建领51系列单片机开发宝典M北京电子工业出版社,200713赵建领PROTEL电路设计与制版宝典M北京电子工业出版社,200714