基于stc12c5410ad单片机的温湿度检测仪学士学位论文.doc

上传人:知****量 文档编号:91645880 上传时间:2023-05-27 格式:DOC 页数:49 大小:1,013.50KB
返回 下载 相关 举报
基于stc12c5410ad单片机的温湿度检测仪学士学位论文.doc_第1页
第1页 / 共49页
基于stc12c5410ad单片机的温湿度检测仪学士学位论文.doc_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《基于stc12c5410ad单片机的温湿度检测仪学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于stc12c5410ad单片机的温湿度检测仪学士学位论文.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、河南科技大学本科毕业设计(论文)河南科技大学本科生毕业论文(设计)题 目 基于STC12C5410AD单片机的温湿度检测仪二级学院 电子信息工程学院 专 业 电子信息工程 学生姓名 张海宾 学 号 08104020332 年级 2008 指导教师 孙炎增 职称 讲师 教务处制表2012 年 5 月 30 日基于STC12C5410AD单片机的温湿度检测仪摘 要温湿度是环境中一个重要的物理参数,人类的生存和社会活动与温湿度密切相关。在生产和生活中的许多场合,不论是仓库管理、图书保存,还是工业生产、居民生活,都对环境中的温湿度有一定的要求,在某些行业中对温湿度的要求更高。因此,对环境中温湿度的检测

2、和控制显得尤为重要,温湿度检测在很多现代科技领域中也成为一项重要技术。在整个设计过程中,我们综合参考了国内外同类产品的设计方法,结合用户的实际需求,经研究之后,硬件部分的设计采用了以带有A/D转换器的STC12C5410AD单片机为核心控制器件,系统采用集温湿度传感器与A/D转换器为一体的SHT11芯片采集环境中的温湿度,模拟输入接口接入键盘实现人机交换功能,并用LCD作为显示设备的硬件设计方案。此外,在通信方面使用RS-232串行数据接口与计算机进行数据传输。软件部分则采用采用模块化的方法将其分成几个部分,然后逐模块设计程序,用汇编语言来实现,最终使各部分结合起来协调工作。该温湿度检测仪的设

3、计,能够完成的温湿度检测,实现主要的温湿度检测功能。关键词:STC12C5410AD单片机,传感器,LCD,温湿度MEASURING INSTRUMENT FOR HUMIDITY BASEEDON STC12C5410AD MICROCONTROLLERABSTRACTThe humiture is an important physics parameter of environment, human beings survival and public activities go hand in hand with the humiture. many situations that a

4、re in the production and the life, not only warehouse management, preservation of books, but also industrial production, residents life, all have certain request to the humiture of the environment, some professions have higher requirements. Therefore,it appears very important to examination and cont

5、rol the humiture of the environment, and humiture detecting becomes an important technology in many modern science and technology fields.In the whole design process, we have synthesized referred to the domestic and foreign similar products design method, the union users demand, as well as high Xingj

6、ian compared to and so on target, after research, used take included A/D the switch the STC12C5410AD microcontroller as the core control component, System adopts sets and humidity sensor and A/D converter for the integration of SHT11 chip microcontroller processing , and took the graphic display dev

7、ice with LCD the hardware design proposal. In addition, has used the RS-232 serial data connection in the serial communication aspect. But software partial uses modular the design method, causes various segments the function even more to be clear about, the readability is stronger.The temperature an

8、d humidity detector circuit design , to complete a captial temperature and humidity testing , achieving basic functions of temperature and humidity testing . KEY WORDS:STC12C5410AD microcontroller, Sensor, LCD, HumitureV目录前言1第1章 温湿度检测仪的总体技术方案21.1 温湿度检测仪的主要性能指标及其工作原理21.1.1 主要性能指标21.1.2 温湿度检测仪的基本工作原理2

9、1.2 温湿度检测仪的硬件设计方案概述31.3 温湿度检测仪的软件设计方案概述4第2章 温湿度检测仪硬件电路的设计52.1 温湿度检测仪单片机电路的设计52.2 温湿度检测仪其他硬件电路的设计72.2.1 温湿度检测电路的设计72.2.2 其它模块电路的设计10第3章 温湿度检测仪的软件设计143.1 主程序模块的设计143.2 温湿度检测模块的程序设计15 3.2.1 温湿度采集子程序.15 3.2.2 SHT11的工作原理.163.3 键盘扫描和LED显示模块的程序设计183.3.1 键盘扫描部分的程序设计183.3.2 LED显示部分的程序设计19结论24参考文献25附录27 前言日常生

