智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc

上传人:小小飞 文档编号:5023417 上传时间:2020-01-29 格式:DOC 页数:37 大小:1.20MB
返回 下载 相关 举报
智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc_第1页
第1页 / 共37页
智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc_第2页
第2页 / 共37页
智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc_第3页
第3页 / 共37页
智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc_第4页
第4页 / 共37页
智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc》由会员分享,可在线阅读,更多相关《智能仪表综合训练设计说明书-单片机温度实时曲线的显示.doc(37页珍藏版)》请在三一文库上搜索。

1、内蒙古科技大学智能仪表综合训练设计说明书 I 中文摘要中文摘要 液晶是现在电子产品中使用越来越多的一种显示器件。我们经常会在各种各样的电 子产品和仪器上看到液晶显示器的存在。这些液晶品种繁多,功能不一 ,有的是字符型 ,有 的是点阵型常常用来显示各种参数 ,包括电压、电流、温度及各种电气参数和一些特 定信息。液晶不但用来显示各种文字还可以被设计成各种图案、通过改变里面特定显 示 的内容 ,还还可以动态的显示各种图案及画面。液晶的使用打破了以往单一声光显 示功能 ,为人们提供了更多丰富多彩的显示信息。使显示的内容更加形象化 、生动化。 本设计采用以单片机为核心的低成本、高精度、微型化数字显示温度

2、实时曲线的硬 件电路和软件设计方法。整个电路采用模块化设计,由主程序、中断程序、DS18B20 温 度转换的驱动程序、显示子程序等模块组成。DS18B20 温度传感器数字信号经单片机综 合分析处理,实现温度显示以及曲线绘图各种功能。在此基础上设计了系统的总体方 案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程 图。 关键词:关键词:AT89S52 单片机;DS18B20 温度传感器;12864 液晶显示模块; 内蒙古科技大学智能仪表综合训练设计说明书 II 目录目录 中文摘要 I 第 1 章 前言 .1 1.1 液晶的概述 1 1.2 液晶显示的意义 1 1.3 液晶

3、 LCD 的各类应用 1 1.4 课程设计的任务和要求 2 第 2 章 液晶显示温度曲线方案设计 .3 2.1 总体选型方案.3 2.1.1 温度检测电路选型方案.3 2.1.2 液晶显示模块选型方案 .3 2.1.3 键盘输入模块选型方案 .3 2.2 整体设计思路.3 第 3 章 液晶温度显示硬件设计 .4 3.1 控制模块硬件设计 4 3.1.1 AT89S52 单片机简介 .4 3.1.2 AT89S52 单片机最小系统硬件设计 .5 3.2 液晶显示模块硬件设计.6 3.2.1 LCD12864ZK 液晶模块介绍 6 3.2.2 液晶显示模块硬件设计 .9 3.3 温度模块的硬件设计

4、10 3.3.1 温度传感器 DS18B20 概述 10 3.3.2 温度模块的硬件设计 11 第 4 章 液晶显示系统软件设计 13 4.1 主程序设计13 4.2 液晶显示模块的设计 .13 4.2.1 12864 程序设计 13 4.2.2 12864 程序设计流程图 15 4.3 温度模块软件设计 .17 4.3.1 DS18B20 测温数据的读取程序设计 17 4.3.2 DS18B20 温度读取流程 20 第 5 章 总结 22 参考文献 .23 附录 A:温度实时曲线显示硬件原理图24 内蒙古科技大学智能仪表综合训练设计说明书 III 附录 B:软件程序25 内蒙古科技大学智能仪

5、表综合训练设计说明书 1 第第 1 1 章章 前言前言 1.11.1 液晶的概述液晶的概述 物质通常分为三种型态 晶体(固体)、液体、气体 。 某些 固体物质在一定条件下会呈现液态晶体状态 。这种状态既不同于各向同性 的液体,也不同于在三维空间分子完全规则排列的固体晶体,但又具有液体的流动性、 连续性和分子排列的有序性。这种处于液体和晶体之间过渡相态的物质称为液晶。 液晶分为热致液晶和溶致液晶。前者是物质在某一温度范围内呈现液晶状态,后者 是物质溶于水或有机溶剂而形成的。用于电子器件的液晶为热致液晶。现在的液晶物 质均为芳香族化合物,已被发现的液晶物质多达 3000 余种 。 液晶分子呈棒状或

