课设报告——简易信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简易信号发生器设计
摘要
随着电子技术的飞快发展,单片机也应用得越来越广泛,基于单片机的智能仪器的设计技术不断成熟。
单片机构成的仪器具有高可靠性,高性价比。单利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于程序控制。只要对电路稍加修改,调整程序,就能实现功能的升级。
本系统利用单片机AT89C51采用程序设计方法产生正弦波、三角波、方波、锯齿波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,并通过按键来控制四种波形的类型选择。本次设计主要由信号发生模块、数模转换模块和仿真模块。
关键词:单片机;数模转换;液晶显示屏
目录
第1章概述 (1)
第2章系统总体方案选择 (1)
2.1 系统硬件设计图 (1)
2.2 系统软件设计 (1)
第3章各单元硬件设计及工作原理 (2)
3.1 单片机最小系统的设计 (2)
3.2 函数信号发生器的设计 (2)
3.2.1 DAC0832芯片工作方式的选择 (2)
3.2.2 DAC0832芯片外围电路的设计 (2)
3.3 LCD12864显示屏 (3)
3.3.1 LCD12864与LCD1602的区别 (3)
3.3.2 LCD12864显示屏原理及其硬件设计 (3)
第4章软件设计与说明 (3)
4.1 软件设计思路 (3)
4.2 波形数据输出程序设计 (4)
4.3 LCD12864显示程序设计 (5)
第5章调试结果及其说明与使用说明 (6)
5.1调试过程中遇到的问题 (6)
5.1.1 LCD12864显示问题 (6)
5.1.2 幅值调节问题 (6)
5.2使用说明 (6)
第6章总结 (7)
第7章参考文献 (8)
附录 (9)
概述
在本系统中,设计的要求为产生三角波、正弦波、方波信号,要求频率和幅值可调。并且显示内容可以在LCD 显示出来,在本系统中,主控为AT89C51单片机,D/A 转换芯片采用的为ADC0832,LCD 显示屏采用LCD12864,本系统设置有三个控制按键,分别为频率转换按键、波形切换按键、幅值切换按键,通过这三个按键,可以对输出的波形进行控制,波形幅值为0—5V ,分为5个幅值挡位,频率范围为40Hz —400Hz ,分为50个频率挡位。在设计中,采用LCD12864将输出的波形、幅值、频率等信息的参数显示出来,较LCD1602来说显示内容更为丰富直观。
最终结果,本设计完成了设计要求的全部内容,并且在波形上增加了锯齿波。系统具有硬件简单、效果明显、运行稳定,方便操作的特点。
系统总体方案选择
本设计中,可以大致分为两个模块,主要的部分为信号发生器模块,这一部分为系统的主要部分,并且实现起来也较为简单。第二部分为LCD 显示部分,显示的内容为幅值、频率、波形等信息,显示的内容为实时的,需要不断刷新显示,所以这一部分实现起来难度较大。
系统硬件设计图
本系统硬件设计遵循模块化设计的原则,以简单实用为主要的设计理念,电路图详见附录(1)
AT89C51单片机
复位电路
振荡电路
D/A 转换电路
LCD12864液晶
显示屏
图(1)硬件电路设计图
2.2 系统软件设计
软件设计时,可以将任务分开实现,其一为波形数据输出,其二为LCD12864显示。
简易信号发生器
波形数据输出
LCD12864显示
图(2)程序的模块化设计
各单元硬件设计及工作原理
3.1 单片机最小系统的设计
单片机最小系统,因为系统相对简单,主要的外设器件只有两个,所以就选用了AT89C51作为主控芯片。
3.2 数模转换电路的设计
3.2.1 DAC0832芯片工作方式的选择
DAC0832有3种工作方式:单缓冲、双缓冲、直接选通方式,由于本设计为了达到持续输出信号的目的,所以采用了直接选通的方式,这种方式的优点就是转换速度
更快,操作简单,输入的数据可直接转换输出。将芯片的C S ————、W R 1—————、W R 2—————、XFER —————
、GND 这五个引脚直接接地,ILE 、VCC 接电平即可。
3.2.2 DAC0832芯片外围电路设计
DAC832的输出量为电流量,但是我们想要的是获得的是电压量,因此在DAC0832使用的时候,是需要在输出口,外接由运算放大器组成的I/V 转换电路,就能得到模拟输出的电压,运算器使用的是LM324。
DA 转换电路如右图所示,在这个图内,数据的输入端和单片机P1口相连。
图(3) DA 转换电路图
3.3 显示屏的选择
3.3.1 LCD12864与LCD1602的区别
这两者最大的区别就是显示面积的区别,前者的显示面积较大,后者的显示面积较小,基于这点,我们选用LCD12864,用来显示足够多的内容。
3.3.2 LCD12864显示屏原理及其硬件设计
这次使用的LCD12864为Protues 自带库中特有的,虽然是特有的,但是和平时使用的没有太大的区别,在这里我就不在赘述显示原理了,具体的介绍将会在附录中,在这里,我将主要介绍在使用时候的注意事项,特点就是没有专门的汉字库和符号库,所以在使用的时候需要将所需要的汉字和符号事先通过取模软件提取出来,我使用的是取模软件为PCTOLCD2002,此软件取模方便,推荐使用,但是在使用的时候需要注意的是,显示屏在显示的时候是从第一行从左到右一次显示,然后在到第二行进行显示,汉字的显示一般需要占用两行,也就是,在汉字取模的时候,要将汉字分为上下两个部分取模。
此款显示屏分为左右两个显示,分别通过CS1————
、CS2————
,选通左半屏和右半屏,所以在写程序的需要注意下。这点平时使用的显示屏有点区别。
显示屏D0~D7与单片机P0口相连,其余状态控制引脚通过单片机P3口控制。
图(4) LCD12864显示屏接线图
软件设计与说明
4.1 软件设计思路
采用了模块化设计的思路,将复杂的问题分解成各个简单的问题,大体上可以分为两个部分,其一为波形输出部分;其二为LCD12864显示部分。程序流程图如下图所示: