基于vb的温度实时监控系统的设计内容摘要:

图 32 DS18B20的内部结构框图 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。 64位光刻 ROM 的排列是:开始 8 位 (28H)是产品类型标号,接着的 48位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码(CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根 总线上挂接多个 DS18B20 的目的。 DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、 TL和结构寄存器。 从表 31 中可知道 DS18B20 中的温度传感器可完成对温度的测量,以 12位转化为例 : 用 16 位符号扩展的二进制补码读数形式提供,以 ℃ /LSB 形式表达,其中 S 为符号位。 这是 12 位转化后得到的 12位数据,存储在 18B20 的两个 8比特的 RAM 中,二进制中的前面 5位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 即可得到实际温度。 暂存存储器包含了 8 个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。 第三个和第四个字节是 9 TH、 TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。 第六、七、八个字节用于内部计算。 第九个字节是冗余检验字节。 其详细情况如表 32 DS18B20 的暂存寄存器分布。 表 32 DS18B20的暂存寄存器分布 寄存器内容 地址 温度的低八位数据 0 温度的高八位数据 1 高温阀值 2 高温阀值 3 保留 4 保留 5 计数剩余值 6 每度计数值 7 CRC校验 8 该字节各位的意义如下: TM R1 R0 1 1 1 1 1 低五位一直都是 1, TM是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 R1 和 R0用来设置分辨率,如下表 33 所示:( DS18B20 出厂时被设置为 12 位) 综上所述详细的介绍了 DS18B20 温度传感器的结构,特点和应用方式。 本次设计选用 DS18B20 温度传感器使 工作稳定可靠,抗干扰能力强,而且电路也 比较简单, 为 开发出稳定可靠的多点温度监控系统 提供便利, 保证温度 测 量 的 精度。 表 31 DS18B20温度 值格式 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 LS Byte 23 22 21 20 21 22 23 24 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 MS Byte S S S S S 26 25 24 10 表 33 分辨率设置 R1 R0 分辨率 温度 0 0 9位 0 1 10位 ms 1 0 11 375 ms 1 1 12 750 ms DS18B20 芯片与 AT89S51 连接 采用 AT89S51 作为主机与 DS18B20 组成多路温度采集。 如图 33所示。 图 33 AT89S51与 DS18B20连接图 DS18B20 的地与 AT89S51 的 VSS 连接, DS18B20 的 DQ 端 与 的电阻相连再与 AT89S51 的 口相连, DS18B20 的 VCC 接电源。 通过 DS18B20 温度传感器采集温度,并将采集到的温度传递到 AT89S51 单片机中,单片机可以对采集到的温度进行处理。 单片机控制模块 本系统采用 AT89S51 单片机做为控制模块。 AT89S51 单片机主要用于对采集到的温度数据进行转换,然后通过 RS232 数据总线把数据传输到 PC 机上进行显示。 为了使用方便,设计了一个 16 个按键的键盘, 显示器采用八位七段共阴极数码管,配合通道开关选择,可在 LED 上显示该路的通道号和通过该 路的模拟电压值。 键盘、显示控制采用键盘 /显示控制专用芯片 HD7279A。 11 AT89S51 芯片介绍 AT89S51 是一个低功耗 , 高性能 CMOS8 位单片机,片内含 4kBytesISP 的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51 具有如 下特点: 40个引脚, 4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器( RAM), 32个外部双向输入 /输出( I/O)口, 5个中断优先级 2层中断嵌套中断, 2个 16 位可编程定时计数器, 2个全双工串行通信口,看门狗( WDT)电路,片内时钟振荡器。 芯片 HD7279A 简介 HD7279A 芯片是一片具有串行接口,可同时驱动八位共阴极数码管的智能显示驱动芯片,该芯片同时还可连接多达 64 键的键盘矩阵,单片即可完成 LED 显示和键盘接口的全部功能。 HD7279A 内部含有译码器,可直 接接受 BCD 码或 16进制码,并同时具有两种译码方式。 此外,它还具有多种控制指令,如消隐、闪烁、左移、右移、段点亮、段关闭、读键盘数据指令等。 HD7279A 具有片选信号,可方便地实现多于 8 位的显示或多于 64 键的键盘接口。 芯片 HD7279A 还具有如下的特点:串行接口,无需外围元件可直接驱动 LED;段寻址指令可以方便地控制独立 LED; 64键的键盘控制器,内含去抖动电路。 HD7279A 与 AT89S51 的连接 HD7279A与 AT89S51的连接如图 34所示, HD7279A的片选输入端 /CS与 89S51的 口相连接,同步时钟输入端 CLK 与 AT89S51 的 口相连接,串行数据输入 /输出端 DATA 与 AT89S51 的 口相连接,按键有效输出端 KEY与 AT89S51的 口相连接。 HD7279A 用串行方式与微处理器连接,串行数据从 DATA 脚送入芯片,并由CLK 端同步,当片选信号变为低电平后, DATA 引脚上的数据在 CLK引脚的上升沿到来时被写入到 HD7279A 芯片的缓冲寄存器。 12 图 34 HD7279A与 AT89S51的连接 数据传输模块 RS232 用于单片机与 PC 机的连 接,能把单片机上转换过的信号传输到 PC机上。 RS232C 标准(协议)的全称是 EIARS232C 标准 [3],其中 EIA(Electronic Industry Association)代表美国电子工业协会, RS( emeded standard)代表推荐标准, 232 是标识号, C 代表 RS232 的最新一次修改 , 在这之前,有 RS232B、RS232A。 它规定连接电缆和机械、电气特性、信号功能及传送过程。 1 电气特性 EIARS232C 对电器特性、逻辑电平和各种信号线功能都作了规定。 在 TxD 和 RxD上: (1) 逻辑 1(MARK)=5V~ 15V (2) 逻辑 0(SPACE)=+5~+ 15V (3) 在 RTS、 CTS、 DSR、 DTR和 DCD 等控制线上: (4) 信号有效(接通, ON 状态,正电压)= +3V~ +15V (5) 信号无效(断开, OFF 状态,负电压 )=3V~ 15V 2 RS232C 的接口信号 13 RS232C 标准接口有 25条线, 4条数据线、 11条控制线、 3条定时线、 7条备用和未定义线,常用的只有 9根,它们 是: 数据载波检测 DCD, 接收数据 RXD ,发送数据 TXD, 数据终端准备 DTR, 信号地 GND, 数据设备准备 DSR, 请求发送RTS, 清除发送 CTS, 振铃指示 DELL。 EIARS232C 与 TTL 转换: EIARS232C 是用正负电压来表示逻辑状态,与TTL 以高低电平表示逻辑状态的规定不同。 因此,为了能够同计算机接口或终端的 TTL 器件连接,必须在 EIARS232C 与 TTL 电路之间进行电平和逻辑关系的变换。 实现这种变换的方法可用分立元件,也可用集成电路芯片。 为实现方便本设计采用 MAX232 芯片来实现。 MAX232 产品是由德州仪器公司推出的一款兼容 RS232 标准的芯片。 该器件包含 2 个 驱动器、 2 个 接收器和 1 个电压发生器电路提供 TIA/EIA232F电平 ,MAX232 作为 RS232 的电平转换芯片, 完成 TTL电平到 RS232 电平的转换 [6]。 见图 35 MAX232 与 RS232 连接图。 图 35 MAX232与 RS232串口连接图 14 4 系统软件设计 系统软件设计包括下位机 (简称单片机 )的模块软件设计和上位机 (简称 PC机 )的 VB通信软件设计,分别描述如下。 单片机模块软件设计 单片机的主程序使用汇编语言来编写,主要完成 DS18B20 的复位和初始化,然后启动 DS18B20开始采集数据,再读出温度转换值后,将温度值显示在相应的数码管上。 下面我们分别将主要的主程序设计、温度采集子程序设计和串行口中断子程序设计进行简单的介绍。 主程序设计 图 41 主程序结构图 N N N N N Y Y Y Y Y 开始 CHANBFLAG=5? 采集所有,并显示 发送 采集第 1路,并显示 发送 采集第 2路,并显示 发送 采集第 3路,并显示 发送 采集第 4路,并显示 发送 CHANBFLAG=1? CHANBFLAG=2? CHANBFLAG=3? CHANBFLAG=4? 初始化 15 系统首先通过对 HD7279A、 DS18B20 以及单片机的片内等进行初始化,然后通过对 CHANBFLAG(CHANBFLAG 是采集变量,初始化的时候 CHANBFLAG=5。 )来实现对 4 路温度是否采集进行判断。 当温度被采集后,其温度值就会显示在相应的数码 管中,同时也将数据发送给 PC 机。 若否,则不断的进行循环。 其流程图如图 41 所示。 温度采集子程序设计 温度采集及读温度,其子程序的主要功能是读出多个 DS18B20 的温度数值。 现我们以一路 DS18B20 的温度采集为例 , 首。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。