6、条状,宽约十几 nm(纳米),长约数 nm 液晶分子有较强的电偶极 矩和容易极化的化学团。由于液晶分子间的作用力比固体弱,所以液晶分子容易呈现各 种状态。液晶分子的介电常数、电导率、折射率、磁化率等具有较大的各向异性 ,在 外加电场作用下会产生各种电光效应,从而可应用于液晶显示器(Liquid Crystal Display Device ,缩写为 LCD) 。 1.21.2 液晶显示的意义液晶显示的意义 随着计算机技术的发展 ,基于微处理器的智能仪表已成为仪表的主体.而越来越多 的智能仪表采用图形点阵液晶模块后 ,提供了丰富灵活的显示内容 ,更符合人性化的 特点.智能仪表的功能是否强大、用户

7、操作性是否方便 ,都必须通过界面友好的外观和 可操作性来体现。可见 ,人机界面是智能仪表开发中的主要环节 ,在开发的工作量中 占了很大的比例.现有技术中智能仪表人机界面一般由液晶显示器和微处理器组成。目 前 ,已有很多文献对液晶显示技术、图形用户界面设计作了研究。 1.31.3 液晶液晶 LCDLCD 的各类应用的各类应用 1)办公自动化(OA) 。如 PC 机、台式计算机、传真机、复印机、文字处理机等 。 2)个人数字助理(PDA) 。如笔记本电脑、袖珍计算机、计算器、电子信笺(备忘) 等。 3)设备自动化(FA) 。如测量设备、提升机、电梯等 。 4)通讯 。如无绳 电话、个人手提 电话系

8、统、多功能电话、手提数据终端、蜂 窝电话等。 内蒙古科技大学智能仪表综合训练设计说明书 2 5)车辆设备。如汽车收音机、汽车音响、汽车 VCD、速度表、汽车导航系统 (GPS)等。 1.41.4 课程设计的任务和要求课程设计的任务和要求 设计温度实时曲线显示测量仪,任务: 温度变化时能及时再现正确的温度数值多大,并且可以看到液晶显屏上描绘的实 时温度曲线。 设计温度测量仪,要求: 1) 设计出温度实时曲线显示测量仪的硬件结构电路。 2) 设计软件流程图并编写程序。 3) 精度等级是 0.5。 内蒙古科技大学智能仪表综合训练设计说明书 3 第第 2 2 章章 液晶显示温度曲线方案设计液晶显示温度

9、曲线方案设计 2.12.1 总体选型方案总体选型方案 2.1.12.1.1 温度检测电路选型方案温度检测电路选型方案 考虑到经济、测温精度与 52 单片机 I/O 口的资源等因素。温度检测电路采用智能 温度传感器 DS18B20,它与单片机相连只需要 3 线,减少了外部的硬件电路。并且温度 传感器 DS18B20 输出的信号为数字信号,可以被单片机直接采集。省去了一般温度传 感器输出信号要经过放大电路,模数转换的环节。 2.1.22.1.2 液晶显示模块选型方案液晶显示模块选型方案 由于要显示温度实时曲线,故传统的小的液晶显示屏 1602 不能满足本课题要求。 故选用更宽,更大点的液晶显示屏

10、12864ZK。它可以显示半宽字型,显 CGRAM 字型,显 示中文字形。更为重要的是显示实时曲线必须满足打点要求,由于它具有绘图功能故 满足打点要求。 2.1.32.1.3 键盘输入模块选型方案键盘输入模块选型方案 采用独立键盘,它的功能是作为 52 单片机触发外部中断硬件。 2.22.2 整体设计思路整体设计思路 本课题设计的是液晶显示温度实时曲线,首先要达到的最简单想法是可以在液晶 屏上显示温度,要显示温度,必须将温度传感器输出(数字量)信号传送至单片机, 通过程序对信号进行处理,所以在这里我们需要存储器来储存一些必要的信息,之后 是显示这里的显示我们是用 LCD 显示,在这里要提到键盘

