简易函数信号发生器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告书
课题名称 简易函数信号发生器的设计
姓 名 ** 学 号 ** 院、系、部 **
专 业 电子信息科学与技术
指导教师 **
2011年12月12日
※※※※※※※※※ ※
※ ※※ ※
※
※※※※※※※※※
**级学生单片机
课程设计
目录
一、绪言 (1)
二、系统方案论证 (1)
2.1设计要求 (1)
2.2 简易函数信号发生器方案论证 (1)
2.3 单片机的控制方案论证 (1)
2.4 键盘选择方案论证 (2)
三、系统设计 (2)
3.1 硬件电路设计 (2)
3.2 程序流程图 (4)
3.3 C语言程序设计 (5)
四、简易函数信号发生器的仿真 (8)
4.1 系统仿真 (8)
4.2工作原理分析 (10)
结束语 (11)
参考文献 (11)
修改通篇页面设置里面的左右边距
一绪言
函数发生器是一种多波形的信号源。它可以产生正弦波、方波、三角波、锯齿波,甚至任意波形。函数发生器有很宽的频率范围,使用范围很广,它是一种不可缺少的通用信号源。因此设计使用的AT89S52单片机构成的发生器,可以产生正弦波和方波。
二系统方案论证
2.1设计要求
1、设计一个基于AT89S52单片机的信号发生器;
2、能够输出方波和正弦波(正弦波是双极性的),要求可用按键选择;
3、可选电压值为1V、2V、3V、4V、5V五个档位;
4、可选频率值为:10Hz、20Hz、50Hz、100Hz、200Hz、500Hz、1KHz七个档位;
5、能够通过显示模块显示输出波形的主要参数。
2.2 简易函数信号发生器方案论证
方案一:用分立元件组成函数发生器,通常是单函数发生器且频率不高,其工作不很稳定,不易调试。
方案二:可以由晶体管,运放 IC等通用器件制作,更多的则是用专用的函数信号发生器IC产生。早期的函数信号发生器IC,如L8083、BA205等,他们的功能少,精度不高,频率上限只有300KHz,频率和占空比不能独立调节,二者相互影响。
方案三:利用专用直接数字合成DDS芯片的函数发生器:能产生任意波形并且达到很高的频率。但成本很高。
方案四:采用 AT89S52单片机和DAC0832芯片,直接连接按键和显示。该种方案主要对AT89S52单片机的各个I/0口充分利用,不再多用其他的芯片,从而减小了系统的成本,也对按照系统便携式低频信号发生器的要求所完成,占用空间小,使用空间小,使用芯片少,低功耗。
综合考虑,方案四各项性能和指标都优于其他各种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,而且这些芯片和器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。
2.3 单片机的控制方案论证
方案一:采用可编程逻辑期间CPLD 作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。
采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从使用及经济的角度考虑我们放弃了此方案
方案二:采用Atmel公司的AT89S52单片机作为控制器。AT89S52是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8k空间的可反复擦些1000次的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。
综合考虑,选择方案二,采用Atmel公司的AT89S52单片机作为控制器。
根据设计任务书中的设计要求,可选用Atmel公司的89系列单片机AT89S51,但考虑到将来控制功能的扩充,用AT89S51来完成本次设计。
控制方案如下:用AT89S52的P0口和P2口分别控制2片DAC0832的输出,P2口控制输出波形,P0口控制输出波形的幅度,P1.0到P1.4分别接五个独立按键,分别实现波形的波形转换,频率调节和幅度调节。充分利用单片机的这几个I/O口就可以实现要求的功能。
2.4 键盘选择方案论证
方案一:采用独立式键盘。由于各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可以很容易的判断哪个按键被按下。此种键盘适用于按键较少或操作速度较高的场合。
方案二:采用行列式键盘。它由行线和列线组成,按键位于行列的交叉点上,行线信号和列线信号分别通过两个接口和CPU相连,通过行列扫描法判定按键的位置,此方案适用于按键较多的场合。
通过对简易函数信号发生器题目的分析,本项目使用键盘较少,采用独立式键盘。
三、系统设计
3.1 硬件电路设计
3.1.1 简易函数信号发生器的总电路图
简易函数信号发生器的总电路图如图1所示
采用AT89C51单片机控制DAC0832波形输出的电路原理如图1所示。
.
图1 简易函数信号发生器的电路图
3.1.2 行列式式键盘的设计
键盘电路如图2所示。
图2键盘模块电路图
说明:总共5个按键,功能分别为波形选择,频率加,频率减,幅度加,幅度减。
3.1.3波形输出及波形幅度调节模块的设计
波形输出及波形幅度调节模块如图3所示。
.
图3波形输出及波形幅度调节模块
U3负责输出幅度的调节,U4负责输出波形的调节,U3后接2个OPAMP负责将输出波形转换为双极性波。
3.1.4 主要元器件选择
主要元器件选用型号和数量如表2-1所示:
表2-1 主要元器件清单
序号材料名称规格型号数量元件代号
1 单片机AT89C51 1 U1
2 与门74HC08 1 U5
3 DA转换芯片DAC0832 2 U4,U3
4 运算放大器OPAMP 3 U2,U6,U7
5 按键小型号 5
3.2 程序流程图
3.2.1 内存单元分配
AT89C51片内RAM存储单元分配如表2-2所示:
序号存储单元用途
1 50H~7FH 堆栈区
2 R4、R5、R6 0.5s延时子程序
3 R1 延时计数初值
4 R2 中断服务程序的延时计数初值