《第十二讲与多功能电子钟课件.ppt》由会员分享,可在线阅读,更多相关《第十二讲与多功能电子钟课件.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十二讲与多功能电子钟第十二讲与多功能电子钟第1页,此课件共13页哦第十二讲第十二讲项目实例:多功能电子钟项目实例:多功能电子钟o 本讲内容:本讲内容:o 项目设计要求项目设计要求o 项目规划项目规划o DS18B20的使用方法的使用方法o 程序流程程序流程第2页,此课件共13页哦项目设计要求项目设计要求o 设计要求:设计要求:o 设计制作一个多功能电子钟,具备年月日时分秒显示功设计制作一个多功能电子钟,具备年月日时分秒显示功能,掉电后时钟信息不会丢失。能,掉电后时钟信息不会丢失。o 具备显示当前环境温度功能。具备显示当前环境温度功能。o 显示器可以在字符液晶与数码管之间切换选择。显示器可以在
2、字符液晶与数码管之间切换选择。o 电子钟通过电子钟通过USART与与PC机通讯,通过串口调试助手机通讯,通过串口调试助手设置时间。设置时间。o 通过四个按键切换显示模式与数码管显示内容。通过四个按键切换显示模式与数码管显示内容。o 具有数字电压表功能,能够测量具有数字电压表功能,能够测量02.5V范围内的电范围内的电压并在字符型液晶上显示。压并在字符型液晶上显示。o 采用采用AVR单片机单片机ATmega16。第3页,此课件共13页哦项目规划项目规划o时钟功能的实现:时钟功能的实现:oAVR单片机自带单片机自带RTC功能,但功能,但C语言实现日历功能比较复杂,语言实现日历功能比较复杂,且且AT
3、mega16的功耗不够低的功耗不够低(ATmega48V是典型的低功耗是典型的低功耗AVR),而时钟芯片,而时钟芯片DS1302掉电功耗很低,操作方便,因掉电功耗很低,操作方便,因此时钟功能选择此时钟功能选择DS1302+备份电池实现。备份电池实现。o字符液晶的选择:字符液晶的选择:o选择最常用的字符型液晶选择最常用的字符型液晶1602。o上位机通讯:上位机通讯:o采用采用TTL-232电平转换芯片电平转换芯片MAX232A,DB9接口。接口。o温度测量功能:温度测量功能:o采用常用的温度测量芯片采用常用的温度测量芯片DS18B20o电压表功能:电压表功能:o片上自带的片上自带的10位位ADC
4、,片内,片内2.56V参考电压源,测量电压直接输入。参考电压源,测量电压直接输入。第4页,此课件共13页哦DS18B20简介简介oDS18B20简介简介o美国美信美国美信(Maxim)公司生产的单线数字温度传感器公司生产的单线数字温度传感器DS1820,可把温度信号直接转换成串行数字信号供微机处理。可把温度信号直接转换成串行数字信号供微机处理。oDS18B20的主要特性的主要特性o适应电压范围更宽,电压范围:适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电,在寄生电源方式下可由数据线供电o独特的单线接口方式,独特的单线接口方式,DS18B20在与微处理器连接时仅需要一
5、条口线即可实现微处理器与在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯的双向通讯o支持多点组网功能,多个支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温可以并联在唯一的三线上,实现组网多点测温o在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内o温范围温范围55125,在,在-10+85时精度为时精度为0.5o可编程的分辨率为可编程的分辨率为912位,对应的可分辨温度分别为位,对应的可分辨温度分别为0.5、0.25、0.125
6、和和0.0625,可实现高精度测温,可实现高精度测温o在在9位分辨率时最多在位分辨率时最多在93.75ms内把温度转换为数字,内把温度转换为数字,12位分辨率时最多在位分辨率时最多在750ms内把温度值转换为数字,速度内把温度值转换为数字,速度更快更快o测量结果直接输出数字温度信号,以测量结果直接输出数字温度信号,以一线总线一线总线串行传送给串行传送给CPU,同时可传送,同时可传送CRC校验码,具有极强的抗干扰纠错能力校验码,具有极强的抗干扰纠错能力o负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。第5页,此课件共
7、13页哦DS18B20内部结构内部结构DS18B20内部结构主内部结构主要由四部分组成:要由四部分组成:64位光位光刻刻ROM、温度传感器、非、温度传感器、非挥发的温度报警触发器挥发的温度报警触发器TH和和TL、配置寄存器。、配置寄存器。oDS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。第6页,此课件共13页哦4个主要的数据部件个主要的数据部件光刻光刻ROM与存储器与存储器o 光刻光刻ROM中的中的64位序列号位序列号o是出厂前被光刻好的,它可以看作是该是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。的地址序列码
8、。64位光刻位光刻ROM的排列是:开始的排列是:开始8位(位(28H)是产品类型标号,接着的)是产品类型标号,接着的48位是该位是该DS18B20自身的序列号,最后自身的序列号,最后8位是前面位是前面56位的循环冗余校验码位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻)。光刻ROM的作用是使每一个的作用是使每一个DS18B20都各都各不相同,这样就可以实现一根总线上挂接多个不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。的目的。第7页,此课件共13页哦4个主要的数据部件个主要的数据部件温度传感器温度传感器可完成对温度的测量,以可完成对温度的测量,以12位转化为例:位转化
9、为例:用用16位符号扩展的二进制补码读数位符号扩展的二进制补码读数形式提供,以形式提供,以0.0625/LSB形式形式表达,其中表达,其中S为符号位。为符号位。这是这是12位转化后得到的位转化后得到的12位数据,存储在位数据,存储在18B20的两个的两个8比特的比特的RAM中,二进制中,二进制中的前面中的前面5位是符号位,如果测得的温位是符号位,如果测得的温度大于度大于0,这,这5位为位为0,只要将测到的数值,只要将测到的数值乘于乘于0.0625即可得到实际温度;即可得到实际温度;o如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。第8页,此课件共13页哦4
10、个主要的数据部件个主要的数据部件存储器存储器o DS18B20温度传感器的存储器温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的和一个非易失性的可电擦除的EEPROM,后者存放高温度后者存放高温度和低温度触发器和低温度触发器TH、TL和结构寄存器。和结构寄存器。o 高速暂存存储器高速暂存存储器 高速暂存存储器由高速暂存存储器由9个字节组成,其分配如右表所示。当温度转个字节组成,其分配如右表所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放换命令发布后,经转换所得的温度值以二字节补码形式存
11、放在高速暂存存储器的第在高速暂存存储器的第0和第和第1个字节。单片机可通过单线接个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十时,直接将二进制位转换为十进制;当进制;当S=1时,先将补码变为原码,再计算十进制值。表时,先将补码变为原码,再计算十进制值。表 2是对是对应的一部分温度值。第九个字节是冗余检验字节。应的一部分温度值。第九个字节是冗余检验字节。寄存器内容字节地址温度值低位(LS Byte)0温度值高位(MS B
12、yte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8第9页,此课件共13页哦4个主要的数据部件个主要的数据部件配置寄存器配置寄存器 o配置寄存器配置寄存器 该字节各位的意义如右表:该字节各位的意义如右表:低五位一直都是低五位一直都是“1”,TM是测是测试模式位,用于设置试模式位,用于设置DS18B20在工作模式还是在测试在工作模式还是在测试模式。在模式。在DS18B20出厂时该位被出厂时该位被设置为设置为0,用户不要去改动。,用户不要去改动。R1和和R0用来设置分辨率,如右表用来设置分辨率,如右表所示:(所示:(DS18B20出厂时被设出厂时被设置为置为1
13、2位)位)TMR1R011111R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms第10页,此课件共13页哦操作步骤操作步骤根据根据DS18B20的通讯协议,主机(单的通讯协议,主机(单片机)控制片机)控制DS18B20完成温度转换必完成温度转换必须经过三个步骤:须经过三个步骤:每一次读写之前都要对每一次读写之前都要对DS18B20进行复位操作进行复位操作复位成功后发送一条复位成功后发送一条ROM指令指令最后发送最后发送RAM指令指令这样才能对这样才能对DS18B20进行预定的操作进行预定的操作。复位要求主。复位要求主CPU将数
14、据线下拉将数据线下拉500微微秒,然后释放,当秒,然后释放,当DS18B20收到信号后等收到信号后等待待1660微秒左右,后发出微秒左右,后发出60240微微秒的存在低脉冲,主秒的存在低脉冲,主CPU收到此信号表收到此信号表示复位成功。示复位成功。第11页,此课件共13页哦ROM指令表指 令约定代码功 能读ROM0 x33读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM0 x55发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0 xF0用于确定挂接在同一总线上 D
15、S1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0 xCC忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0 xEC执行后只有温度超过设定值上限或下限的片子才做出响应。第12页,此课件共13页哦RAM指令表指 令约定代码功 能温度变换0 x44启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0 xBE读内部RAM中9字节的内容写暂存器0 x4E发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器0 x48将RAM中第3、4字节的内容复制到EEPROM中。重调 EEPROM0 xB8将EEPROM中内容恢复到RAM中的第3、4字节。读供电方式0 xB4读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电 DS1820发送“1”。第13页,此课件共13页哦
限制150内