基于AT89C51数字温度报警器论文_第1页
基于AT89C51数字温度报警器论文_第2页
基于AT89C51数字温度报警器论文_第3页
基于AT89C51数字温度报警器论文_第4页
基于AT89C51数字温度报警器论文_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I 毕业设计(论文)毕业设计(论文) 学学 生生 姓姓 名:名: 学学 号:号: 专专 业业 :应用电子技术 院院 系系 : 电子工程学院 设计设计(论文论文)题目题目:基于 AT89S51 温度报警器 指指 导导 教教 师师: 20132013 年年 6 6 月月 3 3 日日 II 摘要摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域, 已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属 于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 关键词:单片机关键词:单片机 温度计温度计 DS18B20DS18B2

2、0 AT89C51AT89C51 1 目录目录 前 言.2 1 总体设计方案.3 1.1 计设要求.3 1.2 数字温度计设计方案论证.3 1.3 总体设计框图 .3 2系统组成及工作原理.4 2.1 DS18B20 温度传感器与单片机的接口电路 .4 2.2 7 段 LED 数码管电路及原理 .8 2.3 系统整体硬件电路.9 3软件部分.11 3.1 主程序 .12 3.2 读出温度子程序 .13 3.3 温度转换命令子程序 .13 3.4 计算温度子程序.14 3.5 显示数据刷新新子程序 .15 3.6 PROTEUS 软件和 KEIL 软件联合仿真建立 .15 4实验、调试及测试结果

3、分析.16 4.1 硬件调试.16 5总结与体会.17 参 考 文 献.18 附录一 程序代码.19 附录二 元器件清单.25 2 前前 言言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来 的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高, 要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切 向着数字化控制,智能化控制方向发展。 目前,甲型 H1N1 流感入境,为了把好关,需对流动人口进行人体体温测量。由于温度 传感器 DS18B20 具有独特的单线接口仅需要一个端口引脚进行通信,可实现多点组网功能,

4、 零待机功耗,电压范围仅为 3.05.5而且具有读数方便,测温范围广,测温准确的特点, 最主要的是用户可定义报警设置,报警搜索命令识别并标志超过程序限定温度(温度报警条 件) ,那么只要检测到温度超过设定的正常人体体温就会发出报警,这样就能更有效的防止 流感的扩散。出于对此问题的探索,我们通过上网查阅及相关资料的收集,做了本设计。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准 确,其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器使用单片机 AT89C51,测温传感器使用 DS18B20,用 4 位共阳极 LED 数码管以串口传送数据,实现温度显

5、 示,能准确达到以上要求。 3 1 1 总体设计方案总体设计方案 1.1 计设要求 (1)基本范围低于-20或高于 70 (2)精度误差小于 0.5 (3)LED 数码直读显示 (4)可以任意设定温度的上下限报警功能 1.2 数字温度计设计方案论证 方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温 度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示 电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常

6、容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测 温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故 采用了方案二。 1.3 总体设计框图 温度计电路设计总体设计方框图如图 1 所示,控制器采用单片机 STC89S52,温度传感器 采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。 主 控 制 器 LE D 显 示 温 度 传 感 器 单片机复位 时钟振荡 报警点按键调整 4 图 1.1总体设计方框图 5 2 2系统组成及工作原理系统组成及工作原理 2.1 DS1

7、8B20 温度传感器与单片机的接口电路 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器, 与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单 的编程实现 912 位的数字值读数方式。DS18B20 的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为 3.05.5; 零待机功耗; 温度以 9 或 12 位数字; 用户可定义报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电

8、压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装,其内部结构框图如图 2.1 所示。 图 2.1 DS18B20 内部结构 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原 因。温度报警触发器和,可通过软件写入户报警上下限 TO92 封装的 DS18B20 的引脚排列见下图 2.2,其引脚功能描述见下: I/O C 64 位 ROM 和 单 线 接 口 高 速

