日照职业技术学院嵌入式实训设计报告2012-2013学年第一学期题目:基于嵌入式ARM的数字温度测量仪100学院:信息科学与工程学院专业:移动通信技术(3G软件开发)班级:2011级移动通信一班学号:学生姓名:指导教师:陈祥艳日期:日照职业技术学院信息科学与工程学院1目录目录第一章绪论1.1引言11.2系统方案设计11.3方案设计2第二章系统主要器件2.1EasyARM2131开发板22.2温度传感器DS18B2022.3MS12864R液晶屏简介4第三章硬件设计3.1ARM7开发板硬件设计73.2LCD液晶屏显示设计7第四章系统的软件设计4.1系统主流程图94.2温度传感器功能模块104.3液晶显示功能模块10第五章总结11日照职业技术学院信息科学与工程学院1数字温度测量仪1绪论1.1引言近年来随着科技的飞速发展,嵌入式的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的嵌入式应用系统中,嵌入式往往作为一个核心部件来使用,仅嵌入式方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。温度是一种最基本的环境参数,人们生活与环境温度息息相关,在工业生产过程中需要实时测量温度,在工业生产中也离不开温度的测量,因此研究温度的测量方法和控制具有重要的意义。DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器,通过此次项目设计,可以在原有的理论基础上,更加深入的了解传感器的工作原理特别是DS18B20温度传感器的工作原理,同时提高我们的实践动手能力以及逻辑思维能力,特别是拓宽了对ARM控制器的使用视野。数字温度计的控制方式很多。本系统采用LPC2000系列ARM芯片和可编程串行I/O接口芯片DS18B20为中心器件来设计数字温度计,实现了设计一个数字温度采集系统,利用LCD液晶屏显示当前温度并具有温度超限报警功能。1.2系统方案设计利用控制芯片、温度传感器、LCD液晶屏、LED等分别实现:(1)实时显示当前室内温度(5(度)T80(度));(2)温度超限报警;设计方案总体框图如下:系统初始化后,LCD上显示当前室内温度,如果温度超过预先设定的温度值,八个LED灯会闪烁提示温度超限。温度传感器ARM7LPC2131显示报警模块日照职业技术学院信息科学与工程学院21.3方案设计:(1)显示模块使用LCD液晶屏12864作为温度显示,LCD液晶显示器的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。显示清晰,实现功能全。(2)温度传感器DS18B20数字温度传感器,该产品采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。(3)报警电路报警电路采用8只LED,控制方便、准确。2系统主要器件2.1EasyARM2131开发板EasyARM2131开发板是广州周立功公司设计的EasyARM系列开发套件之一,采用了PHILIPS公司基于ARM7TDMI-S核、单电源供电、LQFP64封装的LPC2131,具有JTAG仿真调试、ISP编程等功能。开发板上提供了一些键盘、LED、蜂鸣器等常用功能部件,还具有RS232接口电路、I2C存储器电路。另外,用户也可以更换兼容的CPU进行仿真调试,如LPC2132、LPC2138、LPC2142等。灵活的跳线组合(开发板内使用的所有I/O均可断开连接),还有用户I/O接口,极大地方便了用户进行32位ARM嵌入式系统的开发实验。2.2温度传感器DS18B20DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点(1)、只要求一个端口即可实现通信。(2)、在DS18B20中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在-55。C到+125。C之间。(5)、数字温度计的分辨率用户可以从9位到12位选择。(6)、内部有温度上、下限告警设置。日照职业技术学院信息科学与工程学院3DS18B20的引脚介绍TO-92封装的DS18B20的引脚排列见下图1,其引脚功能描述见下表1。DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时序是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。日照职业技术学院信息科学与工程学院4DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。2.3MS12864R液晶屏简介MS12864R汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。主要技术参数和显示特性:电源:VDD3.3V~+5V(内置升压电路,无需负压);显示内容:128列×64行显示颜色:黄绿显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等模块引脚说明MS128X64R引脚说明日照职业技术学院信息科学与工程学院5引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效18VOUT19LED_K-背光源负极(LED-OV)20LED_A-背光源正极(LED+5V)逻辑工作电压(VDD):4.5~5.5V电源地(GND):0V工作温度(Ta):0~60℃(常温)/-20~75℃(宽温)接口时序模块有并行和串行两种连接方法(时序如下):8位并行连接时序图MPU写资料到模块日照职业技术学院信息科学与工程学院6MPU从模块读出资料串行连接时序图串行数据传送共分三个字节完成:第一字节:串口控制—格式11111ABCA为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD日照职业技术学院信息科学与工程学院7B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T=25℃VDD=4.5V)3硬件设计3.1ARM7开发板硬件设计ARM7LPC213系统实现如下功能:(1)控制温度传感器DS18B20读取当前温度值;(2)控制LCD液晶屏显示当前温度。(3)控制LED温度超限报警。3.2LCD液晶屏显示设计:LCD液晶屏显示电路如下图所示。该液晶可实现显示当前的温度值,具体控制和实现方法如下:(1)ARM7的P0.0-P0.7口连接液晶屏的DBO-DB7,控制对液晶屏并行数据读和写;(2)ARM7的P0.8口连接液晶屏的RS口,控制并行的指令/数据选择信号;(3)ARM7的P0.9口连接液晶屏的R/W口,控制并行的读写选择信号;(4)ARM7的P0.10口连接液晶屏的EN口,控制并行的使能信号;;(5)ARM7的P0.11口连接液晶屏的PSB口,控制并/串行接口选择:H-并行;L-串行;(6)ARM7的P0.12口连接液晶屏的RET口,实现对液晶屏的复位,低电平有效;日照职业技术学院信息科学与工程学院8LCD液晶屏电路图DS18B20温度传感器的设计电路如下图所示,该温度传感器电路可实现对温度传感器DS18B20数据的读写,具体控制方法如下:(1)ARM7的P0.30口连接DS18B20的DQ口,控制串行数据的读和写;(2)DS18B20的VDD连接到ARM7开发板的VDD上;(3)DS18B20的GND连接到ARM7开发板的GND上;温度传感器电路日照职业技术学院信息科学与工程学院94系统的软件设计4.1系统主流程图图为系统主流程图,主流程图具体介绍如下:(1)系统初始化包括对DS18B20进行初始化、设定GPIO、RTC初始化、液晶屏初始化;(2)初始化之后显示当前室内温度;(3)判断室内温度是否超过预先设定值,如果超过驱动LED闪烁报警。系统主流程图开始系统初始化显示温度温度超过限?YLED闪烁报警N日照职业技术学院信息科学与工程学院104.2温度传感器功能模块温度传感器功能模块流程图4.3液晶显示功能模块液晶显示功能模块流程图开始初始化温度传感器向温度传感器写指令读取温度传感器数据结束数据转化为温度显示开始结束写数据到LCD写命令到LCDLCD初始化日照职业技术学院信息科学与工程学院115总结本系统利用控制芯片、温度传感器、LCD液晶屏、LED等分别实现:(1)实时显示当前室内温度;(2)能够通过键盘输入日期和时间的初值;(3)温度超限报警;一周的综合电子工艺课程设计结束了,可能在别人看来,这或许只是一个小的设计,可是它给于我的却不仅仅是这样,认真的做课程设计,运用ARM做一个系统的东西,我从心里给予了足够的重视。刚开始做总是出问题,多次重新分析,从细节着手寻找问题,最后找到了。发现自己想象的太多、太复杂,实际上只需要很简单的一种方法就可以的,问题解决了,也给我很多收获。我觉得自己的方法不可行,关键的原因在于自己对ARM的工作原理没有透彻的理解,所以就不能很好的理解老师的设计要求,结果就造成了很多的弯路,找不到一种合理的途径去解决问题。希望以后有机会可以多做一些这样的设计,增强自己的设计意识,加深所学的知识。