




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 数字显示温度计数字显示温度计 论文论文 学校 学校 华侨大学华侨大学 学院 学院 信息科学与工程学院信息科学与工程学院 班级 班级 10 级级 集成电路设计与集成系统集成电路设计与集成系统 组别 组别 自控自控 06 组组 组员 组员 2 目 录 摘要 3 第一章第一章 总体设计方案总体设计方案 3 1 1 系统功能概述 3 1 2 设计思路 3 1 3 总体设计框图 5 第二章第二章 硬件设计硬件设计 5 2 1 主电路原理图 5 2 2 DS18B20 温度传感器 5 2 3 DS1302 时钟电路 6 2 4 声光报警电路 6 2 5 LCD1602 显示电路 7 第三章第三章 软件设计软件设计 7 3 1 系统整体流程图 7 第四章第四章 总结与体会总结与体会 8 3 摘要摘要 随着现代化信息技术的飞速发展 单片机技术已经十分普及 在实时检测 和自动控制的单片机应用系统中 单片机往往是作为核心部件来使用 本论文介绍了一种以单片机 AT89C52 为主要控制器件 以 DS18B20 为温度 传感器通过 LCD 液晶屏传送数据 实现温度显示的新型数字温度计 该数字温 度计的测量范围为 0 100 显示分辨率为 0 1 高 低两路限温控制点可 在 0 100 0C 范围内独立设置 当温度达到高 低限温控制点发出声光报警 由 于采用了温度传感器 DS18B20 作为检测元件 与传统的温度计相比 本文设计 的数字温度计减少了外部的硬件电路 具有读数方便 测温范围广 测温精确 数字显示 适用范围宽等特点 DS18B20 温度计还可以在高温报警 远距离多 点测温控制等方面进行应用开发 该系统结构简单 抗干扰能力强 适合于各 种环境下进行现场温度测量 可广泛应用于工业控温系统 温度计 消费产品 以及其它温度测控系统 关键词关键词 单片机AT89C52 温度传感器DS18B20 数字温度计 LCD1602液晶 屏显示 4 第一章第一章 总体设计方案总体设计方案 1 1系统功能概述系统功能概述 该系统运用了时钟芯片和温度传感器的相结合 并采用液晶屏显示 能够同 时显示日历 时间以及多路温度 可以通过按键来调时 调整预设温度的上下限 并设有声光报警 但温度低于最小值或高于最高值时 会提示报警 能过按时 保存温度 通过按键能够把保存的温度调取出来 1 2设计思路 设计思路 1 单片机的选择 单片机的选择 方案 1 采用传统的 STC89C52RC 作为电机的控制核心 单片机算术运算 功能强 软件编程灵活 自由度大 可用软件编程实现各种算法和逻辑控制 并且由于其功耗低 体积小 技术成熟和成本低等优点 使其在各个领域应用 广泛 方案 2 采用 STM32F103ZET6 微控制器 ARM cortexM3 内核 还带有 非易失性 512k Flash 程序存储器 它是一种高性能 低功耗的 32 位 CMOS 微 处理芯片 市场应用最多 其主要特点如下 512KB Flash ROM 72M 的主频 片内集成 AD DA 以及具有 DMA SPI 总线 由于本系统对 CPU 运算速度要求不高 不需要执行很复杂的运算 加上 成本上和队员各自的技术特点考虑 综合起来选 STC89C52RC 较适合本系统 的要求 2 温度传感器的选择 温度传感器的选择 方案 1 温度传感器 DS18B20 是一种改进型智能温度传感器 与传统的热敏 电阻等测温元件相比 能直接读出被测温度 并且可根据实际要求通过简单的 编程实现 9 12 位的数字值读数方式 DS18B20 具有独特的单线接口 仅需一 个端口引脚进行通信 并且多个 DS18B20 可并联在惟一的三线上 实现多点组 网功能 用户还可根据需要定义报警设置 十分方便 方案 2 采用热敏电阻和 AD 转换电路来实现温度的测量 综合考虑成本和转换效率以及转换精度等问题我们选用结构简单功能强大的 DS18B20 型温度传感器 3 时钟电路的选择 时钟电路的选择 5 方案 1 DS1302 是一种高性能 低功耗 带 RAM 的实时时钟芯片 它可 以对年 月 日 日 时 分 秒进行计时 且具有闰年补偿功能 工作电压 宽达 2 5 5 5V 采用三线接口与单片机进行同步通信 并可采用突发方式一次 传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时 性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源和后背电源双电源引脚 同时提供了对后背电源进行涓细电流 充电的能力 方案 2 STC89C52 有 3 个内部定时器中断 因此我们可以直接采用单片 机内部定时器来实现年月日时分秒的计时的功能 综合考虑以上两种方案 由于 DS1302 的高性能低功耗且内部自带 RAM 可以对年 月 日 时 分 秒进行计时 且具有闰年补偿功能 工作 电压宽 编程简单 有后备电源 所以我们选用 DS1302 作为时钟芯片 4 温度的显示可以采用 LED 数码管来显示 LED 亮度高 醒目 但是电 路复杂 占用资源多且信息量小 而采用液晶显示器有明显的优点 工作电流 比 LED 小几个数量级 故其功耗低 尺寸小 厚度约为 LED 的 1 3 字迹清晰 美观 寿命长 使用方便 故本设计采用 LCD1602 来显示温度 选用 LCD1602 字符型液晶显示器 因 LCD1602 液晶模块内部的字符发生存 储器 CGROM 已经存储了 160 个不同的点阵字符图形 当显示是 LCD 从单片机 得到此代码 并把它存储到显示数据 RAM DDRAM 中 LCD 的字符发生器根据 此代码可产生所需显示信息的 5 7 点阵图形 字符在 LCD 显示屏上的位置地址 可通过数据总线 由单片机送至 LCD 指令寄存器 5 报警电路采用红 黄 绿三个 led 作为光报警信号 同时增加了一个 蜂鸣器作为声报警信号 1 31 3 总体设计框图总体设计框图 6 第二章第二章 硬件设计硬件设计 2 1 主电路原理图 主电路原理图 2 2 DS18B20 温度传感器原理图温度传感器原理图 2 2 DS1302 原理图原理图 7 2 4 声光报警电路 声光报警电路 2 5 LCD1602 显示电路显示电路 8 第三章第三章 软件设计软件设计 3 1 系统整体流程图系统整体流程图 是 否是 开始 系统初始化 开始 是否有按键按下 调时 调温读取温度按时保 存温度 判断温度是 否过高过低 显示 声光报警 第四章第四章 总结与体会总结与体会 作为一名大二学生 在本次设计实践中 深深地体会到 工欲善其事 必 先利其器 的道理 生活中无论做什么事都应该事前有充分的准备 做到心中 有数 才能更好的完成任务 经过不断的学习和反复的实践 辛勤努力有了回报 终于做出了一个简单 的系统 虽然这个系统的功能非常的简单 而且在实际的运用中 也许还有些 不足 从这次的设计中 我真真正正的意识到 在以后的学习中 要理论联系 实际 把我们所学的理论知识用到实际当中 学习单片机更应该这样 程序只 有在经常地写与读的过程中才能提高 这就是我在这次设计中的最大收获 9 源代码 源代码 include define uint unsigned int define uchar unsigned char sbit rs P2 0 1602 sbit rw P2 1 1602 sbit en P2 2 1602 sbit DQ P2 3 ds18b20 sbit T IO P3 4 ds1302 6 sbit T RST P3 5 ds1302 5 sbit T CLK P3 6 ds1302 7 sbit menu P3 0 选择调整位选择调整位 sbit add P3 1 调整调整 sbit dec P3 2 调整调整 sbit H LED P1 0 大于上限温度大于上限温度 sbit L LED P1 2 低于下限温度低于下限温度 sbit light P1 7 LED 报警报警 sbit sound P1 7 蜂鸣器报警蜂鸣器报警 sbit ACC0 ACC 0 sbit ACC7 ACC 7 累加器累加器 A 51 单片机原理中有介绍单片机原理中有介绍 uchar seconde minite hour day month year 秒秒 分 时分 时 日 月 年日 月 年 uint tvalue1 tvalue2 温度温度 uchar read Memory 0 读温度时被标志位读温度时被标志位 1 int H1 310 L1 270 H2 310 L2 270 温度上下限温度上下限 uchar count 0 对选择调整位进行计数 对选择调整位进行计数 0 正常显示 正常显示 1 调整秒 调整秒 2 分 分 3 时 时 4 日 日 5 月 月 6 年年 uchar counter0 0 counter1 0 counter2 0 对定时器对定时器 0 1 进行计数 没进行计数 没 250ms 加加 1 满 满 40 10 秒 稳定存储一次秒 稳定存储一次 uchar P31 1 P32 1 P30 1 flag 1 配合调整配合调整 配合调整 配合调整 配合选择调整位 配合选择调整位 标标 志位志位 uchar clk time 7 0 disdata 4 0 秒 分 时寄存器初始值 温度百位 秒 分 时寄存器初始值 温度百位 十位 个位 十分位十位 个位 十分位 char number 0 number1 0 number 表示数组的序号 表示数组的序号 number1 用于调用温用于调用温 度时 保存当前组号度时 保存当前组号 uchar Memory seconde 6 0 此数组用于记录定点测温时间秒此数组用于记录定点测温时间秒 uchar Memory minite 6 0 此数组用于记录定点测温时间分此数组用于记录定点测温时间分 uchar Memory hour 6 0 此数组用于记录定点测温时间时此数组用于记录定点测温时间时 uchar Memory day 6 0 此数组用于记录定点测温时间日此数组用于记录定点测温时间日 uchar Memory month 6 0 此数组用于记录定点测温时间月此数组用于记录定点测温时间月 uchar Memory year 6 0 此数组用于记录定点测温时间日此数组用于记录定点测温时间日 int Memory tvalue1 6 0 此数组用于记录定点测温此数组用于记录定点测温 1602 第二行温度第二行温度 uint Memory tvalue2 6 0 此数组用于记录定点测温此数组用于记录定点测温 1602 第一行温度第一行温度 10 uchar code str2 0 x28 0 x1A 0 x6D 0 x83 0 x03 0 x00 0 x00 0 xC2 ROM1 对应对应 1602 第二行第二行 uchar code str1 0 x28 0 x16 0 x4F 0 xA5 0 x03 0 x00 0 x00 0 xBD ROM2 对应对应 1602 第一行第一行 uchar code table 26 5C uchar code table2 28 5C void delay uint ms 一毫秒延时一毫秒延时 uint i j for j 0 j ms j for i 0 i0 i T IO ACC0 T CLK 0 T CLK 1 ACC ACC 1 DS1302 读取操作 下降沿 读取操作 下降沿 uchar read byte void uchar i for i 0 i 1 T CLK 1 T CLK 0 ACC7 T IO return ACC DS1302 写入数据 先送地址 再写数据 写入数据 先送地址 再写数据 void write 1302 uchar addr uchar date T RST 0 停止工作停止工作 T CLK 0 T RST 1 重新工作重新工作 write byte addr 写入地址写入地址 write byte date T RST 0 T CLK 1 12 DS1302 读取数据 先送地址 再读数据 读取数据 先送地址 再读数据 uchar read 1302 uchar addr uchar temp T RST 0 停止工作停止工作 T CLK 0 T RST 1 重新工作重新工作 write byte addr 写入地址写入地址 temp read byte T RST 0 T CLK 1 停止工作停止工作 return temp DS18b20 初始化程序初始化程序 void set 18b20 初始化初始化 DQ 1 delay1us 4 DQ 0 delay1us 500 DQ 1 delay1us 40 DS18b20 写数据写数据 void write 18b20 uchar date 写数据写数据 uchar i for i 8 i 0 i DQ 0 DQ date delay1us 10 DQ 1 date date 1 DS18b20 读数据读数据 uchar read 18b20 读数据读数据 13 uchar i tempx for i 8 i 0 i DQ 0 tempx tempx 1 DQ 1 if DQ tempx tempx 0 x80 delay1us 10 return tempx DS18b20 匹配匹配 ROM void Matchrom 18b20 uchar a 匹配匹配 ROM char j write 18b20 0 x55 发送匹配发送匹配 ROM 命令命令 if a 1 for j 0 j 8 j write 18b20 str1 j 发送发送 18B20 的序列号 先发送低字节的序列号 先发送低字节 if a 2 for j 0 j 8 j write 18b20 str2 j 发送发送 18B20 的序列号 先发送低字节的序列号 先发送低字节 DS18b20 读取温度值读取温度值 多 多 2 个 个 ds18b20 void get temper 读取温度值读取温度值 uint tempk uchar templ temph set 18b20 开始读取第一个温度开始读取第一个温度 tvalue1 Matchrom 18b20 1 write 18b20 0 x44 set 18b20 Matchrom 18b20 1 write 18b20 0 xbe templ read 18b20 temph read 18b20 tempk temph 14 tempk tempk 8 tempk tempk templ tvalue1 tempk 0 625 第一个温度第一个温度 tvalue1 读取结束读取结束 delay 10 set 18b20 开始读取第二个温度开始读取第二个温度 tvalue2 Matchrom 18b20 2 write 18b20 0 x44 set 18b20 Matchrom 18b20 2 write 18b20 0 xbe templ read 18b20 temph read 18b20 tempk temph tempk tempk 8 tempk tempk templ tvalue2 tempk 0 625 第二个温度第二个温度 tvalue2 读取结束读取结束 DS18b20 读取温度值读取温度值 单个单个 ds18b20 uint get temper 读取温度值读取温度值 uint tempk uchar templ temph set 18b20 write 18b20 0 xcc write 18b20 0 x44 set 18b20 write 18b20 0 xcc write 18b20 0 xbe templ read 18b20 temph read 18b20 tempk temph tempk tempk H1 对应对应 1602 第二行温度值第二行温度值 write com 0 x80 0 x40 9 delay 1 write data H 15 delay 1 if counter2 2 0 counter 为偶数时声光报警为偶数时声光报警 H LED 0 达到报警要求时 指示灯常亮达到报警要求时 指示灯常亮 sound 0 达到报警要求时 报警灯闪烁达到报警要求时 报警灯闪烁 light 0 else H LED 0 sound 1 light 1 if counter2 10 0 防干扰防干扰 L LED 1 if tvalue2 H2 对应对应 1602 第一行温度值第一行温度值 write com 0 x80 9 delay 1 write data H delay 1 if counter2 2 0 counter 为偶数时声光报警为偶数时声光报警 H LED 0 达到报警要求时 指示灯常亮达到报警要求时 指示灯常亮 sound 0 达到报警要求时 报警灯闪烁达到报警要求时 报警灯闪烁 light 0 else H LED 0 sound 1 light 1 if counter2 10 0 防干扰防干扰 L LED 1 if tvalue1 L1 write com 0 x80 0 x40 9 16 delay 1 write data L delay 1 if counter2 2 0 counter 为偶数时声光报警为偶数时声光报警 L LED 0 达到报警要求时 指示灯常亮达到报警要求时 指示灯常亮 sound 0 达到报警要求时 报警灯闪烁达到报警要求时 报警灯闪烁 light 0 else L LED 0 sound 1 light 1 if counter2 10 0 防干扰防干扰 H LED 1 if tvalue2L1 delay 1 write data delay 1 H LED 1 L LED 1 sound 0 light 0 温度存储函数温度存储函数 void Memory temp Memory seconde number seconde 此数组用于记录定点测温时间秒此数组用于记录定点测温时间秒 Memory minite number minite 此数组用于记录定点测温时间分此数组用于记录定点测温时间分 Memory hour number hour 此数组用于记录定点测温时间时此数组用于记录定点测温时间时 Memory day number day 此数组用于记录定点测温时间日此数组用于记录定点测温时间日 Memory month number month 此数组用于记录定点测温时间月此数组用于记录定点测温时间月 Memory year number year 此数组用于记录定点测温时间日此数组用于记录定点测温时间日 Memory tvalue1 number tvalue1 此数组用于记录定点测温此数组用于记录定点测温 1602 第二行第二行 温度温度 Memory tvalue2 number tvalue2 此数组用于记录定点测温此数组用于记录定点测温 1602 第一行第一行 温度温度 DS18b20 温度值显示函数温度值显示函数 void ds18b20disp uint t uchar n 温度值显示温度值显示 disdata 0 t 1000 0 x30 百位数百位数 disdata 1 t 1000 100 0 x30 十位数十位数 disdata 2 t 100 10 0 x30 个位数个位数 18 disdata 3 t 10 0 x30 小数位小数位 if disdata 0 0 x30 disdata 0 0 x20 如果百位为如果百位为 0 不显示 显示空格 不显示 显示空格 if disdata 1 0 x30 disdata 1 0 x20 如果百位为如果百位为 0 十位为 十位为 0 也不显示 显示空格 也不显示 显示空格 if n 1 write com 0 x80 0 x40 10 显示百位显示百位 delay 1 write data disdata 0 delay 1 write com 0 x80 0 x40 11 显示十位显示十位 delay 1 write data disdata 1 delay 1 write com 0 x80 0 x40 12 显示个位显示个位 delay 1 write data disdata 2 delay 1 write com 0 x80 0 x40 14 显示小数位显示小数位 delay 1 write data disdata 3 if n 2 write com 0 x80 10 显示百位显示百位 delay 1 write data disdata 0 delay 1 write com 0 x80 11 显示十位显示十位 delay 1 write data disdata 1 delay 1 write com 0 x80 12 显示个位显示个位 delay 1 write data disdata 2 delay 1 write com 0 x80 14 显示小数位显示小数位 delay 1 write data disdata 3 19 读时间程序读时间程序 void read time temp uchar i addr addr 0 x81 读的初始地址读的初始地址 for i 0 i 7 i 分别把秒分时数据读出分分别把秒分时数据读出分 3 次读好一次地址加次读好一次地址加 2 temp 2 clk time i read 1302 addr addr addr 2 hour clk time 2 16 10 clk time 2 16 ds1302 读出的时间是读出的时间是 BCD 需 需 转化成十进制数转化成十进制数 minite clk time 1 16 10 clk time 1 16 ds1302 读出的时间是读出的时间是 BCD 需转化成十进制数需转化成十进制数 seconde clk time 0 16 10 clk time 0 16 ds1302 读出的时间是读出的时间是 BCD 需转化成十进制数需转化成十进制数 year clk time 6 16 10 clk time 6 16 ds1302 读出的时间是读出的时间是 BCD 需 需 转化成十进制数转化成十进制数 month clk time 4 16 10 clk time 4 16 ds1302 读出的时间是读出的时间是 BCD 需转化成十进制数需转化成十进制数 day clk time 3 16 10 clk time 3 16 ds1302 读出的时间是读出的时间是 BCD 需 需 转化成十进制数转化成十进制数 DS1302 时间值显示函数时间值显示函数 void ds1302disp 温度值显示温度值显示 write sfm 0 x40 hour delay 1 write sfm 0 x40 3 minite delay 1 write sfm 0 x40 6 seconde delay 1 write sfm 0 year delay 1 write sfm 3 month delay 1 write sfm 6 day 调整复位函数调整复位函数 20 void RST count 0 flag 1 read Memory 0 读数组时被标志为读数组时被标志为 1 TR0 1 开启定时器开启定时器 0 write com 0 x38 设置显示模式设置显示模式 delay 2 write com 0 x0c delay 2 write com 0 x06 delay 2 write com 0 x80 0 x40 9 delay 1 write data delay 1 正常工作 不显正常工作 不显 示示 H L write com 0 x80 9 delay 1 write data delay 1 正常工作 不显示正常工作 不显示 H L write 1302 0 x8e 0 x00 写保护 允许写入写保护 允许写入 delay 1 write 1302 0 x80 seconde 10 4 seconde 10 将新数据写入寄存器将新数据写入寄存器 delay 1 write 1302 0 x82 minite 10 4 minite 10 将新数据写入寄存器将新数据写入寄存器 delay 1 write 1302 0 x84 hour 10 4 hour 10 将新数据写入寄存器将新数据写入寄存器 delay 1 write 1302 0 x86 day 10 4 day 10 将新数据写入寄存器将新数据写入寄存器 delay 1 write 1302 0 x88 month 10 4 month 10 将新数据写入寄存器将新数据写入寄存器 delay 1 write 1302 0 x8c year 10 990 H1 990 对应对应 1602 第二行温度值第二行温度值 ds18b20disp H1 1 break case 8 L1 if L1 990 L1 990 对应对应 1602 第二行温度值第二行温度值 ds18b20disp L1 1 21 break case 9 H2 if H2 990 H2 990 对应对应 1602 第一行温度值第一行温度值 ds18b20disp H2 2 break case 10 L2 if L2 990 L2 990 对应对应 1602 第一行温度值第一行温度值 ds18b20disp L2 2 break default break else switch count2 case 7 H1 if H1 0 H1 0 对应对应 1602 第二行温度值第二行温度值 ds18b20disp H1 1 break case 8 L1 if L1 0 L1 0 对应对应 1602 第二行温度值第二行温度值 ds18b20disp L1 1 break case 9 H2 if H2 0 H2 0 对应对应 1602 第一行温度值第一行温度值 ds18b20disp H2 2 break case 10 L2 if L259 time date 0 write sfm 0 x40 6 time date delay 1 seconde time date 液晶屏写液晶屏写 22 秒秒 break case 2 if time date 59 time date 0 write sfm 0 x40 3 time date delay 1 minite time date 液晶屏写液晶屏写 分分 break case 3 if time date 23 time date 0 write sfm 0 x40 time date delay 1 hour time date 液晶屏写时液晶屏写时 break case 4 if time date 31 time date 1 write sfm 6 time date delay 1 day time date 液晶屏写日液晶屏写日 break case 5 if time date 12 time date 1 write sfm 3 time date delay 1 month time date 液晶屏写月液晶屏写月 break case 6 if time date 59 time date 0 write sfm 0 time date delay 1 year time date 液晶屏写年液晶屏写年 break default break else time date switch count1 case 1 if time date 0 time date 59 write sfm 0 x40 6 time date delay 1 seconde time date 液晶屏写液晶屏写 秒秒 break case 2 if time date 0 time date 59 write sfm 0 x40 3 time date delay 1 minite time date 液晶屏写液晶屏写 分分 break case 3 if time date 0 time date 23 write sfm 0 x40 time date delay 1 hour time date 液晶屏写时液晶屏写时 break case 4 if time date 0 time date 31 write sfm 6 time date delay 1 day time date 液晶屏写日液晶屏写日 break case 5 if time date 0 time date 12 write sfm 3 time date delay 1 month time date 液晶屏写月液晶屏写月 break case 6 if time date 0 time date 59 write sfm 0 time date delay 1 year time date 液晶屏写年液晶屏写年 23 break default break write 1302 0 x8e 0 x00 写保护 允许写入写保护 允许写入 delay 1 write 1302 addr 1 time date 10 4 time date 10 将新数据写将新数据写 入寄存器入寄存器 delay 1 write 1302 0 x8e 0 x80 写保护 禁止写入写保护 禁止写入 按键扫描按键扫描 void key scan uchar i if menu P30 选择调整模式选择调整模式 delay 5 if menu 0 TR0 0 count write com 0 x0f flag 0 if count 11 RST 调用调整复位函数 正常工作调用调整复位函数 正常工作 P30 menu switch count case 1 write com 0 x80 0 x40 7 if add P31 秒调整秒调整 delay 5 if add 0 turn val 1 1 0 x81 P31 add if dec P32 秒调整秒调整 24 delay 5 if dec 0 turn val 1 0 0 x81 P32 dec break case 2 write com 0 x80 0 x40 4 if add P31 分调整分调整 delay 5 if add 0 turn val 2 1 0 x83 P31 add if dec P32 分调整分调整 delay 5 if dec 0 turn val 2 0 0 x83 P32 dec break case 3 write com 0 x80 0 x40 1 if add P31 时调整时调整 delay 5 if add 0 turn val 3 1 0 x85 P31 add if dec P32 时调整时调整 delay 5 if dec 0 25 turn val 3 0 0 x85 P32 dec break case 4 write com 0 x80 7 if add P31 日调整日调整 delay 5 if add 0 turn val 4 1 0 x87 P31 add if dec P32 日调整日调整 delay 5 if dec 0 turn val 4 0 0 x87 P32 dec break case 5 write com 0 x80 4 if add P31 月调整月调整 delay 5 if add 0 turn val 5 1 0 x89 P31 add if dec P32 月调整月调整 delay 5 if dec 0 turn val 5 0 0 x89 P32 dec 26 break case 6 write com 0 x80 1 if add P31 年调整年调整 delay 5 if add 0 turn val 6 1 0 x8d P31 add if dec P32 年调整年调整 delay 5 if dec 0 turn val 6 0 0 x8d P32 dec break case 7 write com 0 x80 0 x40 9 delay 1 write data H delay 1 ds18b20disp H1 1 write com 0 x80 0 x40 14 1602 第二行上限温度设置第二行上限温度设置 if add P31 上限温度上限温度 delay 5 if add 0 turn temp 7 1 P31 add if dec P32 上限温度上限温度 delay 5 if dec 0 turn temp 7 0 P32 dec break case 8 write com 0 x80 0 x40 9 delay 1 write data L delay 1 27 ds18b20disp L1 1 write com 0 x80 0 x40 14 1602 第二行下限温度设置第二行下限温度设置 if add P31 下限温度下限温度 delay 5 if add 0 turn temp 8 1 P31 add if dec P32 下限温度下限温度 delay 5 if dec 0 turn temp 8 0 P32 dec break case 9 write com 0 x80 0 x40 9 delay 1 write data delay 1 正常正常 工作 不显示工作 不显示 H L write com 0 x80 9 delay 1 write data H ds18b20disp H2 2 write com 0 x80 14 1602 第一行上限温度设置第一行上限温度设置 if add P31 上限温度上限温度 delay 5 if add 0 turn temp 9 1 P31 add if dec P32 上限温度上限温度 delay 5 if dec 0 turn temp 9 0 P32 dec 28 break case 10 write com 0 x80 9 delay 1 write data L delay 1 ds18b20disp L2 2 write com 0 x80 14 1602 第一行下限温度设置第一行下限温度设置 if add P31 下限温度下限温度 delay 5 if add 0 turn temp 10 1 P31 add if dec P32 下限温度下限温度 delay 5 if dec 0 turn temp 10 0 P32 dec break default break if count 0 if add 0 flag 0 查看保存的温度值时液晶屏不更新时间 温度值查看保存的温度值时液晶屏不更新时间 温度值 read Memory 1 读数组时被标志为读数组时被标志为 1 TR0 0 关定时器关定时器 1 number number 1 if number 0 number number1 write sfm 0 x40 Memory hour number delay 1 write sfm 0 x40 3 Memory minite number delay 1 write sfm 0 x40 6 Memory seconde number delay 1 29 write sfm 0 Memory year number delay 1 write sfm 3 Memory month number delay 1 write sfm 6 Memory day number delay 1 ds18b20disp Memory tvalue1 number 1 显示温度值显示温度值 delay 1 ds18b20disp Memory tvalue2 number 2 显示温度值显示温度值 delay 1 write com 0 x06 delay 1 不显示光标不显示光标 P31 add if count 0 if dec 0 RST 清零时复位显示 正常更新温度 时间清零时复位显示 正常更新温度 时间 number 0 数组清零数组清零 number1 0 for i 0 i4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析心理咨询师考试主要内容的试题及答案
- 读书方面的面试题及答案
- 高新路小学面试题及答案
- 育婴师如何理解与支持家长的育儿哲学探索试题及答案
- 激光技术普及教育试题及答案
- 弱电造价面试题及答案
- 药学跨学科研究的前景试题及答案
- 高校辅导员如何增强学生自信心试题及答案
- 激光成像技术发展试题及答案
- 护理教育领域的前沿研究护士资格证考试试题及答案
- 地下混凝土水池蓄水试验方案20240401
- 头晕、抑郁与焦虑关系解析与应对策略
- 初中入团考试题型及答案
- 2025年北京卫生职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年河南推拿职业学院单招职业技能考试题库含答案
- 深基坑工程施工中的自动化设备应用
- 烟草公司办公楼物业服务方案
- 口腔保健科普讲座(幼儿园)课件
- 2024-2025学年全国版图知识竞赛考试题库资料(含答案)
- (完整)交管12123学法减分试题库带参考答案
- 盘州市柏果镇卫生院村医招聘笔试真题2024
评论
0/150
提交评论