自动化专业毕业论文21855

上传人:无*** 文档编号:80532923 上传时间:2022-04-25 格式:DOC 页数:73 大小:1.08MB
收藏 版权申诉 举报 下载
自动化专业毕业论文21855_第1页
第1页 / 共73页
自动化专业毕业论文21855_第2页
第2页 / 共73页
自动化专业毕业论文21855_第3页
第3页 / 共73页
资源描述:

《自动化专业毕业论文21855》由会员分享,可在线阅读,更多相关《自动化专业毕业论文21855(73页珍藏版)》请在装配图网上搜索。

1、 本科毕业设计(论文)题目: 智能温度检测与显示系统的设计 南京工程学院自动化学院本科毕业设计(论文)摘 要近年来,形形色色家电器已经在人们的日常生活中扮演着十分重要的角色。随着科学技术的不断创新,各种智能家电也渐渐的走进了人们的日常生活,其中温度控制方面在智能家电领域的应用将十分广泛。本课题所研究的智能温度检测,采用目前市场普遍应用的数字温度传感器实现,加之其人性化的液晶显示功能,今后在家用电器领域具有广阔的应用前景。系统主要的组成模块如下:键盘扫描模块(4个独立按键);检测信息提示模块(发光二极管);日期显示模块(通过DS1302时钟芯片实现);液晶显示模块(采用12864液晶显示芯片);

2、温度控制模块(使用DS18B20温度传感器设计);其实现的主要功能为:(1)日期显示,用于实现实时的时间信息显示(2)加热模式,主要应用在智能热水器方面,用于控制水温。(3)制冷模式,主要应用在智能冰箱方面,用于控制冷藏食物的温度。(4)恒温模式,主要应用在空调方面,用于控制室内的温度,保持恒温。(5)附加功能:体温检测模式。由于目前世界各国人们正在遭受甲型H1N1流感的威胁,本设计所带的附加功能,主要完成初步检测的任务。关键词:单片机;温度控制;智能家电ABSTRACTThe electrical appliances of all forms already were playing in

3、 recent years the very important role in peoples daily life. Along with sciences and technologys unceasing innovation, each kind of intelligent electrical appliances also gradually entered peoples daily life, the temperature control aspect will be very widespread in the intelligent electrical applia

4、nces domains application.This topic studies the intelligence temperature detector, uses the present market universal application the digit temperature sensor to realize, in addition its user-friendly liquid crystal display function, from now on will have the broad application prospect in the domesti

5、c electric appliances domain. The system main composition module is as follows: Keyboard scanning module (4 independent pressed keys); Simulation heating module (light emitter diode); The date display module (realizes through DS1302 clock chip); The liquid crystal display module (uses 12864 liquid c

6、rystal display chip); The temperature control module (uses DS18B20 temperature sensor design); It realizes the major function is: (1) the date demonstrated that uses in realizing the real-time time information to demonstrate (2) heats up the pattern, the main application in the intelligent water hea

7、ter aspect, uses in controlling the water temperature. (3) refrigerates the pattern, the main application in the intelligent refrigerator aspect, uses in controlling refrigeration food the temperature. (4) the constant temperature pattern, the main application in the air conditioning aspect, uses in

8、 the control room the temperature, maintains the constant temperature. (5) attaches the function: Body temperature examination pattern. Because the present various countries people are suffering the Type A H1N1 flus threat, this design brings the additional function, mainly completes the initial sur

9、vey the duty.Keywords:Monolithic integrated circuit; Temperature control; Intelligent electrical appliances 目录第一章 绪论31.1 引言 31.2选题的背景和意义31.3本文的结构4第二章 系统总体方案设计52.1方案选择52.2 总体方案设计5第三章 系统硬件设计73.1 单片机控制模块设计73.1.1 概述73.1.2 功能特性83.1.3 引脚描述83.1.4 时钟振荡电路与复位电路103.1.5 AT89C52硬件连接图:113.2 温度控制模块设计(DS18B20)123.2

10、.1 DS18B20产品的特点123.2.2 DS18B20的引脚介绍123.2.3 DS18B20硬件连接133.2.4 DS18B20的工作原理143.3 时钟模块设计(DS1302)173.3.1 概述173.3.2 DS1302 引脚描述及与单片机硬件连接183.4 液晶显示模块设计 (12864)193.4.1 液晶显示模块概述193.4.2 外形尺寸203.4.3 模块引脚说明203.4.4 12864液晶与单片机的硬件连接图213.5 发光二极管与独立键盘模块设计223.5.1 发光二极管223.5.2 独立键盘22第四章 系统软件设计244.1温度控制模块程序设计244.2 日