10、活中,档案馆、图书馆、精密仪器室、超净车间等诸多场所都对环境温湿度有严格的要求,温湿度集散控制技术也是比较常见的应用技术。随着科技的进步,温湿度的相关检测仪表也向着智能化、小型化、低功耗的方向发展。在这个发展过程中,单片机发挥了重要的作用,本文介绍的温湿度检测仪就是以单片机作为核心控制器设计的。它具有体积小、操作简单、测量精度高和抗干扰能力强等优点,能很好的满足许多环境中对温湿度检测范围和精度的要求。本设计首先根据实际生产生活的需要提出温湿度检测仪的功能要求,然后由这些具体要求设计出了硬件原理图,采用模块化的方法先将整个系统分成若干部分,然后逐模块进行硬件和软件设计,最后将各部分结合起来协调工

11、作。它是利用单片机的在控制方面的突出优点,并综合运用现代检测技术、微控制技术、数据处理和通信技术以及LCD显示技术而设计的。可以实时、准确的测量环境中的温度和相对湿度。论文的第一章介绍了温湿度检测仪的主要性能指标及其工作原理,概括介绍了温湿度检测仪的硬件设计总体方案和温湿度检测仪的应用软件系统的设计方案;第二章主要介绍了温湿度检测仪的硬件电路设计,重点介绍了温湿度检测电路的设计;第三章主要介绍了基于STC12C5410AD单片机的温湿度检测仪的软件设计。13第1章 温湿度检测仪的总体技术方案温度和湿度是重要的环境参数,在很多方面都起着重要的作用,而对环境中的温度和湿度的检测也尤为重要。本文中的

12、基于STC12C5410AD单片机的湿度检测仪就是针对这一需求而设计的,它综合运用了检测技术、数据处理和通信技术以及LCD显示技术,可以实时、准确的测量环境中的温度和相对湿度,并且可以和PC机进行通信,作为温湿度记录仪使用。在此设计过程中,我们综合分析了不同用户在不同场合的不同需求,并且借鉴了国内外同类仪表设计的经验,经研究之后,采用了以带有A/D转换器的STC12C5410AD单片机为核心控制器件,采用集温湿度传感器于一体的SHT11芯片为主要芯片的温湿度计作为数据获取元件的方案。它的设计过程主要包含硬件设计和软件设计两大过程,以下是该温湿度检测仪设计的大概过程。1.1 温湿度检测仪的主要性

13、能指标及其工作原理1.1.1 主要性能指标1相对湿度测量精度:2.0%,湿度检测范围:0100%。2温度测量精度:0.1,温度检测范围:-40+123.8。3可有用户自行校准仪表的测量精度,无需硬件调整。4可直接与微机串行口连接,作环境相对湿度与温度的高精度记录仪使用。5LCD显示。6电源:DC9V10%。7工作环境温度123.8 ,工作环境湿度100%。1.1.2 温湿度检测仪的基本工作原理加载有相应程序的STC12C5410AD单片机定时采集温湿度测量电路SHT11输出的信号,然后将这些模拟信号转化为数字信号,分别将这些数据存储于数据存储器中,然后送LCD显示。1.2 温湿度检测仪的硬件设

14、计方案概述硬件部分是检测仪的重要部分,设计的好坏直接影响到整机的性能。该检测仪采用STC12C5410AD单片机为核心,整个硬件系统分为以下几个部件,具体如图1-1所示:图1-1 硬件电路框图温湿度传感器由SHT11构成,键盘输入电路实现人机对话的功能,可通过键盘设置是否进行温度和湿度的检测。RS-232接口电路与PC机的串行口联接,实现程序的下载。电源电路部分为单片机的正常工作提供稳定可靠的电压。1.3 温湿度检测仪的软件设计方案概述该仪表的软件设计采用模块化的程序设计方法,其结构见图1-2:图1-2 软件设计模块图检测仪的应用软件系统包括:主程序模块、温湿度检测模块、键盘和显示模块以及串行

