XXXXXXXX 学院
《单片机课程设计》
报告
XXXX 大学
完成日期:XXXX 年 xx 月 xx 日
学院名称:
XXXXXXXX
专 业:
XXXXXXXX
班 级:
XXXXXXXX
设计题目:
波形发生器
学 号:
XXXXXXXX
学生姓名:
XXXXXXXX
指导教师:
XXXX
目 录
一、设计任务和性能指标 ...............................................................................................1
1.1 设计任务 ..............................................................................................................1
1.2 性能指标 ..............................................................................................................1
二、.设计方案 ..................................................................................................................1
三、系统硬件设计 ...........................................................................................................2
3.1 单片机的最小系统 ..............................................................................................2
3.2 芯片 dac0832 运用 .............................................................................................2
3.3 波形显示的设计 ..................................................................................................4
3.4 键盘接口的设计 ..................................................................................................4
四、系统软件设计 ...........................................................................................................4
4.1 主程序设计 ..........................................................................................................4
4.2 波形子程序设计 ..................................................................................................4
4.3 键盘子程序设计 ..................................................................................................5
五、调试及性能分析 .......................................................................................................5
5.1 调试步骤 ..............................................................................................................5
5.2 性能分析 ..............................................................................................................5
六、心得体会 ...................................................................................................................6
参考文献 ...........................................................................................................................7
附录 1 系统硬件电路图 ..................................................................................................7
附录 2 程序清单 ............................................................................................................7
1
一、设计任务和性能指标
1.1 设计任务
多功能波形发生器是科学实验研究中常用的电子仪器之一。本实验通过设计一个由微机
控制的多功能波形信号发生器,旨在:熟悉几种典型波形产生的原理;进一步掌握 D/A 转
换电路在智能化仪表电路装置中的应用;了解由微机控制的多功能波形发生器的设计思路与
实现方法。
利用单片机及外围接口电路(键盘接口和 dac0832 芯片)设计制作波形发生器,并用示波
器检测是否正确。
要求用 Proteus 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功
能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思
路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。
1.2 性能指标
1. 显示:方波,三角波,锯齿波,正弦波。
2. 设计一个由微机控制的多功能波形发生器。具体要求如下:
3. 该发生器能够在操作人员控制下输出正弦波、方波、三角波或锯齿波波形;
4. 这些波形的极性、幅度、周期、占空比(对矩形波而言)等可由操作人员控制和修
改;
5. 通过示波器显示、检验产生的波形。
二、.设计方案
按照系统设计的功能的要求,初步确定设计系统由主控模块、输出模块、显示模块、键
扫描接口电路共四个模块组成,电路系统构成框图如图 1.1 所示。主控芯片使用 51 系列
AT89C52 单片机,采用高性能的静态 80C51 设计,由先进工艺制造,并带有非易失性 Flash
程序存储器。它是一种高性能、低功耗的 8 位 COMS 微处理芯片,市场应用最多。
本设计用 DAC0832 芯片实现 DA 转换的功能,DAC0832 的精度为 8 位,因此,输入的数据
范围为 0~255,这一范围由上一功能模块的中断处理程序控制。取 DAC0832 的参考电压为
5V,由于实验所用的 DAC 模块将 DAC0832 输出的差动电流转化为单级的电压,其范围为
0~5V,对应 DAC0832 的输入数据 0~255。
3.2.1 总体硬件结构设计
通过分析,本系统的总体硬件结构设计示意如图 3.1 所示。
2
图 3.1 智能多功能波形发生器设计硬件结构图
3.2.2 总体软件流程设计
软件设计主要包括计数器计数触发中断程序设计与主程序设计。当计数器达到计数
初值时,中断程序运行在示波器上显示一个图像点,通过不断触发中断,从而在示波器
上显示完整图像。
图 3.2 为软件总体设计流程图。软件总体分为三大部分。第一部分为初始化程序,
第二部分为中断处理程序,第三部分为参数设置的主循环。
IROn
总
线
扩
展
插
孔
译
码
电
路
AB
定 时 /
计数器
带输入 缓 存
的 DAC
(DAC0832)
时 钟
电路
I/V 变
换 电
路
示
波
器
D0—D15
单/双极性
开始
初始化程序
参数设置主循环
有中断?
中断处理程序
退出?
退出
是
否
是
否
3
图 3.2 软件总体设计流程图
初始化程序完成对定时器中断的和计数初值的初始设定,保存旧的中断向量和设置
新的中断向量,开中断等任务。
中断处理程序完成对当前波形参数的判断,并由波形参数得到应该输出的数据,向
DAC0832 芯片输出数据。
参数设定主循环完成对用户输入的不间断扫描,根据用户输入的命令设定波形参数
(包括波形种类),作为中断处理程序输出数据的依据。
三、系统硬件设计
3.1 单片机的最小系统
ATMEL 公司生产的 AT89C52 单片机它是硬件电路的核心部分,时钟电路晶振使用
11.0592MHz,复位电路采取按键复位方式。具体连接见附录 1。
3.2 模数转换 dac0832
3.2.1 主要参数
1、 分辨率为 8 位;
2、 电流稳定时间 1us;
3、 可单缓冲、双缓冲或直接数字输入;
4、 只需在满量程下调整其线性度;
5、 单一电源供电(+5V~+15V);
6、 低功耗,20mW。
3.2.2 结构
1、 D0~D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁存器的数据会出错);
2、ILE:数据锁存允许控制信号输入线,高电平有效;
3、CS:片选信号输入线(选通数据锁存器),低电平有效;
4、WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由 ILE、CS、WR1 的逻辑组
合产生 LE1,当 LE1 为高电平时,数据锁存器状态随输入数据线变换,LE1 的负跳变时将输入数据锁存;