本科毕业设计--基于STM8105K4单片机土壤数据采集_第1页
本科毕业设计--基于STM8105K4单片机土壤数据采集_第2页
本科毕业设计--基于STM8105K4单片机土壤数据采集_第3页
本科毕业设计--基于STM8105K4单片机土壤数据采集_第4页
本科毕业设计--基于STM8105K4单片机土壤数据采集_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉 林 农 业 大 学 学 士 学 位 论 文 题目名称: 基于 STM8105K4 单片机土壤数据采集 学生姓名: 院 系: 信息技术学院 专业年级: 06电子信息科学与技术 指导教师: 职 称: 讲师 2010年 05月 25日 I 目 录 基于 STM8105K4单片机土壤温度、水分、电导率数据采集 . I 摘要 . I 1 前 言 .- 1 - 1.1 题目的来源与开发意义 .- 1 - 1.2土壤电导率、温度、水分 .- 1 - 1.3传感器技术的现状与发展 .- 2 - 2 系统硬件电路的设计 .- 3 - 2.1 系统硬件电路构成及测量原理 .- 4 - 2.2 STM8S105k4简介 .- 5 - 2.3 DS18B20 .- 8 - 2.4 TDR 水份及电导率传感器 .- 14 - 2.4.1 TDR原理 .- 14 - 2.4.2 TDR 土壤水份传感器 .- 15 - 2.4.3 OP07运算放大模块 .- 16 - 2.5 TDR 土壤水份传感器 .- 18 - 2.6 PT100土壤温度传感器 .- 19 - 2.6 1602显示模块 .- 21 - 3 系统校正部分的设计 .- 27 - 4 系统软件部分的设计 .- 30 - 5 系统调试 .- 31 - 5.1 硬件电路调试 .- 31 - 5.2 各功能模块软件调试 .- 31 - 6 结束语 .- 32 - 参考文献 .- 32 - 致谢 .- 33 - 附录一 系统总体电路原理图 .- 34 - 附录二 系统程序清单 .- 35 - I 基于 STM8105K4单片机土壤 温度、水分、电导率 数据采集 学生:于庆伟 专业:电子信息科学与技术 指导教师:宫鹤 摘 要: 随着社会的进步和科学技术的发展, 在农业领域实施现代化、高科技作业已经成为了当今社会人们追逐的热点。本文正是讲述了如何使用单片机进行土壤的温度、水分及电导率这土壤三参数进行数据采集。这种方法完全抛弃了过去靠使用大量人力物力的方法,具有低成本、低劳动力、高精度、高可靠性、可在数年间连续采集数据,可为人们提供高密度的线性数据。 关键词: 温度;水分;电导率;单片机;数据采集 Soil Temperature, Moisture and the Electrical Conductivity Data Collection Based on STM8105K4 Name: Qingwei Yu Major: Electronic Information Science and Technology Tutor: He Gong Abstract: With the development of society and the development of science and technology, in the agricultural sector implementing modernization and high tech jobs have become hotspots of these people. This text is demonstrating how to use a MCU detect the soil temperature, moisture and the electrical conductivity which is the three parameters of soil for data collection. This method is left over by the use of resources, with low cost of labor, low and high precision, high reliability, in a few years for collecting data, provide the high density of linear data. Keywords: temperature; moisture; conductance; SCM; data acquisition - 1 - 1 前 言 1.1 题目的来源与开发意义 土壤是进行农业生产的基础,只有对土壤营养和品质状况的准确监控,才能够进行科学化的生产管理。要准确评估土壤性状 1,就需要同时考察土壤结构、粒径、有机质含量、 土壤含水量、离子交换能力、持水力和氮磷钾元素含量等多种土壤参数。但不同的土壤参数有着不同的测定方法,因此要综合获取分析一次土壤信息,需要花费巨大的人力、 物力和时间。如:要采用国家标准方法进行土壤含水量和养分状况的测量, 就需要经过人工取样, 烘干、 秤重、 研磨、 溶解等多个步骤后, 才能够进行试验测试, 不但步骤繁琐,而且结果的重复性和实时性都难以保证, 难以满足农业生产的需求。 近年来,随着无线通信、微电子、传感器、计算机等技术向着系统化、网络化的方向迅速发展。 单片机的应用正在不断地走向深入, 同时带动电子产业日新月益的更新。在电子产品的单片机应用系统中, 单片机往往是作为一个核心部件来使用 2,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 基于单片机的土壤三参数(电导率,温度,水分)数据采集系统也己步出了传统的工作模式。土壤三参数 (电导率,温度,水 分) 数据采集系统利用温度、水分以及电导率传感器采集模拟信号量,这种方式技术成熟,制作成本相对较低, 大大减少了本需要花费大量人力、物力和时间的繁琐工作,将采集工作自动化、精准化。随时随地的进行土壤数据的实时检测,对社会的发展、生产力提升以及人民生活水平的不断提高都起着不可泯灭的作用。 。 目前实际应用场合提出对温度、水分、电导率的测量具有更高的测量要求,需要灵活、多点、更高精度的测量。本课题将传感器和单片机技术应用到农业发展中为新兴的无线通信技术(如 ZigBee无线网络等)的发展奠定了基础 1.2土壤电 导率、温度、水分 土壤温度,含水量和电导率 ( E l e c t r i c a l C o n d u c t i v i t y , E C ) 是土壤的三个重要参数 3,4,通过这三个参数的计算和分析,可以获取土壤的特征参数,减少或避免了对众多土壤参数的测量。土壤温度是土壤的冷热程度,是影响作物生长的一个 - 2 - 重要因素,它对土壤中微生物的活动、有机质分解、作物对水和矿物质的吸收、 种子发芽和根系生长等都有着较大影响。水分是土壤的重要组成部分,土壤含水量的多少不仅仅会影响到土壤的性状,而且还会影响 到土壤中各类养分的 溶解、转移和微生物的活动,这对于植物的生长、存活和净增产率等具有极其重要的意义 1 , 2 ,同时土壤含水量状况也是当地气候、 植被、 地形及土壤质地等 自然条件的综合反映 ,掌握土壤中水分的实时变化情况,可以根据作物在不同生长阶段对水的需求来进行精确灌溉, 从而达到增产增收的目的。而随着农业信息技术和精细农业的发展,土壤电导率逐渐引起人们的关注。近年来,土壤学的研究结果表明,土壤中的盐分、水分、温度、有机质含量和质地结构等都不同程度地影响着土壤的电导率 J ,电导率也反映出了土壤 品质和物理性质的丰富信息,通过对其的准确测量可以获得土壤含盐量、含水量、质地和肥力分布等相关参数。 1.3传感器技术的现状与发展 现代,信息技术对社会的发展及科技的进步起了决定性作用 5。传感器技术是 21 世纪人们在高新技术发展方面争夺的一个制高点,各发达国家都将传感器技术视为现代高新技术发展的关键。从 20 世纪 80 年代起,日本就将传感器技术列为优先发展的高新技术之首,美国等西方国家也将此技术列为国家科技和国防技术发展的重点内容。我国从 20 世纪 80 年代以来也己将传感器技术列入国家高新技术发展的重点 。 21 世纪是信息电子化的时代,作为现代信息技术支柱之一的传感器技术必将得到较大的发展。 传统的温度测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准,可是它的缺点是只能近距离观测,而且测量精度不高。常用金属热敏电阻为材料的温度传感器,如铜电阻、镍电阻、铂电阻等,它们的特点是稳定性好、耐高温,如铂电阻有的可达六、七百度。但当传输线路长短不等时,需要进行温度补偿。近年发展起来的有 PN 结测温器件。这类器件的优点是在 50 -150 范围内有良好的特性,体积小、响应时间快、价格低 。但它的缺点是一致性差、不易做到互换,而且PN 结易受外界辐射的影响,稳定性难以保证。石英晶体温度检测器的测量精度较高,一般可检测到 0.001 作标准检测之用。随着微电子技术、计算机技术和自动测试技术的发展,人们开发出将温度传感器和数字电路集成在一起的新型数字式集成温度传感器。数字式温度传感器内部包含温度传感器、 A/D 转换器、信号处理器、存储器(或寄存器)和接口电路。数字式传感器在精度、分辨率、可靠性、抗干扰能力以及器件微小化方面都有明显的优点,输出的温度数据和相关的温度控制量可以连接到各种微控制器。受半 导体器件本身限制,数字式传感器还存在一些不够理想的地方。比如实际应用时需加修正值,测温范围不宽,一般为 -5 -150 。 随着大规模集成电路技术的发展,信息的传输、处理技术有了突破性的进展,发展相对滞后的传感器技术业已得到全世界 - 3 - 的普遍重视。因此,今后一个时期传感技术将成为人们研究的新热点,并有可能形成较大产业。传感器技术未来将向以下几个方面发展: 1 、高精确度; 2 、小型化; 3 、多功能集成化; 4 、数字化; 5 、智能化。无线技术与温度传感器的结合,是近几年来一个新的发展趋势,改变了传统温度传感器系统拓扑结 构,适应更多温度测量的应用场合。 测量土壤含水量有许多方法 , 称量法费时费力 , 不能原位重复测量 , 中子仪法测量土壤表层含水量时 , 特别是在低含水量测量时由于中子的泄漏而测不准确。时域反射仪(TDR )为表层土壤的精确测量提供了有效的手段 (Nielson,1995) 6,7。用 TDR 测量土壤含水量由 Topp (1980)首创 , 近 20 年来 , 无论是在技术上还是应用上都得到了长足的发展。近年来 , 出于对植物营养需求及溶质输运的研究 , 特别是无机 污染物迁移的研究的兴起 , 使得迅速测定土壤溶液的化 学组成变得越来越重要。以往土壤溶液组成的测定是用真空陶土头抽提土壤水溶液进行分析 (Rhoades and Oster,1989)。这种做法的主要缺点是在低含水量无能为力 , 其次 , 测量值是采样期间的时间平均 , 缺乏一定的代表性。 Rhoades and Oster (1989)认为土壤水溶液中溶质的总浓度或土壤中的存留浓度是可以通过电导率的值来求得 , 这一点构成了用 TDR 来测定土壤中溶质含量的基础。 TDR 独一无二的优越性是土壤水分和土壤的溶质可以同时在同一个体积元中定 ,Daltonetal。 在 1984 年首次用 TDR 测定土壤的电导率或土壤溶质。但一直到最近 , 许多作者才开始在稳态条件下用 TDR 测定土壤中溶质的穿透曲线 (Kachanoski et al,1992;Wraith etal,1993;Vanclooster etal,1993,1995;Mallants etal,1994,Vogeler,1996) , 也偶有用于非稳态自然流的情况下 (Vogeler,1996)。 从 90 年代我国开始引进 TDR 技术 , 现今已得到迅速的发展 , 成为与中子法相并驾的测量土壤含水量的方法之一。本方案使用的 TDR水分传感器和 TDR电导率传感器都 是基于 TDR技术 。 2 系统硬件电路的设计 STM8S 系列是 意法半导体 ( ST) 针对工业温度范围,推出基于新一代 STM8 内核的 8位微控制器, 新系列微控制器整合新一代内核的高速度、处理性能和代码效率,以及多用途外设接口,并具备多项特殊功能,可提高芯片的强轫度和可靠性。片内集成的存储器(包括真EEPROM)可以简化应用仿真。在工业控制和家电应用中, STM8S 系列产品可以降低系统成本,缩短应用开发周期,提高处理性能。 STM8 8位内核有一个 32位存储器接口和三段流水线架 构,在 24MHz频率下,最高处理效能高达 20 MIPS。 栈指针和 16位索引寄存器可改进表处理性能,内核的 16MB - 4 - 线性存储位址空间可简化 64KB以上的页操作。此外,栈指针的改善、新增寻址模式和新指令等特性增强了对 C 编程和实时性能的支持,并提高了代码密度和处理器能效。 除 STM8的内核优势外, STM8系列产品还提供大容量片上闪存,根据不同的产品型号,闪存容量从 4KB到 128KB。实时读写同步操作功能,至少 30万次的耐擦写能力,使芯片内置的 EEPROM的性能可与外部分立的 EEPROM媲美。 STM8S系列产品 给开发人员带来产品兼容性的好处,在该系列产品内,不同型号产品的软件和堆叠式封装相互兼容, ST所有的微控制器(包括 32位的 STM32系列)的外设接口全部相互兼容。产品兼容性有利于平台设计,增加可用功能模块的数量,包括模式可配置的 16位控制定时器、信号捕获 /比较功能模块、 PWM控制器以及 U(S)ART、SPI、 I2C 和 CAN 2.0B总线接口。芯片集成的其它功能可以在工业应用中减少电路板空间和组件数量,例如,芯片内置的 16MHz高精度阻容振荡器可以省去外部时钟信号源,上电复位( POR)和欠压复位( BOR)功 能可以节省外部复位电路,强流限流功能可以取代外部保护器件。 新产品采用特殊的技术以确保可靠和强大功能,如双重独立看门狗、时钟安全系统、配置选择字节补充复制和 EMS复位。此外, STM8S系列还提供在应用编程和在线编程功能,其单线调试功能采用业内最先进的在线调试模块。在家电、个人护理设备、电池供电设备、电动工具、冷热通用空调( HVAC)设备、电机控制器、断路器等应用中,STM8S系列内置的四种节能模式可以帮助开发人员实现反应快速的电源管理策略。 3.0V到 5.5V的电源电压范围还可以简化开发过程,便于既有设计的 升级。 STM8S开发环境支持功能复杂的高端仿真器(包括代码评估和覆盖功能),还支持低成本的调试工具,提供免费的集成开发环境( IDE)和免费的 16KB版 C 编译器。开发工具还提供多个固件化的参考设计,为帮助开发人员达到新安全法规的要求,还提供IEC60335 B类标准专用资料库。 STM8S系列采用多种封装形式,包括 32引脚到 80引脚的 LQFP、 20引脚到 48引脚的 QFN 和 20引脚的 TSSOP。 本设计以 STM8s105k4单片机为核心,辅以 1602液晶显示模块、运算放大电路、DS18B20空气 温度传感器、 TDR水分传感器、 TDR电导率传感器 、 PT100土壤温度传感器 组成整个 土壤三参数(电导率,温度,水分) 和空气温度的 数据采集系统。 其中 DS18B20 空气 温度传感器、 TDR 水分传感器、 TDR 电导率传感器 、 PT100 土壤 温度传感器 采集到模拟信号后,经过运算放大器的放大,传输给 STM8s105k4单片机,利用 STM8s105k4单片机内置的 10bit ADC 数模转换器将模拟信号转化为数字信号,最后将信息显示到 1602LCD显示模块上。 2.1 系统硬件电路构成及测量原理 - 5 - 图 2-0 土壤三参数硬件电路原理框图 Figure0 Soil three parameters hardware circuit diagram 2.2 STM8S105k4简介 空气 温度传感器 水分传感器 电导率传感器 三级运算放大器 STM8S105k4 单片机 空气 温度显示 土壤温度显示 电导率显示 水分显示 PC机 1602LCD 显示模块 两 级运算放大器 土壤 温度传感器 - 6 - 图 2-1 STM8s105k4 管脚排列 Figure1 STM8s105k4 tube feet 注: 1.( HS)为高吸收电流。 2.为复用功能重映射选项(如果相同的复用功能显示两次,用户也只能选择其中的一个,并不是其中一个是另一个的备份) 。 STM8S105k4芯片特点 内核 : 高级 STM8内核,具有 3级流水线的哈佛 结构 : 扩展指令集 存储器 : 中等密度程序和数据存储器: 最多 32K 字节 Flash; 10K 次擦写后在 55 C环境下数据可保存 20年 数据存储器: 多达 1K 字节真正的数据 EEPROM,可达 30万次擦写 RAM: 多达 2K 字节 时钟、复位和电源管理 : 3.05.5V工作电压 灵活的时钟控制, 4个主时钟源 低功率晶体振荡器 外部时钟输入 用户可调整的内部 16MHz RC 内部低功耗 128kHz RC 带有时钟监控的时钟安全保障系统 电源管理: 低功耗模式 (等待、活跃停机、停机 ) 外设的时钟可单独关闭 永远打开的低功耗上电和掉电复位 中断管理 带有 32个中断的嵌套中断控制器 6个外部中断向量,最多 37个外部中断 定时器 2个 16位通用定时器,带有 2+3个 CAPCOM通道 (IC、 OC 或 PWM) 高级控制定时器: 16位, 4个 CAPCOM通道, 3个互补输出,死区插入和灵活的同步 带有 8位预分频器的 8位基本定时器 自动唤醒定时器 2个看门狗定时器: 窗口看门狗和独立看门狗 。 通信接口 带有同步时钟输出的 UART ,智能卡,红外 IrDA, LIN 接口 。 SPI接口最高到 8Mbit/s 。 I2C 接口最高到 400Kbit/s 。 模数转换器 (ADC) 10位, 1LSB的 ADC,最多有 10路通道,扫描模式和模拟看门狗功能 。 I/O 端口 - 7 - 48脚封装芯片上最多有 38个 I/O,包括 16个高吸收电流输出 。 非常强健的 I/O 设计,对倒灌电流有非常强的承受能力 。 开发支持 单线接口模块 (SWIM)和调试模块 (DM),可以方便地进行在线编程和非侵入式调试 。 图 2-2 STM8s105k4 模块框图 Figure2 STM8s105k4 module diagram - 8 - 2.3 DS18B20 2.3.1 DS18B20简介 DS18B20 是美国 DALLAS 半导体公司继 DS182O 之后最新推出的一种数字化单总线器件属于新一代适配微处理器的改进型智能温度传感器 8。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现 9-12 位的数字值读数方式。可以分别在 93.75ms和 750ms内 完成 9位和 12位的数字量,并且从 Dsl8B20读出的信息或写入 Dsl8B20 的信息仅需要一根口线 (单线接口 )读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS1SBZO 供电,而无需额外电源。因而使用DS1SBZO 可使系统结构更趋简单,可靠性更高。同时其一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。 DS18B20一线总线数字化温度传感器支持一线总线接口,测量温度范围为 -55oC 计 125OC,在 -10- +85 C 范围内,精度为土 0.SOC。 现场温度直接以一线总线的数字方式传输,用符号扩展的 16 位数字量方式串行输出,大大提高了系统的抗干扰性。因此,数字化单总线器件 DS18B20 适合于恶劣环境的现场温度测量,如 :环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率等方面较Dsl82O 都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。 2.3.2 DS18B20的性能特点 (1)采用 DALLAS公司独特的单线接口方式 :DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与 DSI8B20的双向通讯 9。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,供电电压范围 :+3.0-+5.5V。 (4)测温范围 :-55- +l25 。固有测温分辨率为 0.5 。当在 -10 - +85 范围内,可确保测量误差不超过 0.5 ,在 -55- +125 范围内,测量误差也不超过 2 。 (5)通过编程可实现 9-12位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个 DSI8B20可以并联 在唯一的三线上,实现多点测温。 (8)负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护 DS18B20不会因发热而烧毁。但此时芯片无法正常工作。 (9)DS18BZO 的转换速率比较高,进行 9位的温度转换仅需 93.75ms。 (10)适配各种单片机或系统。 (11)内含 64位激光修正的只读存储 ROM,扣除 8位产品系列号和 8位循环冗余校验码(CRC)之后,产品序号占 48位。出厂前产品序号存入其 ROM中。在构成大型温控系统时,允许在单线总线上挂接多片 DS18B20。 2.3.3 Ds18B20的管 脚排列 DS18BZO 采用 3脚 PR35封装或 8脚 SOIC 封装。其管脚排列如图 2-3所示 - 9 - 图 2-3 DS18B20 的管脚排列 Figure3 The tube feet. DS18B20 I/O 为数据输入 /输出端 (即单线总线 ),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。 UDD是可供选用的外部电源端,不用时接地, GND为地, NC空脚。 DS18B2O 的内部结构框图如图 2-4所示。它主要包括 7部分 : 1、寄生电源 ; 2、温度传感器 ; 3、 64位激光 (loser)ROM与单线接口 ; 4、高速 暂存器,即便筏式 RAM,用于存放中间数据 : 5、 TH 触发寄存器和 TL触发寄存器,分别用来存储用户设定的温度上下限值 ; 6、存储和控制逻辑 7、 8位循环冗余校验码 (CRC)发生器 。 图 2-4 DS18B20 的内部结构框图 Figure4 The internal structure of DS18B20 block diagram (1)64位闪速 ROM的结构如下: - 10 - 图 2-5 64 位闪速 ROM的结构 Figure5 64 bit flash ROM structure 高 8位是 CRC 位是产品类型的 编号,的原因。 校验码,接着是每个器件的惟一的序号,共有 48位,低 8前 56位的这也是多个 DS18B20可以采用一线进行通信 (2)非易失性温度报警触发器 TH 和 TL,可通过软件写入用户报警上下限。 (3)高速暂存存储器 DS18B2O 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的护 RAM。后者用于存储 TH, TL值。数据先写入 RAM,经校验后再传给 EZRAM。而配置寄存器为高速暂存器中的第 5个字节,它的内容用于确定温度值的数字转换分辨率, DS18B20工作时按此寄存器中的分辨率将温度转换 为相应精度的数值。该字节各位的定义如下: 表 2-1 配置 寄存器内部字节 Table1 Configuration register internal bytes TM R1 R0 1 1 1 1 1 低 5位一直都是 1, TM 是测试模式位,用于设置 DS18B20在工作模式还是在测试模式。在 DS18BZO 出厂时该位被设置为 O,用户不要去改动, R1 和 R0 决定温度转换的精度位数,即用来设置分辨率,如表 2-2所示 (DS18BZO 出厂时被设置为 12位 )。 表 2-2 R1 和 R0 模式表 Table2 R1 with R0 mode R1 R2 分辨率 温度最大转换时间 /mm 0 0 9位 93.75 0 1 10位 187.5 1 0 11位 750.00 1 1 12位 275.00 由表 2-2可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间两者中权衡考虑。高速暂存存储器除了配置寄存器外,还有其他 8个字节组成,其分配如下所示。 表 2-3 高速暂存其它字节 Table3 High-speed temporary other bytes 温度低位 温度高位 TH TL 配置 保留 保留 8位 CRC 其中第 1、 2字节是温度信息,第 3、 4字节是 TH 和 TL值,第 68字节未用,表 - 11 - 现为全逻辑 1;第 9字节读出的是前面所有 8个字节的 CRC 码,可用来保证通信正确。 当 DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1, 2 字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。 以 12位转化为例说明温度高低字节存放形式及计算 :12位转化后得到的 12位数据,存储在 DS1SBZO 的两个高低 8位的 RAM中,二进制中的前面 5位是符号位。如果测得的温度大于 0,这 5 位为 0,即符号位 S二 O,这时只要直接将测到的数值二进制位转换为十进制,再乘以 0.0625即可得到实际温度 ;如果 温度小于 0,这 5 位为 1,即符号位 S 习,这时先将补码变换为原码,也就是测到的数值需要取反加 1再计算十进制值,最后乘以 0.0625才能得到实际温度。 表 2-10是对应的一部分温度值。 DSI8B20完成温度转换后,就把测得的温度值 T与 TH、 TL作比较,若 TTH或TSetPoint*10 NextPoint; / 偏差,设定值减去当前采样值 pp-SumError += Error; / 积分,历史偏差累加 dError = Error pp-LastError; / 当前微分,偏差相减 pp-PrevError = pp-LastError; / 保存 pp-LastError = Error; return (pp-Proportion * Error+ pp-Integral * pp-SumError pp-Derivative * dError); 其中 (pp-Proportion * Error)是比例项; (pp-Integral * pp-SumError)是积分项;(pp-Derivative * dError)是微分。 2.6 1602 显示模块 2.6.1 1602原理 液晶显示原理 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、 PDA移动通信工具等众多领域。 液晶显示器的分类 液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果 根据驱动方式来分,可以分为静态驱动( Static)、单纯矩阵驱动( Simple Matrix)和主动矩阵驱动( Active Matrix)三种。 液晶显示器各种图形的显示原理 : 线段的显示: 点阵图形式液晶由 M N 个显示单元组成,假设 LCD显示屏有 64行,每行有 128列,每 8列对应 1字节的 8位,即每行由 16字节,共 16 8=128个点组成,屏上 6416 个显示单元与显示 RAM 区 1024 字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由 RAM区的 000H 00FH的 16字节的 内容决定,当( 000H) =FFH时,则屏幕的左上角显示一条短亮线,长度为 8个点;当( 3FFH) =FFH时,则屏幕的右下角显示一条短亮线;当( 000H) =FFH,( 001H) =00H,( 002H) =00H,( 00EH) =00H,( 00FH) =00H时,则在屏幕的顶部显示一条由 8段亮线和 8条暗线组 - 22 - 成的虚线。这就是 LCD显示的基本原理。 字符的显示 用 LCD显示一个字符时比较复杂,因为一个字符由 6 8或 8 8点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM区的 8字节,还要使每字节的不同位为 1,其 它的为 0,为 1的点亮,为 0的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 汉字的显示: 汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占 32B,分左右两半,各占 16B,左边为 1、 3、 5右边为 2、 4、 6根据在 LCD上开始显示的行列号及每行的列数可找出显示 RAM对 应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加 1,送第二个字节,换行按列对齐,送第三个字节直到 32B显示完就可以 LCD上得到一个完整汉字。 2.6.2 1602字符型 LCD简介 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1, 16*2, 20*2 和 40*2 行等的模块。下面以长沙太阳人电子有限公司的 1602 字符型液晶显示器为例,介绍其用法。一般 1602字符型液晶显示器实物如图 2-16: - 23 - 图 2-16 1602 字符型液晶显示器实物图 Figure16 Physical character LCD 1602 2.6.3 1602LCD的基本参数及引脚功能 1602LCD分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图 2-17所示: 图 2-17 1602LCD 尺寸图 Figure171602LCD dimension drawing 1602LCD主要技术参数 显示容量 :16 2个 字符 芯片工作电压 :4.5 5.5V 工作电流 :2.0mA(5.0V) 模块最佳工作电压 :5.0V 字符尺寸 :2.95 4.35(W H)mm 引脚功能说明 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表2-5所示 : 表 2-5:引脚接口说明表 - 24 - Table5 Pin interface specifications 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1脚: VSS为地电源。 第 2脚: VDD接 5V正电源。 第 3脚: VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生鬼影,使用时可以通过一个 10K 的电位器调整对比度。 第 4脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5脚: R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W为高电平时可以读忙信号,当 RS 为高电平 R/W为低电平时可以写入数据。 第 6脚: E端为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 第 7 14脚: D0 D7 为 8位双向数据线。 第 15脚:背光源正极。 第 16脚:背光源负极。 2.6.4 1602LCD的指令说明及时序 1602液晶模块内部的控制器共有 11 条控制指令,如表 2-6所示: 表 2-6:控制命令表 Table6 Control commands 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM 或 DDRAM) 1 0 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 1 1 读出的数据内容 - 25 - 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明: 1为高电平、 0为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移 动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4位总线,低电平时为 8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7的点阵字 符,高电平时显示 5x10的点阵字符。 指令 7:字符发生器 RAM地址设置。 指令 8: DDRAM地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 与 HD44780相兼容的芯片时序表如下: 表 2-7:基本操作时序表 Table7 Basic operation sequence table 读状态 输入 RS=L, R/W=H, E=H 输出 D0 D7=状态字 写指令 输入 RS=L, R/W=L, D0 D7=指令码, E=高脉冲 输出 无 读数据 输入 RS=H, R/W=H, E=H 输出 D0 D7=数据 写数据 输入 RS=H, R/W=L, D0 D7=数据, E=高脉冲 输出 无 读写操作时序如图 2-16和 2-17所示: 图 2-16 读操作时序 Figure16 Read operation sequence - 26 - 图 2-17 写操作时序 Figure17 Write operation sequence 1602LCD的 RAM地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在 哪里显示字符,图 2-18是 1602的内部显示地址。 图 2-18 1602LCD 内部显示地址 Figure181602LCD internal display address 例如第二行第一个字符的地址是 40H,那么是否直接写入 40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最 高位 D7 恒定为高电平1所以实际写入的数据应该是 01000000B( 40H) +10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602液晶模块内部的字符发生存储器( CGROM)已经存储了 160个不同的点阵字符图形,如图 10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 A 的代码是01000001B( 41H),显示时模块把地址 41H中的点阵字符图形显示出来,我们就能看到字母 A 2.6.5 1602LCD的一般初始化(复位)过程 延时 15mS - 27 - 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 以后每次写指令、读 /写数据操作均需要检测忙信号 写指令 38H:显示模式设置 写指令 08H:显示关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论