单片机技术课程设计-数字温度计设计(编辑修改稿)内容摘要:

60us采 样延 时 30us结 束init_ds18b20 右 移 一 位释 放 数 据 线 ( DQ=1)采 样 数 据延 时 等 待 读 下 位 数 据返 回 数 值结 束8位 数 据 写完。 YNread_byte 拉 低 数 据 线 ( DQ=0)写 低 位 数 据延 时 30us等 待 采 样释 放 数 据 线 ( DQ=1)右 移 一 位延 时 40us结 束8位 数 据 写完。 YNwrite_byte ( a) ( b) ( c) 图 5 初始化、读一字节、写一字节 函数流程图 ( 3)读温度 函数流程图如图 6 所示 初 始 化 D S 1 8 B 2 0发 送 跳 过 R O M 命 令启 动 温 度 转 换 命 令延 时 等 待 温 度 转 换初 始 化 D S 1 8 B 2 0发 送 跳 过 R O M 命 令读 并 存 储 D S 1 8 B 2 0 温 度 数 据结 束处 理 温 度 数 据R e a d _ w e n d u 图 6 读温度 函数流程图 读温度函数执行过程: 1)初始化 DS18B20; 2)发送 跳过 ROM 命令, 因为总线 上只有一个 DS18B20; 3)再次初始化 DS18B20,跳过 ROM,启动温度转换,延时等待温度转换完成; 4)读出温度 数据 ,并存储当前温度 数据 ; 5)处理温度数据,以便单片机将温度数据显示 , 采完则结束退出 函数。 9 ( 4)取键值 函数 和判键 函数 流程图如图 7( a)( b) 所示 k e y _ d a t a返 回i ← ( P 1 )将 i 取 反取 i 的 第 二 位 , 屏 蔽 其 它 位返 回 i 的 值 调 取 键 值 函 数k e y延 时 消 抖键 值 = 0。 键 值 = 0。 保 护 键 值键 松 开。 调 取 键 值 函 数调 取 键 值 函 数返 回 键 值返 回YYNNYN ( a) ( b) 图 7 取键值、 判键函数 流程图 判键 函数执行过 程: 1)调用取键值函数,看是否有键按下,如果没有返回键值 0; 2)如果有键按下,延时消抖,再判键是否真的按下,如果没有返回键值 0; 3)如果真的按下,保护键值,等待按键松开返回对应的键值。 ( 5)显示函数流程图如图 8所示。 调 延 时 1 m s 函 数d i s p l a yB Z = 0 ?送 P . 段 控 码送 低 位 位 控 码调 延 时 1 m s 函 数送 百 分 位 段 控 码送 百 分 位 位 控 码 调 延 时 1 m s 函 数送 十 分 位 段 控 码送 十 分 位 位 控 码调 延 时 1 m s 函 数送 个 位 及 小 数 点 段 控 码送 个 位 位 控 码调 延 时 1 m s 函 数送 十 段 控 码送 十 位 位 控 码返 回YN 图 8 显示函数流程图 10 显示 函数执行过程: 1)判断标志位,当标志位不为 0,送 , 然后 调延时延时 1ms 函数。 2)标志位为 0时, 先送百分位段控码和低位位控码,调延时延时 1ms 函数,然后送十分位位段控码和第二位 位控码 , 调延时延时 1ms 函数,接着送个位以及小数点段控码和第三位位控码,调延时延时 1ms 函数,接着送十位段控码和第四位位控码,调延时延时 1ms 函数。 3)退出显示函数。 程序清单 程序清单见附录 E。 11 4 设计结论、 实物 结果、教学建议 设计结论及使用说明 ( 1)设计结论: 本系统就是充分利用了 AT89S52 芯片的 I/O 引脚。 该数字温度计上电或按键复位后能自动显示系统提示符 “ P.” ,进入测温准备状态。 当按下 S0 键时,温度计开启,数码管显示当前温度值,并显示 小数点后两位 ,当再次按下 S0 键时,关闭温度计数码管显示提示符 “ P.”。 通过测试和修改,该数字温度计完成了设计任务,符合设计要求。 ( 2) 使用说明: 1)该数字温度计测量 温度范围 0℃~ 99℃,测量精度小数点后两位 ,应 用于对温度比较准确的场所, 工业生产、医疗 或科研实验室使用。 2)数字温度计上电或按键复位后自动显示系统提示符 “ P.” , 进入测温准备状态。 当使用者按下 S0键时启动温度测量,数码管显示当前温度。 3)使用者 再次 按下 S0 键时 关 闭 温度测量, 系统进入测温准备状态, 数码管显示 系统提示符 “ P.”。 实物结果 ( 1) 数字温度计 上 电时, 温度计进入准备状态, 数码管显示器显示“ P.”如图9所示。 图 9 温度计准备状态 ( 2)当按下 S0 键时, 温度计进入测温状态, 数码管显示 当前温度 如图 10 所示。 图 10 温度计测温状态 ( 3) 再次按下 S0 键时关闭温度测量, 温度计再次进入准备状态 数码管显示器显示“ P.” 如图 9所示。 12 设计体会 不知不觉本次课程设计已接近尾声, 通过这次课程设计,加强了我们动手、思考和解决问题的能力。 同时 我 觉 得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各 指令 的功能,而且考试内容有限,所以在这次课程设计过程中,我们 加深的对单片机指令系统和内部资源的 了解。 知 识来源于实践,实践是 知 识的动力和最终目的,实践是检验真理的唯一标准 ,这说的一点也不错。 经过两个星期 课程设计制作 ,过程曲折可谓一语难尽。 在此期间我们也失落过,也曾一度热情高涨。 从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。 生活就是这样,汗水预示着结果也见证着收获。 劳动是人类生存生 活永恒不变的话题。 通过 本次课程设计 ,我才真正领略到 “ 艰苦奋斗 ” 这一词的真正含义。 我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会。 我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋。 更加激发了我们对后续专业知识的学习兴趣。 对我们而言,知识上的收获重要,精神上的丰收更加可喜。 挫折是一份财富,经历是一份拥有。 这 次课程设计的过程 必将成为我人生旅途上一个非常美好的回忆。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学 的 理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务。 同时在此忠心的感谢老师为我们提供了这样一次难得的锻炼机会。 教学建议 王老师在课堂上不仅教会了我们书本上的知识和学习单片机的方法,还通过他的一些所见所闻所想和我们分享 ,教会了我们一些为人处事的道理,为我们从校园过渡到社会起到桥梁的作用。 我觉得这点非常好,不仅活跃了课堂,在而且快快乐乐的学到了知识,还学回了做人。 还有一点也是非常值得肯定的,那就是遇到问题不是有问必答, 有 问全答,而是给我们指点方法,让我们自己去解决 ,不仅让我们在解决问题 的同时学会到了东西,还培养了我们思考问题解决问题的能力。 你想如果不管遇到什么问题都能从老师那里得到答案,想都不去想那我们长了脑袋还有什么用呢。 但是我个人觉得 有时候讲课外东西的时候散得太开了,以至于课堂上花费了太多的时间,虽然老师是个会把握度的人,每次都能够完成教学任务,但是我还是希望王老师能把这个度把紧一点, 把更为重要的东西将详细一点,让那些学习起来相对费劲点的同学跟也上进度那就更为完美了。 13 结束语 本课程设计的数字温度计 与传统的温度计相比,具有读数 直观 方便、测温范围广、测温准确、其输出温度采用数字显 示等优点。 系统 上电或按键复位后能自动显示系统提示符 “ P.” ,进入测温准备状态。 当按下 S0 键时,温度计开启,数码管显示当前温度值,并显示 小数点后两位 ,当再次按下 S0 键时,关闭温度计数码管显示提示符 “ P.”。 通过测试和修改,该数字温度计完成了设计任务,符合设计要求。 但是还是存在一些不足之处,比如:不能测量 0℃ 以 一下的温度,其次是当温度过高或过低不具备报警功能;对于不能测量 0℃ 以 一下的温度可以修改测温程序,将温度负值进行处理并显示出来,对于报警功能可以在程序里加一个报警函数并在硬件电路上加相应的报警电路实现报警。 14 致 谢 通过这次 课程 设计我对单片机有了系统的了解,对单片机也有了新的认识,从以前的知其然到现在的知其所以然是这次 课程 设计最大的收获。 首先要感谢谢我的指导老师 王韧老师 , 是 他带领我走入了单片机的世界, 在理论课上教了我扎实的理论基础,在实验课上让我们从理论回到实际, 运用理论知识设计电路和程序实现相应的功能要求, 用实验验证理论,对后面的课程设计起到了举足轻重的作用 ;同时也感谢他给我这次锻炼的机会, 在设计过程中遇到很多问题同学总是引导我去寻找引发问题的的原因并提 出解决的问题额方法。 还要感。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。