1 / 14
文档名称:

c51简易函数信号发生器.docx

格式:docx   大小:198KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c51简易函数信号发生器.docx

上传人:mkjafow 2018/9/18 文件大小:198 KB

下载得到文件列表

c51简易函数信号发生器.docx

相关文档

文档介绍

文档介绍:浙江传媒学院
课程设计(实训)报告
学院电子信息学院专业电子信息工程
班级学号
姓名 88 课题
指导教师 88 报告成绩_________ ____
日期:2013年 12 月 5 日
目录
1、设计目的 1
2、设计任务与要求 1
3、设计原理分析 1
4、设计内容 1
资源分配 1
硬件原理图 2
3
5、调试运行 3
6、设计结果 4
7、设计心得体会及建议 4
附录1 程序清单 4
附录2 参考文献 12
设计目的
巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。
培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能力。
通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。
掌握DAC0832,LM324的接口电路,及使用方法。
熟悉掌握函数信号发生器的工作原理。
设计任务与要求
任务:设计一个具有调频、显示和计算频率、显示四种波形四种功能的简易函数信号发生器系统
要求:利用单片机延时控制函数信号的频率,通过粗略计算用LCD0832显示频率值。
设计原理分析
利用单片机的P2、P3口的几个端口与数字开关相连接,来模拟按键,通过改变数字开关状态来改变端口的状态,从而达到波形以及波形显示的控制要求。
sbit key7=P2^7; //左移45°
sbit key6=P2^6; //右移45°
sbit key5=P2^2; //减少取样点数
sbit key4=P2^1; //增加取样点数
sbit key3=P2^0; //控制显示
sbit key2=P3^4; //加频率
sbit key1=P3^3; //减频率
sbit key0=P3^2; //选择波形
设计内容
资源分配
本设计中用到以下资源:四个P口,数字开关、LCD1602、DAC0832,LM324。

sbit key7=P2^7; //左移45°
sbit key6=P2^6; //右移45°
sbit key5=P2^2; //减少取样点数
sbit key4=P2^1; //增加取样点数
sbit key3=P2^0; //控制显示
sbit key2=P3^4; //加频率
sbit key1=P3^3; //减频率
sbit key0=P3^2; //选择波形
sbit rs=P3^5;// RS为寄存器选择
sbit rw=P3^6;// RW为读写信号线
sbit lcden=P3^7;// E(或EN)端为使能(enable)端
P0口与DAC0832的D0-D7数据输入端相连。
P2^4用来控制DAC0832的输入寄存器选择信号CS。
P2^5用来控制DAC0832的8位DAC寄存器读写信号WR。
P1口用来控制LCD1602的数据写入。
硬件原理图
软件流程图
结束
开始
显示LCD初始
KEY3==0
LCD
显示频率和波形名
显示波形
KEY5频率粗调
KEY1频率微调
KEY2频率微调
KEY4频率粗调


调试运行
本函数信号发生器通过单片机程序代码运行时间计算出波形频率,误差还是很大。

正弦波三角波

锯齿波方波
设计结果
经过调试,能够顺利运行,符合设计要求,通过改变数字开关key3可以控制LCD显示和波形显示,key0选择波形,key1、key2、key4、key5、key6、key7控制频率和相位的变化。
设计心得体会及建议
本次的设计中利用AT89C51和DAC0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。
在这次的软件设计中,程序设计采用的是C语言。C语言简洁高效,是最贴近硬件的高级编程语言,经过多年的发展,现在已成熟为专业水平的高级语言。
函数信号发生器程序在编写的时候,因此还是有很多问题的,尤其是波形和LCD1602同时显示不能兼顾,只能通过key3键来选择,以及波形频率的计算总是误差很大。
通过这次课程设计,我进一步了解了波形发生器的原理,在实际动手操作过程中,使我接触了许多我以前没接触过的元件,使我学得了许多知识,使我获益匪浅。
这次课程设计,使我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是我们得到的理论知识得到验证,更能增加对理论知识的理解。
附录1 程序清单
#include<