9、 缓 存 存储器与控制逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 Vdd 6 1GND 地信号 2DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电 源。 3VDD 可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。 图 2.2 18B20 管脚图 DS18B20 温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦 除的 EERAM。高速暂存 RAM 的结构为 8 字节的存储器,结构如图 3 所示。头 2 个字节包含测 得的温度信息,第 3 和第 4 字节和的拷贝,是易失的,每次上电复位时被

10、刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄 存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图 2.3 所示。低位一直 为,是工作模式位,用于设置 DS18B20 在工作模式还是在测试模式,DS18B20 出厂时 该位被设置为 0,用户要去改动,R1 和0 决定温度转换的精度位数,来设置分辨率。 TM R1 1R01111 . . . 图 2.3 DS18B20 字节定义 7 表 2.1 R0R1 0 0 0 1 0 1 1 1 9 10 11 12 分辨率/位 温度最大转向时间/ms 93.75 187.5 375 750

11、. . . 由表 2.1 可见,DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据 转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。 高速暂存的第 6、7、8 字节保留未用,表现为全逻辑。第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。 当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带 符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接 口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB 形式表示。 当符号位0 时,表示

12、测得的温度值为正值,可以直接将二进制位转换为十进制;当 符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表 2.2 是一部分温度值对应的二进制温度数据。 DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、T字节内容作比较。若 TH 或 TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 因此,可用多只 DS18B20 同时测量温度并进行报警搜索。 DS18B20 的测温原理,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生 固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变, 所产生的信号作

13、为减法计数器 2 的脉冲输入。器件中还有一个计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启 时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减 法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置 值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到 0 时, 停止温度寄存器的

14、累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计 数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。 8 二进制表示十六进制表示 +1250000 0111 1101 0000 07D0H +850000 0101 0101 0000 0550H +25.06250000 0001 1001 0000 0191H +10.1250000 0000 1010 0001 00A2H +0.50000 0000 0000 0010 0008H 00000 0000 0000 1000 0000H -0.51111 1111 1111 0000 FFF8

15、H -10.1251111 1111 0101 1110 FF5EH -25.06251111 1110 0110 1111 FE6FH -551111 1100 1001 0000 FC90H 表 2.2一部分温度对应值表 另外,由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序 很重要。系统对 DS18B20 的各种操作按协议进行。操作协议为:初使化 DS18B20(发复位脉 冲)发 ROM 功能命令发存储器操作命令处理数据。 DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚接地, 9 2 脚作为信号线,3 脚接电

16、源。另一种是寄生电源供电方式,如图 2.4 所示单片机端口接单 线总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来完成 对总线的上拉。 当 DS18B20 处于写 存储器操作和温度 A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根线,因此发送接口必须是 三态的。 DS 18B 20DS 18B 20DS 18B 20 4.7 K GNDGNDGND VCC VCC单 片 机 . . . . 图 2.4 DS18B20 与单片机的接口电路 2.2 7 段 LED 数码管电

17、路及原理 7 段 LED 数码管是利用 7 个 LED(发光二极管)外加一个小数点的 LED 组合而成的显 示设备,可以显示 09 等 10 个数字和小数点,使用非常广泛。 这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有 LED 的阳极连接到共同接点 com,而每个 LED 的阴极分别为 a、b、c、d、e、f、g 及 dp(小数点);共阴极则是把所有 LED 的阴极连接到共同接点 com,而每个 LED 的阳极分别为 a、b、c、d、e、f、g 及 dp(小 数点),如下图 2.5 所示。图中的 8 个 LED 分别与上面那个图中的 ADP 各段相对应,通过 控制各个 LED 的亮灭

