当前位置:首页 > 数字温湿度计(带程序) - 图文
西南交通大学本科课程设计(论文) 第26页
开始初始化显示信息是否超过上限值延时是否提示2提示1清屏温湿度检测并发送到单片机提示3显示器显示温湿度数据判断是否在范围值内是否
图4.1 主程序流程图
4.2 液晶显示模块程序设计
显示模块在执行每条指令之前要确认模块的忙标志为低电平,表示不忙,则此指令失效,要显示字符时要先输入显示字符地址,告诉模块在哪里显示了字符。OLED12864的显示数据过程是首先液晶初始化,初始化完成后执行延时程序,等待数据的采集,延时完成后OLED会先写入一些指令和显示字符的地址,在这完成后
西南交通大学本科课程设计(论文) 第27页
单片机会向OLED发送数据即写数据,数据发送完OLED就会读取写入的地址并显示出来,最后返回。软件流程图如图4.2所示。
开始写指令写数据初始化写显示行列地址读数据并显示延时取显示首地址返回 图4.2显示模块程序流程图
4.3 传感器模块程序设计
根据传感器的通信协议,首先由单片机通过I/O口主动产生要求的激发信号,然后将数据线的控制权交给传感器,接着单片机通过while语句不间断的检查I/O口的高低电平,从而达到对时序的正确把握,解析出准确的传输数据。 AM2303传感器模块的软件流程图如图4.3所示。
开始从机80us高电平是否结束否延时40usP3.4输出低电平是单片机进行数据接收延时500us读P3.4引脚判断是否为低电平是否否将数据按十进制存入数组P3.4输出高电平从机80us低电平是否结束是结束并等待
图4.3传感器模块程序流程图
西南交通大学本科课程设计(论文) 第28页
4.4 小结
本课程设计的软件设计采用了C语言编程,只需对温度和湿度进行相应的采集处理后,即可让显示器实时显示当前的温度与湿度值。
本设计在完成硬件电路设计并焊接好电路硬件的基础上,通过串口模块将软件代码下载至STC12C5A60S2单片机中完成系统集成。由于采用了STC12C5A60S2单片机,性能可靠、电路简单,系统中还可充分利用STC12C5A60S2中先进的软件硬件资源,便于软件系统的升级,操作方便。
第5章 Protues仿真
由于Protues上没有AM2303传感器和OLED12864显示器,且若采用数码管进行动态扫描在仿真上将会出现闪烁现象,故本次采用DS18B20温度传感器和LCD1602进行仿真,如图5。
图5 仿真测试
西南交通大学本科课程设计(论文) 第29页
结论与心得(改)
经过一个多月的努力,终天完成的这个设计。从选题到元件选择花了差不多一个星期的时间,后面的调试占了大部分的时间。由于没有找到示波器,所以调试时,除了测试电压电流用到实物外,其他参数测试只能在仿真软件下进行的。在这里选用了protues进行仿真,虽然multisim不是很难学,但由于自己对multisim还没有熟练的掌握,仿真过程中还是会有一定的误差。
在实际做成的电路板中,由于买不到等值参数的元件,测量出来的性能指标参数难免会有一定的误差,对元件封装的不了解,也造成了铜板的浪费。第一次做成的板子,由于没有注意到protel给出的LM317的原理图管脚,花费了大量的时间去调试。正确的管脚为:1脚为调整,2脚为输出,3脚为输入。焊板的时候,不要对着3D来焊,应以PCB为基准。3D图虽然形象的把电路板模拟出来了,但与实物还有有很大的差别的,特别是二极管,电解电容,极性错乱,而且有很多图没有样板。还有,12V的变压器输入的电压会比12V高一些的。虽然输出电压增加或减少由LM317的调整脚上的串联电位器(R2)来控制,但是并联在LM317调整脚和输出脚上的电阻R1也可改变输出电压的最小值。
本次的课程设计,培养了我们综合应用课本理论解决实际问题的能力;我觉得课程设计对我们的帮助是很大的,它需要我们将学过的理论知识与实际系统地联系起来,加强我们对学过的知识的实际应用能力!在设计的过程中还培养出了我们的团队精神,同学们共同协作,解决了许多个人无法解决的问题;在今后的学习过程中我们会更加努力和团结。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。
但是由于水平有限,我们的课程设计难免会有一些错误和误差,还望老师批评指正。
共分享92篇相关文档