基于单片机的低频信号发生器毕业设计论文(编辑修改稿)内容摘要:
B 4C 4D 4E 4F 第二行 字符产生存储器(反转片)内 1602 LCD 模块储存了 160 个不一样点的字符模形,这些字符是:英文字母、通常使用的符号和日语假名等,每一个字符具有固定的代码。 在软件中设置温度的代码是: ℃ ( 00110011B, 00110000B, 00101110B, 00110000B,01000011B); ℃ ( 00110011B, 00110111B, 00101110B, 00110000B, 01000011B) ;60℃ ( 00110110B, 00110000B, 01000011B)。 在 液显 电路的衔接上, LCD1602 液晶显示模块直接单片 AT89S51 相连, 然后以驱动 NMOS 上拉电流负载,需求接一个上拉电阻,來使得这个位置拥有有效的高电平。 所以接 10K 电阻来保证拥有有效的高电平,以确定显示高度点,是否要显示。 VEE 因为终端电源连接到正电源,对比度就会相对较弱,然而接地电源的时候产生的对比度就 会变得相对过高,将有一个“鬼影”,对比度过低会使屏幕模糊。 对比度的调节需要一 10k 的电位器。 LCD1602 的 RS 寄存器选择连接端口 单片机的口,通过软件程序设置此引脚,以确定所选择的寄存器。 读写端口的 LCD 液晶显示器直接连接到微控制器 口,在高电平时候输入的对数字信号进行读数。 配置 E端终止单片机的 端口,使能端由高电平命令执行到一个较低的水平时候,显示读数。 LCD 显示电路图如图 262: 淮阴工学院毕业设计说明书 (论文) 第 12 页 共 40 页 图 262 LCD 显示电路原理图 此外,为了控制 LCD 液晶显示的亮度,已经将本设计灰度固 定。 如想调节液晶显示器的亮度可以接一滑动变阻器,可通过滑动变阻器来调节液晶显示屏的亮度大小。 3 软件设计 系统软件设计分为主程序和子程序设计。 其重点是产生各类波形的编程例程,并进行编程来产生各种波形。 其中,所述频率变化的各种波形可以通过使用延迟的常规方法来实现插入。 显示模块是通过使用 DAC0832 的 8 位性质,将波形与之对应的模拟数据以 8 位的数据模 式 写入到单片机中去,只须按 下 键就能显示相对应的波形。 主程序流程图 如图 31 所示: 淮阴工学院毕业设计说明书 (论文) 第 13 页 共 40 页 图 31 主程序流程图 该软件程序设计的目的主要实现是通过按钮来控制不一样波形的显示,在初始的时候,我们在通电瞬间系统就开始工作,本设计将默认初始化为发出正弦波工作信号。 当按钮 1 闭合时,函数发生器就会切换到下一个波形;若再次按下按钮 1就会继续切换到下一个波形,本设计共有四种波形,按下按钮 1 会依次循环出现。 当按钮 2 按下时,函数发生器自动怎么加频率;当按钮 3闭合时,函数发生器就会减少频率的输出;当按钮 4 闭合时,函数发生器就进入步进值调节的软件控制程序。 子程序流程图 如下图锯齿波流程 32所示。 开始 Key1 按下了吗。 输出对应波形 加频率 减频率 调节频率步进值 Key2 按下了吗。 Key3 按下了吗。 Key4 按下了吗。 Y Y Y Y N N N N 淮阴工学院毕业设计说明书 (论文) 第 14 页 共 40 页 图 32 1锯齿波流程图 锯齿波产生把数值 00H 放入寄存器 A里面, D/A 转换器输出 A中的数值,若 A 里面的数值和 FFH相等则返回开始,若 A中的数值不等于 FFH时,那么 A中的内容不断累加,从而输出波形。 如下图三角波流程 322所示 图 322 三角波流程图 A=00H A 送到 0832 输出 A=A+1 开始 Y N A=FFH。 开始 A=00H A 送到 0832 输出 A=A+1 A=A1 A 送到 0832 输出 N Y Y N A=FFH。 A=00H。 淮阴工学院毕业设计说明书 (论文) 第 15 页 共 40 页 三角波是一个数值的上升,当加入到一个 0 的内容。 一个数值每降低,从而可以获得一个三角波周期。 产生三角波程序: uchar code sanjiao[64]={ 0,7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112,119,126,133,140,147,154,161,168,175,182,189,196,203,210, 217, 224,217,210,203,196,189,182,175,168,161,154,147,140,133,126,119,112,105,98,91,84,77,70,63,56,49,42,35,28,21,14, 7, 0 }。 如下图正弦波程序流程 323所示 图 323 正弦波程序流程图 正弦波波形设计指令可通过查表获得。 uchar code sin[64]={ 135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158, 146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128 }。 开始 A=00H DPTR1=DPTR1+1 A=正弦函数表数据 A 送到 0832 输出 Y N A=129。 淮阴工学院毕业设计说明书 (论文) 第 16 页 共 40 页 如下图方波程序流程 324 所示 图 324方波程序流程图 产生一个方波是当 A 值等于零,相应的模拟输出,和延迟时间,当一个值等于0FFH,对应于相同的模拟输出,然后延迟时间。 产生方波的程序: uchar code juxing[64]={ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }。 开始 A=00H A 送到 0832 输出 延时 A=FFH A 送到 0832 输出 延时 淮阴工学院毕业设计说明书 (论文) 第 17 页 共 40 页 延时子程序流程图如图 325所示 图 325 延时子程序流程图 延时程序如下: void delay(uint xms) { int a,b。 for(a=xms。 a0。 a) for(b=110。 b0。 b)。 } 开始 R6 赋初值 R7 赋初值 R7 减 1, R7 是否 为 0。 R6 减 1, R6 是否 为 0。 返回 N Y Y N 淮阴工学院毕业设计说明书 (论文) 第 18 页 共 40 页 4 系统调试 在确定软件的编程思想,程序和各部分的程序进行编译,然后接下来就是对所设计的硬件电路和系统软件进行整体的测试了。 本人 采用 软件仿真的软件是 Keil51,单片机应用开发软件中软件运用最多的就是本软件,清晰明了,容易编写且操作方便。 通过 Keil51 软件中调试程序完毕后 ,将 会自动生成一个 .hex 文件, 接着用编程器载入到 STC89S51单片机中,再然后 加 载到 Protues 软件电路中进 行按部就班的仿真,就可以获得调试的最终结果啦。 系统调试将分部进行,第一部分是软件的程序的编译调试。 第二部分是硬件电路的调试。 软件调试 Keil μ Vision 是一个基于 C语言的软件逻辑可编程软件,该软件通过将 C 语言编译成机器语言,然后将机器语言烧入单片机中,便可通过硬件调控来控制整个系统的运行。 生成 hex 文件 keil uVision4 软件 projiect 中新建一个 new uVision project,选择 AT89S51 单片机加载文件中 file,编写软件, 然后进行编译,然后以 .C 格式重新命名保存到文件中 AT89S51 单片机加载文件中 .C 格式源文件加载进入 output 选中生产 hex 文件 7. 生 hex 文件 如下图成功生成 hex 文件 图 42 成功生成 hex 文件 淮阴工学院毕业设计说明书 (论文) 第 19 页 共 40 页 Protues 硬件电路仿真调试 Protues 软件是一个非常强大的软件,它可以仿真单片机等多种元器件,在这个软件上,你可以将画出模拟硬件电路连接图,并且可以瞬间切换到 PCB 上,这个软件可以帮助我们,减少实践过程中由于设计不当或者认为操作原因导致元器件 的算坏,在 Protues 中我们可以用模拟元器件布置电路,进行连接仿真、调试。 待达到我们设计的目的和要求的时候,我们可以依据仿真电路图进行实际的电路组装与焊接。 双击仿真单片机元器件,将生成的 hex 文件写入单片机中,点击运行按钮,进行仿真调试。 当通电时,波形默认为正弦波,灯 1亮。 图 431 正弦波仿真图(左)和实物图(右) 当第一次按下 K1,波形为方波, 灯 2亮。 图 432 方波仿真图(左)和实物图(右) 淮阴工学院毕业设计说明书 (论文) 第 20 页 共 40 页 当第二次按下 K1,波形为三角波,灯 3 亮。 图 433 三角波仿真图(左 )和实物图(右) 当第三次按下 K1,波形为锯齿波,灯 4 亮。 图 434 锯齿波仿真图(左)和实物图(右) 淮阴工学院毕业设计说明书 (论文) 第 21 页 共 40 页 结论 本毕业设计是考察我们大学所学单片机知识的系统运用 ,利用已学到的知识去完成一个基于单片机实践系统设计的操作。 在这个过程中我们运用我们学过的单片机知识,从书本到实践,整个过程让我对单片机知识能够更加深入的了解,不再是纸上谈兵。 这种硬件设计比较简单,主要是由两个 STC89C51单片机与 DAC0832芯片的配置,连接也比较简单。 其中最繁琐的程序正弦波,因为它是由该表产生读取指令, 所以一个表,该表列出了包含多个字符。 但总的结果是程序能满足设计要求的中规中矩的设计,硬件和软件两方面,并且具有电路简单,易于控制,成本较高等优点。 论文设计的过程中我主要用到 keil uVision 和 Protues 两个软件。 在使用该软件的过程中,我发现了自己许多的不足之处,有时候自己会忘记操作的顺序,常常生产不了 hex 文件,产生许多废弃的文件。 混乱的文件放置要让自己多花费好多时间去整理,自己得到了一个教训,做事需要有调理。 在 Protues 软件运用中同样如果自己之前没有有条理的去放置元器件就会导致放置的混 乱,连线就会更加麻烦无形的给自己增加工作量。 当然,这样的设计还是有一些不足之处,比如如何编程设计优化程序结构,以达到更高的质量,显示电路和键盘电路有待进一步提高。 淮阴工学院毕业设计说明书 (论文) 第 22 页 共 40 页 致谢 岁月如梭,时光荏苒,四年大学马上就要结束了,当毕业季来临,一切都是那么的不舍,四年时间我们在这学习、成长。 现在我们即将毕业,当然我们毕业前都需要自己动手做一个毕业设计,对自己大学四年所学知识的一个见证。 首先我要感谢我的毕业设计指导老师张月红老师。 本毕业论文的选题、定题、开题报告以及论文的修改都是经过我的指导老师张老师 的精心指导下完成的。 每当。基于单片机的低频信号发生器毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。