15、通信模块。主程序的内容包括:主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序。温湿度检测模块主要是完成温湿度数据的存储和显示。键盘、显示模块完成检测仪控制和数据显示功能;通信模块实现程序的下载和烧录。第2章 温湿度检测仪硬件电路的设计此系统采用了以含有A/D转换器的STC12C5410AD单片机为核心控制器件,以高灵敏度传感器SHT11为温湿度获取元件,用LCD作为显示设备。这个系统主要由STC12C5410AD单片机电路、温度测量电路、相对湿度测量电路、键盘输入电路与LCD显示电路。2.1 温湿度检测仪单片机电路的设计该检测仪的设计是以STC12C5410

16、AD单片机为核心部件,STC12C5410系列单片机是单时钟/机器周期(1T)的兼容8051内核单片机,是高速/低功耗的新一代 8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路。拥有4路 PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。工作电压:5.5V 3.5V(5V 单片机),工作频率范围:035MHz,用户应用程序空间12K/10K/8K/6K/4K/2K/1K字节,片上集成512字节RAM,有EEPROM功能,内部集成MAX810专用复位电路(外部晶体12M以下时,可省略外部复位电路)。图2-1 STC12C5410AD单片

17、机的引脚排列及基本外围电路图运用STC12C5410AD单片机的输入/输出接口P1.5和P1.6定时采集温度测量电路电压信号和相对湿度测量电路输出的频率信号,并对湿度的频率进行线性化处理和温度补偿,从而获得温度和相对湿度数据,分别将这些数据存储于数据存储器中,然后再通过P1.0和P1.1口把芯片处理的数据送入显示模块电路进行显示。单片机通过模拟输入口P1.3连接键盘,用户可以通过键盘输入实现人机交换。STC12C5410AD单片机的P3.0、P3.1口与RS-232串行接口相连实现与PC机的串行通信。STC12C5410AD单片机片内的时钟产生方式采用的是内部时钟方式,即在XLAT1和XLAT

18、2两引脚间外接石英晶体和电容构成一个自激振荡器,从而向内部时钟电路提供振荡时钟。震荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.212MHz之间任选。通过改变电容C1、C2的值进行微调,通常取30pF左右。本设计中晶体的振荡频率取11.0592MHz,电容的值取30pF。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。本设计中STC12C5410AD单片机的复位电路采用的是开关复位电路,如图2-1所示,开关未按下是上电复位电路,上电复位电路在上电的

19、瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时使RST端有两个机器周期以上的高电平,从而使STC12C5410AD内部复位。SW1按下时是按键手动复位电路,RST端通过R1与VCC电源接通,提供足够时间的复位电平,使单片机复位。基于STC12C5410AD单片机的温湿度检测仪的硬件原理图见附录。2.2 温湿度检测仪其他硬件电路的设计该温湿度检测仪的硬件系统由以下几部分组成:单片机控制电路、温湿度测量电路、键盘扫描电路、LCD显示电路、与PC机通信的RS-232转换电路等

20、。这些部分组合起来协调工作,从而达到温湿度检测的目的,各部分设计如下。2.2.1 温湿度检测电路的设计本设计共涉及两类数据温度和湿度,因此需要两个传感器芯片,一个负责温度采集,另一个负责湿度采集。若采用独立式传感器芯片,会给程序带来不变,也会给单片机增加负担。因此,本设计选用一款集温度、湿度测量于一体的复合式传感器SHT11。数字温湿度传感器是一款含有已校准数字信号输出的复合式传感器。芯片内部主要由相对湿度传感器,温度传感器,校准存储器,14位A/D转换器,信号放大器和IC总线接口构成。SHT11具有温度和相对湿度测量,露点值计算输出、全部校准、数字输出、免外围电路、低功耗等优点。是本设计理想

21、的温湿度测量与传输芯片。SHT11简介:(1)SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。其主要特点如下:高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置A/D转换器(分辨率为812位,可以通过对芯片内部寄存器编程来选择);测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62 mm5.08mm2.5 mm),测

