基于单片机的万年历加温度显示设计毕业设计(编辑修改稿)内容摘要:

图 34 DS18B20 芯片封装图 由其引脚可看出,其 3 个引脚 : GND 为电压地直接接地; DQ 为单数据总线用来与单片机相连接 ,本系统中 DS 与单片机 接口连接 ,仅此一个连接就能保证 DS18B20与单片机之间的数据交换; VDD 引脚接电源电压。 DS18B20 的工作原理 DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。 一个工作周期可分为两个部分,即温度检测和数据处理。 DS18B20共有三种形态的存储器资源 ,分别是: ROM 只读存储器 ,用于存放DS18B20ID编码,其前 8位是单线系列编码( DS18B20的编码是 19H),后面 48位是芯片唯一的序列号,最后 8位是以上 56位的 CRC码(冗余校验)。 数据在出产时设置不由用户更改。 DS18B20共 64位 ROM, RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失, DS18B20共 9个字节 RAM,每个字节为 8位。 第 2个字节是温度转换后的数据值信息,第 4个字节是用户 EEPROM(常用于温度报警值储存)的镜像。 在上电复位时其值将被刷新。 第 5个字节则是用户第 3个 EEPROM的镜像。 第 8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。 第 9个字节为前 8个字节的 CRC码。 EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据, DS18B20共 3位 EEPROM,并在 RAM都存在镜像,以方便用户操作。 我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为 DS18B20的硬件简单结果就会导致软件的巨大开消。 10 显示模块 本设计显示模块主要采用 LCD12864 液晶显示器,其电路原理图如下: 图 35 LCD12864模块 LCD12864 液晶显示器通过数据端口也即端口 7~ 14 与主控芯片 STC12C5A60S2的 I/O 端口 P2 相连接实现数据与指令的传输,再通过控制端口 RS、 RW、 EN 也即端口 4~ 6 与主控芯片 , , 端口相接实现对数据和指令传输的控制。 显示模块采用 12864 液晶显示器可实现对温度和时间的直接显示,清晰明了。 LCD12864 的特征 带中文字库的 LCD12864 是一种具有 4 位 /8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文 字库的点阵图形液晶显示模块其显示分辨率为12864, 内置 8192 个 16*16 点汉字和 128 个 16*8 点 ASCII 字符集。 利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。 可以显示 84行 1616 点阵的汉字 ,也可完成图形显示。 低电压低功耗是其又一显著特点。 由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简得多,且该模块的价格也略低于相同点阵的图形液晶模块。 其基本特性如下: ○ 1 低电源电压( VDD:++) ○ 2 显示分辨率: 12864 点 ○ 3 内置汉字字 库,提供 8192 个 1616 点阵汉字(简繁体可选) 11 ○ 4 内置 128 个 168 点阵字符 ○ 5 2MHZ 时钟频率 ○ 6 显示方式: SIN、半透、正显 ○ 7 背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/5—1/10 ○ 8 通 讯方式:串行、并行可选 ○ 9 内置 DCDC 转换电路,无需外加负压 ○ 10 无需片选信号,简化软件设计 ○ 11 工作温度: 0℃ —+55℃ ,存储温度: 20℃ —+60℃ 1.模块管脚是连接外部电路的纽带 ,在此模块中管脚主要由控制管脚和数据管脚等构成,现将其组成情况及相关功能介绍如下: 表 31 12864 液晶模块接口说明 管脚号 管脚名称 电平 管脚功能描述 1 VSS 0V 电源地 2 VCC 3 V0 对比度(亮度)调整 4 RS(CS) H/L RS=―H‖,表示 DB7~ DB0 为显示数据 RS=―L‖,表示 DB7~ DB0 为显示指令数据 5 R/W H/L R/W=―H‖,E=―H‖,数据被读到 DB7~ DB0 R/W=―L‖,E=―H→L‖, DB7~ DB0 的数据被写到 IR 或 DR 6 E(SCLK) H/L 使能信号 7~ 14 DB0~ DB7 H/L 三态数据线 15 PSB H/L H:8 位或 4 位并口方式, L:串口方式 16 NC 空脚 17 RESET H/L 复位端,低电平有效 18 VOUT LCD 驱动电压输出端 19 A VDD 背光源正端 20 K VSS 背光源负端 2.控制器控制着模块内部指令的发出与否,存储器则对指令和数据进行存储与更换,现将分别介绍控制器各接口及各存储器的功能。 12 1) RS,R/W 的配合选择决定控制界面的 4 种模式 表 32 RS,R/W 配合功能说明 RS R/W 功能说明 L L MPU 写指令到指令暂存器( IR) L H 读出忙标志( BF)及地址记数器( AC)的状态 H L MPU 写入数据 到数据暂存器( DR) H H MPU 从数据暂存器( DR)中读出数据 2) E 信号 表 33 E 信号功能说明 E 状态 执行动作 结果 高 ——低 I/O 缓冲 ——DR 配合 /W 进行写数据或指令 高 DR——I/O 缓冲 配合 R 进行读数据或指令 低 /低 ——高 无动作 忙标志 BF: BF 标志提供内部工作情况。 BF=1 表示模块在进行内部操作 ,此时模块不接受外部指令和数据。 BF=0 时 ,模块为准备状态 ,随时可接受外部指令和数据。 利用STATUS RD 指令,可以将 BF 读到 DB7 总线,从而检验模块工作状态。 字型产生 ROM( CGROM) : 字型产生 ROM( CGROM)是用于模块屏幕显示开和关的控制。 DFF=1 为开显示 ,DDRAM 的内容就显示在屏幕上, DFF=0 为关显示。 DFF 的状态是指令 DISPLAY ON/OFF 信号控制的。 显示数据 RAM( DDRAM ) :模块内部显示数据 RAM 提供 642 个位元组的空间,最多可控制 4 行各 16 字的中文字型显示,当写入显示数据 RAM 时,可分别显示CGROM 与 CGRAM 的字型;此模块可显示三种字型,分别是半角英数字型 (16*8)、CGRAM 字型及 CGROM 的中文字型。 三种字型 的选择,由在 DDRAM 中写入的编码选择,在 0000H—0006H 的编码中将选择 CGRAM 的自定义字型, 02H—7FH 的编码中将选择半角英数字的字型,至于 A1 以上的编码将自动的结合下一个位元组,组成两个位元组编码形成中文字型的编码。 字型产生 RAM(CGRAM):字型产生 RAM 提供图象定义 (造字 )功能 ,可以提供四组 1616 点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到 CGRAM 中,便可和 CGROM 中的定义一样地通过 DDRAM 显示在屏幕中。 地址计数器 AC: 地址计数器是用来贮存 DDRAM/CGRAM 之一的地址 ,可由设定指令暂存器来改变 ,之后只要读取或写入 DDRAM/CGRAM 的值时,地址计数器的值就会自动加一。 当 RS =0 且 R/W=1 时,地址计数器的值会被读取到 DB6—DB0 中。 13 光标 /闪烁控制电路:此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定 DDRAM 中的光标或闪烁位置。 3.模块控制芯片提供两套控制指令:基本指令和扩充指令,这些由各控制端口和寄存器组合而成的指令可对液晶显示器自身模式、状态、功能等进行设置,也可控制与其他芯片进行数据和指令的通信。 其指令分别如下: 表 34 基本指令集( RE=0) 指 令 指 令 码 功 能 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清除 显示 0 0 0 0 0 0 0 0 0 1 将 DDRAM 填满 20H,并且设定 DDRAM 的地址计数器 (AC)到 00H 地址 归位 0 0 0 0 0 0 0 0 1 X 设定 DDRAM 的地址计数器 (AC)到 00H,并且将游标移到开头原点位置。 这个指令不改变DDRAM 的内容 显示状态开 /关 0 0 0 0 0 0 1 D C B D=1: 整体显示 ON C=1: 游标 ON B=1:游标位置反白允许 进入点 设定 0 0 0 0 0 0 0 1 I/D S 指定在数据的读取与写入时 ,设定游标的移动方向及指定显示的移位 游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位。 这个指令不改变 DDRAM 的内容 功能 设定 0 0 0 0 1 DL X RE X X DL=0/1: 4/8 位数据 RE=1: 扩充指令操作 RE=0: 基本指令操作 设定CGRAM 地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定 CGRAM 地址 设定DDRAM 地址 0 0 1 0 AC5 AC4 AC3 AC2 AC1 AC0 设定 DDRAM 地址(显示位址) 第一行: 80H- 87H 第二行: 90H- 97H 读取忙标志和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 读取忙标志 (BF)可以确认内部动作是否完成 ,同时可以读出地址计数器 (AC)的值 写数据到 RAM 1 0 数据 将数据 D7——D0 写入到内部的 RAM (DDRAM/CGRAM/IRAM/GRAM) 读出RAM 的值 1 1 数据 从内部 RAM 读取数据 D7——D0 (DDRAM/CGRAM/IRAM/GRAM 14 表 35 扩展指令集( RE=1) 指 令 指 令 码 功 能 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 待命 模式 0 0 0 0 0 0 0 0 0 1 进入待命模式 ,执行其他指令都棵终止 待命模式 卷动地址开关开启 0 0 0 0 0 0 0 0 1 SR SR=1:允许输入垂直卷动地址 SR=0:允许输入 IRAM 和 CGRAM 地址 反白 选择 0 0 0 0 0 0 0 1 R1 R0 选择 2 行中的任一行作反白显示,并可决定反白与否。 初始值 R1R0= 00,第一次设定为反白显示,再次设定变回正常 睡眠 模式 0 0 0 0 0 0 1 SL X X SL=0:进入睡眠模式 SL=1:脱离睡眠模式 扩充 功能 设定 0 0 0 0 1 CL X RE G 0 CL=0/1: 4/8 位数据 RE=1: 扩充指令操作 RE=0: 基本指令操作 G=1/0:绘图开关 设定绘图RAM 地址 0 0 1 0 AC6 0 AC5 0 AC4 AC3 AC3 AC2 AC2 AC1 AC1 AC0 AC0 设定绘图 RAM 先设定垂直 (列 )地址 AC6AC5…AC0 再设定水平 (行 )地址 AC3AC2AC1AC0 将以上 16 位地址连续写入即可 15 当 IC1 在接受指令前 ,微处理器先确认其内部处于非忙碌状态 ,即读取 BF 标志时 ,BF 需为零方可接受新的指令。 如果在送出一个指令前不检查 BF 标志,那么在前一个指令和这个指令中间必须延长一段较长的时间 ,即等待前一个指令确实执行完成。 4. 12864 液晶显示器不仅可以显示字符同时也可以图形,因此可以满足不同使用者更多的要求,如显示一幅图画或者一个曲线图等。 使 用者在使用时便可根据自身需求进行不同的显示。 1)字符显示 :带中文字库的 128X640402B 每屏可显示 4 行 8 列共 32 个 1616 点阵的汉字,每个显示 RAM 可显示 1 个中文字符或 2 个 168 点阵全高 ASCII 码字符,即每屏最多可实现 32 个中文字符或 64 个 ASCII 码字符的显示。 带中文字库的128X640402B 内部提供 1282 字节的字符显示 RAM 缓冲区( DDRAM)。 字符显示是通过将字符显示编码写入该字符显示 RAM 实现的。 根据写入内容的不同,可分别在液晶屏上显示 CGROM(中文字库)、 HCGROM( ASCII 码字库)及 CGRAM(自定义字形)的内容。 三种不同字符 /字型的选择编码范围为: 0000~ 0006H (其代码分别是 0000、 0002。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。