基于ds18b20的多点温度检测系统的设计内容摘要:

( 1) 行列式键盘 与单片机接口技术 14 ( 2) 行列式键盘结构 ( 3) 行列式键盘工作原理 尽管构成行列式键盘结构形式不一样,但它们的工作原理是相同的,现以图 为例来说明:行线 P1. 4P1. 7 为输 出,列线 P1. 0P1. 3 为输入。 CPU 先使第一行 ( P1. 4) 为“ 0”,其余行为“ 1”。 然后读输入口 P1. 0P1. 3 的状态,若输入缓冲器的状态全部为“ 1”,则表示所在行无键按下,接下来 CPU 使一下行线为“ 0”,其余行线为“ 1”,扫描下一行,这样在 P1. 4P1. 7 循环进行。 若输入缓冲器不全为“ 1”,说明所在行有键按下, CPU 停止当前行线扫描,转入到列线扫描,列线 P1. 0P1. 3 为“ 0”状态的列表示对应列有键按下。 这样,行线与列数交叉键就是扫描到的按键。 键扫描方式有三种。 显示 电路 设计 (1) LCD 与单片机的接口电路 LCD 与单片机的接口电路如图所示: ………… .. 15 图 LCD 与单片机的接口电路 (2) 引脚分布及功能 ① 12864 液晶显示屏共有 20 个引脚,其引脚名称及 引脚编号的对应关系如 图 所示: 图 12864 液晶显示模块引脚分布图 ② 引脚功能如表 1 所示: 表 1 12864 液晶显示模块引脚功能 引脚 符 号 引 脚 功 能 引脚 符 号 引 脚 功 能 1 VSS 电源地 15 CS1 CS1=1:芯片选择左边 64*64 点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20VSS VDD VO RS R / W E DB 0 DB 7DB 6DB 5DB 4DB 3DB 2DB 1 CS 1 CS 2 / RST VEE A K 16 2 VDD 电源 +5V 16 CS2 CS2=1:芯片选择右边 64*64 点 3 VO 液晶显示驱动电源 05V 17 /RST 复位(低电平有效) 4 RS H:数据输入; L:指令码输入 18 VEE LCD 驱动负电源 5 R/W H:数据读取; L:数据写入 19 A 背光电源( +) 6 E 使能信号。 由 H到 L完成使能 20 K 背光电源( ) 714 DB0DB7 数据线 有些型号的模块 1 20脚为空脚 (2) 图形液晶 显示原理 12864 液晶屏横向一共有 128 个点,纵向有 64 个点,全屏分为左半屏和右半屏,DDRAM 表与 128 64 点的一一对应关系如表 2 所示: 表 2 12864 液晶模块内部结构 左 半 屏 右 半 屏 CS1=1 CS2=1 Y=0 0 1 … 62 63 0 1。 62 63 行号 X=0 ↓ X=7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 DB7 0 ↓ 7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 8 ↓ 55 17 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 DB0 ↓ DB7 56 ↓ 63 在液晶屏上显示 16*16 点阵汉 字首先将汉字转换成相应的代码,在送入的液晶屏的相应的位置,下面以“学”字的显示为例进行说明,“学”字在液晶屏的上的点阵排布如图 2 所示,在显示时先输入汉字的第 1 页的 16 位数据,在输入第 2 页的 16位数据,即第 1 页与第 1 列的公共部分即为要输入的第 1 个数据,第 1 页与第 2 列的公共部分即为第 2 个要输入的数据,按照这种取码方式可得出该字代码如下:(注:上面所说的第几页,第几列是相对汉字所说的)。 DB 40h, 30h, 11h, 96h, 90h, 90h, 91h, 96h DB 90h, 90h, 98h, 14h, 13h, 50h, 30h, 00h DB 04h, 04h, 04h, 04h, 04h, 44h, 84h, 7Eh DB 06h, 05h, 04h, 04h, 04h, 06h, 04h, 00h 图形显示的工作原理与汉字显示相似,如果在某位置显示指定大小的图形时,首先利用图形取模软件,将图形的代码提取出来,再根据显示汉字的原理将每页码的数据写入相应的寄存器中即可。 (3) 图形液晶 控制方法 ① 读状态字( Staus Read) Rs R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 BUSY 0 ON/OFF RESET 0 0 0 0 状态字是计算机了解 128641 当前状态的唯一的信息渠道。 状态字为一个字节,其中仅 3 位有效位,它们是: BUSY 表示当前 128641 接口控制电路运行状态。 BUSY=1 表示 12864 正在处理计算机发来的指令或数据。 此时接口电路被封锁,不能接受除状态字以外的任何操作。 BUSY=0 表示 12864 接口控制电路,已处于“准备好”状态,等待计算机的访问。 18 ON/OFF 表示当前的显示状态。 ON/OFF=1 表示关闭显示状态, ON/OFF表示开显示状态。 RESET 表示当前 128641 的工作状态,即反映 RST 端的电平状态。 当 RST为低电平状态时, 128641 处于复位工作状态, RESET=1。 当前 RST 为高电平状态时, 128641 为 正常工作状态, RESET=0。 在指令设置和数据读写时要注意状态字中的 BUSY 标志。 只有在 BUSY=0 时,计算机对 12864 的操作才能有效。 因此计算机在每次对 12864 操作之前,都要读出状态字判断 BUSY 是否为“ 0”,则计算机需要等待,直至 BUSY=0 为止。 ② 显示开关设置( Display on/off) RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 1 1 1 D 该指令设置显示开 /关触发器的状态,由此控制显示数据的存储器的工作方式,从而控制 显示屏上的显示状态。 当 D=1 为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。 此时在状态字中 ON/OFF=0。 当 D=0 为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中 ON/OFF=1。 ③ 显示起始行设置( Display Start Line) RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 显示起始行( 0~63) 该指令设置了显示起始行寄存器的内容。 KS0108 有 64 行显示的管理能力,该指令中 L5~L0 为显示起始行的地址,取值在 0~3FH( 1~64 行) 范围内,它规定了显示屏上最顶一行所对应的显示存储器的地址。 如果定时间隔地,等间距地修改(如加一或减一)显示起始行寄器的内容,则显示屏将呈现内容向上或向下平滑滚动的显示效果。 ④ 页面地址设置 [Set Page ( X address)] RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 Page(0~7) 该指令设置了页面地址 X 地址寄存器的内容。 12864 将显示存储器分成 8 页, 19 指令代码中 B2~B0 就是要确定当前所要选择的页面地址,取值范围为 0~7H,代表第 1~8 页。 该指令规定了以后的读 /写操作将在哪一个页面上进行。 ⑤ 列地址设置( Set Y address) RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 Y address(0~63) 该指令设置了 Y 地址计数器的内容, DB5~DB0=0~3FH( 1~64) 代表某一个单元地址,随后的一次读或写数据将在这个单元上进行。 Y 地址计数器具有自动加一功能,在每一次读 /写数据后它将自动加一,所以在连续 进行读 /写数据时, Y 地址计数器不必每次都设置一次。 页面地址的设置和列地址的设置将显示存储单元唯一地确定下来,为后来的显示数据的读 /写作了地址的选通。 ⑥ 写指令数据 此命令在 在 E 的下降沿 有效。 ⑦ 写显示数据( Write Display Data) RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0 显示数据 该操作将 8 位数据写入先前已确定的显示存储器的单元内,操作完成后列 地址计数器自动加一。 ⑧ 读显示数据 ( Read Display Date) RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 显示数据 该操作将 接口部的输出寄存器的内容读出,然后列地址计数器自动加一。 RS R/W DB7 DB7 DB5 DB4 DB3 DB2 DB1 DB0 0 0 指令 20 报警 电路设计 (待续 ) 如图所示:报警电路为语音功放 LM386 组成, 引脚功能 内部结构 21 3 程序设计 程序流程设计 ( 1)主程序流程设 计 开始初始化设置键按下 ?设置各点温度确认键按下 ?YN读取温度值温度值高于设置值调用 LCD 显示报警YN初始化命令发送 ROM 命令匹配第一路读取温度值温度值高于设置值调用 LCD 显示报警YN初始化命令发送 ROM 命令匹配第二路读取温度值温度值高于设置值调用 LCD 显示报警YN初始化命令发送 ROM 命令匹配第三路读取温度值温度值高于设置值调用 LCD 显示报警YN初始化命令发送 ROM 命令匹配第四路 22 ( 2) 子程序流程设计 DS18B20 的信号方式 DS18B20 采用严格的单总线通信协议,以保证数据的完整性。 该协议定义了几种信号类型:复位脉冲、应答脉冲、写 0、 写 读 0 和读 1。 除了应答脉冲所有这些信号都由主机发出同步信号。 总线上传输的所有数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。