22、量和通信结束后,自动转入低功耗模式;高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。(2)SHT11的引脚功能SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图3-5所示:图3-5 SHT11引脚图脚1和4信号地和电源,其工作电压范围是2.45.5V;脚2和脚3-二线串行数字接口,其中DATA为数据线,SCK为时钟线;脚58空脚。(3)SHT11的内部结构和工作原理温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。

23、这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境内进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加

24、热前,测量值会略有差异。 微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的IC总线协议是不兼容的,因此需要用通用微处理器IO口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表3-1所示:表3-1 SHT11控制命令代码命令代码 含义00011测量温度00101测量湿度00111读内部状态寄存器00110写内部状态寄存器11110复位命令,是内部状态寄存器恢复默认值,下一次命令前至少等待11ms其他保留对于SHT11与单片机的接口电路设计,由于SHT11是一个串行器件,而STC12C5410AD不具备IC总线接口,故需要用单片机通

25、用I/O口线来虚拟IC总线,本设计利用P1.5口线来模拟时钟线,P1.6口线来模拟数据线。为避免信号冲突,单片机应驱动DATA在低电平,需要加一个外部上拉电阻将信号拉至高电平,本设计采用两个10K的电阻分别作为时钟线和数据线的上拉电阻;另外,为了达到去耦滤波的目的,应在VCC和GND端接入一个0.1uF的电容;SHT11有三个地址位,由于目前只支持“000”,4个NC引脚悬空。SHT11与单片机的接口电路如图3-6所示:图3-6 SHT11与单片机接口电路2.2.2 其它模块电路的设计键盘输入电路与LCD显示电路实现人机对话的功能。RS-232接口电路与PC机的串行口联接,实现通信功能。以下重

26、点介绍LCD显示电路串行通信模块。1LCD显示电路LCD显示电路用于实现中文窗口菜单和测量结果显示功能,可通过键盘扫描电路完成参数输入、菜单选择等操作。因此,键盘扫描电路和LCD显示电路可视为人机对话接口。显示模块电路如图2-4所示。图2-4 显示模块电路电路中的HS12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(16 16点阵)汉字。主要技术参数和性能:(1).电源:VDD:+5V; 模块内自带-10V负压,用于LCD的驱动电压。(2).显示内容:128(列)64(行)点(3).全屏幕点阵(4).七种指令(5)

27、.与CPU接口采用8位数据总线并行输入输出和8条控制线(6).占空比1/64(7).工作温度:-10+50,存储温度:-20+70在显示电路中,单片机的P1.0、P1.1、P1.2端口通过由“与非门”构成的辅助电路与HS12864的E端口相连,来控制显示模块对单片机送来数据的操作;而P0.1口控制显示器显示内容,即数据或指令;来自P0.2,P0.3的指令选择显示器左右半屏的信号。2串行通信模块检测仪与PC机通信采用RS-232串行接口。RS-232是PC机与通信工业中应用最广泛的一种串行接口,它被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯

28、。由于其发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k,所以RS-232适合本地设备之间的通信。RS-232是用正负电压来表示逻辑状态的,而TTL是用高低电平来表示逻辑状态的,因此,为了能够同PC机接口或终端的TTL器件连接,必须在RS-232与TTL电平之间进行电平转换。在本设计中运用MAX232完成电平转换工作。MAX232产品是由德州仪器公司(TI)推出的一款兼容RS-232标准的芯片。该器件包含2个驱动器、2个接收

29、器和一个电压发生器电路,提供TIA/EIA-232-F电平。MAX232的引脚如图2-8所示,该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5V-TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。其工作温度范围为0至70,适用于各种EIA-232C和V.28/V.24的通信接口。MAX232芯片内部有一个电压变换器,可以把输入的+5V电源电压变换成为RS-232所需的电压。所以,采用此芯片的串行通信系统只需单一的+5V电源就可以了。图2-8 MAX232的引脚图通信模块电路如图2-9所示:图 2-9 通信

30、模块电路第3章 温湿度检测仪的软件设计3.1 主程序模块的设计主程序是系统控制和管理的核心,主要完成在系统上电后进行定时和中断处理操作的初始化。它的内容包括主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等。单片机通过IC总线读写程序将温湿度数据从SHT11中读出来,然后,根据温湿度补偿(主要指非线性补偿)公式计算出当前温湿度值并送到12864显示;主程序设计流程如图3-1所示。图3-1 主程序流程图主程序初始化的具体内容包括时间中断的初始化、外部中断源的初始化、单片机I/O口初始化以及LCD初始化等。然后对温度和湿度进行检测并将结果显示在LCD上。3.