11、的作用,键盘在这里是实现 显示界面的切换。设计思路图见图 2.1。 单单 片片 机机 温温度度传传感感器器液液晶晶显显示示模模块块温温度度 独独立立键键盘盘 电电源源模模块块 图 2.1 液晶显示整体方案设计图 内蒙古科技大学智能仪表综合训练设计说明书 4 第第 3 3 章章 液晶温度显示硬件设计液晶温度显示硬件设计 3.13.1 控制模块硬件设计控制模块硬件设计 3.1.13.1.1 AT89S52AT89S52 单片机简介单片机简介 3.1.1.13.1.1.1 硬件结构硬件结构 该系统采用的是 Atmel 公司生产的 AT89S52 单片机为主控器。At89S52 是一种低 功耗、高性能

12、 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片 上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧 的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供 高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器, 一个 6 向量 2 级中断结构,全双

13、工串行口, 片内晶振及时钟电路。另外,AT89S52 可 降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存, 振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制 器 8K 字节在系统可编程 Flash AT89S52 在单片机的引脚外围固定的引脚,如 VCC(40) ,GND(20)已经正确固定到电源和 地上。X1(18),X2(19)是接晶振的引脚已经外接到 11.0592MHZ 和 30PF 的电容。 RST(9)是单片机的复位引脚,

14、通过 RC 回路,作为单片机的上电复位。 作为 P3 口的第二功能端口,P3.0(10),P3.1(11)为单片机的通信引脚,和 MAX232 芯片连接。方便在下载程序时,只要上电复位即可完成下载的硬件操作。另外, 为了提高 P0 口的驱动能力,在 P0 口的各引脚上接了上拉电阻 5.1K 到电源 Vcc=5V。采 用一片 MAX232,为 RS232 与 TTL 电平的转换,使得可以方面使用电脑的 COM 口对单片 机进行程序的烧录。其芯片引脚图如图 3.1 所示。 内蒙古科技大学智能仪表综合训练设计说明书 5 EA/VPP 31 XTAL1 19 XTAL2 18 RST 9 P3.7(R

15、D) 17 P3.6(WR) 16 P3.2(INT0) 12 P3.3(INT1) 13 P3.4(T0) 14 P3.5(T1) 15 P1.0(T2) 1 P1.1(T2EX) 2 P1.2 3 P1.3 4 P1.4 5 P1.5(MOSI) 6 P1.6(MISO) 7 P1.7(SCK) 8 (AD0)P0.0 39 (AD1)P0.1 38 (AD2)P0.2 37 (AD3)P0.3 36 (AD4)P0.4 35 (AD5)P0.5 34 (AD6)P0.6 33 (AD7)P0.7 32 (A8)P2.0 21 (A9)P2.1 22 (A10)P2.2 23 (A11)P

16、2.3 24 (A12)P2.4 25 (A13)P2.5 26 (A14)P2.6 27 (A15)P2.7 28 PSEN 29 ALE/PROG 30 (TXD)P3.1 11 (RXD)P3.0 10 GND 20 VCC 40 U? AT89S52 图 3.1 AT89S52 引脚图 3.1.23.1.2 AT89S52AT89S52 单片机最小系统硬件设计单片机最小系统硬件设计 1)单片机复位电路硬件设计原理图,如图 3.2 所示。 10K R1 Res2 S1 SW-PB 10uF C2 Cap RST VCC 图 3.2 复位电路原硬件原理图 2)单片机的时钟电路硬件设计原理图

17、,如图 3.3 所示。 12 Y1 11.0592M 100p C 1 100pF C 3 C ap X1 X2 图 3.3 时钟电路硬件原理图 内蒙古科技大学智能仪表综合训练设计说明书 6 3)单片机的电源电路硬件设计原理图,如图 3.4 所示。 0.1uF C4 Cap 100uF CE2 Cap Feed 1K R4 Res2 1 2 3 4 USB POWER DS1 LED0 VCC S6 SW-SPST 图 3.4 电源电路原理图 4)中断按键硬件设计原理图,如图 3.5 所示。 S4 SW-PB S3 SW-PB INT1 INT0 图 3.5 中断按键硬件原理图 3.23.2

