单片机技术课程设计-数字温度计设计(编辑修改稿)内容摘要:
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 致 谢 通过这次 课程 设计我对单片机有了系统的了解,对单片机也有了新的认识,从以前的知其然到现在的知其所以然是这次 课程 设计最大的收获。 首先要感谢谢我的指导老师 王韧老师 , 是 他带领我走入了单片机的世界, 在理论课上教了我扎实的理论基础,在实验课上让我们从理论回到实际, 运用理论知识设计电路和程序实现相应的功能要求, 用实验验证理论,对后面的课程设计起到了举足轻重的作用 ;同时也感谢他给我这次锻炼的机会, 在设计过程中遇到很多问题同学总是引导我去寻找引发问题的的原因并提 出解决的问题额方法。 还要感。单片机技术课程设计-数字温度计设计(编辑修改稿)
相关推荐
高点平时,经 9013 放大,点亮 LED 灯,由于 R4R5R6 阻值不同,使 9013 放大的电流不同,因此灯的亮度也将不同,因此,若电阻阻值为 R4R5R6, LED 将出现熄灭→微亮→较亮→最亮的亮度状态循环现象。 2) 电路原理分析 将 上述讨论的三部分电路组合起来,即形成自动循环调光灯电路,如图 8 所示: NE555构成的多谐振荡器,用来产生脉冲信号,调节其中的 1M 欧姆电位器
级分的变动值,正值为升,负值为降。 W 为实得局分。 We为预期局分。 K 为换算系数。 对于无等级分棋手,在前三十局实际计算等级分的对局中 K 值取 25,以后取 15,等级分一经达到20xx分以上 ,以后即使再降也永远取 10。 、团体赛或对抗赛中按下列公式计算预期局分 We: We=N Pd 式中 N 为对 手人数, Pd 是根据棋手本人等级分 R 与对手的平均等级分 Rc 之间差值 D
在动手折,涂色的活动中,使学生进一步理解二分之一。 在交流展示时,给学生充分展示个性化做法的机会,并贴 于黑板,使学生获得成功的愉悦体验 ,同时让学生理解平均分与二分之一的关系。 ) (四 )、动手操作 认识 三 分之一 师:我们已经深入认识了 1/2, 接下来 请你再拿出一张长方形的纸,把它平均分成 3 份,把其中的一份用斜线画出来。 (课件出示操作要求)。 生折,师巡视。 师:你做的真快。
7 对比 A中数值发现结果是正确的。 MATLAB 中求最小值的函数为 min,求解思路与 求最大值思路类似,仍然以矩阵 A 为例。 示例程序如下 : y=min(A) x=min(y) 运行结果如下: 对比 A中数值发现结果是正确的。 矩阵的 均值 、方差 MATLAB 中求解矩阵均值的函数是 mean,它的具体用法如下: mean(A,1)表示对列取平均, mean(A,2)表示对行取平均,
带的 硬 盘 、 U 盘 或计算器 )。 参赛选手不能携带任何通讯工具,包括无线电接收器、 手机 等。 在竞赛中,参赛选手不得通过网络 工具(如 Email、 BBS、 等)以及任何其他方式和其 他 参赛选手以及竞赛组委会指定工作人员以外的人交谈。 ○ 6 竞赛组委会可以因为出现不可预见的事件而调整比赛时间长度。 一旦比赛时间长度发生改变,将会以及时并 以 统一的方式通告所有参赛选手。 ○ 7
—— 五月 WHEN 00000110=pan=01。 —— 六月 WHEN 00000111=pan=00。 —— 七月 WHEN 00001000=pan=00。 —— 八月 WHEN 00001001=pan=01。 —— 九月 WHEN 00001010=pan=00。 —— 十月 WHEN 00001011=pan=01。 —— 十一月 WHEN 00001100=pan=00。 ——