




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统技术及应用题 目 基于AVR的嵌入式温湿度采集系统 目录第一章 绪论31.1 课题研究背景和意义31.2 国内外的研究现状41.2.1 温度传感器41.2.2 湿度传感器5第2章系统整体设计82.1信号采集82.2信号处理112.2.1 产品特点:112.2.2 单片机的内部结构132.2.3 单片机最小系统142.3信息处理16第3章软件设计193.1 系统初始化193.2 LCD显示193.3 温湿度采集20总 结23第一章 绪论1.1 课题研究背景和意义温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。在整个宇宙当中,温度无处不存在。无论在地球上还是在月球上,也无论是在炽热的太阳上还是在阴冷的冥王星上,这一切无不由于空间位置的不同而存在着温度的差别。湿度,表示大气干燥程度的物理量。在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。空气的干湿程度叫做“湿度”。在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。湿度表示气体中的水蒸汽含量,有绝对湿度和相对湿度两种表示方法。绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米,绝对湿度的最大限度是饱和状态下的最高湿度;相对湿度是绝对湿度与最高湿度之间的比,它的值显示水蒸气的饱和度有多高。温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度、湿度的检测与控制。并且随着人们生活水平的提高,人们对自己的生存环境越来越关注,而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度、湿度的检测及控制就非常有必要了。温度、湿度是工业农业生产不可缺少的因素,但传统的方法是用温度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。含有微型计算机或微处理器的测量仪器,由于它拥有对数据存储,运算逻辑判断及自动化的功能,有着智能作用。随着生产的发展,一个低成本和具有较高精度的温度湿度测量仪在许多领域会代替人工操作,自动控制各种仪器调整环境温度湿度。目前市场上普遍存在的温湿度检测仪器大都是温湿度分开测量,而且温湿度信息传递不及时,精度达不到要求,不利于控制者根据温度、湿度变化及时做出决定,为此,本设计开发了一种能够同时测量温湿度,并实时性高、精度高,能够方便扩展处理多点温湿度信息,并能进行温湿度控制的测控产品。总之,环境温湿度的检测与调节仪器的设计和开发具有非常大的市场前景和实用价值。1.2 国内外的研究现状1.2.1 温度传感器集成温度传感器是目前应用范围最广、使用最普及的一种全集成化传感器。其种类很多,大致可分为以下5类:1、模拟集成温度传感器;2、模拟集成温度控制器;3、智能温度传感器;4、通用智能温度控制器;5、微机散热保护专用的智能温度控制器。集成温度传感器的主要应用领域有以下3个方面:1.温度测量:可以构成数字温度计、温度变送器、温度巡回检测仪、智能化温度检测系统及网络化测温系统。2.温度控制:适用于智能化温度测控系统、工业过程控制、现场可编程温度控制系统、环境温度监测及报警系统、中央空调、风扇温控电路、微处理器及微机系统的过热保护装置、现代办公设备、电信设备、服务器中的温度测控系统、电池充电器的过热保护电路、音频功率放大器的过热保护电路及家用电器。3.特殊应用:例如,热电偶冷端温度补偿、测量温差、测量平均温度、测量温度场、电子密码锁(仅对内含64位ROM的单线总线智能温度传感器而言)及液晶显示器表面温度监测等。模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。 智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1。目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0.50.0625。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125,测温精度为0.2。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27s、9s。 新型智能温度传感器的测试功能也在不断增强。例如,DS1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。DS1624还增加了存储功能,利用芯片内部256字节的E2PROM存储器,可存储用户的短信息。另外,智能温度传感器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线总线、I2C总线、SMBus总线和SPI总线。1.2.2 湿度传感器湿度传感器产品及湿度测量属于90年代兴起的行业。湿度传感器主要分为电阻式和电容式两种,产品的基本形式都是在基片上涂覆感湿材料形成感湿膜。空气中的水蒸汽吸附在感湿材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。近年来,国内外在湿度传感器研发领域取得了较大的发展。湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。国内外各厂家的湿度传感器产品水平不一,质量价格都相差较大,用户如何选择性能价格比最优的理想产品确有一定难度,需要在这方面作深入的了解。现在国内市场上出现了不少国内外湿度传感器产品,电容式湿敏元件较为多见,感湿材料种类主要为高分子聚合物,氯化锂和金属氧化物。湿敏元件是最简单的湿度传感器。湿敏元件主要分为电阻式、电容式两大类。湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。湿敏电阻的种类很多,例如金属氧化特湿敏电阻、硅湿敏电阻、陶瓷湿敏电阻等。湿敏电阻的优点是灵敏度高,主要缺点是线性度和产品的互换性差。湿敏电容一般是用高分子薄膜电容制成的,常用的高分子材料有聚苯乙烯、聚酰亚胺、酷酸醋酸纤维等。当环境湿度发生改变时,湿敏电容的介电常数发生变化,使其电容量也发生变化,其电容变化量与相对湿度成正比。湿敏电容的主要优点是灵敏度高、产品互换性好、响应速度快、湿度的滞后量小、便于制造、容易实现小型化和集成化,其精度一般比湿敏电阻要低一些。国外生产湿敏电容的主厂家有Humirel公司、Philips公司、Siemens公司等。以Humirel公司生产的SH1100型湿敏电容为例,其测量范围是(1%99%)RH,在55%RH时的电容量为180pF(典型值)。当相对湿度从0变化到100%时,电容量的变化范围是163pF202pF。温度系数为0.04pF/,湿度滞后量为1.5%,响应时间为5s。除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、声表面波湿敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。目前,国外生产集成湿度传感器的主要厂家及典型产品分别为Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。这些产品可分成以下三种类型:(1)线性电压输出式集成湿度传感器;典型产品有 HIH3605/3610、HM1500/1520。其主要特点是采用恒压供电,内置放大电路,能输出与相对湿度呈比例关系的伏特级电压信号,响应速度快,重复性好,抗污染能力强。(2)线性频率输出集成湿度传感器;典型产品为HF3223型。它采用模块式结构,属于频率输出式集成湿度传感器,在55%RH时的输出频率为8750Hz(型值),当上对湿度从10%变化到95%时,输出频率就从9560Hz减小到8030Hz。这种传感器具有线性度好、抗干扰能力强、便于配数字电路或单片机、价格低等优点。(3)频率/温度输出式集成湿度传感器;典型产品为HTF3223型。它除具有HF3223的功能以外,还增加了温度信号输出端,利用负温度系数(NTC)热敏电阻作为温度传感器。当环境温度变化时,其电阻值也相应改变并且从NTC端引出,配上二次仪表即可测量出温度值。2002年Sensiron公司在世界上率先研制成功SHT11、 SHT15型智能化温度/温度传感器,其外形尺寸仅为7.6(mm)5(mm)2.5(mm),体积与火柴头相近。出厂前,每只传感器都在温度室中做过精密标准,标准系数被编成相应的程序存入校准存储器中,在测量过程中可对相对湿度进行自动校准。它们不仅能准确测量相对温度,还能测量温度和露点。测量相对温度的范围是0100%,分辨力达0.03%RH,最高精度为2%RH。测量温度的范围是-40 123.8,分辨力为0.01。第2章系统整体设计本设计以AVR ATMega128单片机为核心来对温湿度进行实时巡检。检测单元(从机)能独立完成功能,同时能自动的向主控机传输采集到的温湿度数据。最后采集来的信息通过液晶屏显示清晰的呈现给用户。 本系统采用AM2301温湿度模块进行参数采集,它是集温度传感器和湿度传感器于一体的检测模块,并且通信协议与1-wire相同,便于开发和扩展为多路检测系统,节约IO口。检测温度范围-40+80,精度为0.3。湿度检测范围为2090RH,其检测精度为3。本设计由信号采集、信号处理和信息显示三个部分组成的。(1)信号采集 由AM2301温湿度传感器模块组成;(2)信号处理 由单片机ATMega128及外围器件组成;(3)信息显示 由12864液晶显示模块组成。2.1信号采集AM2301湿敏电容数字温湿度模块是一款含有己校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个高精度测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在单片机中,传感器内部在检测信号的处理过程中要调用这些校准系数。标准单总线接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。产品为 3引线(单总线接口)连接方便。图2.1 AM2301实物图主要应用在暖通空调、除湿器、测试及检测设备、消费品、汽车、自动控制、数据记录器、家电、湿度调节器、医疗、气象站、及其他相关湿度检测控制等。有超低能耗、传输距离远、全部自动化校准、采用电容式湿敏元件、完全互换、标准数字单总线输出、卓越的长期稳定性、采用高精度测温元件等优点。 图2.2 引脚定义AM2315的供电电压范围为 3.5V - 5.5V,建议供电电压为 5V。SDA 引脚为三态结构,用于读、写传感器数据。具体的通信时序,见通信协议的详细说明。AM2301 器件采用简化的单总线通信。单总线即只有一根数据线,系统中的数据交换、控制均由数据线完成。设备(微处理器)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线;单总线通常要求外接一个约 5.1k的上拉电阻,这样,当总线闲置时,其状态为高电平。由于它们是主从结构,只有主机呼叫传感器时,传感器才会应答,因此主机访问传感器都必须严格遵循单总线序列,如果出现序列混乱,传感器将不响应主机。与AVR的硬件连接图如图。图2.3 温湿度传感器硬件连接电路SDA 用于微处理器与 AM2301之间的通讯和同步,采用单总线数据格式,一次传送 40位数据,高位先出。具体通信时序如图2.4所示,通信格式说明见表2.1。图2.4 AM2301单总线通信协议表2.1 AM2301通信格式说明用户主机(MCU)发送一次起始信号(把数据总线SDA拉低至少800s)后,AM2301从休眠模式转换到高速模式。待主机开始信号结束后, AM2301 发送响应信号,从数据总线 SDA 串行送出40Bit的数据,先发送字节的高位;发送的数据依次为湿度高位、湿度低位、温位、温度低位、校验位,发送数据结束触发一次信息采集,采集结束传感器自动转入休眠模式,直一次通信来临。图2.5 单总线读取流程图2.2信号处理2.2.1 产品特点: 高性能、低功耗的 AVR微处理器 先进的 RISC 结构 133 条指令 大多数可以在一个时钟周期内完成 32 x 8 通用工作寄存器 + 外设控制寄存器 全静态工作 工作于16 MHz 时性能高达16 MIPS 只需两个时钟周期的硬件乘法器 非易失性的程序和数据存储器 128K 字节的系统内可编程 Flash 寿命: 10,000 次写 /擦除周期 具有独立锁定位、可选择的启动代码区通过片内的启动程序实现系统内编程真正的读- 修改- 写操作4K 字节的EEPROM寿命: 100,000 次写 /擦除周期4K 字节的内部SRAM 多达64K字节的优化的外部存储器空间 可以对锁定位进行编程以实现软件加密 可以通过SPI实现系统内编程 JTAG 接口(与 IEEE 1149.1 标准兼容 ) 遵循JTAG标准的边界扫描功能 支持扩展的片内调试 通过JTAG接口实现对 Flash, EEPROM, 熔丝位和锁定位的编程 外设特点 两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器 两个具有预分频器、比较功能和捕捉功能的16 位定时器 /计数器 具有独立预分频器的实时时钟计数器 两路8 位PWM6路分辨率可编程 (2 到16 位)的 PWM 输出比较调制器8路 10 位ADC8个单端通道7个差分通道2个具有可编程增益 (1x, 10x, 或200x)的差分通道 面向字节的两线接口 两个可编程的串行USART 可工作于主机/从机模式的 SPI串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/片外中断源6种睡眠模式 : 空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式 可以通过软件进行选择的时钟频率 通过熔丝位可以选择ATmega103兼容模式 全局上拉禁止功能 I/O和封装53 个可编程I/O 口线64 引脚TQFP与 64引脚 MLF封装 工作电压 2.7 - 5.5V ATmega128L 4.5 - 5.5V ATmega128 速度等级 0 - 8 MHz ATmega128L 0 - 16 MHz ATmega1282.2.2 单片机的内部结构VCC 数字电路的电源。GND 地。端口 A(PA7.PA0) 端口 A 为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 A 为三态。端口 A 也可以用做其他不同的特殊功能,请参见 P 68。端口 B(PB7.PB0) 端口 B 为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 B 为三态。端口 B 也可以用做其他不同的特殊功能。端口 C(PC7.PC0) 端口 C 为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 C 为三态。端口 D(PD7.PD0) 端口 D 为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 D 为三态。端口 E(PE7.PE0) 端口 E 为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 E 为三态。端口 E 也可以用做其他不同的特殊功能。端口F(PF7.PF0) 端口 F 为 ADC的模拟输入引脚。如果不作为 ADC 的模拟输入,端口 F 可以作为 8 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 F为三态。如果使能了 JTAG 接口,则复位发生时引脚 PF7(TDI)、 PF5(TMS) 和 PF4(TCK) 的上拉电阻使能。端口 F 也可以作为 JTAG 接口。端口G(PG4.PG0) 端口 G 为 5 位双向 I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 G 为三态。端口 G 也可以用做其他不同的特殊功能。在 ATmega103 兼容模式下,端口 G 只能作为外部存储器的所存信号以及 32 kHz 振荡器的输入,并且在复位时这些引脚初始化为 PG0 = 1, PG1 = 1 以及 PG2 = 0。 PG3 和PG4 是振荡器引脚。RESET 复位输入引脚。超过最小门限时间的低电平将引起系统复位。低于此时间的脉冲不能保证可靠复位。XTAL1 反向振荡器放大器及片内时钟操作电路的输入。XTAL2 反向振荡器放大器的输出。AVCC AVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。使用 ADC 时应该通过一个低通滤波器与 VCC 连接。AREF AREF 为 ADC 的模拟基准输入引脚。PEN PEN是SPI串行下载的使能引脚。在上电复位时保持PEN为低电平将使器件进入SPI串行下载模式。在正常工作过程中 PEN 引脚没有其他功能。2.2.3 单片机最小系统单片机系统的扩展是以基本最小系统为基础的,故应首先熟悉应用应用系统的结构。单片机最小系统包括晶体振荡电路、复位电路,其电路图如图2.5所示。图2.6 单片机最小系统1.复位电路单片机复位的原理是在时钟电路开始工作后,在单片机的RST引脚施加24个时钟振荡脉冲(即两个机器周期)以上的高电平,单片机便可以实现复位。在复位期间,单片机的ALE引脚和PSEN引脚均输出高电平。当RST引脚从高电平跳变为低电平后,单片机便从0000H单元开始执行程序。在实际应用中,一般采用既可以手动复位,又可以上电复位的电路,这样可以人工复位单片机系统,这种电路如图2.5复位部分所示。上电复位电路部分的原理也是RC电路的充放电效应。除了系统上电的时候可以给RST引脚一个短暂的高电平信号外,当按下按键开关的时候,VCC通过一个高电阻连接到RST引脚,给RST一个高电平,按键松开的时候,RST引脚恢复为低电平,复位完成。2.晶振电路时钟电路是用于产生单片机正常工作时所需要的时钟信号。STC89C52单片机内部包含有一个振荡器,可以用于CPU的时钟源。另外也可以采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。(1)内部时钟模式内部时钟模式是采用单片机内部振荡器来工作的模式。AVR系列单片机内部包含有一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内放大器的输入端口和输出端口,其工作频率为033MHz。当单片机工作于内部时钟模式的时候,只需在XTAL1引脚和XTAL2引脚连接一个晶体振荡器或陶瓷振荡器,并联两个电容后接地即可,如图3-6所示。使用时对于电容的选择有一定得要求,具体如下:A 当外接晶体振荡器的时候,电容值一般选择C1=C2=3010pF;B 当外接陶瓷振荡器的时候,电容值一般选择C1=C2=4010pF。在实际电路设计时,尽量保证外接的振荡器和电容尽可能接近单片机的XTAL1和XTAL2引脚,这样可以减少寄生电容的影响,使振荡器能够稳定可靠地为单片机CPU提供时钟信号。(2)外部时钟模式外部时钟模式是采用外部振荡器产生时钟信号,直接提供给单片机使用。对于不同的结构的单片机,外部时钟信号接入的方式有所不同。对于普通的8051单片机,外部时钟信号由XTAL2引脚接入后直接送到单片机内部的时钟信号发生器,而引脚XTAL1则应直接接地。这里需要注意,由于XTAL2引脚的逻辑电平不是TTL信号,因此外接一个上拉电阻。根据实际应用,我们选择内部时钟电路,外接频率16.000MHz的晶体振荡器,选择两个电容值为30pF的陶瓷电容。2.3信息处理在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。显示器作为输出部件,可以将系统的运行结果、状态等信息直观地显示出来供操作者了解系统的运行情况和程序的执行结果。这里用到的12864是一种具有 4位/8 位并行、2线或 3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置8192 个16*16点汉字,和 128 个16*8点ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。基本特性: 低电源电压(VDD:+3.0-+5.5V),显示分辨率:12864点,内置汉字字库,提供8192个1616点阵汉字(简繁体可选),内置 128个168点阵字符,2MHZ时钟频率,显示方式:STN、半透、正显,驱动方式:1/32DUTY,1/5BIAS,视角方向:6点,背光方式:侧部高亮白色LED,功耗仅为普通LED的 1/51/10 ,通讯方式:串行、并口可选,内置 DC-DC转换电路,无需外加负压,无需片选信号,简化软件设计,工作温度: 0 - +55 ,存储温度: -20 - +60。12864硬件电路图如下,采用标准的20脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第7-14脚:D0-D7为8位双向数据端。第15脚:串口,并口方式选择。第16脚:NC。第17脚:复位,低电平有效。第18脚:LCD驱动电压输出端。第19,20脚:背光源。图2.7 LCD显示模块液晶屏的控制时序可以参考液晶屏的手册,但是需要注意几点。欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。 显示 ASCII 字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1指向下一个字符位置,否则,显示的字符中将会有一个空 ASCII字符位置。 当字符编码为 2 字节时,应先写入高位字节,再写入低位字节。 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取 BF 标志时 BF 需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。第3章软件设计软件设计包括单片机的初始化,LCD液晶显示屏的初始化及字库的定义,以及温湿度采集协议的控制。3.1 系统初始化系统初始化主要包括IO口的初始化,以及各个寄存器的初始化。本设计IO口只用到A,C和E口,故只需对这三组端口的方向进行设置。uint year;uchar month,day,flag; DDRE|=BIT(2); PORTE&=BIT(2); /关闭LED PORTE&=BIT(2)/端口A初始化data_port_dir=0xff;data_port=0xff;control_port_dir=0xff;PORTC=0xff;/初始化 init_lcd();Key_init();TWI_Init(); PCF8563_Init();flag=AM2301_CollectIntData(&temperature,&humidity);3.2 LCD显示首先要对LCD的字库进行定义,把要显示的字定义好放到一个数组里以备调用。然后对LCD显示屏进行显示的初始化。程序如下。void init_lcd(void) select_screen(11); /选中双屏 s_ms(1000); clearscreen(11); /双屏都清屏 wr_lcd(com,disp_off); wr_lcd(com,disp_on); /开一次关一次 /显示第一行固定值:disp(10,1,1,shuzi2,0); /2disp(10,1,2,shuzi0,0);/0disp(10,1,3,nian,1); /年disp(01,1,1,yue,1); /月disp(01,1,3,ri,1); /日disp(01,1,4,smile,1);/显示第二行固定值disp(10,2,2,yue,1); /月disp(01,2,2,xing,1);/星disp(01,2,3,qi,1); /期 /显示第三行固定值disp(10,3,7,dot,0); /:disp(01,3,2,dot,0);/:/显示第四行固定值disp(10,4,1,wen,1); /温disp(10,4,2,du,1);/度disp(10,4,4,ssd,1);/ disp(01,4,1,shi,1); /湿disp(01,4,2,du,1);/度disp(01,4,4,bfh,1); /在主函数里的无限循环中,对要显示的字符进行实时刷新。while(1) uchar th1,wendu_s,wendu_l,wendu_g,shidu_s,shidu_g; key_process();if(stop!=1) level=0;/推出level=100状态,否则不断进入level100状态,导致不断的重设时间 PCF8563_Updata_Time(); /显示第一行:年月日 /disp(10,1,1,shuzi2,0); /2 /disp(10,1,2,shuzi0,0); /0 disp(10,1,3,shuzidate_display2,0);/年十位 disp(10,1,4,shuzidate_display3,0);/年个位 disp(10,1,7,shuzidate_display5,0);/月十位 disp(10,1,8,shuzidate_display6,0);/月个位 disp(01,1,3,shuzidate_display8,0);/日十位 disp(01,1,4,shuzidate_display9,0);/日个位 /显示第二行:农历、星期 year=2000+date_display2*10+date_display3; month=date_display5*10+date_display6; day=date_display8*10+date_display9; dispChinaCalendar(year,month,day); /显示农历 disp(01,2,4,monthcodeweek_display,1);/显示星期 /显示第三行:时:分:秒 disp(10,3,5,shuzitime_display0,0); /时十位 disp(10,3,6,shuzitime_display1,0); /时个位 disp(10,3,8,shuzitime_display3,0); /分十位 disp(01,3,1,shuzitime_display4,0); /分个位 disp(01,3,3,shuzitime_display6,0); /秒十位 disp(01,3,4,shuzitime_display7,0); /秒个位 /显示第四行:温度、湿度3.3 温湿度采集温湿度的采集由AM2301_CollectIntData(int *pvHumidity,int *pvTemperature)函数来完成,由于单片机一般不提供1-wire总线协议,故需要用IO口模拟单总线协议。模拟过程由AM2301_ReadByte(unsigned char *pvData)函数来实现。具体程序如下。uchar AM2301_CollectIntData(int *pvHumidity,int *pvTemperature)unsigned char lvReturn=1,lvCount;unsigned int lvTemp16=0;int lvTemp;unsigned char lvHumidityHigh=0; /湿度高位unsigned char lvHumidityLow=0; /湿度低位unsigned char lvTemperatureHigh=0; /温度高位unsigned char lvTemperatureLow=0; /温度低位unsigned char lvCheck=0; /校验位/主机的操作SetDataBitOutput();SetDataBit();ClearDataBit(); /拉低总线delay16M_nus(190); /持续至少500us,现取600usSetDataBit(); /释放总线/主机检测丛机SetDataBitInput();delay16M_nus(1); /应延时20-40usif(TestDataBit()while(TestDataBit(); /等待响应信号delay16M_nus(1); /应延时20-40usif(!(TestDataBit() while(!(TestDataBit() ;/判断丛机是否发送了80us的高电平信号while(TestDataBit(); /等待高电平结束AM2301_ReadByte(&lvHumidityHigh);AM2301_ReadByte(&lvHumidityLow);AM2301_ReadByte(&lvTemperatureHigh);AM2301_ReadByte(&lvTemperatureLow);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《电梯维修与保养》试题1
- 2025年秋北京版数学二年级上册教学计划
- 2025餐厅员工劳动合同协议书范本
- 特色农产品电商平台农产品电商平台技术创新与产业融合评估
- 深度研究2025年废旧电子产品回收利用与无害化处理技术现状报告
- 2025年舞蹈训练试卷及答案
- 2025年新疆生物会考试卷及答案
- 聚焦风险控制与合规经营2025年互联网金融科技服务平台研究报告
- 2025年教师招聘之《小学教师招聘》综合提升试卷附完整答案详解(易错题)
- 砌体工程方案审查意见(3篇)
- 2025年国家电网公司招聘岗位竞聘模拟题及答案
- 隧道施工应急预案与响应方案
- 2025年广播电视技术能手预选赛竞赛试题含答案
- 2025年健身教练专业技能测评考试试题及答案解析
- 2025年山东高考化学试题及答案
- 2025-2026北师大版二年级数学上册(全册)教案设计
- 环卫人员安全知识培训课件
- 诉讼业务培训课件
- 2025青海黄南尖扎县公安局面向社会招聘警务辅助人员35人笔试参考题库附答案解析
- 12345热线培训课件
- 人教版(2024)一年级全一册体育与健康第二单元 健康行为与生活方式 教案
评论
0/150
提交评论