万年历课程设计(59页).doc

上传人:1595****071 文档编号:36785080 上传时间:2022-08-28 格式:DOC 页数:61 大小:340KB
返回 下载 相关 举报
万年历课程设计(59页).doc_第1页
第1页 / 共61页
万年历课程设计(59页).doc_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《万年历课程设计(59页).doc》由会员分享,可在线阅读,更多相关《万年历课程设计(59页).doc(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-万年历课程设计-第 - 53 - 页摘 要本设计应用AT89C52芯片作为核心,采用C语言进行编程,实现以下功能:小时、分、秒、年、月、日、星期的显示和实时温度检测。该设计的电子时钟系统由时钟电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。使用时钟芯片DS1302完成时钟日期的功能,以LCD1602为显示器,同时利用温度传感器DS18B20测量周围环境温度,并且可以依靠按键随时对日期时间进行调整。我们共设计四个按键,一个模式键,也就是我们用来选定被修改的数字的,两个调整键,一个“加”键和一个“减”键,当按下模式键,选定要调整的数字的时候,“加”、“减”可以帮我们调到所需的状态,还

2、有一个复位键,显示精度为1秒。设计还提供三位实时温度检测并显示,其显示精度为0.1。关键词:AT89C52,时钟日历芯片DS1302,温度传感器DS18B20AbstractThe design is applied with AT89C52 chip as the core, use C program language, to achieve the following functions: hours, minutes, seconds, and the year, month, date display, real-time temperature sensing. The desig

3、n of electronic clock contains electronic clock circuit, LCD display circuit, buttons and temperature detection circuit adjustment circuit four parts. Use the clock date clock chip DS1302 completed features to display by LCD1602, while using the temperature sensor DS18B20 measuring ambient temperatu

4、re, and rely on keys to adjust at, date, time at any time. We have designed four buttons, one mode key, this key help we chose the number that are need to modify, and two adjustment key, one plus key, one minus key. After press the mode button, select the time to be adjusted, add or sub the number t

5、o the desired state, there is a certain key, press the OK button to enter the normal clock mode after adjusted. This design provides both temperature sensing and display real-time. KEY WORDS:AT89C52, Calendar Clock Chip DS1302, Temperature sensor DS18B20目 录前言1第一章 概述2第二章 基于单片机电子时钟的硬件电路设计4第一节 MCU选择及AT

6、89C51简介4第二节 时钟电路的设计8一、DS1302简要说明8二、DS1302引脚说明8三、DS1302控制字和读写时序说明9四、DS1302片内寄存器说明11五、时钟电路的原理12第三节 环境温度采集电路的设计13一、温度传感器的选择13二、DS18B20简介13三、DS18B20控制字和读写时序说明15四、温度采集电路与单片机的连接17第四节 显示电路的设计18一、显示器LCD1602的特点与简介18二、显示电路的与单片机的连接19第五节 按键电路的设计21第六节 复位电路的设计22第三章 基于单片机电子时钟软件设计23第一节 主程序设计23第二节 2实时时钟子程序设计23第三节 环境

7、温度采集子程序设计24第四节 按键子程序设计26第四章 系统调试27第一节 单片机基础电路的调试27第二节 显示电路的调试27第三节 DS1302电路的调试27第四节 环境温度采集的调试27第五节 按键电路的调试27第六节 软件的调试29结论30参考文献31致谢32附录1总设计原理图33附录2带温度显示的电子时钟仿真图34附录3 HD44780字符集35附录4升序按键程序36前 言时间是人类生活必不可少的元素,对人们来说时间是那么的宝贵,如果没有时间的观念,人们的生活就会紊乱,社会秩序也将不会有井有条。从古代的水漏到后来的机械钟再到当今的石英钟,都充分体现了时间的重要,同时也代表着科技的发展进

8、步,所以对于我们研究电子时钟和充分发挥时钟的作用将有着重要的意义。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。随着数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字的精度,远远超过老式钟表,且钟表的数字化给人们的生产生活带来了极大的方便,成为人们生活中不可少的必需品。工农业生产上也有很多的场合要测量环境温度啊、湿度啊。如果扩大时钟原有的功能,比如增加环境温度显示的功能等等,将使电子钟的应用更加广泛。本设计主要为实现一款可正常显示时钟和实时测量的环境温度的多功能电子时钟,并且可以依靠按键随时对日期进行调整,以

9、确保显示的正确性、实时性。该设计采用AT89C52作为核心处理芯片分别对时钟芯片DS1302、温度传感器DS18B20进行读写控制,并将读到的数据送给LCD1602显示出来。第一章 概述从电子时钟的发明到现在已经将近半个世纪了,从最初的德克萨斯仪器推出的4位单片机电子时钟到当今的32位,从当时价钱昂贵且体积大到现在的精致小型,从以前的单一的时间显示到现代的可以显示温度、湿度等更多功能的电子时钟,都积累了众多科学家的努力和心血。温度关系着我们日常生活,关系着我们的身体健康,其结构简单、易行、实用。所以设计这样的一个电子时钟是很有意义的。本文基于课题并对当前电子时钟开发手段进行了比较和分析,最终确

10、定了采用单片机技术实现多功能电子时钟的总体方案。本文设计应用AT89C52芯片作为核心,LCD1602显示,使用时钟芯片DS1302完成时钟日期的功能,同时利用温度传感器DS18B20测量周围环境温度,并且可以依靠按键随时对日期、时间进行调整。本课题通过AT89C522单片机来设计电子时钟,采用C语言进行编程,可以实现以下一些功能:小时、分、秒、年、月、日、星期的显示和实时温度检测。本次设计的电子时钟系统由时钟电路,LCD显示电路,按键调整电路四部分组成。51单片机通过软件编程,在LCD1602液晶屏上实现小时、分、秒、年、月、日、星期的显示;利用时钟芯片DS1302来实现计时;通过三个按键开

11、关,一个用于时钟调节模式的选择(模式包括调秒、分、时、年、月、日、星期),按1次下模式键(KEY1)调用调年程序,同时显示程序也响应相应的动作,秒数字开始闪烁,进入调秒模式,再按一次进入调月模式,依次类推分别进入调日、星期,时、分、秒的模式。另外两个用于时钟的调节,其中KEY2为加键,KEY3为减键,在按下模式键后,相应的数字会闪烁,这时我们按下加键或减键,对应的数字就会相应的加一或减一,使我们的多功能电子时钟更方便,更人性化。温度部分的设计我们采用DALLAS公司生产的1wire式数字温度传感器DS18B20,所谓1wire就是单线的意思,也就是该传感器与CPU进行数据传输的时候只需要一条数

12、据线就可以了,甚至他的电源都可以由数据线提供,DS18B20也具备这项功能,他可以从数据线上给自己供电,这样他的外接电路,就非常的简单明了,也节省了不少CPU的硬件资源。本设计就是采用这样的方案,DS18B20的电源是通过一个上拉电阻为自己获取电源的。当然这样的设计简化了我们的硬件外部连线,节省了硬件资源,但是这样的设计也给我们的软件设计(编程)提出了严格的要求,特别是时序的要求,我们用单片机发脉冲来模拟串行通信,每个时钟的间隙和读写的辨别都给我们的编程带来更多的困难。所以我们要严格按照时序,准确的进行读写操作。显示部分我们的用的是LCD1602。为什么要选LCD1602呢?最初我想的是用数码

13、管显示的,数码管的高亮度和编程控制容易的特点使我更受青睐,但是我想要是同时显示年、月、日、时、分、秒,当然还有温度,这算起来就有就有17位的位选端,再加上8段的8个端口的话,就要25位的I/O口,还要有键盘,这显然让我们的CPU无法恭维,如果是分时显示,也不能说是个不错的想法,但是这样的设计就不太人性化了,当然我们还可以考虑扩展I/O口,但是这又加大了编程的难度,相比起来,LCD1602就显的绰绰有余了。他可以同时显示32个字符,用来显示我们的时钟,还有温度就显得更加清晰、自然。所以最终选择LCD1602作为显示器件。第二章 基于单片机的电子时钟硬件设计电子时钟至少包括秒信号发生器、时间显示电

14、路、按键电路、供电电路等四部分,另外,本设计要求该电子钟能够采集温度,所以还需要温度采集电路,硬件电路框图如图2-1。MCU显示器DS1302时钟温度传感器DS18B20键盘+5V电源图2-1 硬件电路框图该系统使用AT89C52单片机为核心微控制器,通过读取时钟日历芯片DS1302和温度传感器DS18B20的数据,完成电子时钟的主要功能时钟/日历和环境温度采集,使用比直观的LCD1602显示,同时显示年月日,星期,时分秒以及环境温度值。键盘是为了完成时钟/日历的校准。整个电路使用了+5V电源供电。 第一节 MCU的选择与AT89C51简介目前在单片机系统中,应用比较广泛的微处理器芯片主要为8

15、XC5X系列的单片机,该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全、性能稳定、体积小、价格底、货源充足、调试和编程方便,所以应用较为广泛。例如AT89C52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,

16、可方便的应用在各个控制领域1。AT89C52具有以下主要性能:1.8KB可改编程序FLASH存储器;2.全表态工作 :024HZ;3.256X8字节内部RAM;4.32个外部双向输入,输出(I、O)口;引脚说明如图2-2。图2-2 AT89C52引脚说明引脚功能说明如下2:VCC:电源电压。GND:地。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P

17、0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存

18、在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或16位地址的外部数据储存器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器(例如执行MOVXRI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。FLASH编程或校验时,P2亦接收高位地址和其他控制信号。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某

19、个引脚被外部信号拉低时会输出一个电流。P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-1。P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。表2-1 P3口的第二功能表端口引脚第二功能P3.0RXD(穿行输出口)P3.1TXD(穿行输入口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器0

20、)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80C51由

21、外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。第二

22、节 时钟电路的设计实现电子时钟的功能方案有很多种,常用的有用芯片555实现,直接编程实现,也就是通过编程由单片机内部产生时钟的数据。本设计要求时钟电路能够显示日历和时间,对一般的芯片的实现方法,这难免会给编程带来极大的麻烦,而DS1302就可以自己依靠单独的晶振电路,产生这些数据,并存储到内部的存储器中,而我们要做的工作就是,不断的读出这些数据,并转换成显示器可识别的有效的数据,送到显示器上显示。这样一款强大的时钟芯片,不但占用的硬件资源少,而且其精确性、实时性也是相当的可观。所以本设计选用DS1302来实现时钟电路。一、 DS1302简要说明DS1302 是美国DALLAS公司推出的一种高性

23、能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。DS1302的外接晶振采用普通32.768kHz晶振。二、DS1302引脚说明DS1302封

24、装和引脚参照图2-3。图2-3 DS1302封装和引脚DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I

25、/O引脚变为高阻态。上电运行时,在Vcc22.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。具体的引脚说明如表2-2。表2-2 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHZ输入3X232.768KHZ输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入三、 DS1302控制字和读写时序说明 在编程过程中要注意DS1302的读写时序,DS1302是SPI总线驱动方式,它不仅要向寄存器写入控制字,还需

26、要读取相应寄存器的数据。要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如表2-3。控制字的作用是设定DS1302的工作方式,传送字节数等。每次数据的传输都是由控制字开始9。1. 第7 位:控制字的最高有效位,如果它为0,则不能把数据写入到DS1302中。2. 第6位:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据。表2-3 DS1302的控制字节1RAM CKA4A3A2A1 A0RD WR第7位第6位第5位第4位第3位第2位第1位第0位3第5位:(A4A0)用A4A0表示,定义片内寄存器和RAM的地址。定义如下:当第6位为0时,定义时钟和其他寄存器的

27、地址。A4A006,顺序为秒、分、时、日、月、星期、年的寄存器。当A4A07,为芯片写保护寄存器地址。当A4A08,为慢速充电参数选择寄存器。当A4A031,为时钟字节方式选择寄存器。 当第6位为1时,定义RAM的地址,A4A0030,对应各子地址的RAM,地址31对应的是RAM多字节方式选择寄存器。4. 第0位(最低有效位):如果为0,表示进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302.数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也

28、是从最低位到最高位。DS1302的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。每次仅写入一个字节数据称为单字节操作,每次对时钟/日历的8字节或31字节RAM进行全体写入或读出的操作称为多字节操作方式。当以多字节方式写时钟寄存器时,必须按数据传送的顺序依次写入8个寄存器。但是,当以多字节方式写RAM时,不必写所有31字节,不管是否写了全部31字节,所写的第一个字节都将传送到RAM。为了启动数据的传输,CE引脚信号应由低变高,当把CE驱动到逻辑1的状态时,SCLK必须为逻辑0,数据在SCLK的上升沿串行输入,无论是读同期还是写周期,也无论传送方式是单字节还是多字节,都要通过控制

29、字指定40字节的哪个将被访问,在开始8个时钟同期把命令字(具有地址和控制信息的8位数据)装入移位寄存器之后,另外的时钟在读操作时输出 数据,在写操作时输入数据,所有的数据在时钟的下降沿变化。所有写入或读出操作都是向芯片发送一个命令字节。对于单字节操作,包括命令字节在内,每次为2个字节,需要16个时钟,对于时钟/日历多字节模式操作,每次为7个字节,需要72个时钟,而对于RAM多字节模式操作,每次则为32字节,需要多达256个时钟,这里仅给出单字节读写时序,如图2-4,多字节操作方式与其类似,只是且而跟的字不止一个。图2-4 DS1302 单字节读写时序四、 DS1302片内寄存器说明通过控制字对

30、DS1302片内的寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。片内各寄存器用各位的功能定义如表2-4。DS1302有关日历、时间的寄存器共有10个,时钟/日历包含在其中的7个写/读寄存器内,这个寄存器分别是秒、分、小时、日、月、星期和年。 小时寄存器(85H、84H)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为12小时制式时,位5为“0”表示AM,为“1”表示PM。在24小时制式下,位5是第二个10小时位(2023时)。表2-4 片内各寄存器各位的功能定义表读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10

31、秒秒005983H82H10分分005985H84H12/24010时时112AM/PM02387H86H0010日日13189H88H0010月月1128BH8AH00000周日178DH8CH10年年00998FFH8EHWP0000000_秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。一般在设置时钟时,可以停止工作,设定完之后,再启动其工作。控制寄存器(8FH、8EH)的位7是写保护位(WP),其它7位均置为0,在任何片内时钟/日历寄存器和RAM,在写操作之前,WP位必须为0位,否则将

32、不可写入。当WP位为1时,写保护位防止对任一寄存器的写操作。因此,通过置写保护位,可以提高数据的安全性。五、 时钟电路与单片机的连接根据DS1302引脚功能说明和程序要求将其按图2-5接入电路。图2-5单片机与时钟芯片DS1302连接图该硬件电路设计简单,抗干扰能力强。如图,AT89C51单片机P1.2直接接DS1302的RST端,上电后,AT89C51的P1.2脚自动输出高电平。P1.0作为串行时钟接口,P1.1作为时钟数据的I/O。DS1302采用双电源供电,平时由+5V电源供电,当+5V电源之后,由图中+3V备用电源供电。特别需要注意X1和X2两端连接的晶振,该晶振频率为32.768KH

33、z。第三节 环境温度采集电路的设计、随着技术的发展,电子时钟不在单一的只用来显示时间,人们在其上面增加了相应的附属功能,比如:多功能闹钟、温度、湿度等等。但在我看来了温度提醒着我们穿衣保暖,关系着我们的身体健康。所以我认为温度是最为实用的外加功能。一、 温度传感器选择在日常生活中和工农业生产中常要用到温度检测及控制,传统的测温元件有热电偶和热电阻,一般用来测量中高温,输出的是电压,将其转换成对应的二进制温度码值,需要较多的硬件支持,硬件电路复杂,软件调试较为复杂,制作成本高。通过编程,DS18B20可以实现912位温度读数,信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机

34、到DS18B20仅需要一条线。读写和完成温度变换所需要的电源可由数据线本身提供,而无需外部电源。测量范围为-55+125摄氏度,增量为0.5度,电源电压范围为+3V+5.5V。通过编程,用户还可以自行设定报警上下限温度,报警寻找命令可以识别和寻址那些温度超出预设报警界限器件。二、 DS18B20简介DS18B20是DALLAS公司生产的单线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可

35、以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 每一个 DSl820 包括一个唯一的 64 位长的序号 该序号值存放在DSl820 内部的 ROM(只读存贮器)中 开始8 位是产品类型编码(DSl820 编码均为 10H) 接着的 48位是每个器件唯一的序号 最后 8 位是前面 56 位的CRC(循环冗余校验)码 DSl820 中还有用于贮存测得的温度值的两个 8 位存贮器 RAM 编号为 0 号和 1号 1 号存贮器存放温度值的符号 如果温度为负则 1 号

36、存贮器 8 位全为 1 否则全为 0 。0 号存贮器用于存放温度值的补码 LSB(最低位)的 1 表示 0.5贮器中的二进制数求补再转换成十进制数并除以 2 就得到被测温度值。具体引脚说明如图2-6,功能如表2-5。图2-6 DS18B20引脚与封装表2-5 DS18B20引脚说明序号名称引脚功能1GND接地2DQ数据输入/输出引脚:开漏单总线接口引脚;当被用到寄生电源下,也可向器件提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,此引脚必须接地三、 DS18B20控制字和读写时序说明DS18B20是1-wire单线器件,它在一根数据线上实现数据的双向传输,这就需要一定的协议来对读写数据

37、提出严格的时序要求,AT89C51单片机并不支持单线传输。因此,必须采用软件的方法来模拟单线的协议时序。主机操作单线器件DS18B20必须遵循下面的顺序8。1.初始化单线总线上的所有操作均从初始化开始,初始化过程如下。主机通过拉低单线480us以上,产生复位脉冲,然后释放该线,进入RX接收模式。主机释放总线时,会产生一个上升沿。单线器件DS18B20检测到该上升沿后,延时15-60us,通过拉低总线60-24us来产生应答脉冲,主机接收到从机的应答脉冲后,说明有单线器件在线。2.ROM操作命令一旦总线主机检测对应答脉冲,便可以发起ROM操作命令。共有5位ROM操作命令。详细说明如下表2-6。表

38、2-6 ROM操作命令与说明命令类型命令字节功能说明Read rom33H此命令读取激光ROM的64位,只能用于总线上单个DS18B20的情况下,多挂则会发生冲突Match rom(匹配rom)55H此命令后跟64位ROM序列号,寻址多挂总线上的DS18B20。只有序列号完全匹配的DS18B20才能响应后面的内存操作命令,其他不匹配的将等待复位脉冲。此命令可用于单挂或多挂接总线。Skip rom(跳过rom)CCH此命令用于单挂接总线系统时,可以无需提供64位ROM序列号皆可运行内存操作命令。如果总线上挂多挂DS18B20,并且在此命令后执行读命令,将会发生数据冲突。Scarch rom(搜索rom)F0H主机调用此命令,通过一个排除法过程,可以识别出总线上所有器件的ROM序列号。Alarm rom(警报rom)ECH此命令流程图和scarch rom命令相同,但是DS18B20只有在最近的一次温度测量时满足了告警触发条件,才会响应此命令。3.内存操作命令在成功执行了ROM操作命令之后,才可以使用内存操作命令。主机可以提供6种内存操作命令,如表2-7。4.数据处理DS18B20要求有严格的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