18、液晶显示模块硬件设计液晶显示模块硬件设计 3.2.13.2.1 LCD12864ZKLCD12864ZK 液晶模块介绍液晶模块介绍 3.2.1.13.2.1.1 基本功能基本功能 LCM12864ZK 中文液晶显示模块的屏幕由 128*64 点构成 ,可显示四行、每行 8 个 汉字。其字型 ROM 内含 8192 个 16*16 点的中文字型和 128 个 16* 8 点的半宽字母符号 字型。绘图显示 RAM(GDRAM)提供 64*32BYTE 空间、最多控制 256*64 点的二维绘图缓 冲空间 ,绘图显示画面提供一个 64*256 点的绘图区域。 造字 RAM (CGRAM)提供 4 组

19、软件可编程的 16*16 点阵造字功能。 LCM12864ZK 与单片机等微控器的接口界面灵活 ,有并行、串行两种模式 ,其中并 行模式又有 8 位/4 位两种接法,串行模式又分 3 线 /2 线两种接法。 3.2.1.23.2.1.2 引脚功能引脚功能 (见表 3.1) 内蒙古科技大学智能仪表综合训练设计说明书 7 表 3.1 12864ZK 引脚功能 引脚名称功能 1K 背光源负极 2A 背光源正极 3GND 地 4VCC3V/5V 5NC 未连接 6RS (并行)选择寄存器 (0:指令寄存器 1:数据寄存 器);(串行)片选 (0:禁止 1:允许) 7 RW (并行)读写控制脚 (0:写

20、入 1:读 ) ; (串行 ) 输 入串行数据 8E(SCLK) (并行)写数据启始脚 (串行)输入串行脉冲 916 DB0DB7I/O 数据线 07 17PSB 控制界面 0:串行 1:并行 8 /4 位 18 /RST 复位信号,低有效 19,20VR,V0 LCD 亮度调整,外接电阻端 3.2.1.33.2.1.3 功能指令系统简介功能指令系统简介 LCM12864ZK 以 ST7920 为内核,其指令系统分为基本指令集和扩充指令集。基本指 令集包括清除显示、位地址清零、进入点设定、显示状态开/关、光标或显示移位控制、 功能设定、设定 CGRAM 位址、设定显示数据 RAM (DDRAM

21、)位址、读取忙标志(BF)、写数 据到 RAM(DDRAM/CGRAM /GDRAM)、读出 RAM 的值等指令;扩充指令集包括待命模式、卷 动位址或 RAM 位址、选择睡眠模式、扩充功能设定、设定光标位址(IRAM)或卷动位址、 设定绘图 RAM 地址等指令。 下面介绍本课题中常用的 12864 功能指令,见表 3.2,3.3。 内蒙古科技大学智能仪表综合训练设计说明书 8 1)指令表 3.2(RE=0:基本指令集) 2)指令表 3.3(RE=1:扩展指令集) 指令码 指令 R S R W DB7 DB6DB5DB4DB3DB2DB1DB0说明 0000000001 将 DDRAM 填满“2

22、0H” ,并且设定 指令码 指令 R S R W DB 7 DB 6 DB 5 DB 4 DB 3 DB 2 DB 1 DB 0 说明 清除 显示 0000000001 将 DDRAM 填满“20H” ,并且设定 DDRAM 的 地址计数器(AC)到 “00H” 功能 设定 00001DLX0 RE XX DL=1(必须设为 1) RE=1:扩充指令集动 作 RE=0:基本指令集动 作 设定 CGRAM 地址 0001AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 设定 CGRAM 地址到地 址计数器(AC) 设定 DDRAM 地址 001AC 6 AC 5 AC 4 AC 3 A

23、C 2 AC 1 AC 0 设定 DDRAM 地址到地 址计数器(AC) 读取 忙碌 标志 (BF )和 地址 01BFAC 6 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 读取忙碌标志(BF) 可以确认内部动作是 否完成,同时可以读 出地址计数器(AC) 的值 写资 料到 RAM 10D7D6D5D4D3D2D1D0 写入资料到内部的 RAM(DDRAM/CGRAM/IR AM/GDRAM) 读出 RAM 的 值 11D7D6D5D4D3D2D1D0 从内部 RAM 读取资料 (DDRAM/CGRAM/IRAM/ GDRAM) 内蒙古科技大学智能仪表综合训练设计说明书 9 待

