当前位置:首页 > (最新版)课程设计基于单片机温度监测系统毕业论文
其程序流程见图11所示。
图11 主程序流程图
5.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图12所示。 5.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图13所示。
图12 读温度流程图 图13 温度转换流程图 5.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图14所示。
图14 计算温度流程图
5.5按键扫描处理子程序
按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。 如下图15示。
图15 按键扫描处理子程序
六.心得及体会:
此次实习我用单片机做一个完整的系统,在完成的过程中走了很多弯路,
8 比如由于对硬件方面的东西尚不熟,查阅资料以及准备材料时都没有考虑到实践的可行性,在这里要特别感谢实验室的老师给予了我们耐心的指导,并给我们提出了建设性的意见。在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,,虽然以前写过几次程序,但我觉的写好一个程序并不简单。正是通过这些弯路我们才真正学到了不少东西。在做系统的同时,和同学们之间的相互探讨也使我获益匪浅。我们必须学会独立思考,用自己的能力去完成一件作品。有好多的东西,只有我们去试着做了,才能真正的掌握。
参考文献:
[1]张鑫. 单片机原理与应用 电子工业出版社 2010.1
[2]马忠梅,张凯,等. 单片机的C语言应用程序设计(第四版) 北京航空航天大学出版社
[3]包建华,张兴奎等.单片机原理实验与实训教程 东南大学出版社 2008.9 [4] 刘文涛.单片机语言C51典型应用设计. 北京:人民邮电出版社,1998 [5] 尹勇,李宇.μVision2单片机应用程序开发指南. 北京:科学出版社,1998 [6] 蔡朝洋.单片机控制实习与专题制作. 北京:北京航天航空大学出社,2000 [7] 刘复华. 单片机及其应用系统. 北京:清华大学出版社,1992
[8] 彭为. 单片机典型系统设计实例精讲及其应用系统. 北京:电子工业出版社,2006
[9] 李斌,董慧颖. 可重组机器人研究和发展现状. 沈阳工业学院学报,2000,19(4):23-27
[10] 张道德.单片机接口技术(C51版).北京:水利水电出版社,1995
附录Ⅰ 元件清单
元件名称 单片机 型号 AT89C51 数量 1 9 电平转换芯片 数码管 按键 电阻 74HC573 7SEG-MPX4-CA BUTTON RES 2 1 4 2
附录Ⅱ 总体电路图
附录Ⅲ 源程序
源程序如下
#include int warn__ shi ********************* uchar code table[] = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f, 0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfd,0x87, 0xff,0xef, 0x40 }; void delay(int z) { int a,b ; for(a = 0;a < z ;a++) } 10 for(b = 0;b < 120; b++); void display(uchar num , uchar dat) { uchar i; dula = 0; wela = 0; wela = 1; i = 0x00; i = i | (~(((0x01)<<(num)))); P0 = i; wela = 0; dula = 1; P0 = table[dat]; dula = 0; P0 = 0xff; dula = 0; delay(3); } void dis_temp(int t) { uchar i; i = t100; display(1,i); i = t010; display(2,i+10); i = t0; display(3,i); delay(5); } ******************************ds18b20 void ds_reset() 11 **********************
共分享92篇相关文档