【完整版】基于51单片机的波形发生器设计_本科毕业论文设计40论文41.doc

本科毕业设计论文 基于51单片机的波形发生器设计 摘 要 波形发生器作为信号源广泛应用于电子工业、自动控制和科学试验等领域。目前国内市场上波形发生器种类匮乏,价格昂贵。为了实验、研究以及工业需要,研制一种功能齐全、使用方便的波形发生器十分重要。

本文介绍了两种基于89C51单片机和数模转换器DAC0832产生所需波形的波形发生器设计方案,两种方案各有特色,可以满足不同领域对波形发生器的需求。其中,程控波形发生器设计方案运用单片机执行程序产生波形数据,再由单片机通过定时器定时控制将波形数据送给DAC转换输出波形,本方案扩展有LED显示模块和键盘模块,具有良好的人机交互性。硬件波形发生器设计中,单片机执行程序产生波形数据或从上位机接受波形数据写入外部RAM中,然后由外部电路控制从RAM中取出波形数据送于DAC转换输出波形,本方案可以产生高频波,且具有良好的可升级性。本次设计的两种方案均能产生频率、幅值可调的正弦波、三角波、锯齿波和方波四种波形。

本次设计运用Keil c软件采用C语言进行软件设计,使用仿真软件Proteus进行系统功能校验,并使用Protel软件制作印刷电路板(PCB)。

本次设计的两种波形发生器具有精度高、误差小、功耗低、数据传输速度快、可靠性高等特点,且具有良好的经济性,具有一定的开发价值。