18、来显示数字。 10 图 2.5 还有一种比较常用的是四位数码管,内部的 4 个数码管共用 adp 这 8 根数据线,为人们 的使用提供了方便,因为里面有 4 个数码管,所以它有 4 个公共端,加上 adp,共有 12 个 引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是 从左下角的那个脚(1 脚)开始,以逆时针方向依次为 112 脚,下图中的数字与之一一对 应。 11 2.3 系统整体硬件电路 温度计电路设计原理图如图 2.6 所示,控制器使用单片机 STC89C52,温度传感器使用 DS18B20,用 8 位共阳 LED 数码管以动态扫描法实现温度显示。 图

19、2.6 数字温度计电路原理图 12 3 3软件部分软件部分 KeilKeil 简介简介 Keil 是由美国 keil software 公司出品的单片机开发工具,它是目前最流行的单片机开 发工 具之一,该软甲平台主要包括:C51 交叉编译器、A51 宏汇编器、BL51 连接/重定位器、 LIB51 库管理器、OH51 Intel HEX 格式文件转换器、RTX-51 实时操作系统以单片机软件仿 真 Dscope51,它将项目管理、源代码编译、程序调试等集成带一个功能强大的 Windows 32 平台中,支持 51 汇编、PLM 和 C 语言的混合编程,功能强大、界面友好、易学易用。 Prote

20、usProteus 简介简介 Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,是一个电子设计 的教学平台、实验平台和创新平台,涵盖了电工电子实验室、电子技术实验室、单片机应用 实验室等的全部功能。它是一种组合了高级原理布图、混合模式 SPICE 仿真、PCB 设计以及 自动布线进行完整的电子设计的软件。采用 Proteus 仿真软件进行虚拟单片机实验,可以仿 真单片机及其外围器件电路,可采用仿真 51 系列、AVR、PIC 等常用的 MCU 及其外围电路, 具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可以自行实验、实 验

21、过程中损耗小、与工程实践最为接近等。它提供了 30 多个元件库,数千种元件,涉及到 数字和模拟、交流和直流等,并且有丰富的仪表资源。 系统程序的设计系统程序的设计 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序, 显示数据刷新子程序等。 13 3.1 主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值, 温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 3.1 所 示。 图 3.1 主程序流程图 初始化 调用显示子程序 1S 到? 初次上电 读出温度值温度 计算处理显示数 据刷新 发温度转换开始

22、命令 N Y N Y 14 3.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校验,校验有 错时不进行温度数据的改写。其程序流程图如图 3.2 示 图 3.2 读温度流程图 3.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流程 图如图 3.3 所示。 Y 发 DS18B20 复位命令 发跳过 ROM 命令 发读取温度命令 读取操作,CRC 校验 9 字节完? CRC 校验正? 确? 移入温度暂存

23、器 结束 N N Y 15 发 DS18B20 复位命 令 发跳过 ROM 命令 发温度转换开始命令 结束 图 3.3 温度转换流程图 3.4 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其 程序流程图如图 3.4 所示。 图 3.4计算温度流程图 开始 温度零下? 温度值取补码置“”标志 计算小数位温度 BCD 值 计算整数位温度 BCD 值 结束 置“+”标 志 N Y 16 3.5 显示数据刷新新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位。程序流程图如图 3.

24、5。 图 3.5显示数据刷新流程图 3.6 Proteus 软件和 Keil 软件联合仿真建立 整个软件通过 C 语言编程,先在 Kile C51 集成开发环境下将编好的程序进行编译、调试, 调试通过后会生成数码管.HEX 文件,运行 Proteus 如图 3-6 模拟仿真软件,打开已绘制好 的仿真电路原理图,选中单片机 AT89C51,左键点击 AT889C51,出现对应的对话框如图 3-7 在 Program File 中找到已编译好的“数码管.HEX”文件,然后点击 OK 就可以仿真了。 图 3-7 温度数据移入显示寄存器 十位数 0? 百位数 0? 十位数显示符号百 位数不显示 百位数