24、命模式DDRAM 的地址计数器 (AC)到“00H” 卷动地址 或 IRAM 地 址 选择 000000001SR SR=1:允许输入垂直卷 动地址 SR=0:允许输入 IRAM 地址 反白选择 00000001R1R0 选择 4 行中的任一行 作反白显示,并可决定 反白与否 睡眠模式 0000001SLXX SL=1:脱离睡眠模式 SL=0:进入睡眠模式 扩充功能 设定 000011X 1 RE G0 RE=1: 扩充指令集动 作 RE=0: 基本指令集动 作 G=1 :绘图显示 ON G=0 :绘图显示 OFF 设定 IRAM 地址或卷 动 地址 0001AC5AC4AC3AC2AC1AC

25、0 SR=1:AC5AC0 为垂 直卷动地址 SR=0:AC3AC0 为 ICON IRAM 地址 设定绘图 RAM 地址 001AC6AC5AC4AC3AC2AC1AC0 设定 CGRAM 地址到地 址计数器(AC) 备注: 1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取 BF 标志时 BF 需为 0,方可接受新的指令;如果在送出一个指令前并不检查 BF 标志, 那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确 实执行完成,指令执行的时间请参考指令表中的个别指令说明。 2、 “RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元

26、后,往 后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时, 不需每次重设“RE”位元。 3.2.23.2.2 液晶显示模块硬件设计液晶显示模块硬件设计 该模块设计的液晶显示器的数据端口连接在了单片机的 P0 口,而控制端 RS、RW、EN 分别接单片机的 P2.6、P3.6、P2.7。LCD12864ZK 低电平复位,电源 5V 直 流供电。硬件电路如图 3.7 所示。 内蒙古科技大学智能仪表综合训练设计说明书 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 JP2 LCD12864 GND VCC LCD

27、_RS LCD_RW LCD_DB0 LCD_DB1 LCD_DB2 LCD_DB3 LCD_DB4 LCD_DB5 LCD_DB7 PSB LEDA LEDB LCD_DB6 1K R5 RPot VCC RST1 NC NC LCD_E VCC VCC VCC 1K R8 Res3 S2 SW-PB VO 1K R? Res2 图 3.7 12864 液晶显示原理图 3.33.3 温度模块的硬件设计温度模块的硬件设计 3.3.13.3.1 温度传感器温度传感器 DS18B20DS18B20 概述概述 温度传感器是将温度信号转换为电信号的装置,型号有很多,数字式温度传感器 常用的有 DS18

28、B20、DS1820 等。此设计采用的是 DS18B20。 DS18B20 是 DALLAS 公司生产的一线式数字温度传感器,是世界上第一片支持“ 一 线总线”接口的温度传感器, 在其内部使用了在板(ON-BOARD)专利技术。具有 3 引脚 TO92 小体积封装形式;温度测量范围为55125,可编程为 9 位12 位 A/D 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串行输 出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个 DS18B20 可以并 联到 3 根或 2 根线上,CPU 只需一根端口线就能与诸多 DS18B20 通信,占用微处理器

29、的 端口较少,可节省大量的引线和逻辑电路。 DS18B20 内部结构如图 3.8 所示,主要由 4 部分组成:64 位 ROM、温度传感器、非 挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列见下节图 3.9 所示, DQ 为数字信号输入输出端;GND 为电源地;VDD 为外接供电电源。 64位 ROW 和一 线端 口 存储和控制逻辑 高速暂存器 8位CRC生成器 温度传感器 高温触发器TH 低温触发器TL 配置寄存器 供电方式 选择 VCC DQ 图 3.8 DS18B20 内部结构框图 内蒙古科技大学智能仪表综合训练设计说明书 11 ROM 中的 64 位序列号

30、是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列 码,每个 DS18B20 的 64 位序列号均不相同。64 位 ROM 的排的循环冗余校验码 (CRC=X8X5X41) 。ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现 一根总线上挂接多个 DS18B20 的目的。 DS18B20 中的温度传感器完成对温度的测量,用 16 位符号扩展的二进制补码读数 形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位。例如125的数字输出为 07D0H,25.0625的数字输出为 0191H,25.0625的数字输出为 FF6FH,55 的数字输出为 FC90

