"基于51单片机的波形发生器设计与实现"

版权申诉
0 下载量 125 浏览量 更新于2024-03-08 收藏 869KB DOC 举报
The waveform generator based on the 51 single-chip microcontroller is designed to generate various waveforms using digital-to-analog conversion and operational amplifiers. The system utilizes the C8051 microcontroller as the control core to produce digital signals, which are then converted into analog signals by the DAC0832. The output voltage is obtained by converting the output current using an operational amplifier. The waveform is displayed on an LCD1602 screen, showing the waveform shape, amplitude, and frequency. Independent buttons are used for waveform selection, adjusting the amplitude, and frequency. The system's operation is based on MATLAB, where samples of sine waves, triangular waves, and square waves are collected and stored in arrays for waveform synthesis. Interrupts are used to scan through the arrays for generating waveforms. Frequency adjustments are made by changing the interrupt interval time, while amplitude changes are achieved by altering the digital values (and multiplying them by a factor less than 1). The system uses 20 points for waveform synthesis. Key components of the design include the AT-89C51 microcontroller, DAC0832 digital-to-analog converter, independent buttons for control, and the OP07 operational amplifier. The system combines the functionalities of these components to produce various types of waveforms with adjustable amplitudes and frequencies. The waveform generator based on the 51 single-chip microcontroller provides a versatile and efficient solution for generating waveforms in electronic applications.
2023-02-27 上传
目 录 1 设计要求 1 1.1 题目要求及分析 1 1.1.1 示意图 1 1.2 设计要求 1 2 波形发生器系统设计方案 2 2.1 方案的设计思路 2 2.2 设计框图及系统介绍 2 2.3 选择合适的设计方案 2 3 主要硬件电路及器件介绍 4 3.1 80C51单片机 4 3.2 DAC0832 5 3.3 数码显示管 6 4 系统的硬件设计 8 4.1 硬件原理框图 8 4.2 89C51系统设计 8 4.3 时钟电路 9 4.4 复位电路 9 4.5 键盘接口电路 10 4.6 数模转换器 11 5 系统软件设计 12 5.1 流程图: 12 5.2 产生波形图 12 5.2.1 正弦波 12 5.2.2 三角波 13 5.2.3 方波 14 6 结论 16 主要参考文献 17 1 设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组 合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔 100Hz,非正弦波 的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。 2 波形发生器系统设计方案 设计并制作一个波形信号发生器,能够产生正弦波、方波、三角波的波形,其中不使 用DDS和一些专用的波形产生芯片。并让系统的频率范围在1Hz~1MHZ可调节,在频率范 围在1HZ~10KHz时,步进小于或等于10Hz,在频率范围在10KHz~1MHz时,步进小于或等 于100Hz,并且电压在0~5V范围,能够实时的显示波形的类型、频率和幅值。 2.1 方案的设计思路 以AT89C51单片机作为系统的控制核心,其中P0口接DAC0832作为信号输入同时进行数 模转换,P1口用来接键盘,P2口接LED显示器,由程序来控制P0口产生的波形,再由按键 和按键次数控制波形的种类、频率和幅值的大小,并且能够通过按键来控制波形频率值 和幅度值。由运算放大器DAC0832来实现输出电流到电压的转换,即实现数字信号到模拟 信号的转换。另外在LED上显示实时的频率值和幅度值,产生的波形在示波器显示。并且 通过按键来决定波形数据的存储方式,在按键按下后,就把当时的波形所对应的幅度值 、频率值等参数存储下来。 波形的合成:在波形的合成时,通过外部中断高低电平的延时的时间来进行解码,在 采样的时,对正弦波,三角波,方波都只取了20个采样点,因为采样点越少,其频率能 够达到的值就会越大,合成时就是对幅值点进行一个叠加来输出一组波形。 2.2 设计框图及系统介绍 系统主要部分设计框图如下图所示: 图2:框图设计 2.3 选择合适的设计方案 方案一:采用模拟分立元件或单片函数发生器就可以产生正弦波、方波、三角波,方 法简单。通过调整外部元件也可以实现输出频率的改变,但采用模拟元器件造成元件分 散性太大,从而产生的频率稳定性较差、抗干扰能力低、灵活性较差、而且精度低,不 能实现任意波形转换和波形运算输出等方面自主控制功能。 方案二:采用专业的锁相式频率合成方案,这种锁相式频率合成是一种高稳定度和高 精确度的大量离散技术,他能够准确的产生波形,可以很好的解决频率稳定精确的情况 下又要求频率在较大的范围内可调的问题。但是频率受VCO可变频率范围上的影响,高低 频率比无法做到很高,还有其只能产生正弦波或方波,不能满足产生三角波的要求。 方案三:采用AT89C51单片机和数模转换器DAC0832实现波形的产生。波形的产生方法 是用AT89C51单片机执行波形程序,向DAC0832转换器的输入端输入相应的数据,从而在 DA转换电路输出端再通过运放电路转换得到相应的电压波形。在AT89C51的P1口接按键控 制波形的种类和波形的频率,每种波形对应一种按键方式。此方案原理简单,同时适合 操作,实现起来也相对较容易。 经比较,方案三的设计能够更好的实现和完成题目的要求,产生的三种波形和频率可 由按键控制,并通过按键改变来转换不同的波形,也能够在示波器上显示出所要求的波 形。波形的频率步进也可以实现调节,具有线路简单、可行性高、符合设计要求等优点 。在本设计的基础上,加上LED数码显示管,从而能够在LED上显示出频率值、幅度值信 息。输出的波形也较稳定,精度较高,通过滤波电路使得系统的抗干扰性增强,电路简 单,性价比高。综上所述,我们选择了第三种方案。 3 主要硬件电路及器件介绍 3.1 80C51单片机 图3:8051引脚图 80C51单片机按功能划分,由8个部件组成:微处理器(CPU)、数据存储器(RAM)、 程序存储器(ROM