25、显示数据 (不显示符号) 结束 N N Y Y 17 4 4实验、调试及测试结果分析实验、调试及测试结果分析 4.1 硬件调试 检查印制板及焊接的质量情况,在检查无误后可通电检查 LED 显示器。若亮度不理想,可以 调整 P0 口的电阻大小,一般情况取 200 欧电阻即可 4.2 软件调试 在 KeilC51 编译下进行,源程序编译及仿真调试应分段或以子程序为单位逐个进行, 最后结合硬件实时调试 通过以上检查后,将电路通电查看是否按要正常工作,实验最终结果显示实验成功。 18 5 5总结与体会总结与体会 在本次毕业设计的过程中,发现很多的问题,虽然以前还做过类似这样的课程设计,但 是这次毕业设

26、计,从一无所有到最终产品的完成真的是一个很艰难的过程。我们不仅要选好 材料,还要学着把这些材料合理的组织起来。所以我们要学会如何寻找和搜索自己需要的电 路图。而且还要知道各个部位的作用。每个环节都不是一件简单的事。通过这次设计,也学 到了许多,了解了传感器能够把自然的各种非电量转换为电信号的物理思想,并且可将报警 装置应用到与自己专业相关的行业中去。有好多东西只有我们去尝试做了,才能真正的掌握, 只学习理论有些东西还是很难理解的,更谈不上掌握。因此要理论与实践并重。 从这次的毕业论文设计中,我们真正的意识到,在以后的学习中,要理论联系实际,把我们 所学的理论知识用到实际当中,实践事检验真理的唯

27、一标准。我们电子专业的学习更是如此, 不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平 才能提高,这就是我们在这次毕业设计中的最大收获。 最后要感谢王晓君王老师及各位老师们在毕业设计过程中对我们毕业设计的关心和支持! 其次要向同班同学表示感谢,在我们遇到困难的时候,他们能够帮助我,俗话说,三个 臭皮匠顶个诸葛亮,在大家你一点我一点的意见帮助下,我们才能顺利的完成这次设计,谢 谢同窗好友们! 19 参参 考考 文文 献献 1 楼然苗,李光飞 编著 单片机课程设计指导 北京航空航天大学出版社 2011 年第一版 2 张俊谟编著 单片机中级教程原理与应用 北京航空航天

28、大学出版社 2011 年第二版 3 李钢,赵彦峰1-Wire 总线数字温度传感器 DS18B20 原理及应用长安大学信息工 程学院 , 2010 4 刘建亭,毛善坤DS18B20 工作原理及基于 C 语言的接口设计河南科技大 学机电工程学院 2010 5 陈跃东DS18B20 集成温度传感器原理及其应用安徽工程科技学院 2011 6 顾振宇 刘鲁源 杜振辉DS18B20 接口的 C 语言程序设计天津大学 2011 7 周月霞 孙传友DSl8B20 硬件连接及软件编程传感器世界杂志 2011 8 魏英智 DSl8B20 在温度控制中的应用黑龙江科技学院 9 张培仁MCS-51 单片机原理与应用北