关键词波形发生器,单片机,DAC0832,程控波形发生器设计,硬件波形发生器设计 THE DESIGN OF WAVE GENERATOR BASED ON 51 MCU ABSTRACT Wave generators are widely used in the electronics industry, automatic control and scientific experiments and other fields. Currently, wave generators, in domestic market, are very limit. So the development of a wave generator which is fully functional and easy to use is very important for experimental, research, and industrial needs. This article describes two schemes of the design of wave generator WG based on 51 MCU and DAC 0832 chip. And the two schemes advantages to meet different areas’ need. Among them, in the scheme of programmable WG design, we use the MCU to generate wave data, and then use the timer timing to control DAC converter which translate the wave data into the output wave. This scheme expanded with LED display module and keyboard module, which -machine interaction. In scheme, we use the MCU to generate wave data or accept the data from PC, and then transfer this data to external RAM. Specially, we use an external circuit to control the DAC conversion. This design can generate produce four kinds of waves sine, triangle, sawtooth and square wave; their frequency and amplitude can adjust by user’s need. In this design,we use the Keil c software for software design in C language. And then we use the simulation software Proteus to check system functions, Finally, we use Protel software to produce printed circuit boards PCB. This design of the two kinds of wave generator , low power consumption, speed, great reliability, and good economy value. To a certain extent, it is worthy of being further developed. KEY WORDSwave generators, MCU, DAC0832, programmable WG design, 6 目 录 前 言1 第1章 绪论2 1.1 选题背景2 1.2 波形发生器的发展状况2 1.3 选题意义3 1.4 本文研究的主要内容4 1.5 章节安排4 第2章 波形发生器系统方案设计及选择5 2.1 总体方案选择5 2.2 子系统模块方案选择7 2.2.1 控制器的选择7 2.2.2 调频方案设计7 2.2.3 调幅方案设计10 2.2.4 按键方案设计10 2.2.5 显示模块方案设计11 2.2.6 DA转换器的选择11 2.2.7 静态RAM的选择12 2.3 系统总体框图13 2.3.1 程控波形发生器系统框图13 2.3.2 硬件波形发生器设计框图13 2.4 系统可行性分析14 第3章 主要芯片及设计软件介绍15 3.1 主要芯片介绍15 3.1.1 89C51单片机15 3.1.2 数模转换器DAC083221 3.1.3 可编程并行接口电路8255A23 3.1.4 定时器55525 3.1.5 计数器7416126 3.2 设计软件介绍27 3.2.1 仿真软件Proteus27 3.2.2 编程软件Keil C5128 3.2.3 EDA软件Protel28 第4章 硬件实现及模块设计电路29 4.1 程控波形发生器设计硬件电路29 4.1.1 单片机最小系统及IO扩展模块29 4.1.2 波形产生及调幅模块30 4.1.3 LED显示模块31 4.1.4 按键模块32 4.2 硬件波形发生器设计33 4.2.1 单片机最小系统及IO扩展模块33 4.2.2 波形产生及调幅模块34 4.2.3 调频模块35 4.2.4 SRAM模块36 4.2.5 按键模块37 4.2.6 串行通信和供电模块38 第5章 系统软件设计39 5.1 系统软件编程语言方案设计39 5.2 程控波形发生器软件设计40 5.2.1 主程序40 5.2.2 按键子程序40 5.2.3 显示子程序41 5.2.4 波形子程序42 5.2.5 定时器中断子程序43 5.3 硬件波形发生器软件设计45 5.3.1 主程序45 5.3.2 波形子程序46 5.3.3 数模转换子程序48 第6章 PCB设计与系统调试49 6.1 PCB设计49 6.2 系统调试50 6.2.1 程控波形发生器仿真结果50 6.2.2 硬件波形发生器仿真结果54 6.3 系统误差测试及分析58 6.4 系统功能实现情况59 6.5 经济分析报告61 结 论62 参考文献63 致 谢65 附 录 A66 附 录 B67 附 录 C68 附 录 D85 附 录 E95 附 录 E95 附 录 E97 附 录 F98 符号说明 Hz 赫兹,频率单位 KHz 千赫,1千赫KHz 1103赫兹Hz MHz 兆赫,1兆赫MHz 1103千赫KHz GHz 吉赫,1吉赫GHz 1103兆赫MHz V 伏特,电压单位 欧姆,电阻单位 K 千欧, 1千欧K 1103欧姆 F 法拉,电容单位 F 微法,1法拉F 1106微法F pF 皮法,1微法F 1106皮法pF s 秒,时间单位 ms 毫秒,1秒s 1103毫秒ms s 微秒,1毫秒ms 1103毫秒s RRES Resistance,电阻 CCAP Capacitance,电容 SW 拨码开关 RV 滑动变阻器 Crystal 石英晶振 ROM Read only memory,只读存储器 RAM Random access memory,随机存储器 SRAM Static RAM,静态随机存储器 CPU Central Processing Unit,中央处理器 DA DigitalAnalog,数模转换 DAC DigitalAnalog Converter,数模转换器 前 言 波形发生器作为信号源广泛应用于电子工业、自动控制和科学试验等领域。雷达、通信、宇航、遥控遥测技术和电子系统等领域都随处可见波形发生器的应用。从上世纪20年代起,世界上对于波形发生器的研究与改进从未间断过,到现今已经研制出了用于不同频域的各种高性能的波形发生器。但是我国对波形发生器的研究起步较晚,国内市场上波形发生器种类匮乏,价格昂贵,且多用于航天军事等领域。在这种情况下,在实际工业应用中往往需要设计人员自行设计出所需的波形发生器,带来不必要的工程开销。所以说研制一种功能齐全、使用方便的波形发生器十分重要。

本文介绍了两种基于89C51单片机和数模转换器DAC0832产生所需波形的波形发生器设计方案,两种方案各有千秋,可以满足不同领域对波形发生器的需求。其中,程控波形发生器设计方案运用单片机执行程序产生波形数据,再由单片机通过定时器定时控制将波形数据送给DAC转换输出波形,由于软件的限制产生波形的上限频率受到限制无法在本方案内寻求突破方法。本方案扩展有LED显示模块和键盘模块,且可以实现频率和幅值的连续可调,具有良好的人机交互性,因此在低频需求的教学实验领域具有很好的应用前景。硬件波形发生器设计中,单片机执行程序产生波形数据或从上位机接受波形数据写入外部RAM中,然后由外部电路控制从RAM中取出波形数据送于DAC转换输出波形,本方案虽然无法像程控方案那样方便的调节波形信息,但是可以产生高频波,且具有良好的可升级性,可以用于对高频信号需求的领域。

本次设计运用Keil c软件采用C语言进行软件设