31、H。 DS18B20 主要特性如下: 适应电压范围更宽, 电压范围:3.0V5.5V, 在寄生电源方式下可由数据线供 电; 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现 微处理器与的双向通讯; DS18B20支持多点组网功能, 多个DS18B20可以并联在唯一的三线上, 实现组网 多点测温; DS18B20在使用中不需要任何外围元件, 全部传感元件及转换电路集成在形如一 只三极管的集成电路内; 温度范围-55+125 , 在-1085 时精度为0.5; 可编程的分辨率为9-12位, 对应的可分辨温度分别为0.5、0.25、0.125 和0.0625, 可实现高

32、精度测温; 在9位分辨率时最多在93.75ms内把温度转换为数字, 位分辨率时最多在750ms内 把温度值转换为数字, 速度更快; 测量结果直接输出数字温度信号, 以“ 一线总线”串行传送给CPU, 同时可传 送CRC校验码, 具有极强的抗干扰纠错能力; 负压特性电源极性接反时, 芯片不会因发热而烧毁, 但不能正常工作。 3.3.23.3.2 温度模块的硬件设计温度模块的硬件设计 温度的测量是采用数字温度传感器 DS18B20,外围电路如图所示。当 DS18B20 正在 执行温度转换或从高速暂存器 EPPROM 传送数据时,工作电流可达 1.5mA,这个电流可 能会引起连接单总线的弱上拉电阻的

33、不可接受的压降,这需要更大的电流,而此时 Cpp(寄生电源储能电容)无法提供,为了保证 DS18B20 有充足的供电,当进行温度转 内蒙古科技大学智能仪表综合训练设计说明书 12 换或拷贝数据到 EEPROM 操作时,必须给单总线一个上拉电阻,一般为 4.7K 的上拉电 阻,根据距离远近可以适当调节阻值,距离近时减小阻值,但不能低于 2.1K,否则 DS18B20 将无法复位。其数据线 DQ 端接单片机 P1.0 口。硬件电路如图 3.9 所示。 图 3.9 DS18B20 接线 在外部电源供电方式下, DS18B20 工作电源由 VDD 引脚接人, 不存在电源电流不足 的问题, 可以保证转换

34、精度, 同时在总线上理论可以挂接任意多个 DS18B20 传感器, 组成多点测温系统。注意在外部供电的方式下, DS18B20 的 GND 引脚不能悬空, 否则不 能转换温度, 读取的温度总是 85。 内蒙古科技大学智能仪表综合训练设计说明书 13 第第 4 4 章章 液晶显示系统软件设计液晶显示系统软件设计 4.14.1 主程序设计主程序设计 主程序要满足不断地采集温度信息,实时显示温度数值,描绘温度实时曲线,等 要求。故主程序流程图见图 4.1。 主主程程序序开开始始 单单片片机机初初始始化化 LCD初初始始化化 LCD中中GDRAM 的的内内容容清清零零 屏屏幕幕上上画画坐坐标标 DS1

35、8B20初初始始化化 读读取取温温度度数数据据 并并处处理理 flag=0? 在在LCD屏屏幕幕上上打打点点; 右右上上方方显显示示温温度度数数值值 显显示示汉汉字字 的的界界面面 Y N flag1=1? 画画坐坐标标; Flag1=0; Y N 图 4.1 主程序流程图 4.24.2 液晶显示模块的设计液晶显示模块的设计 4.2.14.2.1 1286412864 程序设计程序设计 4.2.1.14.2.1.1 12864ZK12864ZK 控制器指令操作方式控制器指令操作方式 该课题使用液晶模块控制驱动器 ST7920,它提供了并行和串行两类指令操作方式。 这两种控制方式,由外部 PSB

36、 引脚来选择: 当 PSB 引脚输入高电平时,为并行操作方式。 内蒙古科技大学智能仪表综合训练设计说明书 14 当 PSB 引脚输入低电平时,为串行操作方式。 其中,并行操作方式又可以分为 8 位并行操作方式和 4 位并行操作方式两种。下 面只对这 8 位并行操作方式进行介绍。 12864ZK 液晶模块 8 位并行连接时序图: (1)MPU 写资料到模块,见图 4.2。 图 4.2 MPU 写资料到模块时序图 (2)MPU 从模块读出资料,见图 4.3。 图 4.3 MPU 从模块读出资料时序图 主控制系统将配合(RS、RW、E、DB0DB7)来完成数据传送。从一次完整的流程 来看,当执行设定