31、2 温湿度检测模块的程序设计3.2.1温湿度采集子程序(1)设计思路单片机首先向温湿度传感器SHT11发出启动传输命令,然后通过写总线子程序将温度测量指令(地址位000+命令位00011)或者湿度测量指令(000+命令位00101)写入SHT11。传感器正确接收到温度测量指令后,就会进行数据采集,单片机要等到测量完成,随后SHT11向单片机传送两字节测量数据(MSB和LSB)与1字节CRC校验码,单片机则通过读总线子程序将温湿度数据读取出来。读子程序流程图:图5-2 获取温湿度子程序(2)SHT11时序问题从SHT11中读取数据以及往SHT11中写指令都涉及到了时序问题,下面简要介绍一下SHT

32、11相关时序:启动传输时序:当时钟线SCK为高时将数据线DATA翻转为低电平,紧接着SCK变为低电平,然后在下一个时钟线SCK位高电平时DATA翻转为高电平。测量时序:当单片机发出了启动传输命令,且SHT11正确接收到温(湿)度测量命令后,单片机就要等到测量完成。为表明测量完成,SHT11会使数据线为低,此时单片机必须重新启动SCK。然后SHT11向单片机传送两字节测量数据(MSB、LSB)与1字节CRC校验码。在传输过程中控制器必须通过使DATA为低来确认每一字节,所有的测量值从右算MSB列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC-8校验码,则单片机需要在测量数据LSB后,保

33、持ACK为高来停止通讯。为了测量准确,保证在测量时SHT11自身温升低于0.1,因此SHT11的激活时间不要超过10%,例如对于12bit的测量,每秒最多测量2次。通信复位时序:如果在工作中发生微处理器与SHT11的通信失败,可采用下图所示的时序复位串口。当DATA线处于高电平时,触发SCK9次以上(含9次),则进入重启SHT11的状态,注意这种时序只复位串口,SHT11的状态寄存器内容仍然被保留。3.2.2 SHT11的工作原理.1) 温度SHT11的温度测量具有良好的线性,可直接采用如下公式得到的温度值(T):T=d1 +d2SOT 在上式中,SOT为SHT11输出的温度数据,d1和d2为

34、常数,下表列出了它们的具体数值。 温度转换系数2) 相对湿度而SHT11的湿度值(RH)可采用下式得到:RH=c1+c2SORH+c3SORH2在上式中,SORH为SHT11输出的湿度数据,c1、c2和c3为常数,可通过下表查询到该数值。 湿度转换系数 3) 温度传感器相对湿度做温度补偿 若实际测量温度与25相差较大时,需要考虑湿度传感器的温度修正系数,如下公式所示:RHTRUE=(T-25).(t1+t2.SORH)+RH在上式中,T为SHT11所测到的温度数据,单位为摄氏度,SORH为SHT11输出的湿度数据,RH为已转换好的湿度值,t1和t2为常数,其值可通过下表查询得到。 温度补偿系数

35、3.3 键盘扫描和LCD显示模块的程序设计3.3.1键盘扫描图3-7 键盘扫描子程序流程图该检测仪采用28矩阵式键盘,关于它的具体硬件组成电路这里就不多做介绍,在检测有无键按下方面主要用的是定时扫描方式,该方式是利用单片机内部定时器产生定时中断,即在初始化程序中对定时器/计数器进行编程,键盘扫描子程序流程图如图3-7所示。该子程序在时间中断服程序中被调用,定时扫描键盘,该程序首先判断有无键盘闭合,没有键盘闭合时置延时定时器位初值然后返回,有键盘闭合时延时定时器时间减少1,如果延时时间没到时返回,如果到了就逐行逐列的扫描键盘判断闭合键的键号,然后保存并给出对应键号的键值,之后置延时定时器位初值。