11、期模块程序设计274.2.1 DS1302内部寄存器274.2.2 DS1302的工作时序图304.3 液晶显示模块程序设计334.3.1 用户指令集334.3.2 显示坐标关系374.3.3 显示RAM384.3.4 12864工作时序图394.4 发光二级管与键盘程序设计424.5 系统程序流程图44第五章 附加功能介绍455.1 硬件连接图455.2 功能介绍45第六章 结论466.1 论文总结466.2 感想 46致 谢47参 考 文 献48附录A: 英文资料49附录B: 英文资料翻译53附录C PROTUES仿真硬件设计图56附录D 程序清单57附件: 毕业论文光盘资料IV 第一章

12、绪论1.1 引言随着科学技术的飞速发展,各种高技术不断涌入我们的生活、工作,也改变着我们的认识。融入一定智慧的各类智能技术,正在悄悄走近我们,并将会成为下一个世纪技术的焦点。家用电器的功能控制大致经历了普通控制型、电子控制型、微电脑控制型、智能模糊控制型的发展历程,其使用操作也是由简单到复杂、再到简单的过程,并且家用电器的功能越来越完善。现代家用电器已经进入了微电脑(单片机)、传感器智能模糊控制的新时代。随着单片微型计算机不断发展,由于它具有体积小、功能强、性价比高等特点,因此其在温度控制领域方面的应用已经逐步占据主导地位。由其构成的温度控制器的已广泛应用于家用电器、节能装置等诸多领域,使产品

13、小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。其实对人类来说,先进和智能的家用电器的发明和使用是巨大的贡献,我们应该从积极的和长远的意义去看待这些发明。多亏了这些先进和智能的家用电器减轻了家务的繁杂和冗长,家庭主妇们可以节约大量的时间来陪伴家人、孩子,所以在现代,全职的家庭主妇就很少了,既能外出工作,又能回家做家务,里外都不耽误。1.2选题的背景和意义在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪儿,从事哪些工作,无时无刻不在与温度打着交道。在温度控制领域温度传感元件几乎是无处不在。从空调系统、冰箱、电饭煲、电风扇等家电产品直至PC机、服务器、计算机外设、移

14、动电话手机等,都需要具有温度传感功能的器件。虽然长期以来热敏电阻器是最常用的元件,目前在一些工业应用领域仍然起重要的作用;但是,集成电路温度传感器比起热敏电阻器有着明显的优点,包括准确度更高,体积更小,功耗更低,更加适合在集成电路系统中应用。温度传感器集成电路的电压输出与温度成正比,在相当宽的温度范围内,都具有很高的准确度。反之,热敏电阻器的电压输出与温度不具有线性关系,需通过查表或外加线性化电路,才能得到准确的温度。而且,热敏电阻器在高温区段电压变化率较小,不易分辨,造成温度测量的误差较大。这是热敏电阻器的最大缺点。相比之下,集成电路温度传感器因其电压输出与温度成线性关系,无论在高温或低温范

15、围内,准确度都是一样的。其次,热敏电阻器产品在不同的批次间存在差异,电子响应性能不一致。因而,使用前都需要进行调校,在大量生产时增加成本和时间。集成电路温度传感器的输出阻抗较低,功耗也较低;热敏电阻器通过消耗电流感受温度,功耗较高。而且,长时间感受温度使热敏电阻器本身的温度也升高,测量温度的准确性降低。从成本上分析,尽量单个热敏电阻器的价格低,但它必须配合相关元件才能达到集成电路温度传感器的准确度。从整体上说,热敏电阻器所需的成本反而更高。采用集成电路温度传感器需要较少的芯片支持,占用印刷电路板的空间小。而且,系统设计可以简化,节省设计时间。基于温度传感元件以上的优点,在本设计中采用了目前市场

