




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着社会的不断发展前进,人们进入了数字化信息时代,对生活质量的要求越来越高。汽车、空调、除湿器、烘干机等都已家喻户晓,它们都离不开对温度、湿度等环境因素的要求。本设计主要利用单片机、温湿度测量芯片SHT10及C语言和Proteus仿真软件开发。Proteus仿真软件十分强大可以仿硬件。本系统主要是测量环境的温湿度,又附带添加了显示时间和日期的功能。由于显示内容较多。因此。本系统显示模块选择了PG160128液晶。为使本系统的时间与日期较为精确,所以选择了时钟芯片DS1302。关键词:单片机;Proteus;温湿度;SHT10;PG160128;DS1302 AbstractWith the continuous development of social progress, people entered the digital information age, the requirement for the quality of life is higher and higher. Automobile, air conditioner, dehumidifier, dryers, etc have been household names, they are inseparable from the demand for environmental factors such as temperature, humidity. This design mainly using single chip microcomputer, temperature and humidity measurement chip SHT10 and Proteus simulation software development and C language. Proteus simulation software is very powerful hardware can copy. This system mainly is measuring the temperature and humidity of the environment, and along with adding the function of the display time and date. Because the display content is more. Therefore. This system chose PG160128 liquid crystal display module. In order to make the date and time of this system is relatively accurate, so select the DS1302 clock chip.Key words:AT89C51;Proteus;temperature & humidity;SHT10;PG160128A; DS1302 一、前言本设计主要是单片机在带实时日历时钟的温度湿度检测系统中的应用。它具有结构简单、工作频率高、电源适应范围宽、运行速度快、抗干扰能力强、稳定性高功能较完善、成本低廉、性价比较高,只需要提供一般的家用电源供电即可。该仪器采用美国Atmel公司八位单片机作为控制核心,配以其他进口集成电路,加上软件的人性个性完善的设计,实现了本设计较为全面的功能。系统软件部分采用了MCS51单片机C语言编写。单片机C语言可移植性较好,基本不依赖系统硬件本身。可读性和可移植性较好。C语言支持浮点运算并具有很多数学函数。因此,开发率高可以缩短开发时间。由于对象化的设计可以清楚的反应软件设计过程便于设计和修改,所以软件支持性较好。1.1 设计任务与要求本设计主要任务是对于环境温湿度的测量,附加时间与日期的显示。本设计是基于Protues软件,以AT89S52为核心控制器,利用温湿度芯片SHT10对当前的温湿度进行测量;用实时时钟芯片DS1302对当前时间进行计时,并在160128LCD液晶显示器上显示当前时间和温湿度。 1.2 实现方法1. 原理框图如图1所示。图1 原理框图2. 系统仿真图如图2所示。图2 系统仿真图二、系统设计分析及方案选择2.1 系统构成本系统的电路基本模块:52单片机控制模块、显示模块、温湿度采集模块。2.2 方案选择和需求分析2.2.1 单片机芯片的选择方案和论证采用AT89S52,片内只读存储全都采用长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器;能以3V的超低压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,与89C51的功能几乎相同,且具有在线编程的电可擦除技术,当在对电路进行仿真调试时,由于对程序的错误修改及对程序的新增功能需要烧入程序时,不需要多次拔插芯片,所以不会对损坏芯片。2.2.2 显示模块选择方案分析和需求论证方案一采用LED数码管时,LED数码管价格低廉,功耗低,对于数字显示非常合适,而且采用动态扫描法与单片机连接时,占用的单片机接口数少。但所需数码管太多焊接困难极易出错,而且仿真时无需考虑成本问题。所以不使用其管作为显示模块。方案二采用点阵数码管显示时,这类数码管是发光二极管构成有八行八列,对于文字显示虽然比较适合,但是如采用在显示数字显得不科学,且价格也较高,所以也不用此种方案.方案三采用LCD液晶显示时,显示功能强大的液晶显示屏可以显示图形,显示多样,清晰可见,虽然价格不菲,需要的接口线多,本设计所需显示较多且需要文字。所以在本设计中采用LCD液晶显示屏.2.2.3 时钟芯片的选择方案和论证方案一直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计时。采用此种方案虽然减少芯片的使用,节约成本,但是,由于实现的时间误差较大。所以不采用单片机定时计数器提供秒信号。方案二采用DS1302时钟芯片实现计数,DS1302芯片是一种性能较高的时钟芯片,可分别对秒、分、时、日、周、月、年进行计时和具有闰年补偿的功能,而且精度很高,RAM做为数据暂存区,工作电压范围在2.5V5.5V,但供电电压为2.5V时耗电小于300nA.由于DS1302设计简单编程相比也较为简单,所以选择方案二。2.2.4 温湿度传感器的方案分析与方法探求方案一首先是热敏电阻。热敏电阻传感器是由热敏电阻荷相应阻值电阻相串联组成。利用热敏电阻随着环境温度变化,测量两端电压变化,进行A/D转换后,可以得到当时环境温度。由于A/D转换电路相对复杂,会增加成本且又无法测量湿度还需另外设计测量湿度的电路。热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二采用数字式温度传感器DS18B20,只需要一条数据线进行数据传输,易于与单片机连接,无需A/D模块,不仅降低硬件成本,而且能简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。方案三采用温湿度传感器SHT10,它是一款含有已校准数字信号输出的复合式传感器。芯片内部主要由相对湿度传感器、温度传感器、校准存储器,14位A/D转换器、信号放大器和I2C总线接口构成。测量精度很高。SHT10具有温度和相对湿度测量,露点值计算输出,全部校准,数字输出,免外围电路,低功耗等优点。是本设计理想的温湿度测量与传输芯片。由于本设计需测量温湿度,所以采用方案三。2.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数字式温湿度传感器SHT10;LCD液晶显示屏作为显示。三、本系统使用的元件及功能实现3.1 系统硬件论述本系统是由AT89S52单片机为核心控制单元,具有在线编程功能,功耗低,能在约3V超低压范围内工作的CMOS的8位微型处理器;温度和湿度的采集由SHT10构成;时钟电路由DS1302组成,它是一种实时时钟芯片而且性能较好、功耗低、有RAM的,它有闰年补偿得功能,可以对年、月、日、周日、时、分、秒进行分别计时,工作电压在2.5V5.5V范围。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或随机存储器数据。DS1302内部有一个31*8的用于临时性存放数据的随机存储器寄存器;显示部份为LCD液晶显示屏,能够实现字符与数字同时显示的功能。3.2 核心电路元件设计3.2.1 核心电路元件介绍1、AT89S52介绍AT89S52 是一种功耗低、性能高的CMOS8位微处理器,具有8KISP在线可编程闪存。使用Atmel公司的高密度非易失性存储器使用技术制造、工业80C51单片机产品指令和销是相同的和兼容的。芯片Flash允许程序内存在系统可编程,也适合传统的编程。在一个芯片上,8位CPU和在线可编程Flash,使得许多嵌入式控制应用AT89S52提供更好的灵活性和更有效的解决方案。AT89S52具有以下标准功能: 8KBFlash,256BRAM,32 位I/O口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,但允许RAM、定时器/计数器、串口、中断不停止工作。掉电保护方式下,保存RAM内容,振荡器暂时停止,单片机停止一切工作,直有中断或硬件复位为止。 P0端口具有双重功能,它可用做I/O端口,连接输入输出设备,但需要接上拉电阻,P0端口还能做数据总线(D0D0)和低8位地址总线(A0A7)复用端口,低8位地址与数据分时使用P0端口,低8位地址由ALE信号的下降沿锁存到外部地址锁存器中,然后传送8位数据。P1端口是通用I/O端口,每一位都能作为I/O接口线使用。P2端口也具有双重功能,功能一与P1端口相同,连接输入输出设备,在扩展外部存储器或扩展I/O接口时,P2端口作为系统扩展时16位总线的高8位(A0A18)使用。低8位由P0口提供。P3端口也具有双重功能,功能一与P1端口相同,作为功能二使用时。P30P37分别对应RXD,TXD,INT0,INT1,T0T1,WR,RD。图3 89S52内部原理图2、SHT10介绍SHT10的主要特点如下:相对湿度和温度的测量兼有露点输出;全部校准,数字输出;接口简单(2-wire),响应速度快;超低功耗,自动休眠;较好的稳定性;超小体积(表面贴装);测量湿度精度45%RH,测量温度精度0.5(25)。SHT10典型应用电路如图1所示。图4 SHT10典型应用电路电源引脚(VDD、GND) SHT10的工作电压为2.4V5.5V。SHT10通电后,需要十几毫秒才能开始工作。在这十几毫秒内不会有指令产生。在其两个引脚之间可以增加一个100nF的去耦滤波,以消除干扰。串行接口SHT10温湿度传感器很多都做了优化处理,比如信号的读取和输出以及功耗方面等都有了大大的改善。而且与I2C总线相类似但却不兼容。 SCK:串行时钟输入端口。可以利用此端口同步单片机和SHT10芯片之间的通信。SCK没有最小频率,以为其包含包含了全静态逻辑。 DATA:串行数据端口。此端口用于单片机和SHT10之间的数据传输,具有三态门的功能。DATA的逻辑状态早SCK的下降沿发生变花,在SCK的上升沿才会有效。而且数据通信期间必须保证DATA数据线处于稳定状态。为了避免数据通信发生冲突,单片机置DATA端为低电平状态,而外部接1个上拉电阻将信号拉至高。命令与时序 图5 SHT10命令如图命令时序 进行数据传输初始化时发送如图6的序列:当SCK为“1”时,只要DATA持续为“0”,与此同时再产生一个脉冲,随即在SCK为“1”时,DATA为“1”即可。图6 SHT10时序图紧接着的命令包括五个命令位和三个地址位(仅支持“000”)。SHT10传感器指示正确接收命令的时序:在第八个SCK下降沿之后将DATA拉为低电平(ACK位),在第9个SCK的下降沿之后释放DATA(此时为“1”)。 复位时序如果SHT10与单片机的通信发生了中断,同样可以通过随后的信号序列来恢复通信,如图7所示。保持DATA为“1”,触发SCK脉冲至少九次,接着发送一组“传输启动”序列以便执行下次命令。这些序列没有其它的作用仅仅复位串口,因此,状态寄存器仍然保存原来的内容。图7 SHT10时序图状态寄存器读写时序 SHT10通过状态寄存器实现初始状态设定。读状态寄存器时序如图4所示。图8 SHT10读状态寄存器时序图图9 SHT10写状态寄存器时序图几点说明: CRC-8校验。整个数据的传输过程都会有8位校验,以便任何错误的数据都能够被检测出来到并被删改1 。 为了避免自身发热对测量产生影响,SHTxx稳定工作时间超过10%。 相对湿度输出转换为物理量输出转换公式为: 其中,RHlinear为25时相对湿度的线性值,SORH为传感器输出的相对湿度的数值,c1,c2,c3为系数,如表所列。 当被测量的环境温度与25差距时,则需要考虑SHTxx的温度系数: 其中,RHtrue为被测量温度不在25时相对湿度的实际值,c为测量温度,t1、t2是系数,如表1所列。表1 对照表 温度输出转换公式为: 其中,为实际温度,SO为传感器输出的温度数值,1,2为系数,如表2、表3所列。表2 对照表 表3 对照表 由于SHT10传感器可以同时测量温度和湿度,所以本系统可实现高量的露点测量。3、DS1302功能及原理 (1)时钟芯片DS1302的工作原理DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2)DS1302的有效字节DS1302有效的,如表4所示字。有效字节的高有效位(位7)必须是逻辑1和0,如果它是逻辑,将不会被写入的数据的DS1302,六,如果为0,所述的访问日期和时间数据,获得1所述的RAM中的数据5至1计数器工作单位的地址;最低有效位(0),如0表示写操作读操作1说,总是从最低的输出控制字节。表4 DS1302的控制字格式(3)数据的输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据写入DS1302,数据输入从低位即位0开始写入。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如图4.1所示。图10:DS1302读/写时序图(4)DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表5。表5 DS1302的日历、时间寄存器 4、LCD160128功能及原理LCD160128是一种图形点阵液晶显示模组。它用T6963C作为控制器,KS0086作为驱动的160(列)X128(行)的全点阵液晶显示。具有与INTER8080时序相适配的MPU接口功能,并有专门的指令集,可完成文本显示和图形显示的功能设置。(1)LCD160128液晶显示器的工作电压为+5V10%,能够显示显示10个(/行)8共120个(1616点阵)的中文字符,共有13条操作指令。(2)与主控制器的通信表6 芯片引脚及其功能 读状态在数据读写操作之前必须进行状态检查。T6963C的状态可以从数据总线中读取。此时RD#和CE#引脚为低电平,WR#和C/D#引脚为高电平。状态字格式如下所示: 表7 状态字格式MSB LSBSTA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0STA0指令读写状态0:禁止; 1:使能;STA1数据读写状态0:禁止; 1:使能;STA2自动模式数据读状态0:禁止; 1:使能;STA3自动模式数据写状态0:禁止; 1:使能;STA4保留STA5控制器操作状态0:禁止; 1:使能;STA6读屏/考屏错误标志0:无错误;1:错误;STA7闪烁状态检查0:关显示;1:正常显示注意1:必须同时检查STA0与STA1的状态,由于硬件中断可能引起数据错误操作。注意2:STA0与STA1用于大多数模式的状态检查。注意3:STA2与STA3用于自动模式数据读写使能,此模式下,STA0与STA1无效。状态检查流程:图11 流程图注意4:如果使用MSB=0命令,则必须先读取状态操作。如果没有进行状态检查,则T6963C不能正常操作,就是延时后也不行。当硬件中断发生在地址计算周期期间时(每一行的最后),如果MSB=0命令在此期间发送给T6963C,则T6963C进入等待状态。如果在下一个命令到来之前没有进行状态检查操作,则很有可能数据与命令都无法到达。图12 命令发送步骤 数据发送在使用LCD160128时,都是先发送数据,后发送命令。 命令发送步骤,见图12所示。 当发送的数据多于两个时,最后一个数据有效。命令定义:LCD160128液晶显示器能够显示显示10个(/行)8共120个(1616点阵)的中文字符,共有13条操作指令。我们主要学习其具体的用法。表8 LCD160128控制命令码表命令编码数据1数据2功能二进制十六进制寄存器设置0010 00010x21X地址Y地址设置光标位置0010 00100x22偏移地址数据00H设置CGRAM偏移地址0010 01000x24地址低8位地址高8位设置地址指针设置控制字0100 00000x40地址低8位地址高8位设置文本区起始地址0100 00010x41列数00H设置文本区宽度0100 00100x42地址低8位地址高8位设置图形区起始地址0100 00110x43列数00H设置图形区宽度模式设置1000 x0000x80-逻辑“或”模式1000 x0010x81-逻辑“异或”模式1000 x0100x82-逻辑“与”模式1000 x0110x83-文本特性模式1000 0xxxBit3 =0时,内部CG ROM模式内部CG ROM模式1000 1xxxBit3 =1时,外部CG RAM模式外部CG RAM模式显示模式1001 00000x90-关闭显示1001 xx10Bit0为光标闪烁显示开关光标显示,闪烁关闭1001 xx11Bit1为光标显示开关光标显示,闪烁显示1001 01xxBit2为文本显示开关文本显示,图形关闭1001 10xxBit3为图形显示开关文本关闭,图形显示1001 11xx文本显示,图形显示光标形状选择1010 00000xA0-1行(光标占的行数)1010 00010xA1-2行1010 00100xA2-3行1010 00110xA3-4行1010 01000xA4-5行1010 01010xA5-6行1010 01100xA6-7行1010 01110xA7-8行数据自动读/写命令1011 00000xB0-数据自动写设置1011 00010xB1-数据自动读设置1011 00100xB2-数据自动读/写结束数据读/写1100 00000xC0数据-数据写,地址加11100 00010xC1-数据读,地址加11100 00100xC2数据-数据写,地址减11100 00110xC3-数据读,地址减11100 01000xC4数据-数据写,地址不变1100 01010xC5-数据读,地址不变屏读命令1110 00000xE0-屏读命令屏拷贝命令1110 10000xE8-屏拷贝命令位置位/清除1111 0xxx0xF0-Bit3 =0时,位清除;1111 1xxx-Bit3 =1时,位置位;1111 x000-Bit0(LSB)1111 x001-Bit11111 x010-Bit21111 x011-Bit31111 x100-Bit41111 x101-Bit51111 x110-Bit61111 x111-Bit7(MSB)(3)各指令功能详细分析在T6963C指令中有的指令需要参数的补充,T6963C指令参数的输入是在指令代码写入之前。下面是T6963C指令写入的流程图。图13 LCD160128流程图 读状态字(read status)格式:T6963C的状态字由7位标志位组成,它们是:图14:LCD160128状态字及介绍图 地址指针设置(Register set)图15 LCD160128地址指针设置及介绍图四、软件设计软件的设计是设计控制系统的应用程序。其任务是在整体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整应用程序,与硬件相结合完成相应功能。4.1 DS1302软件设计图图16 DS1302实时时间流程图DS1302和S52单片机通信和数据交换,首先由单片机发送一个命令字节电路命令字节最高MSB(D7)必须为逻辑1。D0=1,指定读操作(输出)。如果一个字节传输,八命令字节传输完成后,接下来的两沿输入数据字节,或在接下来的8个下降沿SCLK周期输出数据字节的SCLK上升周期。因此,在DS1302的时钟日历或RAM数据传输过程中,DS1302必须首先发送命令字节。D5 - D1指定输入或输出的特定寄存器;最低LSB(D0)为逻辑1,指定读操作(输入)。D6= 1,RAM中的数据被指定时,D6=0,指定的时钟数据。如果D7 = 1,允许DS1302写入数据,在另一方面,是禁止的。DS1302寄存器分为两大类:到RAM的RAM寄存器为突发模式,这种方式可以一次性读取和写入31字节的RAM。一类是单个RAM单元,共31个,每个单元配置为一个8位的字节,命令控制字为C0HFDH,写操作数为偶数,奇数为读操作。 4.2 SHT10软件设计思路及图单片机首先向SHT10发出启动传输命令,然后通过写总线子程序将温度测量指令(地址位000+命令位00011)或者湿度测量命令(地址位000+命令位00101)写入SHT10。传感器正确接收到温(湿)测量命令后,就会进行数据采集,单片机要等到测量完成(大概50ms)。随后SHT10向单片机传送两字节测量数据(MSB和LSB)与1字节C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大渡口区2025第二季度重庆市大渡口区事业单位招聘统计表(截至5月11日9时)笔试历年参考题库附带答案详解
- 店铺经营转让协议8篇
- 2025湖南有色产业投资集团郴州有限责任公司资兴西坌矿业有限公司招聘8人笔试参考题库附带答案详解
- 2025浙江宁波市卓众人力资源服务公司销售业务人员专项招募20人笔试参考题库附带答案详解
- 2025榆林定边县国有企业财务会计人员招聘(10人)笔试参考题库附带答案详解
- 2025年芜湖官陡梦湖产业服务有限公司招聘5人笔试参考题库附带答案详解
- 2025年山东省国控设计集团有限公司招聘3人笔试参考题库附带答案详解
- 2025年合肥市建设工程监测中心有限责任公司社会招聘6人笔试参考题库附带答案详解
- 2025山东潍坊市天成水利建设有限公司招聘30人查看职位笔试参考题库附带答案详解
- 2025四川雅安市宝兴县兴绿林业投资有限公司招聘(第二批)2人笔试参考题库附带答案详解
- 【高二 拓展阅读-科技】Wind Energy
- 新版出口报关单模板
- 员工工资条模板
- 新教科版科学六年级上册知识点
- 初中历史小论文现状分析与写作探讨
- 新疆地方史课件
- 一粒种子旅行
- GB/T 9124-2010钢制管法兰技术条件
- GB 4287-1992纺织染整工业水污染物排放标准
- 腰椎间盘突出症课件
- 桂阳县中小幼教师资格定期注册工作指南专家讲座
评论
0/150
提交评论