37、地址(CGRAM,DDRAM,IRAM 等)指令后,若要读取数据则需要先空 读一次,才能得到正确的数据。第二次读取时不需要空读,除非又执行一次设定地址 指令才需要再次空读一次。 4.2.1.24.2.1.2 LCMLCM 绘图过程分析绘图过程分析 图形显示程序的关键在于解决图形坐标系、屏幕坐标系、GDRAM 坐标系的转换问题,也 就是确定要显示的点对应在液晶屏面上像素的位置和在 GDRAM 中的地址。得到这个对 内蒙古科技大学智能仪表综合训练设计说明书 15 应关系后 ,我们就可以通过将某个存储单元中的某一位置为 1 来实现在液晶屏上画出 这个点。LCM12864ZK 的水平与垂直地址示意图如

38、图 4.4 所示 2 。 图 4.4 LCM12864ZK 水平地址与垂直地址示意图 LCM12864ZK 液晶模块内 GDRAM 与液晶屏幕的对应关系如图 4.5 所示。 图 4.5 GDRAM 与液晶屏幕的对应关系示意图 由以上 GDRAM 排列顺序及其与液晶屏幕的对应关系可知: (1) LCM12864ZK 的绘图 RAM(GDRAM)为 64 行*32BYTE/行(64 行*16WORD/行 )。 (2) 在液晶屏幕上只能显示 1283 64 个点 ,对应于 GDRAM 中 128*64bit。当 GDRAM 的横坐标小于 8 并且纵坐标值小于 32 时,其内容将显示在屏幕上半部,当

39、GDRAM 的横坐 标为 815 并且纵坐标值小于 32 时,其内容将显示在屏幕下半部;当 GDRAM 的纵坐标大 于 31(3263)时其内容将不能显示在屏幕上。 LCM12864ZK 在已知 GDRAM 位址的情况下,写图 RAM 步骤如下: (1) 先将垂直坐标 Y 写入(063) ; (2) 再将水平坐标 X 写入(015) ; (3) 将 D15D8 数据写入; (4) 将 D7D0 数据写入。 在实际绘图过程中,由于每一个 GDRAM 地址对应于 16 个位(BIT)地址,所以如果第 二次写 GDRAM(H,V),则该 RAM 中其他位的值有时会改变,为了避免这种改变,需要事先将

40、该地址中的内容读出来 (ST7920 有此功能)与此次要写入的值取或后作为最终值写入。 内蒙古科技大学智能仪表综合训练设计说明书 16 4.2.24.2.2 1286412864 程序设计流程图程序设计流程图 由上述 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=0xFF; RS=1; RW=1; 使使能能端端E=1; P0口口从从LCD 读读数

41、数据据; E=0; 函函数数返返回回 图 4.5 MPU 往模块写数据流程图 图 4.6 MPU 从模块读出数据流程图 读读指指令令开开 始始 E=0; P0=0xFF; RS=0; RW=1; 使使能能端端E=1; P0口口从从LCD 读读指指令令; E=0; 函函数数返返回回 写写指指令令开开 始始 E=0; RS=0; RW=0; P0口口往往LCD 写写指指令令; 使使能能端端E=1; E=0; 函函数数返返回回 图 4.7 MPU 从模块指令信息流程图 图 4.8 MPU 往模块写指令流程图 内蒙古科技大学智能仪表综合训练设计说明书 17 打打点点函函数数 开开始始 确定输入在 LC

42、D屏的位置 确确定定GDRAM 的的水水平平坐坐标标 与与垂垂直直坐坐标标 得得到到要要点点亮亮屏屏幕幕 某某点点数数据据 往往LCD送送GDRAM 的的垂垂直直坐坐标标,水水平平 坐坐标标 转转换换到到扩扩展展指指令令集集 读读高高字字节节数数据据; 读读低低字字节节数数据据; 被被读读高高字字节节或或上上高高 字字节节数数据据; 被被读读低低字字节节或或上上低低 字字节节数数据据; 高高低低字字节节数数据据送送 LCD 打打点点函函数数返返回回 往往LCD送送GDRAM 的的垂垂直直坐坐标标,水水平平 坐坐标标 图 4.9 绘图程序流程图 4.34.3 温度模块软件设计温度模块软件设计 4

