基于AT89C51单片机的数字式简易低频信号发生器.docx

上传人:b****6 文档编号:4354040 上传时间:2022-11-30 格式:DOCX 页数:13 大小:1.88MB
下载 相关 举报
基于AT89C51单片机的数字式简易低频信号发生器.docx_第1页
第1页 / 共13页
基于AT89C51单片机的数字式简易低频信号发生器.docx_第2页
第2页 / 共13页
基于AT89C51单片机的数字式简易低频信号发生器.docx_第3页
第3页 / 共13页
基于AT89C51单片机的数字式简易低频信号发生器.docx_第4页
第4页 / 共13页
基于AT89C51单片机的数字式简易低频信号发生器.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于AT89C51单片机的数字式简易低频信号发生器.docx

《基于AT89C51单片机的数字式简易低频信号发生器.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的数字式简易低频信号发生器.docx(13页珍藏版)》请在冰豆网上搜索。

基于AT89C51单片机的数字式简易低频信号发生器.docx

基于AT89C51单片机的数字式简易低频信号发生器

电子设计应用软件训练总结报告

一、任务说明:

本次课设的任务是基于AT89C51单片机的数字式简易低频信号发生器的设计,要求实现用程序产生方波、正弦波、锯齿波、阶梯波四种信号,并可以键控切换,而且需在Proteus电子设计平台上对设计方案进行仿真。

本次设计采用

了AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)来实现模数转换,从而输出正确的波形,设计中还连接了按键电路来实现键控。

波形的频率为200Hz,用调整延时来实现。

设计简单,性能良好,具有一定实用性。

二、原理图绘制说明

1、原理图绘制过程说明

(1)运行proteus7.5,进入绘图页面。

图1proteus绘图页面

(2)查找元器件,按动键盘按键P,进入PickDevices页面,在关键字项中输入元件名称。

如查找AT89C51。

图2查找元件

(3)放置元器件并连线。

2、原理图说明

(1)单片机晶振电路

对于MCS-51一般的晶振可以在1.2MHZ-12MHZ之间选择,这时电容C1、C2可以选择在10pf-30pf之间。

在本设计中,电容选择25pf,晶振选择12MHZ。

电路如下图:

图3单片机晶振电路原理图

(2)单片机复位电路

复位时单片机的初始化工作,复位后中央处理器CPU和单片机内部的其他功能部件都处在一定的初始状态,从这个状态开始工作。

电路如下图:

图4单片机复位电路原理图

(3)总线电路

本设计中,将P0并行口作为波形数据输出口,通过数据总线与DAC0832的D0-D7连接。

P2.7与0832的片选端/CS连接,使用时可由地址译码提供。

P3.6与0832的2管脚外部数据存储器写选通相连。

电路如下图:

图5总线电路

(4)键控电路

本设计中的键控部分引入了外部中断0中断来实现对波形的切换,用按键与P3.2连接来实现。

在该管脚上加上一10k的上拉电阻,用来提高输出电平,加大输出引脚的驱动能力。

电路如下图:

图6键控电路

(5)DAC0832电路

在本设计中,DAC0832选择了直接工作方式。

0832中的电源电压VCC、输入寄存器的锁存信号端ILE、基准电压端VREF接高电平。

模拟电路接地端、数字电路接地端GND、写信号2端/WR2、传递控制信号端/XFER接地。

D/A输入电流1、2端与反馈信号输入线RFB连接运算放大器。

这里的运算放大器选用了LM324型号。

电源电压设置为-6~+5V。

电路图如下:

图7DAC0832电路

三、流程图绘制以及说明:

单片机的内部数据只有0、1之分,所产生的信号也都是离散信号。

为了让单片机输出所需的数字信号,采用对信号采样、量化的方法来实现由单片机产生所需信号。

(1)主函数

主函数调用了各个子程序的初始化,通过对按键次数的判断来实现不同的功能,输入波形。

数值为0、1、2、3时分别输出方波、正弦波、阶梯波、锯齿波。

图8主函数流程图

(2)按键计数函数流程图

在按键计数函数中,对key进行循环加1的操作,每按一次,数值加1。

数值加到3时,再按动按键,数值跳回1。

图9按键计数函数流程图

(3)波形子程序调用函数

在设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。

对于方波,赋予初值FFH,延时一段时间后,赋值00H,再延时一段时间后,输出FFH,以此循环。

在实现阶梯波时,通过查表和延时来实现。

锯齿波则是通过256个采样点赋值依次减1得以实现。

为满足设计要求中输入频率为200hz这一要求,在程序中在对波形各个采样点赋值之外,还设计了相应的延时。

波形子程序的调用就是对这两项进行调用。

四种波形的流程图如下。

图10方波子程序调用流程图

图11正弦波子函数调用流程图

图12阶梯波子程序调用

图13锯齿波子函数调用流程图

四、Proteus仿真说明:

连接好原理图后,双击AT89C51芯片,将后缀为.hex的文件添加到单片机中,点击运行。

图14添加程序

正确运行后,示波器中显示正弦波。

频率约为200hz。

波形如下

图15方波波形

按动按键一下,波形转变成正弦波。

皮率约为200hz。

波形如下

图16正弦波波形

再按动一次按键,波形转换成阶梯波。

频率约为200hz。

波形如下

图17阶梯波波形

再按动一次按键,波形转变成锯齿波。

频率为200hz。

波形如下

图18锯齿波波形

再按动一次按键,波形回到最初显示的方波。

五、体会及合理化建议

通过这次的课设,我熟悉了基于AT89C51单片机的数字式简易低频信号发生器的设计,学会了如何利用数模转换器DAC0832来实现波形,和通过按键控制切换波形。

在这次课程设计的过程中遇到了一些难题,比如键控部分。

起初的构想是用P1口来控制按键,给P1口赋初值01H,输入第一个波形,在对P1口左移一位,输出第二个波形,依次类推。

连接后原理图无法正确运行。

在频率上,编程时设计的延时单元没有很符合要求,仿真时输出的波形的频率与要求不符。

后经多次试验,实现了输出频率为200hz这一要求。

在今后的学习中,我认为应当为大家提供更多的机会亲自动手去完成一些简易的设计,这样不仅可以加深大家对平时学习的理论知识的理解,也可以提高大家的动手实践能力,更会扩宽同学们的视野,拓展专业知识,有益于今后的学习与发展。

参考文献

1.严洁.单片机原理及接口技术.[M]机械工业出版社.2010.146-151页

2.欧伟明、何静、凌云、刘剑.单片机原理及应用系统设计.[M]电子工业出版社.2009.140-143页

3.卢胜利、郝立果、丁峰.单片机原理与应用技术实践.[M]机械工业出版社.2009.227-231页

4.朱定华、戴颖颖、李川香.单片微机原理、汇编与C51及接口技术.[M]清华大学出版社.2010.296-299页

5.张毅刚、刘杰.单片机原理及应用.第三版.[M]哈尔滨工业大学出版社.2010.219-226页

 

附录I电路原理图

附录II元器件清单

元器件名称及规格

标注

AT89C51

U1

DAC0832

U2

电阻10K

R1

上拉电阻10K

R2

晶体振荡器12M

X1

瓷片电容25Pf

C1,C2

电解质电容10uF

C3

按键开关

K1

直流电源5V

VCC

运算放大器LM324

U3

数字示波器

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1