36、延时定时器的延迟时间等于初值乘上时间判断间隔时间,通过确定延时定时器的延迟时间达到去除键盘抖动的对正常的影响,一般延时时间在30ms50ms之间,在实验中确定具体的延迟时间。3.3.2 LCD显示部分的程序设计1. LCD显示器应用程序设计总体方案(1).汉字点阵数据提取LCD显示器应用程序设计的基本目标是实现中文显示界面。我们选用HS12864-1型图形点阵液晶显示模块:该LCD模块为不自带字库的12864点阵液晶显示器。可通过已由的常用子程序来添加汉字、字符的点阵数据表,供LCD在中文界面下显示汉字或字符。(2).LCD底层应用程序设计。添加点阵数据表之后,就可以开始设计LCD应用程序。在

37、LCD显示器应用程序设计中,需要解决的一个重要问题就是消除显示屏的闪烁感。HS12864-1 型LCD显示模块只提供了一块显示数据寄存器DDRAM,并且与显示屏点阵是一一对应的。如果直接在DDRAM处理显示数据的,会因为同时进行处理和显示,而导致显示屏闪烁。通过LCD模块提供的显示开关指令DISPLAY ON/OFF 在数据处理之前关掉显示,待数据处理完后开显示,可以使显示屏闪烁得到一定控制。但是如果数据处理时间过长,超过人眼可辨别的最短时间20ms,显示屏就会因为反复开关显示而产生闪烁感。因此我们在片外数据存储器中开辟一个或多个与DDRAM大小一样的缓冲区,用于存放正在处理的显示数据,待数据

38、处理完后,再将数据传送至LCD显示数据RAM。 通过以上分析,我们采用如下的LCD显示器应用程序设计总体方案:首先,添加汉字、字符点阵数据表。然后,编写LCD显示驱动程序。将指定Buf区中处理好的显示数据送LCD指定区显示。根据具体要求编写相应显示数据处理子程序。整个显示过程为:先将显示数据在片外数据存储器开辟的缓冲区中进行处理,待处理完后调用LCD驱动显示。最后,在LCD底层程序完成的基础上,设计人机交互界面,实现用户在菜单方式下进行交互。2. LCD适用字模信息提取程序的设计经研究,我们采用在单片机产品中经常用到的1616点阵的汉字库作为提取字模的母字库。 LCD在文本显示状态下,一屏最多

39、显示4行8个汉字。在1616点阵汉字字库中,采用的是以行为主的存放结构,即一行上连续的8个点阵信息放在一个字节内,且左边的点对应字节的高位。每个汉字的字模信息占32个字节。汉字母库编码采用:计算机汉字字符代码中最常用一个是汉字编码字符集的基本集-GB2312。GB2312包括了汉字字符基本集,共收录汉字、图形符号等共7445个,依据其位置,分为94个区,每区共94位。其中第16区55区安排3755个常用汉字,依汉语拼音顺序排列。通过汉字的内码我们可以计算出与其点阵信息在字库中的偏移量。在生成点阵数据表的相应汉字中,采用自定义的编码。因为温湿度记录仪中只用到了少量汉字,所以我们决定采用ASCII

40、代码中的 80HOFFH特殊字符代码区,用做生成点阵表的汉字编码,共可表示128个汉字。前20H7FH为常用字符的ASCII代码。由图形显示数据寄存器DDRAM地址和显示位置的对应关系可知:直接将提取的点阵数据送显,汉字不能正确显示。因此我们必须将提取的字模数据进行相应的转换,才能在LCD上正确显示。转换后的点阵信息格式如表3-2所示。表3-2 16点阵字模转换后排列格式d0d7第0字节12 341415d0d716171819203031 将转换后的点阵数据,按汇编语言中,定义存储单元伪指令“DB”的格式写入创建的文本文件中,就得到我们所需要生成的汉字点阵信息表。3. LCD显示驱动程序的设

41、计在液晶上显示整屏字符或图像有两种方法:一种是将所要显示的字模数据一次性发送到显示数据中;另外一种是在屏幕上指定位置进行单独显示。两种方法都要在控制器空闲的条件下进行操作,在操作之前都要先读取忙标志,判断控制器是否处于忙状态,在一般情况下,可以用延时等待的方法代替。所谓LCD驱动,即是通过连续的写显示数据(WRITE DISPLAY DATE)命令操作,将片外显示数据处理缓冲区内的数据,顺序写入相应的DDRAM单元。HS12864-1液晶的驱动和控制系统是由1片HD61102 作为64 路行驱动器,同时HD61102配备了一套显示存储器的管理电路和与MCU接口电路,可以直接与MCU的总线连接。

