1、 1 摘 要 本文介绍一种用 AT89C51 单片机构成的波形发生器,可产生方波、三角波、 正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极 性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了 源代码,通过仿真测试,其性能指标达到了设计要求。 关键词:单片机;DAC;信号发生器 2 目 录 摘 要 . 目 录 . 第一章 绪论 1.1 单片机概述 1.2 信号发生器的分类 1.3 研究内容 第二章 方案的设计与选择 2.1 方案的比较 2.2 设计原理 2.3 设计思想 2.4 设计功能 第三章 硬件设计 3.1 硬件原理框图 3.2 主控电路 3.3
2、 数、模转换电路 3.4 按键接口电路 3.5 时钟电路 3.6 显示电路 第四章 软件设计 4.1 程序流程图 第五章 总结与展望 致 谢 . 参考文献 . 附录 1 电路原理图 . 附录 2 源程序 . 附录 3 器件清单 3 第一章 绪论 1.1 单片机概述 随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储器(RAM)、 只读存储器(ROM)、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算 机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机 具有体积小、成本低,性能稳定、使用寿命长等特点。其最明显的优势就是可以嵌 入到各种仪器、设备中
3、,这是其他计算机和网络都无法做到的9,10。 1.2 信号发生器的分类 信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。按照频率范围 分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形 发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正 弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器, 函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声 信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生 器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的 一类信号发生器
4、。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连 续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。 1.3 研究内容 本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿 波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序 的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自 外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序, 经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。 4 第二章 方案的设计与选择 2.1 方案的比较 方案一:采用单片函数发生器(如 8038) ,
5、8038 可同时产生正弦波、方波等, 而且方法简单易行,用 D/A 转换器的输出来改变调制电压,也可以实现数控调整频 率,但产生信号的频率稳定度不高。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出 频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求, 且电路复杂。 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信 号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的 变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标
6、 等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件 的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几 种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。 2.2 设计原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转 换成模拟信号的方法来获得所需要的波形。89C51 单片机本身就是一个完整的微型 计算机, 具有组成微型计算机的各部分部件: 中央处理器 CPU、 随机存取存储器 RAM、 只读存储器 ROM、 I/O 接口电路、 定时器/计数器以及串行通讯接口等, 只要将 89C51 再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等 四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图 2.1 所示。 图 2.1 信号发生器原理框图 89C51 是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样 的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号 经过接口电路到达转