43、.3.14.3.1 DS18B20DS18B20 测温数据的读取程序设计测温数据的读取程序设计 对室内温度的检测室通过数字温度传感器 DS18B20 实现的,在温度模块硬件电路 的设计中已经对的硬件电路做了设计,现在设计 DS18B20 的软件部分。 1.DS18B20 的内部数据部件 (1)光刻ROM中的64位序列号是出厂前被光刻好的, 它可以看作是DS18B20该 DS18B20的地址序列码。64位光刻的ROM排列是:开始8位(24H)是产品类型标号, 接着的 48位是该DS18B20自身的序列号, 最后8位是前面56位的循环冗余校验码 (CRC=X8+X5+X4+1)。光刻ROM的作用是

44、使每一个DS18B20都各不相同, 这样就可以实现 一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量, 以12位转化为例用16位符号扩 展的二进制补码读数形式提供, 以0.0625/LSB的形式表达, 其中S为符号。如图4.10 所示。 SSSSS 2625 24 232221202-1 2-22-32-4 Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 Bit15Bit8Bit14Bit9Bit11Bit13Bit10Bit12 LS Byte MS Byte 内蒙古科技大学智能仪表综合训练设计说明书 18 图4.10 DS18

45、B20温度值格式表 这是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)总线复位,首先必须对D

46、S18B20进行复位,由单片机给DS18B20单总线至少480Us 的低电平信号,当DS18B20接到此复位信号后,延时15-60us,通过大地总线60-240us 来产生应答脉冲。主机接收到从机的应答脉冲后,说明有单总线器件在线,通信双方 达成基本协议。复位时序如图4.11所示。 单片机接收复位脉冲 最小480us 最大 960us 单片机发送复位脉冲 DS18B20响应 60240us 最小480us 等待1560us 图4.11 复位时序图 (2)控制器发送ROM指令。一旦总线主机检测到应答信号,便可以发起ROM操作指令。 ROM指令一共有5条,见表格4.1每一个工作周期只能发一条。RO

47、M指令为8位长度,功能 是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接多少个 DS18B20并做出处理。一般只挂一个DS18B20时可以跳过ROM指令。 表 4.1 ROM 指令表 指令 代码功能说明 读ROM 0x33用于读出DS18B20内集成的64位激光ROM序列号 匹酪ROM 0x55 跳过ROM 0xCC 搜索ROM 0xF0 多个DS18B20在线时, 可用此命令匹配一个给定序列号, 此后命令就针对该芯片 忽略序列号, 对所有在线的DS18B20进行配置 用于读出在线的DS18B20的序列号 内蒙古科技大学智能仪表综合训练设计说明书 19 报警ROM 0xE

48、C对温度超过上限或者下限时,读出报警的DS18B20 (3)DS18B20 共有 9 个 RAM,每个字节为 8 位。第 1、2 个字节是温度转换后的数值 信息,3、4 个字节是用户 E2PROM(常用于温度报警值存储)的镜像,在上电复位时旗帜 被刷新。第五个字节则是用户第三个 E2PROM 的镜像。第 6、7、8 个字节为计数器寄存 器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的 暂存单元。第 9 个字节为前 8 个字节的 CRC 码。E2PROM 非易失性记忆体,用于存放长 期需要保存的数据。RAM 及 E2PROM 结构图如图 4.12 所示。 温度低字节 温

49、度高字节 TH/USER BYTE1 CONFING 保留 TH/USER BYTE2 保留 保留 CRC TH/USER BYTE1 CONFING TH/USER BYTE2 1 2 3 4 5 6 7 8 9 E2PROM 图 4.12 DS18B20 RAM 及 E2PROM 结构图 控制器发送存储器操作指令:在执行 ROM 指令后才能执行内存指令。在 ROM 指令 发送给 DS18B20 之后,紧接着就是发送存储器操作指令了。操作指令同样为 8 位,共 6 条,见表格 4.2。存储器操作指令的功能是控制 DS18B20 工作。 表 4.2 RAM 指令表 指令 代码功能说明 温度变换 0x44启动温度转换,12位转换最长750ms 读温度寄存器 0xBE读取温度寄存器的温度值 写温度寄存器 0x4E发出内部RAM的3、4字节写上下限温度数据命令,在该 命令后紧跟两个字节数据 复制温度寄存器 0x4B将RAM中的3、4字节数据复制到E2PROM中 重调E2PROM 0xB8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1