42、图3-8 LCD显示驱动源程序及流程图HS12864-1 型LCD显示模块,在硬件上通过左右半屏的片选信号引脚CS1/CS2,将LCD的显示数据DDRAM分为了左右两个半屏。在显示数据的处理和送显上,需要不断设置引脚CS1/CS2的信号,达到对指定DDRAM单元的控制和处理。这样对LCD模块控制极为不便。我们欲通过软件处理,使得LCD写显示数据操作结构化,整体化。将LCD显存DDRAM化分为8页,每页8行128列,128个数据存储单元。由软件驱动LCD显示屏上07页的任意页显示:顺序读出指定Buf区内图形或汉字的点阵数据,依次将显示数据写入指定页的128个数据存储单元。温湿度记录仪使用STC1

43、2C5410AD单片机作为CPU,对其底层编写程序,我们选用了汇编语言作为编程语言,选用8051仿真器作为编程环境,以便程序的跟踪调试。软件将LCD显存DDRAM化分为8页,每页128个数据存储单元。通过R2控制写入左半屏或右半屏。先写显示数据到左半屏的64个单元;后通过R2自减1,控制写显示数据到右半屏的64个单元。一页写满后,如果没到写页次数,LCDPageX自加1,继续写下一页。其流程图如图3-8所示。4. LCD人机交互界面相关程序人机交互程序设计的重点在于窗口界面的显示、滚屏、光标的管理及参数的显示、修改和保存。现在我们只设计了窗口界面的显示部分,和菜单、对话框的简单控制切换。人机交

44、互界面的显示主要包括菜单的显示、对话框的显示和提示信息显示。1. 提 示 信 息2. 对 话 框3. 菜 单 选 项图3-9窗口版面对应的通过前面对程序设计原理的分析,我们把窗口中具体条目(提示信息、菜单、对话框、参数等)显示涉及到的子程序进行封装处理,从而使得整个应用软件系统的设计简单明了。以菜单显示为例:我们把菜单编码对应汉字点阵数据的处理程序和显示驱动程序封装,调用时只需给出要送LCD显示的菜单序列号,则所菜单内容即可完成在指定位置(菜单区)的显示。对话框中参数的输入显示原理与菜单、对话框控制相同,都是通过读键,判断键值,功能处理来实现。44结论我们设计的温湿度检测仪结构简单,适用于多种

45、场合的温湿度实时检测。我们选用一款集温度、湿度测量于一体的复合式传感器SHT11来进行温湿度测量。该检测仪基本上达到了技术指标中对温湿度测量精度和范围的要求。在硬件设计时,我们还从实际出发,将电路板预留一些位置,以便以后对仪器进行功能扩展。在这次设计中我们也遇到不少问题,这些问题包括硬件方面的、软件方面的以及软硬件联合调试方面的,还有一些问题是由于粗心造成的, 也正是对这些问题的逐步解决该检测仪顺利设计完成。我一直以认真负责的心态对待这些问题,在自己的努力以及同学和老师的帮助下,这些问题都得到了圆满解决。由于这次设计的时间较短,该检测仪的主要功能已经实现,能基本实现环境中的温湿度检测,但还存在

46、一些问题,如温湿度检测精度还比较低,温度显示还有较大波动等。要达到实用的目的,还需要进一步的研究设计。此温湿度检测仪还可进一步进行功能扩展,如加上一个上下限报警电路实现报警功能,还可通过相关软件设置实现温湿度同时显示。参考文献1 赵新民. 智能仪器原理及设计. 哈尔滨: 哈尔滨工业大学出版社, 19892 华成英, 童诗白. 模拟电子技术基础第三版. 北京: 高等教育出版社, 2004.4. 3 谢光忠、蒋亚东等. 温湿度智能数据采集控制系统的研制传感器技术 2000,19(4):29-334 戴梅萼, 史嘉. 微型计算机技术及应用. 北京: 清华大学出版社, 19955 丁元杰. 单片微机原

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