16、上广泛应用的一款数字温度传感器DS18B20。它是由美国DALLAS公司生产单总线器件,具有线路简单,体积小的特点。随着科学技术的不断创新,数字温度传感器已经广泛应用在家用电器、工业控制以及人们的日常生活等许多领域。特别是在家用电器领域应用的最为广泛,例如智能热水器、空调器恒温装置、电冰箱制冷系统等均可采用数字温度传感器来实现。随着人们生活水平的不断提高,各种智能家电会成为家电行业的主要发展方向。届时,数字温度传感器以及液晶显示模块将会进一步走进更加广泛的家用电器领域。为人们的生活服务。1.3本文的结构本文以基于单片机的智能温度检测器的设计。对单片机应用与数字温度传感器、液晶显示、时钟芯片等的

17、应用技术进行了研究。全文共分为六章,各章的主要内容如下:第一章简要地介绍智能家电的发展以及温度控制技术在家电领域中的应用;第二章规划并给出系统的总体设计方案;第三章介绍了系统各模块的介绍,及其在PROTUES中的硬件仿真设计;第四章对系统的各模块进行软件设计,给出了程序的流程图;第五章对对于系统的附加功能(体温检测)进行了介绍;第六章总结了整个课题研究工作,总结了设计的成果和感想。第二章 系统总体方案设计2.1方案选择由于数字温度传感器的各方面的优点。在本设计中采用了目前市场上广泛应用的一款数字温度传感器DS18B20。它是由美国DALLAS公司生产单总线器件,具有线路简单,体积小的特点。以A

18、T89C52为核心的单片机控制系统,采用12864液晶来实现相应信息的显示,用DS1302时钟芯片来实现实时时间提示功能。2.2 总体方案设计系统主要的组成模块如下:键盘扫描模块(4个独立按键);检测信息提示模块(发光二极管);日期显示模块(通过DS1302时钟芯片实现);液晶显示模(采用12864液晶显示芯片);温度控制模块(使用DS18B20温度传感器设计);附加功能模块(体温检测)。系统总体方案设计框图如图2.1所示日期显示模块DS1302检测信息提示模块AT89C52单片机键盘液晶显示模块 12864附加功能模块温度控制模块DS18B20 图2.1 系统总体方案设计框图其实现的以下的功

19、能:(1)日期显示模块:编程通过AT89C52控制DS1302时钟芯片实现时钟功能(包括:年、月、日、星期、时、分、秒)。相应的时期信息发送到12864液晶上显示。(2)当S1键时:进入制冷模式,温度控制模块DS18B20采集当前温度信息与制冷的设定值比较。并将相应的信息发送到12864液晶上显示。(3)当S2键时:进入加热模式,温度控制模块DS18B20采集当前温度信息与加热的设定值比较。并将相应的信息发送到12864液晶上显示(4)当S3键时:进入恒温模式,温度控制模块DS18B20采集当前温度信息与恒温设定值比较。并将相应的信息发送到12864液晶上显示(5):当S4键时:进入附加功能模

20、块,温度控制模块DS18B20采集当前体温数值并与设定值比较。并将相应的信息发送到12864液晶上以及发光二极管上显示第三章 系统硬件设计3.1 单片机主控制模块设计3.1.1 概述AT89C52是美国ATMEL公司生产的低电压,高性能CMOS电路8位单片机,片内含有8K bytes的可反复擦写的FLASH只读程序存储器和256 bytes的随机存取数据存储器(RAM)。芯片采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统。内置通用8位中央处理器(CPU)和Flash存储单元,由于功能强大,可应用于多种高性价比场合。AT89C52的引脚如图3.1所示。主要性能参数

21、如下:l 与MCS-51产品指令系统完全兼容l 8K字节可重擦写Flash闪速存储器l 1000次擦写周期l 全静态操作:0Hz24MHzl 三级加密程序存储器l 2568字节内部RAMl 32个可编程I/O口线l 3个16位定时/计数器l 8个中断源l 可编程串行UART通道l 低功耗空闲和掉电模式图3.1 AT89C52芯片引脚图 3.1.2 功能特性AT89C52提供以下的功能标准:8K字节闪烁存储器,256字节随机存取数据存储器,32个I/O口,3个16位定时/计数器,1个6向量两级中断结构,1个全双工串行通信口,片内振荡器和时钟电路。另外,AT89C52还可以进行0HZ的静态逻辑操作

22、,并支持两种软件的节电模式。空闲方式停止中央处理器的工作,能够允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件的工作直到下一个硬件复位。3.1.3 引脚描述VCC:电源电压 GND:地P0口:P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。P0口在FLASH编程时,P0口接收指令,在程序校验时,输出指令,需要