29、京:清华大学出版社,2011 10 赵亮,侯国锐单片机 C 语言编程与实例北京:人民邮电出版社,2011。 11 张粤,倪伟。DSISB20 在分布式测温系统中的应用淮阴工学报2010 12 藏荣,游风荷,周景霞由单片机和多片 DS1820 组成的多点电温度测控系 2011 20 附录一附录一 程序代码程序代码 /* / 名称:用数码管与 DS18B20 设计温度报警器 /* / 说明:本例将报警温度设为高:70,低:-20,当 DS18B20 感知到温度达到此 临界值时相应的 LED 闪烁,同时系统发出报警声。 /* #include #include #define uchar unsig

30、ned char #define uint unsigned int Sbit DQ =P36 Sbit BEEP =P37 ; Sbit HI_LED =P14; Sbit LO_LED = P15; /共阴数码管段码及空白显示 Uchar code DSY_CODE = 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F.0 x00; /温度小数位对照表 Uchar code df_Table=0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9; /- /报警温度上下限,为进行正负数比较,此处注意设为 char

31、 类型 /取值范围为-128-+127,DS18B20 支持范围为-50-+125 /- 21 Char Alarm_Temp_HL2 = 70,-20; /- uchar CurrentT = 0; /当前读取的温度整数部分 Uchar Temp_VAlue =0 x00,0 x00 /从 DS18B20 读取的温度值 Uchar Display_Digit【】 、0,0, ,0,0,; /待显示的各温度数位 Bit HI_ALarm =0 ,LO_Alarm = 0; /高低温报警标志 Bit DS18B20_TS_OK = 1; /传感器正常标志 Uint Time0_Count = 0

32、; /定位器延时累加 /- /延时 /- Void Delayuint x ( While( -x ); ) /* /初始化 DS18B20 /* Uchar Init_DS18B20 ( Uchar status; DQ =1; Delay(8); DQ =0; Delay(90); DQ =1; Delay(8); Status = DQ; 22 Delay(100); DQ = 1; Return status; /初始化成功时返回 0 ) /* / 读一字节 /* Uchar ReadOneBytel ( Uchar i,dat = o DQ=1;_nop-(); For 9( I =

33、 0 ;i 8; i+) DQ = 0:;dar =1; DQ=1;_nop_(); If(DQ) dat =0*80;Delay(30) ;DQ=1; Return dat; /写一字节 /- Void WwriteOneByte(uchar dat) uchar I; for (i=0;i=1; 23 /- /读取温度值 /- Void Read_ Temperature() If (Init_DS18B20()=1) /DS18B20 故障 DS18B20_is_ok=0; Else WriteOneByte(O*cc); /跳过序列号 WriteOneByte(O*44); /启动温度

34、转换 Init_DS18B2090; WriteOneByte(O*cc); /跳过序列号 WriteOneByte(O*BB); /读取温度寄存器 Temp_Value2=Radonebte(); /温度第 8 位 Temp_Value1=Radonebte(); /温度高 8 位 Alarm_Temp_HL0=ReadOneByte(); / /报警温度 TH Alarm_Temp_HL1=ReadOneByte(); /报警温度 TL Ds18b20_is_OK=1; /- - /设置 DS18B20 温度报警值 /- - Void Set_A1arm_Temp_Value() 24 I

35、nit_DS18B20( ) writeOneBYte(0*CC); /跳过序列号 writeOneBYte(0*4E); /将设定的温度报警值写入 DS18B20 writeOneBYte(Alarm_Temp_HL0);); / 写 TL writeOneBYte(Alarm_Temp_HL1); /写 TL writeOneBYte(0*7f); /12 位精度 Init _DS18B20( ) writeOneBYte(0*CC); /跳过序列号 writeOneBYte(0*48); /温度报警值存入 DS18N20 /- - /在数码管上显示温度 /- - Void Display

36、_Temperature( ) Uchar i; Uchar t = 150; /延时值 Uchar ng =, np =0; /负数标识及负号显示位置 Char Signed_Current_Temp; /注意类型为 char /如果为负数则取反加 1,并设置负号标识及负号显示位置 If (Temp_Value【1】 LO_Alarm =Signed_Current_Temp =ALarm_TEemp_HL1 ? 1:0; /将整数部分分解为三位待显示数字 Display_Digit3 =CurrentT ./ 100; Display_Digit2 =CurrentT DIsplay_Di

37、git1 =CurrentT If(DISplay_Digit3 = 0) /高位为 0 则不显示 Display_Digit3 = 10; Np = 0 xFB /调整负号位置 If(Display_Digit2 = 0? ( Display_Digit2 = 10; Np = 0 xF7; ) /调整负号位置 26 /刷新显示若干时间 For (i = 0;i 30 ; i+) P0 =0X39; P2 = 0X7F; Delay(t) ;P2 = 0XFF; /显示 C P0 = 0X63;P2 = 0XBF; Delay(t) ; P2 = 0 xFF; /显示 P0 = DSY_CODEDisplay_Digit0; /小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论