微处理器与微控制器课程设计 波形发生器
1
摘要:本设计采用 at89c51 单片机、dac0832 数模转换器、lm358 放大器实现波形发生器。
可以产生方波、锯齿波、正弦波、三角波、梯形波,并且频率可调。
1 概述
Proteus 是英国 Labcenter electronics 公司研发的多功能软件,它具有功能很强的 ISIS 智
能原理图输入系统,友好的人机互动窗口界面,丰富的操作菜单与工具,目前,已成为流行
的单片机系统设计与仿真平台,并应用于多种研发领域。本设计以 AT89C51 为核心,应用
Keil、Proteus 软件为编译、可视化调试仿真平台,配以相关外围电路设计,在单片机控制
下,通过有关电路产生地址并读出数据,送入 D /A 转换,方便、快捷地输出要求的波形。
2 波形发生器系统设计方案
以 AT89C51 单片机作为系统的控制核心,其中 P0 口接 DAC0832 作为信号输出同时进
行数模转换,P3 的 4-7 接口、P1 的 0 接口分别接方波、锯齿波、正弦波、三角波、梯形波
的独立按键,P1 的 1、2 口接增大频率和减小频率的独立按键,由程序来控制 P0 口产生的
波形,再由按键控制波形的种类、频率的大小。由运算放大器 DAC0832 来实现输出电流到
电压的转换,即实现数字信号到模拟信号的转换。产生的波形在示波器显示。P0 口接
DAC0832 时需要外界上拉电阻。
图 1 系统设计框图
3 系统的硬件设计
根据设计的基本要求,我们又把其细分为不同的功能模块,各个功能模块相互联系,相
互协调,通过单片机程序构成一个统一的整体。其整体电路原理框图如图 2 所示。
图 2 硬件设计框图
at89C51 单片机是该波形发生器的核心,具有 2 个定时器,32 个并行 I/O 口,1 个串行 I/O
口,5 个中断源。在单片机最小系统中,单片机从 P1 的 0、1、2 口以及 P3 的 4、5、6、7
接口接收来自键盘的信号,并通过 P0 口输出控制信号,再通过 DA 转换芯片最终由示波器
显示输出波形,所有按键接与门后接单片机的外部中断 0 接口,相当于每按下某个按键就会
产生一个外部中断 0,而不需要时时刻刻查询每个接口的状态。
单片机引脚分配如下:
XTAL1,XTAL2:外接晶振,产生时钟信号;
P0 口:输出信号,外接上拉电阻;