




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I摘要摘要液晶是现在电子产品中使用越来越多的一种显示器件。我们经常会在各种各样的电子产品和仪器上看到液晶显示器的存在。这些液晶品种繁多功能不一有的是字符型有的是点阵型常常用来显示各种参数包括电压、电流、温度及各种电气参数和一些特定信息。液晶不但用来显示各种文字还可以被设计成各种图案、通过改变里面特定显示的内容还还可以动态的显示各种图案及画面。液晶的使用打破了以往单一声光显示功能为人们提供了更多丰富多彩的显示信息。使显示的内容更加形象化、生动化。本设计采用以单片机为核心的低成本、高精度、微型化数字显示温度实时曲线的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、中断程序、DS18B20温度转换的驱动程序、显示子程序等模块组成。DS18B20温度传感器数字信号经单片机综合分析处理,实现温度显示以及曲线绘图各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。关键词:关键词:AT89S52单片机;DS18B20温度传感器;12864液晶显示模块;II目录目录中文摘要.I第1章前言.11.1液晶的概述.11.2液晶显示的意义.11.3液晶LCD的各类应用.11.4课程设计的任务和要求.2第2章液晶显示温度曲线方案设计.32.1总体选型方案.32.1.1温度检测电路选型方案.32.1.2液晶显示模块选型方案.32.1.3键盘输入模块选型方案.32.2整体设计思路.3第3章液晶温度显示硬件设计.43.1控制模块硬件设计.43.1.1AT89S52单片机简介.43.1.2AT89S52单片机最小系统硬件设计.53.2液晶显示模块硬件设计.63.2.1LCD12864ZK液晶模块介绍.63.2.2液晶显示模块硬件设计.83.3温度模块的硬件设计.103.3.1温度传感器DS18B20概述.103.3.2温度模块的硬件设计.11第4章液晶显示系统软件设计.134.1主程序设计.134.2液晶显示模块的设计.134.2.112864程序设计.134.2.212864程序设计流程图.154.3温度模块软件设计.174.3.1DS18B20测温数据的读取程序设计.174.3.2DS18B20温度读取流程.20第5章总结.22参考文献.23附录A:温度实时曲线显示硬件原理图.24附录B:软件程序.251第第11章章前言前言1.11.1液晶的概述液晶的概述物质通常分为三种型态晶体(固体)、液体、气体。某些固体物质在一定条件下会呈现液态晶体状态。这种状态既不同于各向同性的液体也不同于在三维空间分子完全规则排列的固体晶体但又具有液体的流动性、连续性和分子排列的有序性。这种处于液体和晶体之间过渡相态的物质称为液晶。液晶分为热致液晶和溶致液晶。前者是物质在某一温度范围内呈现液晶状态后者是物质溶于水或有机溶剂而形成的。用于电子器件的液晶为热致液晶。现在的液晶物质均为芳香族化合物已被发现的液晶物质多达3000余种。液晶分子呈棒状或条状宽约十几nm(纳米)长约数nm液晶分子有较强的电偶极矩和容易极化的化学团。由于液晶分子间的作用力比固体弱所以液晶分子容易呈现各种状态。液晶分子的介电常数、电导率、折射率、磁化率等具有较大的各向异性在外加电场作用下会产生各种电光效应从而可应用于液晶显示器(LiquidCrystalDisplayDevice缩写为LCD)。1.21.2液晶显示的意义液晶显示的意义随着计算机技术的发展基于微处理器的智能仪表已成为仪表的主体.而越来越多的智能仪表采用图形点阵液晶模块后提供了丰富灵活的显示内容更符合人性化的特点.智能仪表的功能是否强大、用户操作性是否方便都必须通过界面友好的外观和可操作性来体现。可见人机界面是智能仪表开发中的主要环节在开发的工作量中占了很大的比例.现有技术中智能仪表人机界面一般由液晶显示器和微处理器组成。目前已有很多文献对液晶显示技术、图形用户界面设计作了研究。1.31.3液晶液晶LCDLCD的各类应用的各类应用1)办公自动化(OA)。如PC机、台式计算机、传真机、复印机、文字处理机等。2)个人数字助理(PDA)。如笔记本电脑、袖珍计算机、计算器、电子信笺(备忘)等。3)设备自动化(FA)。如测量设备、提升机、电梯等。4)通讯。如无绳电话、个人手提电话系统、多功能电话、手提数据终端、蜂窝电话等。25)车辆设备。如汽车收音机、汽车音响、汽车VCD、速度表、汽车导航系统(GPS)等。1.41.4课程设计的任务和要求课程设计的任务和要求设计温度实时曲线显示测量仪,任务:温度变化时能及时再现正确的温度数值多大,并且可以看到液晶显屏上描绘的实时温度曲线。设计温度测量仪,要求:1)设计出温度实时曲线显示测量仪的硬件结构电路。2)设计软件流程图并编写程序。3)精度等级是0.5。3第第22章章液晶显示温度曲线方案设计液晶显示温度曲线方案设计2.12.1总体选型方案总体选型方案2.1.12.1.1温度检测电路选型方案温度检测电路选型方案考虑到经济、测温精度与52单片机IO口的资源等因素。温度检测电路采用智能温度传感器DS18B20,它与单片机相连只需要3线,减少了外部的硬件电路。并且温度传感器DS18B20输出的信号为数字信号,可以被单片机直接采集。省去了一般温度传感器输出信号要经过放大电路,模数转换的环节。2.1.22.1.2液晶显示模块选型方案液晶显示模块选型方案由于要显示温度实时曲线,故传统的小的液晶显示屏1602不能满足本课题要求。故选用更宽,更大点的液晶显示屏12864ZK。它可以显示半宽字型,显CGRAM字型,显示中文字形。更为重要的是显示实时曲线必须满足打点要求,由于它具有绘图功能故满足打点要求。2.1.32.1.3键盘输入模块选型方案键盘输入模块选型方案采用独立键盘,它的功能是作为52单片机触发外部中断硬件。2.22.2整体设计思路整体设计思路本课题设计的是液晶显示温度实时曲线,首先要达到的最简单想法是可以在液晶屏上显示温度,要显示温度,必须将温度传感器输出(数字量)信号传送至单片机,通过程序对信号进行处理,所以在这里我们需要存储器来储存一些必要的信息,之后是显示这里的显示我们是用LCD显示,在这里要提到键盘的作用,键盘在这里是实现显示界面的切换。设计思路图见图2.1。单单片片机机温温度度传传感感器器液液晶晶显显示示模模块块温温度度独独立立键键盘盘电电源源模模块块图2.1液晶显示整体方案设计图4第第33章章液晶温度显示硬件设计液晶温度显示硬件设计3.13.1控制模块硬件设计控制模块硬件设计3.1.13.1.1AT89S52AT89S52单片机简介单片机简介3.1.1.13.1.1.1硬件结构硬件结构该系统采用的是Atmel公司生产的AT89S52单片机为主控器。At89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程FlashAT89S52在单片机的引脚外围固定的引脚,如VCC(40),GND(20)已经正确固定到电源和地上。X1(18)X2(19)是接晶振的引脚已经外接到11.0592MHZ和30PF的电容。RST(9)是单片机的复位引脚,通过RC回路,作为单片机的上电复位。作为P3口的第二功能端口,P3.0(10)P3.1(11)为单片机的通信引脚,和MAX232芯片连接。方便在下载程序时,只要上电复位即可完成下载的硬件操作。另外,为了提高P0口的驱动能力,在P0口的各引脚上接了上拉电阻5.1K到电源Vcc=5V。采用一片MAX232,为RS232与TTL电平的转换,使得可以方面使用电脑的COM口对单片机进行程序的烧录。其芯片引脚图如图3.1所示。5EAVPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.0(T2)1P1.1(T2EX)2P1.23P1.34P1.45P1.5(MOSI)6P1.6(MISO)7P1.7(SCK)8(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALEPROG30(TXD)P3.111(RXD)P3.010GND20VCC40UAT89S52图3.1AT89S52引脚图3.1.23.1.2AT89S52AT89S52单片机最小系统硬件设计单片机最小系统硬件设计1)单片机复位电路硬件设计原理图,如图3.2所示。10KR1Res2S1SW-PB10uFC2CapRSTVCC图3.2复位电路原硬件原理图2)单片机的时钟电路硬件设计原理图,如图3.3所示。12Y111.0592M100pC1100pFC3CapX1X2图3.3时钟电路硬件原理图63)单片机的电源电路硬件设计原理图,如图3.4所示。0.1uFC4Cap100uFCE2CapFeed1KR4Res21234USBPOWERDS1LED0VCCS6SW-SPST图3.4电源电路原理图4)中断按键硬件设计原理图,如图3.5所示。S4SW-PBS3SW-PBINT1INT0图3.5中断按键硬件原理图3.23.2液晶显示模块硬件设计液晶显示模块硬件设计3.2.13.2.1LCD12864ZKLCD12864ZK液晶模块介绍液晶模块介绍3.2.1.13.2.1.1基本功能基本功能LCM12864ZK中文液晶显示模块的屏幕由12864点构成可显示四行、每行8个汉字。其字型ROM内含8192个1616点的中文字型和128个168点的半宽字母符号字型。绘图显示RAM(GDRAM)提供6432BYTE空间、最多控制25664点的二维绘图缓冲空间绘图显示画面提供一个64256点的绘图区域。造字RAM(CGRAM)提供4组软件可编程的1616点阵造字功能。LCM12864ZK与单片机等微控器的接口界面灵活有并行、串行两种模式其中并行模式又有8位4位两种接法串行模式又分3线2线两种接法。3.2.1.23.2.1.2引脚功能引脚功能(见表3.1)7表3.112864ZK引脚功能引脚名称功能1K背光源负极2A背光源正极3GND地4VCC3V5V5NC未连接6RS(并行)选择寄存器(0:指令寄存器1:数据寄存器)(串行)片选(0:禁止1:允许)7RW(并行)读写控制脚(0:写入1:读)(串行)输入串行数据8E(SCLK)(并行)写数据启始脚(串行)输入串行脉冲916DB0DB7IO数据线0717PSB控制界面0:串行1:并行84位18RST复位信号低有效1920VRV0LCD亮度调整外接电阻端3.2.1.33.2.1.3功能指令系统简介功能指令系统简介LCM12864ZK以ST7920为内核其指令系统分为基本指令集和扩充指令集。基本指令集包括清除显示、位地址清零、进入点设定、显示状态开关、光标或显示移位控制、功能设定、设定CGRAM位址、设定显示数据RAM(DDRAM)位址、读取忙标志(BF)、写数据到RAM(DDRAMCGRAMGDRAM)、读出RAM的值等指令扩充指令集包括待命模式、卷动位址或RAM位址、选择睡眠模式、扩充功能设定、设定光标位址(IRAM)或卷动位址、设定绘图RAM地址等指令。下面介绍本课题中常用的12864功能指令,见表3.23.3。81)指令表3.2(RE=0:基本指令集)2)指令表3.3(RE=1:扩展指令集)指令码指令RSRWDB7DB6DB5DB4DB3DB2DB1DB0说明0000000001将DDRAM填满“20H”,并且设定指令码指令RSRWDB7DB6DB5DB4DB3DB2DB1DB0说明清除显示0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”功能设定00001DLX0REXXDL=1(必须设为1)RE=1:扩充指令集动作RE=0:基本指令集动作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)设定DDRAM地址001AC6AC5AC4AC3AC2AC1AC0设定DDRAM地址到地址计数器(AC)读取忙碌标志(BF)和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写资料到RAM10D7D6D5D4D3D2D1D0写入资料到内部的RAM(DDRAMCGRAMIRAMGDRAM)读出RAM的值11D7D6D5D4D3D2D1D0从内部RAM读取资料(DDRAMCGRAMIRAMGDRAM)9待命模式DDRAM的地址计数器(AC)到“00H”卷动地址或IRAM地址选择000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM地址反白选择00000001R1R0选择4行中的任一行作反白显示,并可决定反白与否睡眠模式0000001SLXXSL=1:脱离睡眠模式SL=0:进入睡眠模式扩充功能设定000011X1REG0RE=1:扩充指令集动作RE=0:基本指令集动作G=1:绘图显示ONG=0:绘图显示OFF设定IRAM地址或卷动地址0001AC5AC4AC3AC2AC1AC0SR=1:AC5AC0为垂直卷动地址SR=0:AC3AC0为ICONIRAM地址设定绘图RAM地址001AC6AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。2、“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。3.2.23.2.2液晶显示模块硬件设计液晶显示模块硬件设计该模块设计的液晶显示器的数据端口连接在了单片机的P0口,而控制端RS、RW、EN分别接单片机的P2.6、P3.6、P2.7。LCD12864ZK低电平复位,电源5V直流供电。硬件电路如图3.7所示。101234567891011121314151617181920JP2LCD12864GNDVCCLCD_RSLCD_RWLCD_DB0LCD_DB1LCD_DB2LCD_DB3LCD_DB4LCD_DB5LCD_DB7PSBLEDALEDBLCD_DB61KR5RPotVCCRST1NCNCLCD_EVCCVCCVCC1KR8Res3S2SW-PBVO1KRRes2图3.712864液晶显示原理图3.33.3温度模块的硬件设计温度模块的硬件设计3.3.13.3.1温度传感器温度传感器DS18B20DS18B20概述概述温度传感器是将温度信号转换为电信号的装置,型号有很多,数字式温度传感器常用的有DS18B20、DS1820等。此设计采用的是DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,是世界上第一片支持“一线总线”接口的温度传感器在其内部使用了在板(ON-BOARD)专利技术。具有3引脚TO92小体积封装形式;温度测量范围为55125可编程为9位12位AD转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20内部结构如图3.8所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列见下节图3.9所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源。64位ROW和一线端口存储和控制逻辑高速暂存器8位CRC生成器温度传感器高温触发器TH低温触发器TL配置寄存器供电方式选择VCCDQ图3.8DS18B20内部结构框图11ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625LSB形式表达,其中S为符号位。例如125的数字输出为07D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为FC90H。DS18B20主要特性如下:适应电压范围更宽电压范围:3.0V5.5V在寄生电源方式下可由数据线供电;独特的单线接口方式DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与的双向通讯;DS18B20支持多点组网功能多个DS18B20可以并联在唯一的三线上实现组网多点测温;DS18B20在使用中不需要任何外围元件全部传感元件及转换电路集成在形如一只三极管的集成电路内;温度范围-55+125在-1085时精度为0.5;可编程的分辨率为9-12位对应的可分辨温度分别为0.5、0.25、0.125和0.0625可实现高精度测温;在9位分辨率时最多在93.75ms内把温度转换为数字位分辨率时最多在750ms内把温度值转换为数字速度更快;测量结果直接输出数字温度信号以“一线总线”串行传送给CPU同时可传送CRC校验码具有极强的抗干扰纠错能力;负压特性电源极性接反时芯片不会因发热而烧毁但不能正常工作。3.3.23.3.2温度模块的硬件设计温度模块的硬件设计温度的测量是采用数字温度传感器DS18B20外围电路如图所示。当DS18B20正在执行温度转换或从高速暂存器EPPROM传送数据时,工作电流可达1.5mA,这个电流可能会引起连接单总线的弱上拉电阻的不可接受的压降,这需要更大的电流,而此时Cpp(寄生电源储能电容)无法提供,为了保证DS18B20有充足的供电,当进行温度转12换或拷贝数据到EEPROM操作时,必须给单总线一个上拉电阻,一般为4.7K的上拉电阻,根据距离远近可以适当调节阻值,距离近时减小阻值,但不能低于2.1K,否则DS18B20将无法复位。其数据线DQ端接单片机P1.0口。硬件电路如图3.9所示。图3.9DS18B20接线在外部电源供电方式下DS18B20工作电源由VDD引脚接人不存在电源电流不足的问题可以保证转换精度同时在总线上理论可以挂接任意多个DS18B20传感器组成多点测温系统。注意在外部供电的方式下DS18B20的GND引脚不能悬空否则不能转换温度读取的温度总是85。13第第44章章液晶显示系统软件设计液晶显示系统软件设计4.14.1主程序设计主程序设计主程序要满足不断地采集温度信息,实时显示温度数值,描绘温度实时曲线,等要求。故主程序流程图见图4.1。主主程程序序开开始始单单片片机机初初始始化化LCD初初始始化化LCD中中GDRAM的的内内容容清清零零屏屏幕幕上上画画坐坐标标DS18B20初初始始化化读读取取温温度度数数据据并并处处理理flag=0?在在LCD屏屏幕幕上上打打点点;右右上上方方显显示示温温度度数数值值显显示示汉汉字字的的界界面面YNflag1=1?画画坐坐标标;Flag1=0YN图4.1主程序流程图4.24.2液晶显示模块的设计液晶显示模块的设计4.2.14.2.11286412864程序设计程序设计4.2.1.14.2.1.112864ZK12864ZK控制器指令操作方式控制器指令操作方式该课题使用液晶模块控制驱动器ST7920,它提供了并行和串行两类指令操作方式。这两种控制方式,由外部PSB引脚来选择:当PSB引脚输入高电平时,为并行操作方式。14当PSB引脚输入低电平时,为串行操作方式。其中,并行操作方式又可以分为8位并行操作方式和4位并行操作方式两种。下面只对这8位并行操作方式进行介绍。12864ZK液晶模块8位并行连接时序图:(1)MPU写资料到模块,见图4.2。图4.2MPU写资料到模块时序图(2)MPU从模块读出资料,见图4.3。图4.3MPU从模块读出资料时序图主控制系统将配合(RS、RW、E、DB0DB7)来完成数据传送。从一次完整的流程来看,当执行设定地址(CGRAM,DDRAM,IRAM等)指令后,若要读取数据则需要先空读一次,才能得到正确的数据。第二次读取时不需要空读,除非又执行一次设定地址指令才需要再次空读一次。4.2.1.24.2.1.2LCMLCM绘图过程分析绘图过程分析图形显示程序的关键在于解决图形坐标系、屏幕坐标系、GDRAM坐标系的转换问题也就是确定要显示的点对应在液晶屏面上像素的位置和在GDRAM中的地址。得到这个对15应关系后我们就可以通过将某个存储单元中的某一位置为1来实现在液晶屏上画出这个点。LCM12864ZK的水平与垂直地址示意图如图4.4所示2。图4.4LCM12864ZK水平地址与垂直地址示意图LCM12864ZK液晶模块内GDRAM与液晶屏幕的对应关系如图4.5所示。图4.5GDRAM与液晶屏幕的对应关系示意图由以上GDRAM排列顺序及其与液晶屏幕的对应关系可知:(1)LCM12864ZK的绘图RAM(GDRAM)为64行32BYTE行(64行16WORD行)。(2)在液晶屏幕上只能显示128364个点对应于GDRAM中12864bit。当GDRAM的横坐标小于8并且纵坐标值小于32时其内容将显示在屏幕上半部当GDRAM的横坐标为815并且纵坐标值小于32时其内容将显示在屏幕下半部当GDRAM的纵坐标大于31(3263)时其内容将不能显示在屏幕上。LCM12864ZK在已知GDRAM位址的情况下写图RAM步骤如下:(1)先将垂直坐标Y写入(063)(2)再将水平坐标X写入(015)(3)将D15D8数据写入(4)将D7D0数据写入。在实际绘图过程中由于每一个GDRAM地址对应于16个位(BIT)地址所以如果第二次写GDRAM(HV)则该RAM中其他位的值有时会改变为了避免这种改变需要事先将该地址中的内容读出来(ST7920有此功能)与此次要写入的值取或后作为最终值写入。164.2.24.2.21286412864程序设计流程图程序设计流程图由上述4.2节液晶显示模块的设计,设计的功能函数流程图见图4.5,图4.6,图4.7,图4.8,图4.9。写写数数据据开开始始E=0;RS=1;RW=0;P0口口往往LCD写写数数据据;使使能能端端E=1;E=0;函函数数返返回回读读数数据据开开始始E=0;P0=0 xFF;RS=1;RW=1;使使能能端端E=1;P0口口从从LCD读读数数据据;E=0;函函数数返返回回图4.5MPU往模块写数据流程图图4.6MPU从模块读出数据流程图读读指指令令开开始始E=0;P0=0 xFF;RS=0;RW=1;使使能能端端E=1;P0口口从从LCD读读指指令令;E=0;函函数数返返回回写写指指令令开开始始E=0;RS=0;RW=0;P0口口往往LCD写写指指令令;使使能能端端E=1;E=0;函函数数返返回回图4.7MPU从模块指令信息流程图图4.8MPU往模块写指令流程图17打打点点函函数数开开始始确定输入在LCD屏的位置确确定定GDRAM的的水水平平坐坐标标与与垂垂直直坐坐标标得得到到要要点点亮亮屏屏幕幕某某点点数数据据往往LCD送送GDRAM的的垂垂直直坐坐标标,水水平平坐坐标标转转换换到到扩扩展展指指令令集集读读高高字字节节数数据据;读读低低字字节节数数据据;被被读读高高字字节节或或上上高高字字节节数数据据;被被读读低低字字节节或或上上低低字字节节数数据据;高高低低字字节节数数据据送送LCD打打点点函函数数返返回回往往LCD送送GDRAM的的垂垂直直坐坐标标,水水平平坐坐标标图4.9绘图程序流程图4.34.3温度模块软件设计温度模块软件设计4.3.14.3.1DS18B20DS18B20测温数据的读取程序设计测温数据的读取程序设计对室内温度的检测室通过数字温度传感器DS18B20实现的,在温度模块硬件电路的设计中已经对的硬件电路做了设计,现在设计DS18B20的软件部分。1.DS18B20的内部数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的它可以看作是DS18B20该DS18B20的地址序列码。64位光刻的ROM排列是:开始8位(24H)是产品类型标号接着的48位是该DS18B20自身的序列号最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量以12位转化为例用16位符号扩展的二进制补码读数形式提供以0.0625LSB的形式表达其中S为符号。如图4.10所示。SSSSS262524232221202-12-22-32-4Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Bit15Bit8Bit14Bit9Bit11Bit13Bit10Bit12LSByteMSByte18图4.10DS18B20温度值格式表这是12位转化后得到的12位数据存储在的两个8比特的RAM中二进制中的前面5位是符号位如果测得的温度大于0这位为0只要将测到的数值乘以0.0625即可得到实际温度如果温度小于0这位为1测到的数值需要取反加1再乘以0.0625即可得到实际温度。例如+125的数字输出为07D0H+25.0625的数字输出为0191H-25.0625的数字输出为FF6FH-55的数字输出为FC90H。2.单总线协议单总线协议能够实现数据的双向传输操作包括数据的读写和复位功能。下面对各个方面进行具体的介绍。(1)总线复位首先必须对DS18B20进行复位,由单片机给DS18B20单总线至少480Us的低电平信号,当DS18B20接到此复位信号后,延时15-60us,通过大地总线60-240us来产生应答脉冲。主机接收到从机的应答脉冲后,说明有单总线器件在线,通信双方达成基本协议。复位时序如图4.11所示。单片机接收复位脉冲最小480us最大960us单片机发送复位脉冲DS18B20响应60240us最小480us等待1560us图4.11复位时序图(2)控制器发送ROM指令。一旦总线主机检测到应答信号,便可以发起ROM操作指令。ROM指令一共有5条,见表格4.1每一个工作周期只能发一条。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接多少个DS18B20并做出处理。一般只挂一个DS18B20时可以跳过ROM指令。表4.1ROM指令表指令代码功能说明读ROM0 x33用于读出DS18B20内集成的64位激光ROM序列号匹酪ROM0 x55跳过ROM0 xCC搜索ROM0 xF0多个DS18B20在线时可用此命令匹配一个给定序列号,此后命令就针对该芯片忽略序列号对所有在线的DS18B20进行配置用于读出在线的DS18B20的序列号19报警ROM0 xEC对温度超过上限或者下限时,读出报警的DS18B20(3)DS18B20共有9个RAM每个字节为8位。第1、2个字节是温度转换后的数值信息,3、4个字节是用户E2PROM(常用于温度报警值存储)的镜像,在上电复位时旗帜被刷新。第五个字节则是用户第三个E2PROM的镜像。第6、7、8个字节为计数器寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。E2PROM非易失性记忆体,用于存放长期需要保存的数据。RAM及E2PROM结构图如图4.12所示。温度低字节温度高字节THUSERBYTE1CONFING保留THUSERBYTE2保留保留CRCTHUSERBYTE1CONFINGTHUSERBYTE2123456789E2PROM图4.12DS18B20RAM及E2PROM结构图控制器发送存储器操作指令:在执行ROM指令后才能执行内存指令。在ROM指令发送给DS18B20之后,紧接着就是发送存储器操作指令了。操作指令同样为8位,共6条,见表格4.2。存储器操作指令的功能是控制DS18B20工作。表4.2RAM指令表指令代码功能说明温度变换0 x44启动温度转换,12位转换最长750ms读温度寄存器0 xBE读取温度寄存器的温度值写温度寄存器0 x4E发出内部RAM的3、4字节写上下限温度数据命令,在该命令后紧跟两个字节数据复制温度寄存器0 x4B将RAM中的3、4字节数据复制到E2PROM中重调E2PROM0 xB8将E2PROM中的数据拷贝到温度寄存器中读供电方式0 xB4寄生供电时,DS18B20发送“0”;外接电源供电时,DS18B20发送“1”(4)数据处理:DS18B20要求严格的时序来保证数据的完整性。在单线DQ上,存在复位脉冲、应答脉冲、写“0”、写“1”、读“0”、读“1”几种信号类型。数据位的读20写是由读写时序来实现的。写时序:当主机将数据线从高电平拉至低电平时,产生时序,写时序分别为写“0”和写“1”,时序图如下图所示。在写数据时序的前15us总线需要是被控制器拉为低电平,而后则将是芯片对总线数据的采样时间,采样时间在15-60us,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送都应该至少15us的低电平起始位,随后的数据“0”或“1”应该在45us内完成。整个位的发送时间应该保持在60-120us,否则不能保证通信的正常。写时序图如图4.13所示。单片机写”0”单片机写“1”30us15us15us15us15us30us1usDS18B20采样DS18B20采样图4.13写时序图读时序:该时序也是必须有主机产生1us的低电平,表示该时间的起始。然后在总线被释放后的15us中DS18B20会发送内部数据位,因此再次15us内主机必须停止把DQ引脚置底,这时控制如果发现总线为高电平表示读数据“1”,如果总线为低电平,则表示读数据“0”。每一位的读取之前都由控制器加一个起始信号。图4.14为读时序图。15us15us15us15us30us30us单片机读“0”单片机读“1”1us图4.14读时序图所有的读写时序至少需要60us且每两个独立的时序至少1us的回复时间。在写时序中,主机将在拉低总线15us内释放总线,并向DS18B20写“1”。若主机拉低总先后能保持至少60us的低电平,则向单总线器件写“0”。DS18B20仅在主机发出读时序时才产生向主机传输数据,所以当主机向DS18B20发出度数据命令后。必须马上产生时序,以便DS18B20传输数据。4.3.24.3.2DS18B20DS18B20温度读取流程温度读取流程21单片机在实现DS18B20温度转换和读取的程序设计中必须严格按照其时序来进行,此设计中,单总线上只挂接了一个DS18B20,所以不用对ROM寄存器进行操作,直接跳过ROM,对RAM寄存器进行操作。在单片机发出温度转换命令后,须延时,以便DS18B20完成温度转换,在单片机发出读温度命令后,必须马上产生读时隙接收DS18B20的发回来的数据。单片机实现温度转换和读取的程序流程图如图4.15所示,温度模块主流程图如图4.15所示。跳过读序号列号的操作温度转换延时等待温度转换完成初始化DS18B20跳过读序号列号的操作发起读暂存器命令初始化DS18B20温度读取子程序读取温度高、低位字节将温度数据转换十六进制数返回图4.15温度读程序流程图22第第55章章总结总结近年来,随着温度检测技术和单片机的发展,基于单片机的测温测技术的应用越来越广泛,尤其是人机画面更加人性化。本设计主要以温度为研究对象,通过液晶模块显示实时温度值,能够显示温度实时曲线。主要做的工作可总结如下:1.综合分析了各种类型的传感器和它的工作特点,设计了一个可行的测量方案。2.实现了测温系统的硬件电路和软件结构设计,综合考虑精度、成本等因素,合理选用了传感器、单片机及其外围芯片。在课题的研究中,仍然存在一些问题有待进一步改进完善:1.对环境温度的测量只是用了一个DS18B20温度传感器,室内某点温度不可能代替整个室内的温度,故要实现该设计的实用性,应该在单总线上挂上多个温度传感器分布在室内的关键角落。2.该设计是可以显示温度的实时曲线但由于刷新液晶屏幕频率过慢给人有闪烁感有待换用更高性能的单片机。23参考文献参考文献1景小健尹清华等.MG-12864液晶显示器在智能仪表中的应用化工自动化及仪表200330(6):62-64.2北京青云创新科技发展有限公司.带中文字库图形液晶显示模块LCM12864ZK使用说明书Z.2002.3孙传友,孙晓斌,张一.感测技术与系统设计M,北京:科学出版社,2004:708-710.4徐科军.传感器与检测技术M,北京:电子工业出版社,2004.09:4.5张军.智能温度传感器DS18B20及其应用J.仪表技术.2010(04).6马家成孙玉德张颖.MCS-51单片机原理与接口技术M.2版.哈尔滨:哈尔滨工业大学出版社1998.7张萍.基于数字温度计DS18B2的温度测量仪的开发J.自动化仪表2007(6):64-66.8金伟正.单线数字温度传感器的原理与应用J.电子技术应用2000(6):66-68.9马忠梅,籍顺心.单片机的C语言应用程序设计M.北京航空航大大学出版社,2003.24附录附录AA:温度实时曲线显示硬件原理图:温度实时曲线显示硬件原理图EAVPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALEPROG30(TXD)P3.111(RXD)P3.010GND20VCC40U1AT89S5212Y111.0592M100pC1100pFC3CapX1X2X1X210KR1Res2S1SW-PB10uFC2CapRSTRSTVCCVCCVCC1234567816151413121110910KR6ResPack4VCC1234567891011121314151617181920JP2LCD12864GNDVCCLCD_RSLCD_RWLCD_DB0LCD_DB1LCD_DB2LCD_DB3LCD_DB4LCD_DB5LCD_DB7PSBLEDALEDBLCD_DB61KR5RPotVCCRST1NCNCLCD_EVCC4.7KR7Res3VCCLCD_DB0LCD_DB1LCD_DB2LCD_DB4LCD_DB5LCD_DB6LCD_DB7LCD_DB3LCD_ELCD_RSLCD_RWVCCVCC1KR8Res3S2SW-PBVOS4SW-PBS3SW-PBINT1INT0INT1INT00.1uFC4Cap100uFCE2CapFeed1KR4Res21234USBPOWERDS1LED0VCCS6SW-SPST1234567891110JP4DB9RS232_RXRS232_TXTXD_P3.1RXD_P3.0C1+V+C1-C2+C2-V-1uFC5Cap1uFC6Cap1uFC7Cap1uFC8CapV+V-C1-C2-C1+C2+TXD_P3.1RXD_P3.0VCCVCCDQ2GND1VCC3UDS1820C1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16UMAX232CPERS232_TXRS232_RX25附录附录BB:软件程序:软件程序#include#defineuintunsignedint#defineucharunsignedchar#definex10 x80#definex20 x88#definey10 x80#definecomm0#definedat1bitflag=0sbitRS=P26H=dataL=commandsbitRW=P36H=readL=writesbitE=P27enablesbitPSB=P21H=并口L=串口sbitRST=P35ResetSignal低电平有效sbitbusy=P07lcdbusybitsbitDQ=P1018B20数据线引脚uchartemper2存放温度的数组voidwr_lcd(uchardat_commucharcontent)voidchk_busy(void)voiddelay(uintus)voidset_dot(ucharxuchary)voidinit_lcd(void)RST=1PSB=1wr_lcd(comm0 x30)30-基本指令动作wr_lcd(comm0 x01)清屏,地址指针指向00Hwr_lcd(comm0 x06)光标的移动方向wr_lcd(comm0 x0c)开显示,关游标voidwr_lcd(uchardat_commucharconte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022届陕西省榆林市高三三模语文试题
- 2025至2030中国潜孔钻机行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国金属加工机行业项目调研及市场前景预测评估报告
- 2025至2030中国负载分接开关(LTC)过滤系统行业发展研究与产业战略规划分析评估报告
- 2025至2030中国裸眼3D灯箱行业发展研究与产业战略规划分析评估报告
- 2025至2030中国苯乙烯马来酸树脂行业发展研究与产业战略规划分析评估报告
- 国际广播平台运营模式比较-洞察及研究
- 大数据时代的数据泄露防范-洞察及研究
- 果蔬粉功能性食品创新创业项目商业计划书
- 智能化渔船装备创新创业项目商业计划书
- 2025年税收和注册税务师知识竞赛题目及答案
- 2025年工会经审财务知识竞赛培训试题考试题库(含答案)
- Starter Unit2 Keep TidySectionB(1a-1d)公开课一等奖创新教学设计人教版(2024)七年级英语上册
- 2025湖南衡阳工会招聘11名工会社会工作者备考考试题库附答案解析
- 焊接质量检测记录规范模板
- 2025年辽宁省交通建设投资集团招聘(104人)备考练习试题及答案解析
- 七年级上册数学《相交线与平行线》100题练习(含答案)
- 西藏文化考试题目及答案
- DBJ51T214-2022四川省蒸压加气混凝土隔墙板应用技术标准
- 哲学与人生 第二课 树立科学的世界观2.1
- 传感器技术-武汉大学
评论
0/150
提交评论