盆花自动浇水系统的设计
更新时间:2024-07-03 03:36:01 阅读量: 综合文库 文档下载
河南理工大学 2011毕业设计说明书
盆花自动浇水系统的设计
测控07级2班 肖璐 指导老师:赵彦如
摘 要:本次设计的盆花自动浇水系统包括土壤温湿度的检测与控制和蓄水箱自动上水及水位报警两大部分。土壤温湿度的检测与控制部分又包括了土壤温湿度的检测和显示、自动浇水系统。土壤温湿度的检测和显示以温湿度传感器SHT-11为感应部件,将检测到的土壤温湿度值送入AT89C51单片机,再由其输出到LCD屏进行显示。自动浇水系统设计为智能和手动两个部分:智能浇水部分是通过单片机程序设定浇水的上下限值与SHT-11送入单片机的土壤湿度值相比较,当低于下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;手动部分是由单片机从时钟芯片DS1302读入月份与每天的实时时刻,通过软件程序设定定时浇水的时间与浇水的量。蓄水箱自动上水及水位报警采用纯硬件电路控制,实现水箱水位实时监测、自动上水以及水位上下限报警的功能。
关键词:AT89C51单片机 SHT-11温湿度传感器 LCD DS1302时钟芯片 C51程序 数字电路
I
河南理工大学 2011毕业设计说明书
Design of potted flowers automatic watering system
Abstract:The design of the automatic watering system includes soil pot humidity detection and display, automatic watering and storage box automatic water and water level alarm three parts. S- oil testing and display of temperature and humidity system takes Temperature and humidity sen- sor SHT - 11 as inductive components, it will detect the soil temperature and humidity value and input the value to the AT89C51 microcontroller,then the temperature and humidity value will be output to LCD screen displayed. Automatic watering system design for intelligence and manual two parts.Intelligent watering part through the microcontroller program setting the upper and lo- wer water attained,then comparing this upper and lower water attained with the vale that throug -hing SHT-11 inputting to the microcontroller. When below the limit SCM outputs a signal to o- pening the Electromagnetic valve ,and Start watering .if Above the upper limit value,the SCM will output another signal to Turnning off the Electromagnetic valve ,and Stop watering. Manual part read the time from the clock chip DS1302 by microcomputer. Through software program to setting the regular watering'time and Watering amount.Storage box Water level control system u- ses Pure hardware control. Realizing real-time monitoring water tank, Automatic water supply and Level alarming function.
Keywords: AT89C51 microcontroller; SHT - 11 temperature and humidity sensor; LCD; clock chip DS1302;C51 program; Digital circuit
II
河南理工大学 2011毕业设计说明书
目 录
1、绪论 .................................................................... 1
1.1 选题的目的和意义 .................................................... 1 1.2自动浇花器的诞生背景及国内外发展现状 ................................ 1 1.3毕业设计所采用的研究方法和手段 ...................................... 2 2、AT89C51单片机 ........................................................... 4
2.1 AT89C51单片机的基本组成 ............................................ 4 2.2 AT89C51主要特性 .................................................... 5 2.3管脚说明 ............................................................ 5 2.4 AT89C51单片机的存储器 .............................................. 7
2.4.1 程序存储器 .................................................... 7 2.4.2 数据存储器 .................................................... 8 2.5 振荡电路和时钟...................................................... 9 2.6 AT89C51的中断系统 ................................................. 10
2.6.1 中断系统结构和中断控制 ....................................... 10 2.6.2 中断响应过程 ................................................. 12 2.7 定时器/计数器...................................................... 12
2.7.1定时器/计数器0和1简介 ...................................... 12 2.7.2 与定时器/计数器0和1相关的特殊功能寄存器 .................... 13
3、温湿度传感器 ........................................................... 14
3.1 数字温湿度传感器SHT-11 ............................................ 15 3.2 SHT-11的传感器输出 ................................................ 16
3.2.1 湿度值输出 ................................................... 17 3.2.2 温度值输出 ................................................... 17 3.2.3 露点计算..................................................... 18 3.2.4 非线性校正及温度补偿 ......................................... 18 3.3 SHT-11的特性 ...................................................... 19
3.3.1 SHT-11的特点 ................................................ 19 3.3.2 SHT的详细规格 ............................................... 19 3.4 SHT-11的引脚 ...................................................... 20
III
河南理工大学 2011毕业设计说明书
3.5 SHT-11的的内部命令与接口时序 ...................................... 21
3.5.1 SHT-11的内部命令 ............................................ 21 3.5.2 SHT-11的命令顺序及命令时序 .................................. 21 3.5.3 SHT-11的状态寄存器 .......................................... 22 3.6 硬件接口 .......................................................... 23 3.7 恢复处理 .......................................................... 23 3.8 SHT-11的相关程序 .................................................. 24 4、DS1302时钟芯片 ......................................................... 30
4.1 DS1302时钟芯片的简介 .............................................. 30 4.2 引脚 .............................................................. 30 4.3 命令字节 .......................................................... 31 4.4 DS1302的相关程序 .................................................. 34 5、液晶显示器LCD .......................................................... 38
5.1 液晶显示器的分类 ................................................... 38 5.2 AMPIRE 128×64..................................................... 38
5.2.1 LCD 128×64引脚功能 ......................................... 39 5.2.2 KS0108控制器指令功能 ........................................ 40 5.2.3 应用说明..................................................... 42 5.2.4 LCD相关程序 ................................................. 42
6、盆花自动浇水系统的设计 .................................................. 49
6.1 土壤温湿度检测与控制 ............................................... 49
6.1.1 硬件电路设计 ................................................. 49 6.1.2 系统软件设计 ................................................. 53 6.2 蓄水箱自动供水系统 ................................................. 65
6.2.1基本的导电理论 ............................................... 66 6.2.2系统工作原理 ................................................. 67 6.2.3 系统硬件组成 ................................................. 66 6.2.4 系统电路连接 ................................................. 70 6.2.5 参数计算..................................................... 71 6.2.6 水箱水位控制系统检测 ......................................... 71
IV
河南理工大学 2011毕业设计说明书
7、总结 ................................................................... 73 8、致谢 ................................................................... 74 参考文献 .................................................................. 75
V
河南理工大学 2011毕业设计说明书
1、绪论
1.1 选题的目的和意义
随着社会生活的进步,人们的生活质量越来越高。在家里养盆花可以陶冶情操、丰富生活。同时,盆花通过光合作用可吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚积较多,所以空气也特别清新,而且有许多花木还可吸收空气中的有害气体,因此,养盆花如今被许多的人所喜爱。
盆花浇水量是否能做到适时适量,是养花成败的关键。但是,在生活中人们总是会有无暇顾及的时候,比如工作太忙或者出差、旅游等。花草生长问题80%以上是由花儿浇灌问题引起;好不容易种植几个月的花草,因为浇水不及时,长势不好,用来美化家园的花草几乎成了“鸡肋”;不种植了吧,家中没有绿色衬托感觉没有生机;保留吧,花草长得不够旺盛,还影响家庭装饰效果。虽然目前市面上有卖盆花自动浇水器的,但价格十分的昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花适时适量浇水。也有较经济的盆花缺水报警器,可以提醒人们及时的给盆花浇水。可是这种报警器只能报警,浇水还是需要人们亲自动手。当家里无人时,即使报警也无人浇水,就起不到应有的作用了。因此,我想通过设计一种集盆花土壤湿度检测,自动浇水以及蓄水箱自动供水于一体的盆花自动浇水系统。让盆花在人们无暇照顾时也能得到及时的浇灌。
1.2自动浇花器的诞生背景及国内外发展现状
微喷系统是近几年利用国内外先进技术组装的新型灌溉设施,主要是利用水流通过低压管道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴,着落在花草植物、作物及周围的地面上,从而达到及时补充水分的目的。该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植株柔软细嫩的植物。自动浇花器的诞生是随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。它把微喷的概念应用于家庭盆花浇灌中,通过相应的改进,达到合理给盆花自动浇水的目的。 早在很多年前,国外就已经开始普及,国内使用的电子类自动浇花器多数从国外进口的,价格昂贵,但质量比较可靠。不过这并不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇花器。这种类型的浇花器多数在我国山西和浙江一带加工生产的,价格比较低廉,实用性没有电子类自动浇花器好。随着国内居民消费水平和生活质量的提高,居家园艺市场异常火爆,但是由于生活节奏加快,种花容易养花难的问题暴露出
1
河南理工大学 2011毕业设计说明书
来,而养花最重要的问题就是浇水问题,研究表明花草80%以上的死亡由于浇水不及时引起,因此国内商家已经看到了这种需求潜力。目前这类小居家用品的厂家主要集中在广东,上海,浙江一带。现在市面上所出售的自动浇花器主要有以下几类:
⑴ 电子类自动浇花器
电子类自动浇花器又叫时控喷淋装置,系统构成为:主机(或者控制器)、主管(可以是花园管也可以是4/7mm的微喷淋管)、分水接头(3通、4通、5通、6通、分水器)、副管(3/5mm)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。
电子类自动浇花器根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。控制器的一般性能有:电磁阀控制;智能时控电路?微电脑芯片控制;适用电源为AC220V/50HZ;最适宜水压0.3-0.6Mpa;待机功率(4VA,浇水时<12VA);可控制连续作业时间是1分钟至168个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3秒;电器适应环境温度为-10~50℃;相对湿度<90%RH。
⑵ 玻璃、陶瓷类自动浇花器
玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。器具工艺不同,效果也不一样,当然也因土壤的疏松情况决定器具内水流的速度。
当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。
1.3毕业设计所采用的研究方法和手段
本次毕业设计是设计一种单片机控制的自动浇水系统,实现室内盆花浇水的自动化
系统。该系统可对土壤的温湿度进行监控,并对作物进行适时、适量的浇水。其核心是单片机和温湿度传感器以及浇水驱动电路构成的检测控制部分。主要研究土壤湿度与浇水量之间的关系、浇灌控制技术及设备系统的硬件、软件编程各个部分。检测部分,单片机选用AT89C51单片机,温湿度传感器选用SHT11温湿度传感器。SHT-11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C
2
河南理工大学 2011毕业设计说明书
总线等电路全部集成在一个芯片内。软件选用C51语言编程。土壤温湿度传感器可将检测到的土壤温湿度模拟量放大转换成数字量通过单片机内程序控制精确的将温度与湿度分别显示在LCD显示屏上,同时通过单片机内的中断服务程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。在浇水系统中也同时设计一个手动浇水部分,系统工作时通过设置键的按下与否来选择浇水系统的工作方式。土壤浇水驱动电路采用继电器开关电路,蓄水箱水位报警以及自动上水部分采用纯硬件控制。
3
河南理工大学 2011毕业设计说明书
2、AT89C51单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh
Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.1 AT89C51单片机的基本组成
AT89C51由一个8位的微处理器,128KB片内数据存储器RAM,21个特殊功能寄存器SFR,4KB片内程序存储器Flash ROM,64KB可寻址片内外统一编址的ROM,64KB可寻址片外的RAM, 4个8位并行I/O接口(P0—P3),一个全双工通用异步串行接口UART,两个16位的定时器/计数器,具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个优先级的中断控制系统以及片内振荡器和时钟产生电路。其基本组成框图如图2-1所示。
图2-1 AT89C51的基本组成
4
河南理工大学 2011毕业设计说明书
2.2 AT89C51主要特性
AT89C51主要特性有: ·与MCS-51 兼容
·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路
2.3管脚说明
AT89C51的引脚图如图2-2所示。各引脚的具体说明如下: VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口 的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
5
河南理工大学 2011毕业设计说明书
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此 作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口 当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八 位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址 信号和控制信号。
图2-2 AT89C51引脚图
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电 流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。同时,P3口为闪烁编程和编程校验接收一些控制信号。
表2-1 P3口的特殊功能
引脚 P3.0 P3.1 P3.2 P3.3 名称 RXD TXD INT0 INT1 功能说明 串行输入口 串行输出口 外部中断0 外部中断1 引脚 P3.4 P3.5 P3.6 P3.7 名称 T0 T1 WR 功能说明 记时器0外部输入 记时器1外部输入 外部数据存储器写选通 外部数据存储器读选通 RD RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
6
河南理工大学 2011毕业设计说明书
字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周
期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
2.4 AT89C51单片机的存储器
在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。
AT89C51单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C51的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。如果以最小系统使用单片机,即不扩展,则AT89C51的存储器结构就较简单:只有单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。
图2-3给出了AT89C51单片机的存储器分布空间。左侧线框中为单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。
2.4.1 程序存储器
AT89C51单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚EA要
7
河南理工大学 2011毕业设计说明书
按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。
图2-3 存储器空间分布图
2.4.2 数据存储器
AT89C51单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KB RAM。
图2-4 片内数据存储器的结构
8
河南理工大学 2011毕业设计说明书
单片机自带的数据存储器RAM结构如图2-4所示,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用区,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。
片内数据存储器的00H~7FH单元又划分为3块:00H~1FH块是工作寄存器所用;20H~2FH块是位寻址功能的单元区;30H~3FH是普通RAM区。工作寄存器又分为4组,在当前的运行程序中只有一组是被激活的,谁被激活有程序状态寄存器PSW的RS1,RS0两位决定。
2.5 振荡电路和时钟
在AT89C51芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。两种方式的电路连接如图2-5所示。大多数的单片机采用内部时钟方式,本次设计亦然。
(a)使用片内振荡器接法 (b)使用片外振荡器接法
图2-5 AT89C51振荡器的连接方式
在AT89C51单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。
芯片内部的时钟发生器是一个二分频触发器,振荡器的输出fosc为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率fosc的1/2。状态时钟
9
河南理工大学 2011毕业设计说明书
经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率fosc的1/6,经六分频后为机器周期信号,频率为fosc/12。C1、C2一般取20~30pF的陶瓷电容器。 2.6 AT89C51的中断系统 为了提高系统的工作效率,AT89C51单片机设置了中断系统,采用中断方式与外设进行数据传送。所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。 2.6.1 中断系统结构和中断控制 AT89C51有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断TF0、TF1和TF2,两个外部中断INT0(P3.2)和INT1(P3.3),一个片内串行口中断TI或RI。6个中断源有两级中断优先级,可形成中断嵌套。它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。 引起6个中断源的符号、名称及产生的条件如下: INT0:外部中断0,由P3.2端口线引入,低电平或下降沿引起; INT1:外部中断1,由P3.3端口线引入,低电平或下降沿引起; T0:定时器/计数器0中断,由T0记满回零引起; T1:定时器/计数器1中断,由T1记满回零引起; TI/RI:串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断; T2:定时器/计数器2中断,由T2记满回零引起。 在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。 ① 定时器控制寄存器TCON TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下: D7 TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0 各控制位定义如下:
10
河南理工大学 2011毕业设计说明书
TF1:定时器/计数器1溢出中断请求标志位。当定时器/计数器1计数产生溢出时,由内部硬件置位TF1,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。 TR1:定时器/计数器1启动/停止位。由软件置位/复位控制定时器/计数器1的启动或停止计数。 TF0:定时器/计数器0溢出中断请求标志位。当定时器/计数器0计数产生溢出时,由内部硬件置位TF0,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。 TR0:定时器/计数器0启动/停止位。由软件置位/复位控制定时器/计数器0的启动或停止计数。 IE1:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT1=1时,由内部硬件置位IE1标志位(IE1=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE1清0。 IE0:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT0=1时,由内部硬件置位IE0标志位(IE0=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE0清0。 IT1:用软件置位/复位IT1来选择外部中断INT1是下降沿触发还是电平触发中断请求。当IT1置1时,则外部中断INT1为下降沿触发中断请求,即INT1端口由前一个机器周期的高电平跳变为下一个机器周期的低电平,则触发中断请求;当IT1复位清0,则INT1的低电平触发中断请求。 IT0:由软件置位/复位IT0来选择外部中断INT0是下降沿触发还是低电平触发中断请求,其控制原理同IT1。 ② 中断允许控制寄存器 中断允许控制寄存器IE的格式如下: D7 EA D6 D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0 各控制位定义如下:
EA:中断总控制为。EA=1,CPU开中断,它是CPU是否响应中断的前提,在此前提下,如果某中断源的中断允许位置1,才能响应该中断源的中断请求。如果EA=0,无论哪个中断源有请求,CPU都不予回应。
11
河南理工大学 2011毕业设计说明书
ET2:定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;ET2=0,禁止T2中断。
ES:串行口中断控制位,ES=1,允许串行口发送/接收中断;ES=0禁止串行口中断。 ET1:定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。
EX1:外部中断1控制位,EX1=1,允许中断;EX1=0,禁止外部中断1中断。 ET0:定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;ET0=0,禁止T0中断。
EX0:外部中断0控制位,EX0=1,允许中断;EX0=0,禁止外部中断0中断[1]。
2.6.2 中断响应过程
CPU中断处理从响应中断、控制程序转向对应的中断矢量地址入口处执行中断服务程序,到执行返回(RETI)指令为止。中断响应可分为以下几个步骤:
① 保护断点,即保存下一个将要执行的指令的地址,把这个地址送入堆栈。 ② 寻找中断入口,根据6个不同的中断源所产生的中断,中断系统必须能够正确地识别中断源,查找6个不同的入口地址。以上工作是由单片机自动完成的,与编程者无关。在6个入口地址处存放有中断处理程序。
③执行中断处理程序。
④中断返回:执行完中断指令后,从中断处返回到主程序,继续执行[2]。
2.7 定时器/计数器
AT89C51单片机内部设有两个16位可编程定时器/计数器,即定时器/计数器0和定时器/计数器1。除此之外还有一个可编程定时器/计数器2。
2.7.1定时器/计数器0和1简介
定时器/计数器0和1内部有一个计数寄存器(THx和TLx),它实际上是一个累加寄存器进行加1计数。定时器和计数器共用这个寄存器,但定时器/计数器同一时刻只能工作在其中一种方式下,不可能既工作在定时器方式,同时又工作在计数器方式。这两个工作方式的根本区别是在于计数脉冲的来源不同。工作在定时器方式时,对振荡源12分频的脉冲计数,即每过一个机器周期(1个机器周期在时间上和12个振荡周期
12
河南理工大学 2011毕业设计说明书
的时间相等),计数寄存器中的值就加1。工作在计数器方式时,计数脉冲不是来自内部的机器周期,而是来自外部输入。对定时器/计数器0、定时器/计数器1,计数脉冲分别来自T0、T1引脚。当这些引脚上输入的信号产生高电平至低电平的负跳变时,计数寄存器的值就加1。单片机每个机器周期都要对对外部输入进行采样,如果在第一个周期采得的外部信号为高电平,在下一个周期采得的信号为低电平,则在再下一个机器周期,即第三个机器周期计数寄存器的值才增加1[1]。
2.7.2 与定时器/计数器0和1相关的特殊功能寄存器
① 计数寄存器TH0、TL0和TH1、TL1
计数寄存器是16位的,再启动定时器时需要对它设定初始值。THx是计数寄存器的高8位,TLx是计数寄存器的低8位。TH0、TL0对应T/C0,TH1、TL1对应T/C1。
② 定时器/计数器控制寄存器TCON
定时器/计数器控制寄存器TCON的格式如下:
TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0 TF1为T/C1的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0。 TR1为T/C1的启动和停止位,由软件控制。置1时启动T/C1;清0时停止T/C1。 TF0和TR0的功能和使用方法以TF1、TR1类似,只是它们针对的是T/C0。 ③ 定时器/计数器方式控制寄存器TMOD
定时器/计数器方式控制寄存器TMOD的格式如下所示。它的控制位都是由软件控制的,其中高4位是针对T/C1的,低4位是针对T/C0的,其功能和使用方法相似。
GATE C/T M1 M0 GATE T/C M1 M0 现在以T/C0来说明各控制位的使用方法:GATE是一个选通位,当GATE位置1时,T/C0受到双重控制,只有INT0为高电平且TR0位置1是T/C0才开始工作,当GATE位清0时,T/C0仅受到TR0的控制。C/T用来选择工作在定时器方式还是计数器方式。当 13
河南理工大学 2011毕业设计说明书
该位置1时工作在计数器方式,清0时工作在定时器方式。M1和M0联合起来用于选择操作模式,一共有四种操作模式,如表2-2所示。 表2-2 操作模式 M1 0 1 1 1
M0 0 0 0 1 操作模式 模式0 模式2 模式2 模式3 计数器配置 13位计数器 自动重转载的8位计数器 自动重转载的8位计数器 T0分为两个8位计数器,T1停止计数 14
河南理工大学 2011毕业设计说明书
3、温湿度传感器
传统的模拟式湿度传感器需设计信号调理电路并要经过复杂的校准、标定过程,测量精度难以得到保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。为解决这些问题,瑞士Sensirion 公司推出了新一代基于CMOSensTM技术的数字式温湿度传感器。它很好地解决了温湿度传感器存在的上述问题,实现了数字式输出、免调试、免标定、免外围电路及全互换功能[3]。
3.1 数字温湿度传感器SHT-11
数字温湿度传感器SHT—11采用COMSens专利传感器技术将温度湿度传感器、A/D 转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内(其内部结构如图3-1所示)[4]。
图3-1 数字温湿度传感器SHT—11的内部结构图
由它的内部结构可看出SHT-11具有不同保护的“微型结构”检测电极系统与聚合物覆盖层组成了传感器芯片的电容,这样除保持了电容式湿敏器件的原有特性外还可抵御来自其它方面的影响。将温度传感器与湿度传感器结合在一起构成了一个单一的个体,这就使得测量精度提高并且可以精确得出露点,而不会产生由于温度与湿度传感器之间随温度梯度变化而引起的误差。而且将传感器元件、信号放大器、模/ 数转换器、OTP 校准数据存储器、IC 工业标准串行总线等,电路功能部件全部采用CMOS 技术与温湿度传感器一起放置在一个芯片内。这不仅使信号强度增加,更重要的是长期稳定性也得到增强,这对传感器系统是极为重要的。同时,模/ 数转换也在一个芯片内同时完成,这可使信号对噪声不敏感,尤其重要的是,在传感器芯片数据存储器内装载的针对每一只传感
2
15
河南理工大学 2011毕业设计说明书
器的校准数据保证了每一只传感器都有相同的功能,可以实现100%的互换。此外,。该传感器还具有IC 二线串行总线接口,这可使传感器方便的与任何类型的微处理器、微控制器接口相连,为温湿度的微机化测试带来极大的方便,这不仅能减少温湿度测试系统的开发时间,还可节约数字化接口的软硬件成本。
该传感器还有反应迅速、高精度、低功耗等优点。
2
3.2 SHT-11的传感器输出
SHT-11的相对湿度绝对精度、温度精度和25℃露点精度如图3-2(a)~(c)所示[4]。
(a)湿度绝对精度
(b)温度精度
16
河南理工大学 2011毕业设计说明书
(C)25℃露点精度
图3-2 相对湿度、温度和露点的精度曲线
3.2.1 湿度值输出
SHT-11可通过I2C 总线直接输出数字量湿度值,其相对湿度输出特性曲线如图3-2所示。从中可以看出,SHT11 的输出特性呈一定的非线性,为了补偿湿度传感器的非线性以获取准确数据,可按式(3-1)修正湿度值:
?RH?linear=c1?c2SORH2?c3SORH ?3?1?
式中,SORH 表示传感器相对湿度测量值,系数取值分别如下:
,c3??2.8?10?6; 12位时:c1??4,c2?0.04058位时: c1??4,c2?0.648,c3??7.2?10?4。
3.2.2 温度值输出
SHT-11温度传感器的线性非常好,可用下列公式(3-2)将温度数字输出转换成实际温度值T :
T?d1?d2SOT ?3?2?
式中,SOT表示传感器温度测量值。当电源电压为5V,温度传感器的分辨率为14位时,d1??40,d2?0.01;当温度传感器的分辨率为12位时,d1??40,d2?0.04。
17
河南理工大学 2011毕业设计说明书
图3-3 相对湿度输出特性曲线
3.2.3 露点计算
空气的露点值可根据相对湿度和温度值由下面公式计算:
lg?EW???0.66077?7.5T/237.3?T???lg?RH??2? ?3?3?
? ?3?4? DP???0.66077?lg?EW??237.3??/?lg?EW??8.16077式中,?EW?——饱和水蒸气压强(mmHg)
3.2.4 非线性校正及温度补偿
式(3-1)为相对湿度的非线性补偿计算公式,对于单片机系统而言,计算量大而过复杂,下面给出简化的计算方法。
(1)线性 当系统对湿度测量精度要求不高时,可采用以下的线性计算公式。
?RH?simple?c1?c2?SORH ?3?5?
式中,c1?c2?0.5。
(2)2×线性 当系统对湿度测量精度要求较高时,可采用以下的2×线性计算公式,即用最小的计算复杂性来提高精确度。
?RH?real??a?SO?b??256 ?3?6?
式中,SO为8位湿度传感器输出湿度值。
当0?SO?107时,a?143,b?512;当108?SO?255时,a?143,b?512。 (3)温度补偿 上述湿度计算公式是按环境温度为25℃进行计算的,而实际的测量温度值则在一定的范围内变化,所以应考虑湿度传感器的温度系数,可按式?3?5?对环境
18
河南理工大学 2011毕业设计说明书
温度进行补偿。
?RH?ture??T?25??t1?t2SORH???RH?linear ?3?7?
当SORH为12位时,t1?0.01,t2?0.00008;当SORH为8位时,t1?0.01,t2?0.00128。
3.3 SHT-11的特性
3.3.1 SHT-11的特点
SHT-11传感器的特点如下:
1)相对湿度和温度一体测量; 2)精确露点测量;
3)全量程标定,无需重新标定即可互换使用; 4)超快响应时间;
5)两线制数字接口(最简单的系统集成,较低的价格); 6)超小尺寸(7.5×5×2.5mm); 7)高可靠性(工业CMOS工业); 8)优化的长期稳定性; 9)可完全浸没水中;
10)基于请求式测量,因此低能耗; 11)具有湿度传感器元件的自检测能力;
12)传感器元件加热应用,亦可获得极高的精度和稳定性。
3.3.2 SHT的详细规格
1.相对湿度传感器(RH)的性能参数如下: 范围:0—100%RH;
精度:±3%RH(20—80%RH); 响应时间:≤4s; 复现性:±0.1%RH; 分辨率:0.03%RH;
工作温度:-40℃—+120℃。 2.温度传感器(T)的性能参数如下:
19
河南理工大学 2011毕业设计说明书
范围:-40℃—+120℃;
精度:±0.5℃(在25℃时),±0.9℃(在0—40℃时); 响应时间:≤20s; 复现性:±0.1℃; 分辨率:0.01℃。 3.电器数据
能耗:典型 30uW(@5V,12-bit,测量周期2秒) 典型 1uW(@2.4V,8-bit,测量周期2分); 供电范围:2.4V—5.5V; 检测电流:0.5mA; 待机电流:0.3uV。
3.4 SHT-11的引脚
SHT-11的引脚图如图3-4所示。
图3-4 SHT-11的引脚图
引脚简介
引脚1—GND接地端;SHT-11的供电电压为0.4~5.5V,传感器上电后要等待11ms以越过“休眠”状态。在此期间无需发送任何指令,电源引脚(VDD,GND)之间可增加一个100uF的电容,用以去耦滤波。
引脚2—DATA双向串行数据线;SHT-11的串行接口,在传感器的读取及电源损耗方面都做了优化处理。DATA三态门用于数据的读取。
20
河南理工大学 2011毕业设计说明书
引脚3—SCK串行时钟输入;用于微处理器与SHT-11之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
引脚4—VDD电源端,0.4—5.5V电源 引脚5—8—NC空管脚
3.5 SHT-11的的内部命令与接口时序
3.5.1 SHT-11的内部命令
SHT-11 传感器共有5 条用户命令,具体命令格式见表3-1。在程序编程时根据命令编号来设定SHT-11的工作状态。例如:0x03设置SHT-11为温度测量,0x05是设置SHT-11为湿度测量[5]。
表3-1 SHT-11传感器命令列表
命令 测量温度 测量湿度 读寄存器 写寄存器 编号 00011 00101 00111 00110 说明 温度测量 湿度测量 “读”状态寄存器 “写”状态寄存器 重启芯片,清除状态记录器的错误 软启动 11110 记录11 毫秒后进入下一个命令 3.5.2 SHT-11的命令顺序及命令时序
1) 传输开始
初始化传输时,应发出“传输开始”命令,具体为SCK是高电平时,DATA 高电平变为低电平,并在下一个SCK为高时将DATA 升高。接着传输开始下一个命令,包含3个地址位(目前只支持“000”) 和5 个命令位,通过DATA 脚的ack 位处于低电位表示SHT11正确收到命令。
2) 连接复位顺序
如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:当使DATA线处于高电
21
河南理工大学 2011毕业设计说明书
平时,触发SCK9 次以上(含9 次) ,并发一个前述的“传输开始”命令。
3) 温湿度测量时序
当发出了温(湿) 度测量命令后,控制器就要等到测量完成后才开始动作。使用8/ 12/ 14 位的分辨率测量分别需要大约11/ 55/ 210 ms。为表明测量完成,SHT11会使DATA为低电平,此时控制器必须重新启动SCK,然后SHT11传送两字节测量数据与1字节CRC校验和到控制器,控制器必须通过使DATA为低来确认每一字节,通讯在确认CRC数据位后停止。如果没有用CRC28校验和,则控制器就会在测量数据LSB后,保持ack为高时停止通讯,SHT11在测量和通讯完成之后会自动返回睡眠模式。需要注意的是,为使SHT11温升高低于0.1℃,则此时工作频率不能大15%(如:12 位精确度时,每秒最多进行3 次测量)。测量温度和测量湿度命令所对应的时序如图3-4所示。
图3-4 测量温湿度时序图
4) 加热控制
将传感器芯片中的加热开关接通,传感器温度大约增加5 ℃,加热用途如下:其一,通过对启动加热器前后的温、湿度进行比较,可以正确地区别传感器的功能;其二,在相对湿度较高的环境下,传感器可通过加热来避免冷凝。
5) 低电压检测
SHT11的工作极限功能可以检测VDD电压是否低于2.45V,准确度为±0.1V。 3.4.3 SHT-11的状态寄存器
SHT-11的状态寄存器的类型及其说明见表3-2。
表3-2 SHT-11状态寄存器及说明
位 7 6 5 4 读 类型 说明 保留 工检限 保留 保留 缺省 0 X 0 0 说明 22
河南理工大学 2011毕业设计说明书
续表
位 3 2 1 类型 读/写 读/写 说明 只用于试验,不可以使用 加热 不从OTP重下载 ‘1’—8位相对湿度,12位温度分辨0 读/写 率;‘0’—12位相对湿度,14位温 分辨率 0 12位相对湿度,14温度 缺省 0 0 0 说明 关 重下载 3.6 硬件接口
SHT-11与单片机接口构成的温湿度测量电路,如图3-5所示 。因SHT-11内部集成了A/D转换器、数字接口等,在与单片机连接时就不需要再外接转换部件[6]。
图3-5 SHT-11与单片机接口 图3.2 DS1302与单片机连接 3.7 恢复处理
置于极限工作条件下或化学蒸汽中的传感器,经过在80~90℃(176~194F)和<5%RH的湿度条件下保持24小时(烘干),随后在20~30℃(70~90F)和>74%RH的湿度条件下保持48小时以上(重新水和)的处理后可使其恢复到刚校准时的状态[7]。
通过上面的论述可见SHT-11数字式温湿度传感器完全符合对土壤温湿度检测的要求。
23
河南理工大学 2011毕业设计说明书
3.8 SHT-11的相关程序
⑴ SHT11端口定义 sbit SHT11_DATA=P2^6; sbit SHT11_SCK=P2^5;
uchar flag_tempeture=0; //显示温度位置的标志 uchar flag_humidity=0; //显示湿度位置的标志 //uchar dat;
uint i,temp1,temp2,dat=0,count; float tempeture1; float RHline,RHtrue; void delay(uint m) {
while(m--); }
⑵ SHT11内部延时 void Delay() { }
⑶ SHT11检测等待延时:11ms/55ms/210ms 分别对应8位/12位/14位 测量结果,对应的形参为N 则延时Nms
void Delay_Ms(uint ms) { }
⑷ SHT11启动时序 void SHT11_Start()
24
; ;
uint i,j; for(i=ms;i>0;i--)
for(j=112;j>0;j--);
河南理工大学 2011毕业设计说明书
{ SHT11_SCK=1;
SHT11_DATA=1; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=0; Delay(); SHT11_SCK=1; Delay(); SHT11_DATA=1;
}
⑸ 向SHT11发送8bite数据 void SHT11_Sendbyte(uchar dat) { uchar i; SHT11_SCK=0; Delay(); for(i=0;i<8;i++) { if(dat&0x80) { SHT11_DATA=1; Delay();
} else { SHT11_DATA=0; Delay();
}
25
河南理工大学 2011毕业设计说明书
}
}
dat=dat<<1; SHT11_SCK=1; Delay(); SHT11_SCK=0;
⑹ 检测SHT11的响应信号(在第九个时钟周期) void SHT11_Answer() { }
⑺ 检测SHT11温湿度检测是否完毕 void SHT11_Test_Finish() { }
⑻ “写”程序:向SHT11的状态寄存器设置功能,command为REG_WRITE 0x06写寄存器,dat为设置SHT11的功能,可以设置检测的数据位数
void SHT11_Write_Register(uchar command ,uchar dat) {
SHT11_Start();
SHT11_Sendbyte(command); SHT11_Answer(); SHT11_Sendbyte(dat); SHT11_Answer(); }
while(SHT11_DATA==1); SHT11_SCK=1; Delay();
while(SHT11_DATA==1); SHT11_SCK=0; SHT11_DATA=1;
26
河南理工大学 2011毕业设计说明书
⑼ “读”程序:ommand为REG_READ 0x07//读寄存器,返回值为状态寄存器的值。位6显示当前检测完一次数据后电源供电情况:当位6为0时表明VDD>2.47V 当位6为1时表明VDD<2.47V即电量不足。位0表明当前的测量分辨率:当位0为1时表明测量精度:8位/湿度 12位温度,当位0为0时表明测量精度:12位湿度 14位温度 ,默认为0
uchar SHT11_Read_Register(uchar command) {
uchar dat; SHT11_Start();
SHT11_Sendbyte(command); SHT11_Answer();
dat=SHT11_Receivebyte(); SHT11_End(); return(dat); }
⑽ 设置SHT11检测功能,并返回相应的检测结果:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数11ms/55ms/210ms 分别对应8位/12位/14位
uint SHT11_Measure(uchar command,uchar time) {
uint dat=0;
uchar data_high,data_low; SHT11_Start();
SHT11_Sendbyte(command); SHT11_Answer(); Delay_Ms(time); SHT11_Test_Finish();
data_high=SHT11_Receivebyte(); MCU_Answer();
data_low=SHT11_Receivebyte();
27
河南理工大学 2011毕业设计说明书
SHT11_End(); dat=(dat|data_high); dat=(dat<<8)|data_low; return(dat); }
⑾ 将检测到的数据转化为相应的温度数据:温度转换公式--T=d1+d2*Sot,公式中
的参数d1=-40,d2=0.01适用于14位测量精度
float SHT11_Convert_Tempeture14bit(uint dat) {
float tempeture1; tempeture1=-40+0.01*dat; if(tempeture1>100.0) {
flag_tempeture=1;
}
else if(tempeture1<0.0) {
flag_tempeture=1;
} else {
flag_tempeture=0;
}
return(tempeture1); }
⑿ 将检测到的数据转化为相应的湿度数据:相对湿度转换公式
RHline=C1+C2*SOrh+C3*SOrh*SOrh,
RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline
式中参数C1=-4,C2=0,0405,C3=-0.0000028,t1=0.01,t2=0.00008;适用于12位测
量精度
28
河南理工大学 2011毕业设计说明书
float SHT11_Convert_Humidity12bit(uint dat,float temp) {
// float RHline,RHtrue;
RHline=-4+0.0405*dat-0.0000028*dat*dat; RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline; if(RHtrue<10.0) { flag_humidity=1;
} else {
flag_humidity=0; }
return(RHtrue); }
29
河南理工大学 2011毕业设计说明书
4、DS1302时钟芯片
DS1302是Dallas公司推出的高性能低功耗涓流充电时钟芯片。可通过简单的串行接口与单片机进行通信,光感应用于智能仪器、单片机系统和家用时钟电路等领域。
4.1 DS1302时钟芯片的简介
DS1302涓流充电计时芯片包含一个实时时钟/日历和31字节的静态RAM。它通过一个简单的串行接口与微处理器进行通信[8]。实时时钟/日历提供秒,分钟,小时,周,日期,月份和年的有关信息。对于少于31天的月份,每月月底的日期是自动调整的,包括对瑞年进行更正,时钟运行可采用24小时制或带AM/PM指示的12小时制。
同步串行通信简化了DS1302与微处理的接口。与时钟/RAM通信只需三根线:RST、I/O(数据线)及SCLK(串行时钟)。时钟/RAM数据的读/写以每次一个字节或多达31个字节的多字节模式传输。DS1302设计为低功耗工作,保持数据和时钟信息的功耗小于1uF。
4.2 引脚
DS1302的引脚(引脚图如图4-1所示)及功能简介如下:
图4-1 DS1302引脚图
第1、2脚:Vcc1、Vcc2电源。 第3脚:RST复位输入端。
30
河南理工大学 2011毕业设计说明书
第4脚:串行时钟输入端。 第5脚:数据输入/输出端。
第6、7脚:X1、X2是32.768kHz晶振输入/输出端。
4.3 命令字节
表4-1所示为命令字节格式。命令字节启动每个字节的数据传输。该MSB(第7位)必须为逻辑1.如果是0,写入DS1302操作将被禁用。第6位是逻辑1时指定RAM数据。第1至第5位规定特定寄存器作为输入还是输出。LSB(第0位)如果是逻辑0,指定一个写操作(输入);如果是逻辑1,执行一个读操作。命令字节总是从LSB(第0位)输入。
表4-1 DS1302命令字节
7 RAM 1 6 5 4 3 2 1 RD A4 A3 A2 A1 A0 0 SCLK W (1)RST及时钟控制
驱动RST输入高电平可启动所有的数据传输。RST输入起到两种功能:第一,RST启动控制逻辑,允许地址/字节序列访问移位寄存器。第二,RST信号提供了一种终止单字节或多字节数据传输的方法。
一个时钟周期是一个上升沿序列,紧跟着下降沿。对于数据输入,在时钟周期的上升沿时间,数据必须正确;在时钟周期的下降沿,数据位输出。如果RST输入低电平所有数据传输中止。I/O引脚变成高阻状态。数据的传输如图4-2所示。在上电时,RST必须是逻辑0,直到Vcc>2.0V.此外,当RST被驱动到逻辑1状态时,SCLK必须为逻辑0。
a)单字节传送
31
河南理工大学 2011毕业设计说明书
b) 多字节传送 图4-2 数据传送时序
(2)数据输入
继输入写命令字节的8个SCLK周期后,在接下来的8个SCLK周期的上升沿输入数据字节。如果有额外的SCLK周期,将被忽略。数据输入从位0开始。 (3)数据输出
继输入写命令的8个SCLK周期后,在接下来的8个SCLK周期的下降沿输出数据字节。请注意,将被传输的第一个数据位出现在命令字节最后一位被写入后的第一个下降沿。只要RST维持高电平,如有附加的SCLK的周期,将重新转发数据字节。此操作允许连续多字节模式读取能力。此外,I/O引脚在每个SCLK的上升沿都是三态的。数据输出开始于第0位。 (4)多字节模式
时钟/日历或由十进制存储单元31(地址/命令1至5=逻辑1)寻址的RAM寄存器可以为多字节模式。如上所述,第6位指定时钟或RAM和第0位指定读或写。在日历/时钟寄存器的地址9至31或RAM寄存器中的地址31不能存储数据。在多字节模式中,读或写开始于地址0的第0位。
当在多字节模式下写时钟寄存器时,必须按数据传输的次序写入首八个寄存器。然而,当在多字节模式写入RAM时,为了数据的传输,没有必要写入所有的31个字节。每个被写入的字节都将被传输到RAM,无论31个字节是否都被写入。 (5)DS1302内部寄存器
DS1302内部寄存器地址及数据分配情况如表4-2所示。
1)时钟/日历:时钟/日历包含在7个写/读寄存器中。数据以BCD码形式包含在时钟/日历寄存器中。
2)时钟暂停标志:秒寄存器的第7位定义为时钟暂停标志。当此位置1时,时钟振荡器停止,DS1302进入低功耗备用模式,电源消耗小于100nA。当此位置0时,时钟将启动。初始上电状态未定义。
3)AM-PM/12-24模式:DS1302能运行于12小时制或24小时制模式下。小时寄存器的第7位被定义为12或24小时模式选择位。当其处于高电平时,选择12小时模式。
32
河南理工大学 2011毕业设计说明书
在12小时模式下,第5位是AM/PM位,其为逻辑高电平表示PM。在24小时模式下,第5位是第二个10小时位元(20-23)小时。当12/24位被改变时,小时数据一定要被重新初始化。
表4-2 DS1302的日历、时钟寄存器及控制字
寄存器名 秒寄存器 分寄存器 命令字格式 取值范围 写操作 读操作 80H 82H 81H 83H 00-59 00-59 01-12 小时寄存器 84H 85H 00-23 01-28/ 日期寄存器 86H 87H 29/30/31 月份寄存器 星期寄存器 年份寄存器 写保护寄存器 涓流充电寄存器 时钟多字节寄存器 RAM多字节寄存器 88H 8AH 8CH 8EH 90H BEH FEH 89H 8BH 8DH 8FH 91H BFH FFH 01-12 01-07 00-99 — — — — WP TCS — — 0 0 0 0 0 0 10M 0 0 MONTH DAY YEAR 0 DS RS 0 0 10DATE DATE 24 7 CH 0 12/ 0 A/P 6 5 10SEC 10MIN 10 HR HR 4 3 2 1 0 SEC MIN 位 内 容 10YEAR 4)写保护位:控制寄存器的第7位是写保护位。首7位(第0至第6位)必须为0, 读取时始终读0。对时钟或RAM进行任何操作前,第7位必须为0。当写保护位为高电 平时,该位阻止对任何其他寄存器的写操作。初始的上电状态没有定义。因此,在写入 该器件之前,应清除WP位。
5)涓流充电寄存器:该寄存器控制DS1302的涓流特性。涓流充电选择(TCS)位(第 4至第7位)控制涓流充电器的选择。为了阻止意外使能,只有1010模式使能涓流充电 器。所有其他模式都禁用涓流充电器。DS1302上电时,涓流充电器被禁用。DS为二极 管选择位,RS为电阻选择位。
6)时钟/日历多字节模式:该时钟/日历命令字节指定多字节触发模式操作。在此
33
河南理工大学 2011毕业设计说明书
模式下,首8个时钟/日历寄存器可以从地址0的第0位开始被连续地读取或写入。当 指定写时钟/日历多字节模式时,如果写保护位被设置为高电平,将没有数据传送到8 个时钟/日历寄存器(包括控制寄存器)的任意一个。在多字节模式下,涓流充电器不 可用。
7)RAM:静态RAM是RAM地址空间中连续编址的31×8字节。
8)RAM多字节模式:RAM命令字节指定多字节模式操作。在此模式下,31个RAM寄存器从地址0的第0位开始被连续读取或写入。 (6)晶振的选择
32.768kHz的晶振可通过引脚2和3(X1、X2)直接连接至DS1302。所选定的晶振应该加一个6pF的负载电容。 (7)电源控制
Vcc1在单电源与电池供电的系统中提供低电源的电池备份。Vcc2在双电源系统中提供主电源,此时Vcc1连接到备份电源,以便在没有主电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由Vcc1 或Vcc2两者中较大者供电。它与单片机连接后,单片机便可读出其实时时间。连接示意图如图4-3所示[9]。
图4-3 DS1302与AT89C51连接图
4.4 DS1302的相关程序
DS1302的初始化、写入数据及读出数据的程序如下: ⑴ DS1302的头文件程序 sbit T_CLK=P1^5; sbit T_IO =P1^6; sbit T_RST=P1^7;
34
河南理工大学 2011毕业设计说明书
sbit ACC0=ACC^0; sbit ACC7=ACC^7;
⑵ DS1302读写程序:d 为写入的数据,无返回值 void RTInputByte(unsigned char d) {
unsigned char i; ACC = d;
for(i=8; i>0; i--) {
T_IO = ACC0; //相当于汇编中的 RRC T_CLK = 1; T_CLK = 0; ACC = ACC >> 1; } }
⑶ 从DS1302读取1Byte数据 (内部函数):ACC为返回值 unsigned char RTOutputByte(void) {
unsigned char i; for(i=8; i>0; i--) {
ACC = ACC >>1; //相当于汇编中的 RRC ACC7 = T_IO; T_CLK = 1; T_CLK = 0; }
return(ACC); }
⑷ 往DS1302写入数据:ucAddr为 DS1302地址, ucData为 要写的数据,无返回值void Write1302(unsigned char ucAddr, unsigned char ucDa)
35
正在阅读:
盆花自动浇水系统的设计07-03
食物中毒的概念与预防08-06
2013年二级建造师大纲05-20
学校特色亮点工作07-25
英语宣传稿04-04
中国人民解放军各集团军编制战斗序列大全05-02
2017年高校保卫处年终工作总结301-30
那些花儿,那些人儿作文550字07-02
毕业设计致谢模板05-22
MATLAB在图像复原中的应用研究03-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 盆花
- 浇水
- 自动
- 设计
- 系统
- QC减少高加故障率 - 图文
- 水电站黑启动预案 讨论稿2013年7月
- 2015年关于杰出职业经理人的五大特质每日一讲(6月3日)
- 2016年量子点市场现状与发展趋势预测
- 红外探测系统
- 湖北省恩施州利川市第一中学2017届高三上学期9月月考试题 地理含
- 人物介绍
- 2014年高考真题——数学理(新课标I卷)纯word解析版
- 安徽某市污水主干网管道工程施工组织设计
- 消防广播的设计方案
- 国家公务员面试真题重现:如何阐述有争议的机关宣传
- 第二章 财务管理基础1
- 北京林业大学网络使用手册2010版-北京林业大学信息中心 - 图文
- 2018届中考语文专题复习三说明文阅读近8年中考真题展示
- 2019年公务员考试申论热点:《电商法》取缔代购
- 河南省房地产经纪人《制度与政策》:搜集资料的途径试题
- 2012年印刷经营单位年度核验递交材料
- 华中农业大学-Read
- 头颈肿瘤科IGRT
- D-系统集成高级项目经理继续教育D组题集