基于单片机的温度控制学位论文

上传人:仙*** 文档编号:218210988 上传时间:2023-06-18 格式:DOC 页数:44 大小:211.01KB
返回 下载 相关 举报
基于单片机的温度控制学位论文_第1页
第1页 / 共44页
基于单片机的温度控制学位论文_第2页
第2页 / 共44页
基于单片机的温度控制学位论文_第3页
第3页 / 共44页
点击查看更多>>
资源描述
湖南冶金职业技术学院电气工程系毕业设计摘要单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮在全社会大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文用80C51单片机自制了一个温度控制系统,重点介绍了该系统的硬件结构及编程方法。关键词:单片机、温度传感器、模/数转换器ABSTRACTSingle-chip microcomputer with a small, powerful, low cost, wide application, etc., it can be said, intelligent control and automation is the core of single chip. At present, a single-chip learning and application of the climax of the whole society in the emergence of a large scale. Single-chip learning is the most effective way of both theory and practice, 89S51 In this paper, a self-made single-chip temperature control system, focuses on the structure of the system hardware and programming.Key words:Single-chip, temperature sensor, analog / digital converter前 言随着当代生活节奏的紧奏化,人们无规律的生活使自身感到疲劳让身体处于卸放状态,为此缓解人日夜的疲劳,于是汗蒸房的出现使人调整过来,汗蒸房在通电后,安装在其中的加热板所含的锗碳元素和电气石元素受电能转换激发到一定温度时,产生一种具有不同波长的能源,其波长范围和强度范围恰好与人体自身释放的电磁波相吻合,并由人体纵深器官选择性吸收!从而促进人体 死亡细胞 病变二聚体等的解体,增强人体的自身调节机制及免疫能力,通过加温和保温,使电气石的能量可以快速、强烈地以远红外线、负离子及微电流的形式释放出来,它们共同构成的能量场可间接地通过空气向人体提供能量,使人体细胞由休眠状态转化为运动状态,加快人体的血液循环及新陈代谢,排出体内毒素,平衡人体酸碱度,补充新的营养物质,从而起到保健和治疗的作用。此次毕业设计主要设计汗蒸房的温度和湿度控制系统,实现课题的要求。目 录第一章 绪论 .1 1.1单片机概况.5 1.2设计可行性分析.5第二章 总体设计方案.7 2.1 工作原理. .8 2.2 工作框图.8 2.3 产品使用说明书.9第三章 硬件设计.10 3.1 电路接线图.10 3.2 模块介绍及应用.11 3.2.1温度、湿度探测.113.3 主要原器件的介绍.13 3.3.1 AT89S51.13 3.3.2 DS1302.21 3.3.3 SHT11.27 3.3.4 8279.33第四章 软件设计.38 4.1 流程图.38 4.2 内存分布图.39第五章 总结与展望.40第六章 致谢.42第七章 参考文献.43第一章 绪论1.1单片机概况单片机(Single Chip Microcomputer),国际上又称为微控制器,它是一种集成电路芯片。它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯片就具有了组成计算机的全部功能。随着SCM在技术上、体系上的不断进步,使其控制功能不断扩展,它的主要作用已经不是计算,而是控制了。正是由于单片机的这种结构及它所采取的半导体工艺,使其具有很多显著的优点和特点,其主要特点如下工:(1)控制功能强。 为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。(2)集中度高、体积小、有很高有可靠性。 单片机把各功能部件集中在一块芯片上,内部采用总线结构,减少了芯片内部之间的;连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁环境晚于采取屏蔽措施,适合于在恶劣与此环境下工作。(3)有优异的性能价格比。(4)低功耗、低电压、,便于生产便携式产品。(5)增加了I2 C串行总线方式、SPI串行接口等,进一步缩小了体积,简化了结构。(6)单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。1.2设计可行性分析社会加步的前进,与之给人们带来的压力也随之增大,长时间的疲累会使人的细胞从运动状态沉溺于安眠状态,使人无法集中精力工作,甚至能使人的免疫也与之下降,而汗蒸房的出现,可以调解使人的细胞从安眠状态活跃到运动状态,它能使加快人体的血液循环及新陈代谢,排出体内毒素,平衡人体酸碱度,补充新的营养物质,从而起到保健和治疗作用。使人高度集中精神,而汗蒸时间的长短会影响汗蒸的效果,如何使效果更加,为此,此次单片机设计,能自能化显示汗蒸时间及房内温度与湿度的控制,所以,这种设计是完善汗蒸房的不足,此设计非常有必要,以达到汗蒸效果更加的目的!第二章 总体设计方案2.1 工作原理工作原理分为信号采集和LED显示部分,由SHT11、DS1302、AT89S51、8279及LED组成,用SHT11芯片探测汗蒸房内的温度和湿度,通过数据线端将其传送到AT89S51,AT98S51接收到传来的温度和湿度后,并将其处理转换,然后在LED上分别显示出来,用DS1302来供给时间频率,并将年月日时间也在LED上显示出来,且年月日时间可以通过芯片按键8279调整,汗蒸房内的人数及每人汗蒸的时间和房内的温度与湿度都可以再LED上显示出来。2.2 框图1.1.2 硬件的总体设计 本系统由温度采集电路、时间电路、单片机、按键、显示、数据存储等部分组成,成对温度信号的采集、处理、存储,控制系统的工作的功能。原理框图如图1所示。图1 系统硬件原理框图2.3 产品使用说明书当芯片复电后,SHT11、AT89S51、8279复位,而DS1302一直提给一个时钟频率,按键一共又5个!其中,p0.0为修改按键,p0.1为确认按键,p0.2为修改键加按键,p0.3为修改键减按键,p0.4为房内人数的按键!第三章 硬件设计3.1 电路接线图3.2 模块介绍及应用3.2.1温度、湿度探测温度与湿度的测量由SHT11芯片完成,它有四个触头,高度集成,将温度感测、湿度感测、信号变换、A/D转换等功能。集成到一个芯片上,提供二线数字串行接口SCK和DATA接口简单,支持CRC传输校验,传输可靠性高,测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿和湿度测量和高质量的露点计算,可靠性高,精确性高,能更好的测量汗蒸房内的温度和湿度并快速传出来!3.2.2 时钟电路 DS1302 是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。能提供一个稳定的时钟并在LED上显示出来!3.2.3 信号处理中央处理器是单片机的最核心的部分,主要完成运算和中指功能,这一点与通用微处理器基本相同,只是它的控制功能更强。它是一个字长为8位的中央处理单元,对诗句的处理是按字节为单位进行的。数据存储器用于存放变化的数据,89s51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。4个8位的I/O口,并行I/O口主要是用于实现与外部设备中数据的并行输入/输出,有些I/O口还具有其他多重功能。3.3 主要元器件的介绍3.3.1 AT98S51AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。1主要特性: 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写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个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在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:来自反向振荡器的输出。第二节 DS13022.2.1 引脚功能及结构 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 下图为DS1302的引脚功能图 图2-9 DS1302引脚功能图2.2.2 DS1302的控制字节DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 1.2.3 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 2.2.4 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2.2.5 DS1302实时显示时间的软硬件 DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。图2示出DS1302与89C2051的连接图,其中,时钟的显示用LCD。 图2-10 DS1302与AT89S51的连接图2.2.6 DS1302与CPU的连接实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。 LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有34线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2A (典型值),省电模式时小于1A,工作电压为2.4V3.3V,显示清晰。 2.2.7 DS1302调试中问题说明DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。 在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。 要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH、(写)FFH(读)。实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。 LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有34线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2A (典型值),省电模式时小于1A,工作电压为2.4V3.3V,显示清晰。DS1302实时时间流程DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。 第三节 SHT112.3.1 SHT11简介SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。共主要特点如下:高度集成,将温度感测、湿度感测、信号变换、AD转换和加热器等功能成到一个芯片上;提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置AD转换器(分辨率为812位,能通过对芯片内部寄存器编程米选择);测量精确度高,由于同时集成温湿度传感器,能提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62 mm5.08mm2.5 mm),测量和通信结束后,自动转入低功耗模式;高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。2.3.2 SHT11的引脚功能 SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图1所示。 图2-11 SHT11引脚功能图各引脚的功能如下:脚1和4-信号地和电源,其工作电压范围是2.45.5 V;脚2和脚3-二线串行数字接口,其中DA-TA为数据线,SCK为时钟线;脚58-未连接。2.3.3 SHT11的内部结构和工作原理温湿度传感器SHT11将温度感测、湿度感测、信号变换、AD转换和加热器等功能集成到一个芯片上,其内部结构如图1-12所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的AD转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成一个加热元件,加热元件接通后能将SHT11的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,能综合验证两个传感器元件的性能。在高湿(95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。图2-12 SHT11内部结构图微处理器是通过二线串行数字接口和SHT11进行通信的。通信协议和通用的I2C总线协议是不兼容的,因此需要用通用微处理器IO口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表1所列。 2.3.4 SHT11应用设计 微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用IO口模拟通信协议。 2.3.5 硬件设计SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有需求;当工作电压高于4.5V时,SCK频率最高为10 MHz,而当工作电压低于4.5 V时,SCK最高频率则为1 MHz。硬件连接如图3所示。2.3.6 软件设计微处理器和温湿度传感器通信采用串行二线接口SCK和DATA,其中SCK为时钟线,DATA为数据线。该二线串行通信协议和I2C协议是不兼容的。在程式开始,微处理器需要用一组启动传输时序表示数据传输的启动,如图4所示。当SCK时钟为高电平时,DATA翻转为低电平;紧接着SCK变为低电平,随后又变为高电平;在SCK时钟为高电平时,DATA再次翻转为高电平。SHT11湿度测试时序如图5所示。其中,阴影部分为SHT11控制总线。主机发出启动命令,随后发出一个后续8位命令码,该命令码包含3个地址位(芯片设定地址为000)和5个命令位;发送完该命令码,将DATA总线设为输入状态等待SHT11的响应;SHT11接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA总线被拉低后,得知湿度测量已结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。然后释放总线DATA;在随后8个SCK周期下降沿,从机发出低字节数据;接下来的SCK下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。2.3.7 温度和湿度值的计算1、 湿度线性补偿和温度补偿SHT11可通过DATA数据总线直接输出数字量湿度值。该湿度值称为相对湿度,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值: (1-1)式中:RHlinear为经过线性补偿后的湿度值,SORH为相对湿度测量值,C1、C2、C3为线性补偿系数,取值如表2所列。 由于温度对湿度的影响十分明显,而实际温度和测试参考温度25有所不同,所以对线性补偿后的湿度值进行温度补偿非常有必要。补偿公式如下: (1-2)式中:RHtrue为经过线性补偿和温度补偿后的湿度值,T为测试湿度值时的温度(),t1和t2为温度补偿系数,取值如表3所列。 2、 温度值输出由于SHT11是采用PTAT能隙材料制成的温度敏感元件,因而具有非常好的线性输出。实际温度值可由下式算得 Temperature=d1+d2SOT式中:d1和d2为特定系数,d1的取值和SHT11工作电压有关,d2的取值则和SHT11内部AD转换器采用的分辨率有关,其对应关系分别如表4和表5所列。 温度值输出 由于SHT11是采用PTAT能隙材料制成的温度敏感元件,因而具有很好的线性输出。实际温度值可由下式算得:Temperature=d1+d2SOT 式中:d1和d2为特定系数,d1的取值与SHT11工作电压有关,d2的取值则与SHT11内部AD转换器采用的分辨率有关,其对应关系分别如表4和表5所列。露点计算 露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水分,这些水分会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:LogEW=0.66077+7.5T(237.3+T)+log10(SORH)-2Dp=(0.66077-logEW)237.3)(logEW-8.16077)式中:T为当前温度值,SORH为相对湿度值,Dp为露点。3.3.4键盘ZLG8279源程序BUFM EQU 7FFFHBUFS EQU 3FFFH ORG 0000H AJMP MAIN ORG 0013H AJMP PINT1 MAIN: MOV SP,#60H ;设置堆栈 CLR P3.4 ;8279复位 SETB P3.4 CLR P3.4 MOV DPTR,#BUFM ;指向命令/状态口 MOV A,#0D1H ;送清除命令 MOVX DPTR,A WAIT: MOVX A,DPTR ;读入8279状态字 JB ACC.7,WAIT ;等待清除命令完成 MOV A,#01H ;送方式字 MOVX DPTR,A MOV A,#34H ;设置分频命令字12MHz MOVX DPTR,A SETB EA SETB EX1 ;允许响应8279中断 SJMP $;读取键盘子程序: PINT1: MOV DPTR,#BUFM MOV A,#40H ;读8279、每次读一个单元的内容 MOVX DPTR,A MOV DPTR,#BUFS MOVX A,DPTR ; MOV R2,A ANL A,#38H ;计算键号 RR A RR A RR A MOV B,#4 MUL AB XCH A,R2 ANL A,#7 ADD A,R2 MOV 78H,ADISLED: MOV DPTR,#BUFM ;写显示RAM命令送8279 MOV A,#80H MOVX DPTR,A MOV R0,#78H ;显示数据的首地址送R0 MOV A,R0 ;取显示数据 MOV DPTR,#LEDSEG ;加偏移量 MOVC A,A+DPTR ;查表将显示数据转换为段码 MOV DPTR,#BUFS MOVX DPTR,A ;写入显示RAM RETI LEDSEG: DB 0C0H,0F9H,0A4H,0B0H; DB 99H,92H,82H,0F8H; DB 80H,90H,88H,83H; DB 0C6H,0A1H,86H,8EH END8279应用程序键盘和LED显示程序 ;* 8279 初始化 * ;* KEYCOM为8279命令口 KEYDAT为8279数据口 * KEYCOM XDATA 0E601H KEYDAT XDATA 0E600H KEYCAM EQU 30H ;定义存放按键值RAM起始地址 ORG 0000H AJMP START ORG 0003H LJMP AAA ORG 0060H START: MOV R0,#10 MOV DPTR,#KEYCOM ;命令口地址 MOV A, #10H ;键盘/显示方式命令字8字符显示左入口,编码键盘,双键锁定 MOVX DPTR,A MOV A,#34H ;程序时钟命令 26分频对外部输入时钟 MOVX DPTR,A MOV A,#0DFH ;清除显示缓冲区命令 MOVX DPTR,A BUSY1: MOVX A,DPTR JB ACC.7,BUSY1 MOV IE,#81H MOV DPTR,#KEYDAT MOV A,#0C8H MOVX DPTR,A ;字型送入8279 INC DPTR MOV A,#90H MOVX DPTR,A ;字位送入8279(显示P) HA7S2: MOV 30H,#80H MOV 31H,#40H HA7S3: MOV DPTR,#KEYCOM MOVX A ,DPTR ANL A,#07H CJNE A,#00H ,HA7S4; AJMP HA7S3 HA7S4: MOV DPTR ,#KEYDAT MOVX A,DPTR MOV B,A ;取键值 MOV R1,#00H MOV DPTR ,#KEYTAB ;数字键键值表 HA7S5: MOV A , #00H MOVC A,A+DPTR CJNE A , B ,HA7S6;查键值表是否相同 AJMP HA7SA; 转数字键处理程序 HA7S6: INC DPTR ;键值表地址加1 INC R1 ;查找次数加1 MOV A,R1 JB ACC.4 ,HA7S7 ;是功能键吗? AJMP HA7S5 ; 继续查找 HA7S7: MOV R1,#00H MOV DPTR ,#KEYTAB1 ;功能键表地址 HA7S8: MOV A,#00H MOVC A,A+DPTR ;取出功能键键值 CJNE A,B,HA7S9 ;键值相同吗? AJMP HA7SC ;转功能键处理子程序 HA7S9: INC DPTR INC R1 MOV A,R1 JNB ACC.2,HA7S8 ;继续查找 LJMP START ; AJMP HA7SD ;无按键返回 HA7SD: LJMP START HA7SA: MOV A ,30H MOV DPTR ,#0FE01H MOVX DPTR ,A; 字位送入8279 MOV A,R1 MOV R0,31H MOV R0,A INC 31H MOV DPTR ,#CDATA MOVC A,A+DPTR;取字型代码 MOV DPTR,#KEYDAT MOVX DPTR,A ;送8279显示 INC 30H MOV A,30H ;字位加1 CJNE A,#88H,HA7SB ; LJMP HA7S2 HA7SB: AJMP HA7S3 HA7SC: MOV DPTR ,#KJPADDR MOV A,R1 RL A ; ADD A,R1 ADD A,#00H JMP A+DPTR ; KJPADDR: LJMP LOOP0 LJMP LOOP1 LJMP LOOP2 KEYTAB: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H DB 0DAH,0C3H,0CBH,0D2H,0D3H,0DBH KEYTAB1:DB 0E3H,0E2H,0E1H CDATA: DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H,6CH,1AH,68H,0E8H LOOP0:MOV R5,#0CH ;0 LJMP DISPC LOOP1:MOV R5,#9FH ;1 LJMP DISPC LOOP2:MOV R5,#4aH ;2 DISPC: MOV R6,#80H DISPC1: MOV DPTR ,#KEYCOM MOVX DPTR,A ;字位送8279 MOV A ,R5 MOV DPTR ,#KEYDAT ;字形送8279 MOVX DPTR ,A LCALL DELAY1 ; MOV A ,#0FFH ; MOVX DPTR ,A ;关显示 ; INC R6 ; ; CJNE R6,#88H,DISPC1 ; AJMP DISPC; LJMP HA7S2 AAA: NOP NOP RETI DELAY1:MOV R1,#0FAH DELAY2:NOP NOP DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END第四章 软件设计4.1流程56FE4.2 内存分布图功能代称地址修改按键Press040H确认按键Press141H加按键Press242H减按键Press343H人数按键Press444H温度tem50H湿度hum51H年份year52H月份month53H日期date54H小时hour55H分钟min56H第五章 总结与展望5.1总结 我接到毕业设计的题目到现在将近四个月时间,我的毕业论文也基本完成。三个月前当我接到这个课题的时候,我是茫然,因为我从接触过关于单片机的总体知识,这是对我的挑战,对我一种考验。大学生在大学学到的不应该是单纯的书本上有限的知识,更应该学会怎么去学习。生活在信息时代的今天,知识更新的速度加快,我们在大学学到的知识不及时的更新,很快就会被淘汰。因此我认真对待,把毕业设计当做对我大学三年的考试。我从系统的总体设计,到硬件的设计和软件的设计,终于完成了基于单片机系统的设计。本系统键盘扫描电路采用触摸屏输入,操作简单,系统稳定。这个题目对于我而言是一个全新的挑战。在设计时,同学们都遇到了不少问题,我也不例外。我选择这个题目,就是想在大学这个最后的、最重要的时间里,把自己平时存在的问题解决掉,不能够带着问题遗憾的离开我的美好的大学。同时由于时间的原因,有些环节不尽完美。但通过这次设计,又多了一次理论运用到实践的经验,学到了很多在此,感谢学校给了我这样的一个学习机会.在这次设计所学到的知识,将会是我从事工作后的一笔财富。5.2前景展望经过这次毕业设计以及结合这次的社会实践,我受益非浅,也得到了很多经验,只有自己真正接触尝试了才知道自己的水平,使之更加看清自己的真实水平与能力,找出自己的不足和差距。相信在今后我会更加认识自己,明确自己在今后要奋斗的目标与方向,勇往直前,第六章 致谢短短几个月的毕业设计的时间就快过去了,在这段时间里,我学到了很多书本上学不到理论知识和实践知识,尤其对电子硬件设计有了更深的理解,基本上掌握了设计一个产品从方案到最终产品的一系列的设计过程,了解了一般器件的技术和产品的调试技术,通过这次设计我们真正体会到理论和实践相结合的重要性。本设计完成了所需题目要求的基本部分和全部要求内容。基本上各单元工作稳定可靠。有这样的成果,感谢他在这段时间对彭老师对我的帮助和对我的教导,也感谢母校能给我提供一个这么好的锻炼和学习的机会。随着毕业设计的完成我马上就要毕业了,进入我人生中最重要的时期,虽然工作会很辛苦,但我将带着我学会的宝贵经验和教训到工作岗位上,严格要求自己、刻苦学习、努力工作、兢兢业业、团结同事。不辜负学校、老师对我的谆谆教导。不辜负父母、同学、朋友对我的期望。在论文写作过程中,得到了彭华夏老师的亲切关怀和耐心的指导。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,彭老师都始终给予我细心的指导和不懈的支持。除了敬佩彭华夏老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。在此谨向彭老师致以诚挚的谢意和崇高的敬意。最后祝老师身体健康,工作开心!祝母校越办越好。谢谢!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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