23、外接上拉电阻。P1口:P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有上拉电阻,某个引脚被外部信号拉低时输出一个电流。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入和输出。FLASH编程和程序校验期间,P1接受低8位地址。P2口:P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问

24、外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。FLASH编程或校验时,P2口接收高位地址和其它控制信号。P3口:P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表3.2所示:端口引脚第二功能P3.0RXDP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP3.7RD 表3.

25、2 P3口第二功能表P3口还接收一些用于FLASH存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,FLASH存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这

26、个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN 信号不出现。:外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器

27、及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.1.4 时钟振荡电路与复位电路AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激震荡器。 外接石英晶体及电容C1,C2接在放大器的反馈回路中构成并联震荡电路。对外接电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以采

28、用外部时钟。采用外部时钟的电路如图3.3示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求图3.3 时钟振荡电路本设计中采用如图3.4所示的振荡电路: 图3.4 振荡电路本设计中采用如图3.5所示的复位电路: 图3.5 复位电路3.1.5 AT89C52硬件连接图:本设计中采用AT89C52硬件连接图如图3.6所示 图3.6 AT89C52硬件连接图3.2 温度控制模块设计(DS18B20)

29、DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。3.2.1 DS18B20产品的特点(1)、只要求一个端口即可实现通信。(2)、在DS18B20中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在55。C到125。C之间。(5)、数字温度计的分辨率用户可以从9位到12位选择。(6)、内部有温度上、下限告警设置。3.2.2 DS18B20的引脚介绍TO92封装的DS18B20的引脚排列及其引脚

30、功能描述见图3.7所示: 图3.7 DS18B20的引脚说明3.2.3 DS18B20硬件连接首先介绍一下“单总线”的概念。主机可以是微控制器,从机是单总线器件,它们之间的数据交换只通过一条数据线。设备通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时释放总线,让其他设备使用总线。单总线通常要求外接一个约5K的上拉电阻。Ds18b20芯片手册上的典型连接如下图3.8所示 .从图中可以看出,DS18B20与单片机的连接非常简单,单片机只需要一个I/O口就可以控制DS18B20。 图3.8 Ds18b20的典型硬件连接图在本设计中,DS18B20与AT89C52硬件连接如图3.9所示

31、: 图3.9 Ds18b20硬件连接图3.2.4 DS18B20的工作原理存储器存储器有一个暂存SRAM和一个存储高低报警触发值TH和TL的非易失性电可擦除EEPROM组成。注意当报警功能不使用时,TH和TL寄存器可以被当作普通寄存器使用。(1) 位0和位1为测得温度信息的LSB和MSB。这两个字节是只读的。(2) 第2和第3字节是TH和TL的拷贝。(3) 位4包含配置寄存器数据。(4) 位5,6和7被器件保留,禁止写入。(5) 高速暂存器的位8是只读的,包含以上八个字节的CRC码。DS18B20的存储器结构示于图3.10: 图3.10 DS18B20的存储器结构图测温操作DS18B20的核心

32、功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5,0.25,0.125和0.0625增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出44h命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,温度寄存器格式图3.11。 图3.11 DS18B20温度寄存器格式图由于DS18B20在上电状态下默认的精度为12位,最高位是符号位,即温度值是11位,存储在高速暂存器的温度寄存器中01字节。单片机在读取数据时,一次读两个字节共16位数据,其中

33、高5位为符号位,低11位为温度数据位。(1) 当前5位为0时,读取的温度为正值,将读到的11位二进制温度值乘以0.0625,可以得到实际温度值。(2) 当前5位为1时,读取的温度为负值,需要将读到的11位二进制温度值按位取反并加1,再乘以0.0625,才可以得到实际温度值。本设计中,对于读取的温度数值的处理过程现分析如下: 首先从DS18B20中读出转换完成的当前温度值a=ReadOneChar();/温度值低位b=ReadOneChar();/温度值高位t=b;t0;x-)for(y=110;y0;y-); 第四章 系统软件设计 4.1温度控制模块程序设计 DS18B20的工作时序图 由于D

34、S18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据

35、接收。数据和命令的传输都是低位在先。复位时序 图4.1 复位时序图由时序图图可知:1 现将数据线置为高电平。2 延时(时间尽可能短一点)3 数据线拉到低电平04 延时750us(该时间范围可以在480960us)5 数据线拉到高电平16 延时等待。如果初始化成功在1560us产生一个有DS18B20返回的低电平0,根据该状态可以确定它的存在。7 若CPU读到数据线上的低电平0后,还要进行延时480us。将数据线再次拉到高电平1后结束。由以上的分析可以写出DS18B20的初始化子函数如下:Init_DS18B20(void) /传感器初始化 unsigned char x=0; DQ = 1;

36、/DQ复位 delay(10); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us /450 DQ = 1; /拉高总线 delay(20); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(30);读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 图4.2 读时序时序图由时序图图可知:1 将数据线拉到低电平0,延时6u

37、s。3将数据线拉到高电平1,延时4us。4 读数据线的状态得到一位状态位,并进行数据处理,延时。5 重复上面的步骤,读完一个字节的数据。由以上的分析可以写出DS18B20的读数据子函数如下:ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(8); return(dat); 写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。DS18B20写0时序和写1时序的要

38、求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 图4.3 写时序时序图1 数据线拉到低电平0。2 按从低到高位顺序发送数据,一次发送一位,延时50us3 将数据线拉到高电平1.4 重复上面的步骤,直到发送完一个字节。由以上的分析可以写出DS18B20的写字节子函数如下:WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x

39、01; delay(10); DQ = 1; dat=1; delay(8);4.2 日期模块程序设计4.2.1 DS1302内部寄存器CH:时钟停止位 寄存器2的第7位:12/24小时标志CH=0 振荡器工作允许 bit7=1 12小时模式CH=1 振荡器停止 bit7=0 24小时模式WP:写保护位 寄存器2的第5位:AM/PM定义WP=0 寄存器数据能够写入 AP=1 下午模式WP=1 寄存器数据不能写入 AP=0 上午模式TCS:涓流充电选择 DS:二极管选择位TCS=1010 使能涓流充电 DS=01选择一个二极管TCS=其它 禁止涓流充电 DS=10选择两个二极管DS=00或11,

40、即使TCS=1010,充电功能也被禁止 图4.4 DS1302内部寄存器在本设计中,对于DS1302寄存器的操作分析如下:(1)取时间void gettime(systemtime *time) uchar readvalue; readvalue=dat_read(ds1302_second);/读出“秒”的数值 由DS1302芯片中关于“秒”寄存器如下:CH:时钟停止位则可知通过如下的运算可以可以将“秒”的数值转换为十进制数 time-second=(readvalue&0x70)4)*10+(readvalue&0x0f); 同理可以根据上面表中的有关DS1302内部寄存器的格式完成下面

41、的“分”,“时”,“日”,“月”,“年”,“星期”的操作。 readvalue=dat_read(ds1302_minute); time-minute=(readvalue&0x70)4)*10+(readvalue&0x0f); readvalue=dat_read(ds1302_hour); time-hour=(readvalue&0x30)4)*10+(readvalue&0x0f); readvalue=dat_read(ds1302_day); time-day=(readvalue&0x30)4)*10+(readvalue&0x0f); readvalue=dat_read(

42、ds1302_week); time-week=(readvalue&0x07); readvalue=dat_read(ds1302_month); time-month=(readvalue&0x01)4)*10+(readvalue&0x0f); readvalue=dat_read(ds1302_year); time-year=(readvalue&0xf0)4)*10+(readvalue&0x0f);/下面是将读取出来的时间依次存入datastring数组中 datastring0=time-year/10; datastring1=time-year%10; datastrin

43、g2=time-month/10; datastring3=time-month%10; datastring4=time-day/10; datastring5=time-day%10; datastring6=time-hour/10; datastring7=time-hour%10; datastring8=time-minute/10; datastring9=time-minute%10; datastring10=time-second/10; datastring11=time-second%10; datastring12=time-week;(2)是否写保护void ds1302_protect(bit flag) if(flag) dat_write(0x8e,0x80); /禁止写 else dat_write(0x8e,0x00); /允许写由于DS1302寄存器中(地址为0X8E)WP:写保护位 WP=0 寄存器数据能够写入 WP=1 寄存器数据不能写入(3)12/24小时时间设置由于DS1302寄存器中(地址为0X85或0X84)寄存器的第7位12/24小

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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