基于51单片机的多功能函数信号发生器的设计(7)

2019-05-18 20:28

第 西南交通大学本科毕业设计(论文) 24 页

图2-17. LM324的引脚排列图

由于LM358具有电源电压范围宽,价格低廉,功耗小,可单电源使用等优点,因此LM358被广泛应用在各种运放电路中。而我们此次设计中正好要用到两个运算放大器,所以就选择了LM358。

第3章 软件仿真及程序编写

3.1 仿真软件和编程软件

本次设计中我们采用仿真和编程所用到的软件分别是Proteus和Keil。 Proteus软件是一款EDA仿真软件,经常用来搭建模拟与单片机相关的一些仿真,由英国Lab Center Electronics出版。由于单片机实物制作麻烦,耗时长,所以一个能仿真单片机的软件就很好地解决了这个问题。人们不需要再去花钱购买实物,也不用去花费心思去设计电路板,只需要在proteus中找到相关元件,并用鼠标进行连

第 西南交通大学本科毕业设计(论文) 25 页 线,这样一个仿真就搭建好了。由于Proteus功能强大,现在的应用范围很广泛,所以得到了全球的认可,深受单片机爱好者的喜爱。

在搭建仿真的过程中,我们要到元件库中去搜寻我们所需要的元件,比如电阻是RES,电容是CAP,单片机芯片我们直接选择AT89C51,LCD则搜索LM016L,其他的也都可以在元件库中找到。在搭建过程中也有一些小技巧,比如缩放中找不到仿真图了,我们按F8像是当前工作区,当发现元件的位置不对且需要旋转时,我们可以用+-号进行旋转,当然也可用右键对元件进行X-Y轴对称。当我们搭建好仿真后,可以双击51芯片,然后选择生成的hex文件,最后点击运行按钮就可以运行仿真了。

图3-1 proteus软件启动画面

要完成仿真,必须要用到hex文件,而hex文件则是程序编译后生成的文件。所以我们还需要编程软件,编程软件我们用到的就是美国Keil Software公司出品的Keil软件。Keil可以可以用来编写多种程序,Atmel系列单片机只是其中的一种,而且Keil可以使用汇编语言或者C语言进行程序编写,只是创建文件时的后缀名不一样,我们此次设计采用C语言编写程序。编写完毕后,我们要选择Target Options进行设置,在output选项中勾选create HEX files,这样就能在编译时生成仿真运行所需要的hex文件了 。

第 西南交通大学本科毕业设计(论文) 26 页

图3-2 Keil μVision4软件

3.2 整体电路仿真原理图

函数信号发生器的整体仿真原理如图3-3,AT89C51的P0口作为向D/A转换芯片DAC0832发送数据的端口,P1口作为控制LCD1602显示的端口,P2口和P3口分别用来控制DAC0832、LCD1602的是使能端和按键。

图3-3.整体电路仿真图

第 西南交通大学本科毕业设计(论文) 27 页

3.3 程序编写思路及编写结果

我们实验中常用的波形如正弦波、方波和三角波都是周期波形,我们只需知道一个周期的波形即可知道整个波形是什么样子。所以我们可以对波形进行采样处理可以得到一个周期的波形波码,比如正弦波的波码如下:

第 西南交通大学本科毕业设计(论文) 28 页

程序编写思路流程图:

图3-4 程序流程图

Waveform=0 输出正弦波 Waveform=1 输出三角波 Waveform=2 输出方波 Waveform=3 输出锯齿波 Waveform++ 频率增加 频率减小 S1按下 S2按下 S3按下 否 按键按下? 开始 芯片初始化 是所以我们可以利用c51单片机把波码数据通过P1口发送给D/A转换芯片DAC0832处理,依照此思路进行,我通过查阅资料和上网查询一些信号发生器程序的范例,然后整理思路编写自己的程序。编写的过程中随时进行调试并检查错误,不懂的地方请教老师同学并查阅更多的资料,梳理思路,最终完成程序编写,完整的程序见附录2。

在Keil输出设置中勾选输出hex文件,然后编译并产生hex文件,用于后面的仿真和硬件实现功能。

LCD显示 3.4 仿真结果

在仿真图中,双击AT89C51芯片,设置一些参数并选择调用Keil生成的hex文件,点击软件左下角的开始运行按钮,观察仿真现象及结果。输出波形截图如下:


基于51单片机的多功能函数信号发生器的设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:--威廉指标实战术操作

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: