帮帮文库

返回

基于单片机at89c51的信号发生器的设计与实现 基于单片机at89c51的信号发生器的设计与实现

格式:word 上传:2025-09-19 20:13:31
求输出频率个数单位在液晶中显示个位,在液晶显示中表示数字在液晶中显示时十位在液晶中显示时百位在液晶中显示时千位在第行显示在第二行显示抽点计数清零,开启总中断与定时器改。建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。为提高软件设计的总体效率,以简明直观法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。要合理分配系统资源,包括定时数器中断资源等。注意在程序的有关位置处写上功能注释,提高程序的可读性。加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。主程序初始化程序将程序中所用的变量数组端口等进行初始化,使得变量能够上电复位为初始化的数值,然后进行定时器和中断的初始化。初始化完成后开中断,并进入主循环等中断,主程序流程如图所示。图主程序流程图定时器服务程序定时器中断服务程序主要是用于控制输出波形的频率,不同波形的输出频率以及步进都不样,然而定时器的定时时间都样,这就要求在程序中分别设定各种波形频率变换的中间值,需要根据波形来调试,选择合适的值,使输出波形达到频率要求。在此设计中设定了和这两组数组作为波形频率的中间值。正弦波频率调整中间值三角波频率调整中间值变量数组端口初始化函数初始化定时器初始化,开中断开始键盘扫描波形模式波形模式选择频率加频率液晶显示调频选择频率减外部中断服务程序外部中断服务程序主要包括判断需要输出的波形,然后查找该波形数组对映的数据,将得到的数据送到。输出的数字量均采用个周期取个点,利用线性关系以及正弦函数算出各个点,存放在内存中,用指针指向内存首址,取第个数给,然后输出到,接着内存地址加,延时段时间,再取下个数输出,这样直下去,直到读完个数,并依次输出每个点,就可得到方波正弦波以及三角波。利用键盘菜单选择,模式时就有对应的波形产生。三角波正弦波以及码表如下波形发生模块放置在定时中断服务程序中,系统每隔定时间,产生个定时中断,暂停主流程运行,转到定时中断服务程序起始处,执行波形发生模块,该模块输出个样值后,结束此次中断服务,返回主流程断点处继续运行,如图所示。图外部键盘中断流程图液晶显示程序液晶的第行显示的是波形的名称,第二行显示的是波形的频率。先对进行初始化,使之能点阵显示,清零液晶的指针。显示开始后,指针指向第行第格,每显示格后,指针值自动加,第行显示完成后指针指向第二行第格,直到显示完成。中断开始写入定时时间判断波形三角波方波正弦波中断返回第章软硬件联合调试结果本次设计首先使用仿真软件和编程软件进行计算机的联合仿真,待所有预定功能全部实现后,再进行实物的制作。这样做的好处在于可以预先在计算机上看到各个器件的电平以及工作情况,假如实物未能实现预先的功能,则可以根据仿真情况逐排查,减少调试的时间。经调试,实物的功能如下能够产生三角波,方波,正弦波三种波形。正弦波频率范围为,步进三角波频率范围为,步进方波频率范围为,步进。三角波的幅值范围是方波的幅值范围是正弦波的幅值范围是调,输出电压从最大值到正弦波部分输出电压从到最小值正弦波部分输出电压从最小值到正弦波部分,三角波输出打开位输入寄存器关闭位输入寄存器正弦波输出打开位输入寄存器关闭位输入寄存器方波输出打开位输入寄存器关闭位输入寄存器液晶的相关函数置零,表示写指令置,表示写数据在指令所指的地方写数据初始化设置为零,表示写数据使液晶显示点阵,为下面做准备初始设置初始设置清零使指针指向第行第格在第行显示在第二行显示给指针重新赋值,使之指向第二行第格选用定时方式赋初值开总中断开定时器中断启动定时器使寄存器处于直通状态关闭位输入寄存器设置定时器为位工作方式设置外部中断为下降沿触发开定时器中断总频率关总中断与定时器确实有按键按下而引发中断获取口高四位的值选择波形频率按规定单位依次增加频率按规定单位依次衰减输出使寄存器关闭方括号中选取第几个数后,并把该值赋给试过程不通电,用万用表根据电路图仔细检查各线路连接是否正常。首先是调试单片机部分,和运算放大器芯片不接。用软件通过串口下程序。看是否可以正常下程序。当可以正常下程序时,给单片机下个让所有口会儿输入,延时,再输出,以此类推。用万用表测量各口得电压是不是会儿高,会儿低。安上和运算放大器芯片,给单片机下个输出正弦波的测试程序,通过示波器看输出是否正常。给单片机下个完整的程序,分别按下,看波形是否改变。按下,看频率是否改变。出现的问题与解决的方法调试单片机的串口时,发现不能正常的下程序。我想可能是单片机坏了借了块学习板测试了下单片机芯片,发现可以正常下载。这说明很可能是的电路出了问题。我仔细查看了电路图,又上网查了下其他的的电路图,发现我的电路图和别人的不样。我是按照郭天翔的那本新概念单片机语言教程入门提高开发拓展全第页的串口电路画的图,电路图中的接串口的第脚。而其他书上有些电路图却是的接到了串口的第脚。于是我将的接串口的第脚,再下程序,终于可以正常下载了。刚开始写的测试程序输出的波形失真很大。我想可能是波形的表里的数据值过小,导致输出的误差很大。因而卧将波形的表里的数据值调大,在测试时发现波形变得好多了。调试波形的时候我发现矩形波的失真比较大。我想到可能是低通滤波器的截止频率太低了,因而我将低通滤波器的电阻由换成了欧姆,效果好了很多。仿真波形矩形波图锯齿波图正弦波图结论设计的过程总是充满了许多的困难与乐趣的,在这不断的解决问题的过程中,我也在不断的进步。开始的时候由于没有经验,不知如何下手,也不知道自己的毕业设计应该如何定位,所以就去图书馆找了些书看,尽管有许多设计方案,可是总觉得自己还有许多的东西弄不太清楚,于是就请教同学,并与祁春清老师多次交流。在祁老师的多次解释分析之后,我决定使用单片机与数模转换芯片来协作完成个基于单片机的信号发生器。由于过分的自信,我以为构思也有了写程序应该是相对容易的。谁知道,写起程序来才发现要考虑的东西绝不是那么简单,复位功能人机交互功能键盘技术液晶显示技术数模转换技术,每个模块都耗费了自己与祁老师许多的心血,本着不懂就问,不会就查的原则,在经过半个多月的努力后,每个模块的程序已经基本完成,可是当我想把这些模块整合的时候,又遇到了问题,键盘输入时不能及时显示,输入后输出没有改变等系列的问题接踵而至,又经过个多星期的不断调试,程序的整合基本上完成功能上基本达标可输出自定义波形,如正弦波方波三角波三角波梯形波及其他任意波形,波形的频率和幅度在定范围内可任意改变。参考文献张迎新单片机原理及应
下一篇
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
基于单片机at89c51的信号发生器的设计与实现.doc预览图(1)
1 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(2)
2 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(3)
3 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(4)
4 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(5)
5 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(6)
6 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(7)
7 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(8)
8 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(9)
9 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(10)
10 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(11)
11 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(12)
12 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(13)
13 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(14)
14 页 / 共 38
基于单片机at89c51的信号发生器的设计与实现.doc预览图(15)
15 页 / 共 38
预览结束,还剩 23 页未读
阅读全文需用电脑访问
温馨提示 电脑下载 投诉举报

1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。

2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。

3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。

  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
DOC PPT RAR 精品 全部
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库
换一批

搜索

客服

足迹

下载文档