本科生毕业设计(论文)(2013届)设计(论文)题目基于单片机的函数信号发生器设计作者吴志元分院信息与机电工程分院专业班级机械设计制造及其自动化092班指导教师(职称)张慧熙(讲师)论文字数8831字论文完成时间2013年4月30日杭州师范大学钱江学院教学部制基于单片机的函数信号发生器设计机械设计制造及其自动化专业092班吴志元指导教师:张慧熙摘要:本系统利用单片机AT89C51,采用程序设计方法产生正弦波、矩形波、三角波三种波形,单片机产生数字信号,再通过DAC0832将数字信号转换成模拟信号,再通过集成运放,将DAC0809输出的电流信号转换为电压信号,最终由示波器显示出来。可以控制三种波形的类型选择、频率变化,并通过LCD显示其频率的数值和波型。关键词:单片机AT89C51;DAC0832;LCDDesignofFunctionSignalGeneratorBasedonMCUMechanicalengineeringandautomationprofessionalclass092WuZhiyuanInstructor:ZhangHuixiAbstract:UsingMCUAT89C51,threewaveformswhicharesinewaveform,squarewaveandtrianglewavecanbegenerated.MCUgeneratesdigitalsignal,whichcanbeconvertedtoanalogcurrentsignalbyDAC0832.Intergatedoperationalamplifierconvertesanalogcurrentintovatage,thatcandisplaybytheoscilloscope.ThesystemcancontrolsTypeselectionandfrequencychangeofthreewaves,andthroughtheLCDshowsitsfrequencyandwavemode.Keywords:MCUAT89C51;DAC0832;LCD目录1绪论…………………………………………………………………………………………11.1单片机的发展概况及趋势……………………………………………………………11.2单片机的应用领域………………………………………………………………………21.3单片机的特点………………………………………………………………………21.4本设计内容介绍…………………………………………………………………………22.开发软件介绍………………………………………………………………………………32.1KeileC51软件…………………………………………………………………………32.2Proteus软件……………………………………………………………………………33.基于单片机的函数信号发生器设计的实现原理………………………………………44.基于单片机的函数信号发生器软件实现………………………………………………44.1延时模块…………………………………………………………………………………54.2显示模块…………………………………………………………………………………64.3波形切换模块……………………………………………………………………………94.4定时模块…………………………………………………………………………………115.基于单片机的函数信号发生器具体硬件实现…………………………………………115.1单片机的最小系统………………………………………………………………………115.2D/A模块…………………………………………………………………………………145.3LCD显示模块……………………………………………………………………………155.4键盘模块…………………………………………………………………………………155.5总电路图…………………………………………………………………………………166.基于单片机的函数信号发生器Proteus仿真…………………………………………176.1仿真图…………………………………………………………………………………176.2设计过程中遇到的问题及解决方法…………………………………………………197.总结及展望……………………………………………………………………………20参考文献…………………………………………………………………………………20致谢……………………………………………………………………………………201基于单片机的函数信号发生器设计机械设计制造及其自动化专业092班吴志元指导教师:张慧熙1.绪论1.1单片机的发展概况及趋势单片机的技术的发展可分为3个时间段:第一时间段为初级单片机形成阶段。其代表产品是Intel公司推出的MCS-48系列单片机。CPU8位、ROM1K字节、I/O线有27根、RAM64字节、8位定时计数器有1个、计数器[1]。第二时间段为高性能单片机阶段。其代表产品是Intel公司推出的MCS-51系列单片机:RAM有128字节、8位并行口有4个、CPU8位、ROM有4K字节、全双工串行口1个、16位定时/计数器有2个。寻址范围为64KB,并有控制性较强的布尔处理器[1]。第三时间段为微控制器化阶段。其代表产品是Intel公司推出的MCS-96系列单片机。芯片内集成:RAM有232字节、8位并行口有5个、CPU16位、ROM有8K字节、全双工串行口1个、16位定时/计数器有2个。寻址范围为64KB。片上还有8路10位ADC、1路PWM输出及高速I/O部件等[1]。现在世界上许多大公司都相继推出了各具特色的单片机品种。日本日立公司(Hitachi)推出的H8/600、H8/300是比较新款的8位单片机系列,它们采用C语言编写软件编写程序,乘/除(速度为1us-2.6us)、16位寄存器及寄存器加/减(速度200ns)、中央处理器的工作频率为10MHz、寻址空间最多可达16MB[2]。日本NEC公司生产的78K/11系列16位单片机,由于工作温度为-40℃—+125℃,因此该单片机已经作为汽车电子元件之一,广泛用于汽车制造业[2]。美国Motorla公司生产的新一代8位单片机M68HC08采用了0.35u工艺,具有速度快(8MHz总线速度)、功能强大、价格低、功耗低等优点,特别是带有闪速FLASH存储器。M68HC08单片机包括串行通信接口SCI、定时器接口模块TIM、时钟发生器模块CGM、监控RAMMON和I/O端口、系统集成模块SIM、串行外围接口SPI、直接存储器存取模块DMA、系统操作正常见识模块COP、断电模块BREAK、低电压禁止模块LVI、外中断请求模块IRQ[2]。美国Harriscorp公司生产的NS单片机系列产品,核心是将共用的中央处理器作为整个系列所有成员的控制中心。这种方式可将各种E2PROM、寄存器、比较器、模/数转换器及通用异步收发器(UART)等外围功能较有效地组合在一起[2]。目前,单片机正在朝着高性能和多品种方向发展,下面是单片机的发展趋势:(1)CMOS化。近年来由于CHMOS技术的进步,大大促进了单片机的CMOS化,CMOS芯片除了低功耗特性之外,还具有功耗的可控性,是单片机可以工作在功耗精细管理状态[3]。(2)低功耗化。单片机的功耗已从mA级降到uA级,甚至1uA以下[3]。(3)低电压化。几乎所有的单片机都有WAIT、STOP等省电运行方式,允许使用电压范围越来2越宽,一般在3-6V之间,完全适合电池工作[3]。(4)低噪声与高可靠性。为提高单片机的抗电磁干扰能力,是产品能适应恶劣的工作环境满足电磁兼容性方面更高标准的要求,各单片机厂家都在单片机内部电路中采用了新的技术措施[3]。(5)大容量化。以往单片机内部ROM为1-4KB,RAM为64-128KB,但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩展。为适应这种领域的要求,需运用新的工艺,是片内存储器大容量[3]。(6)高性能化。主要是指进一步改善CPU的性能,加快指令的运算速度和提高系统控制的可靠性,采用精密指令集(RISC)体系结构和流水线技术[3]。(7)外围电路内装话。随集成度的不断提高,有可能吧众多的各种外围功能器件集成在片内[3]。1.2单片机的应用领域单片机的应用技术已经遍布我们生活的各个领域。特别是我们的嵌入式应用应经成为计算机应用的主流,据统计显示全世界大规模集成电路有百分之八十用于嵌入式应用中。现在,平均每人每天接触是单片机数目可多达351片多,甚至更多。目前单片机主要应用领域如下:(1)家用电器。家用电器是单片机应用最重要的组成部分,前景之广泛。如微波炉、电视机、空调、冰箱、电饭煲、洗衣机等等。(2)交通领域。如汽车、火车、红绿灯、飞机等等都有单片机的应用。(3)智能仪器表。比如智能传感器、各种智能测量仪表等。(4)实用工具控制。如生产线控制、电机转速控制、温度控制等。(5)机电一体化产品。如机器人、数控机床、打印机、复印机、自动包装机、医疗设备(B超)等。1.3单片机的特点按单片机的数据总线位数,可将单片机分为4位、8位、16位、32位。4位单片机在整个单片机的市场中所占比例逐年减少,8位单片机是现在世界上品种最为丰富、应用最广泛的单片机。16位单片机操作速度和数据吞吐能力性能上比8位的单片机有很大提高。32位在寻址能力、开发手段、操作速度、运算能力与环境方面都有很大增强,寻址能力在GB级以上[4]。单片机在控制上有很大优势:1.体积小,成本低,易于产品化,运用灵活,可以方便地组成各种智能化控制设备和仪器,可以做到机电一体化。2.面向控制方面,能针对性解决从简单到复杂的各种控制任务,从而获得最佳的性价比。3.抗干扰能力强方面,适用温度范围广,在各种恶劣环境下都能可靠地工作,这是其它类型单片机无法比拟的。4.可以方便地实现多机与分布式控制,使整个控制系统效率和可靠性大大地提高[4]。1.4本设计内容介绍本设计以80C51单片机为核心,通过扩展D/A转换器,能够输出正弦波、矩形波、三角波等。本设计的函数信号发生器通过外部中断口实现各种波形的选择,并且能够调节其波形的频率,通过LCD显示器显示其频率的数值大小。LCD显示器的显示精度:0.01MHz。32.开发软件介绍2.1KeileC51软件KeileC51是美国KeileSoftware公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,在功能、结构、可读性上都有明显的优势。KeileC51软件提供提供丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率非常高[4]。Keile软件公司的C51单片机软件开发工具已经用于众多的8051及派生软件实现嵌入应用,可以编译C源程序、汇编源程序、连接和定位目标文件及库,创建HEX文件以及调试目标程序[4]。KeileC51编译器是符合ANSI标准的编译器。KeileC51语言扩展支持51单片机的应用包括:1.数据类型2.存储器类型3.存储器模型4.指针5.重入函数6.中断函数7.实时操作系统8.PL/M和A51源文件接口[4]。KeileC51支持的基本数据类型有位型(bit)、无符号字符型(unsignedchar)、有符号字符型(signedchar)、无符号整型(unsignedint)、有符号整型(signedint)、无符号长整型(unsignedlong)、有符号整型(signedlong)和浮点型(float)等[4]。2.2Proteus软件Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。它具有4大功能模块:1.智能原理图设计(ISIS)2.完善的电路仿真功能(Prospice)3.独特的单片机协同仿真功能(VSM)4.实用的PCB设计平台。Proteus软件是一款功能强大的电路设计分析软件。在利用其进行单片机的软件仿真时,仅仅使用了其部分功能:1.IS