基于单片机的水温水位控制系统 联系客服

发布时间 : 星期一 文章基于单片机的水温水位控制系统更新完毕开始阅读

武汉工业学院工商学院毕业论文(设计)专用稿纸

指令系统如表3.1:

表3.1 指令系统

控制信号 RS R/W D7 D6 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 BF 0 0 0 0 0 0 1 D5 0 0 0 0 0 1 指令代码 D4 0 0 0 0 1 D3 0 0 0 1 D2 0 0 1 D F ACG ADD AC 写数据 读数据 D1 0 1 C * D0 1 * B * * 清屏 软复位 内部方式设置 显示开关控制 位移控制 系统方式设置 CGRAM地址设置 显示地址设置 忙状态检查 MCU—LCD LCD—MCU 功 能 I/D S S/C R/L * DL N 1000 0000(080H)为第一行显示起始地址,即为第一行第1列,081H~08FH为第2列到第15列

1100 0000(0C0H)为第二行显示起始地址,即为第二行第1列,0C1H~0CFH为第2列到第15列

此指令设置DD RAM地址指针的值,此后就可以将要显示的数据写入到DD RAM中。在HD44780控制器中由于内嵌有大量的常用字符,这些字符都集成在CG ROM中,当要显示这此点阵字符时,只需把该字符所对应的字符代码送给指定的DD RAM中即可。

- 10 -

武汉工业学院工商学院毕业论文(设计)专用稿纸

内含HD44780控制器的点阵字符型LCD显示器的字符码表如表3.2所列:

表3.2 点阵字符型LCD的字符代码表

高4位 低4位 xxxx0000 0000 CGRA xxxx0001 xxxx0010 xxxx0011 xxxx0100 xxxx0101 xxxx0110 xxxx0111 xxxx1000 xxxx1001 xxxx1010 xxxx1011 xxxx1100 xxxx1101 xxxx1110 xxxx1111 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ! " # $ % & ’ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ¥ ] ^ _ a b c d e f g h i j k l m n o p q r s t u v w x y z ( | ) → ← θ ∞ Ω π (2) (3) (4) (5) (6) (7) (8) (1) (2) (3) (4) (5) (6) (7) (8) 3.2.2 LCD1602与单片机的连接图

图3.7 LCD1602与单片机的连接图

- 11 -

武汉工业学院工商学院毕业论文(设计)专用稿纸

3.3 水位检测系统设计

水位检测是充分运用了水的导电性,八根导线等份依次排列在容器中,作为检测水位用,从最底下的一根开始,即换成水位为600ml开始,100ml一个水位挡,直到最上面的一根导线,即1300ml为止,在容器的最底部放了一根5V电源的正极导线,当电源通电后,随着水位的变化,水将淹没一些导线,这时这些导线将会和电源正极连通,如果通过一驱动电路将其电平进行转换,进入单片机的将会是对应于水位的数据信号。其水位于数据信号的对应关系如表3.3所示:

表3.3 水位于数据信号的对应关系

0FEH 0FCH 0F8H 0F0H 600ml 700ml 800ml 900ml 0E0H 0C0H 080H 00H 1000ml 1100ml 1200ml 1300ml 为使电平进行转换,必须设计八个并行的电平转换电路,由于是由高电平转换成低电平,所以选择NPN的三极管,在此我选择是的8050NPN的三极管,为了减小干扰,滤除干扰信号,在水位端加了一个1μF的电解电容,经测试效果很好,水位数据信号原本选择的是P0口输入,在调试过程中发现没有P2口理想,所以就选择了P2口。检测水位部分模型如图3.8所示,水位数据的单根电平转换电路如图3.9所示。

图3.8 检测水位模型 图3.9 水位数据单根电平转换电路

3.4 水温检测系统设计

3.4.1 单线数字温度计DSl8B20介绍

DSl8B20数字温度计提供9位(二进制)温度读数,指示器件的温度。信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线)。DSl8B20的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20

- 12 -

武汉工业学院工商学院毕业论文(设计)专用稿纸

可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl8B20的测量范围从-55摄式度到+125摄式度,增量值为0.5摄式度,可在l s(典型值)内把温度变换成数字。

每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20内部的ROM(只读存贮器)中。开始8位是产品类型编码(DSl8B20编码均为10H)。接着的48位是每个器件唯一的序号。最后8位是前面56位的CRC(循环冗余校验)码。DSl8B20中还有用于存储测得的温度值的两个8位存贮器RAM,编号为0号和1号。1号存贮器存放温度值的符号,如果温度为负(摄式度),则1号存贮器8位全为1,否则全为0。0号存贮器用于存放温度值的补码,LSB(最低位)的1表示0.5摄式度。将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55摄式度-125摄式度)。每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长:采取外部供电方式则多用一根导线,但测量速度较快。 3.4.2 温度计算

(1)DS18B20用9位存贮温值度,最高位为符号位,如表3.5为DS18B20的温度存储方式,负温度S=1,正温度S=0。如:00AAH为+85摄式度,0032H为25摄式度,FF92H为55摄式度。

表3.5 18B20用9位的温度存储方式

(2)DS18B20用12位存贮温值度,最高位为符号位,如表3.6为DS18B20的温度存储方式,负温度S=1,正温度S=0。如:0550H为+85摄式度,0191H为25.0625摄式度,FC90H为-55摄式度。

表3.6 DS18B20用12位的温度存储方式

3.4.3 DSl820工作过程及时序 DSl8B20工作过程中的协议如下:

初始化:ROM操作命令;存储器操作命令;处理数据。 (1)初始化

单总线上的所有处理均从初始化开始。 (2)ROM操作命令

- 13 -