DS18B20数字温度测量报警程序1
DS18B20数据手册-中文版

DS18B20数据手册-中文版DS18B20 分辨率可编程概述1-Wire数字温度传感器 DS18B20数字温度传感器提供9-Bit到12-Bit的摄氏温度测量精度和一个用户可编程? 温度转换时间在转换精度为12-Bits时达到的非易失性且具有过温和低温触发报警的报警最大值750ms。
功能。
DS18B20采用的1-Wire通信即仅采用一? 用户自定义非易失性的的温度报警设置。
个数据线(以及地)与微控制器进行通信。
该? 定义了温度报警搜索命令和当温度超过用户传感器的温度检测范围为-55?至+125?,并且自定义的设定值时。
在温度范围超过-10?至85?之外时还具有? 可选择的8-Pin SO (150 mils), 8-PinμSOP,+-0.5?的精度。
此外,DS18B20可以直接由数及3-Pin TO-92封装。
据线供电而不需要外部电源供电。
? 与DS1822程序兼容。
每片DS18B20都有一个独一无二的64位? 应用于温度控制系统,工业系统,民用产品,序列号,所以一个1-Wire总线上可连接多个温度传感器,或者任何温度检测系统中。
DS18B20设备。
因此,在一个分布式的大环境管脚定义图里用一个微控制器控制多个DS18B20是非常简单的。
这些特征使得其在HVAC环境控制,在建筑、设备及机械的温度监控系统,以及温度过程控制系统中有着很大的优势。
特性独特的1-Wire总线接口仅需要一个管脚来通信。
每个设备的内部ROM上都烧写了一个独一无二的64位序列号。
多路采集能力使得分布式温度采集应用更加简单。
无需外围元件。
能够采用数据线供电;供电范围为3.0V至5.5V。
温度可测量范围为:-55?至+125?(-67?至+257?)。
温度范围超过-10?至85?之外时具有+-0.5?的精度。
内部温度采集精度可以由用户自定义为9-Bits至12-Bits。
DS18B20订购信息零件温度范围引脚数-封装顶部标号DS18B20 3 TO-92 18B20 -55?至+125?DS18B20+ 3 TO-92 18B20 -55?至+125?DS18B20/T&R 18B20 -55?至+125? 3 TO-92(2000片)DS18B20+T&R 18B20 -55?至+125? 3 TO-92(2000片)DS18B20-SL/T&R 18B20 -55?至+125? 3 TO-92(2000片)* DS18B20-SL+T&R 18B20 -55?至+125? 3 TO-92(2000片)* DS18B20U 8 uSOP 18B20 -55?至+125?DS18B20U+ 8 uSOP 18B20 -55?至+125?DS18B20U/T&R 18B20 -55?至+125? 8 uSOP(3000片)DS18B20+T&R 18B20 -55?至+125? 8 uSOP(3000片)DS18B20Z 8 SO DS18B20 -55?至+125?DS18B20Z+ 8 SO DS18B20 -55?至+125?DS18B20Z/T&R DS18B20 -55?至+125? 8 SO(2500片)DS18B20Z+T&R DS18B20 -55?至+125? 8 SO(2500片)“+”号表示的是无铅封装。
DS18b20

一、DS18B20基本结构原理
2. DS18B20外形与引脚功能
一、DS18B20基本结构原理
3.DS18B20内部结构图
存储与逻辑控制
供电 感应
64位ROM 1线端口
高速 寄存器
8位CRC
温度传感器 上限报警寄存器 下限报警寄存器
四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。光刻ROM中的64位序列号是DS18B20的地址序列码。
开始
初始化DS18B20 跳过ROM匹配
开始温度转换
转换结束了否? N
Y
初始化DS18B20 跳过ROM匹配
读温度值 结束
四、DS18B20的温度测量操作
2. DS18B20温度测量程序流程
开始 C51送复位脉冲 18B20送存在脉冲 送SKIP ROM命令
C51送复位脉冲 18B20送存在脉冲 送SKIP ROM命令
三、DS18B20的读写
(一)单线接口访问DS18B20的协议
➢根据DS18B20的通讯协议,主机(总线控制器)每次 访问DS18B20都必须遵循以下顺序:
初始化18B20 ; ROM操作命令; 存贮器操作命令: 执行/数据。
➢协议包括几种单线信号类型:复位信号、存在信号、写0、 写1、读0、读1。除存在信号外,全部由主机产生。
二、DS18B20的寄存器
3. DS18B20温度数据形式
温度存储器中数据用16位符号扩展的二进制补码形式表示。 0.0625℃/LSB形式表达,其中S为符号位。
9位
12位
二、DS18B20的寄存器
以12为例:
12位数据,存储在18B20的两个8比特(位)的RAM中,Bit0是最低位, 二进制中的前面5位是符号位 如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得 到实际温度; 如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可 得到实际温度。 例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
数字温度传感器DS18B20C-25页说明

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※DS1B820单总线数字温度计※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※一、概述1.1一般说明DS18B20数字温度计提供9至12位(可设置)温度读数,指示器件的温度。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线(另加上地线)。
读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
因为每一个DS18B20有唯一的系列号(silicon serial number),因此多个DS18B20可以连接在于同一条单线总线上。
这允许在许多不同的地方放置DS18B20温度传感器。
此特性可广泛地应用于HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。
1.2特性·独特的单线接口,只需1个接口引脚即可通信·多点并接能力使分布式温度检测的应用得以简化·不需要外部元件·可用数据线供电,若外加电源,范围3V至5.5V·不需备份电源·测量范围从-55℃至+125℃,对应的华氏温度范围是-67℉至257℉。
·在-10℃至+85℃内的准确度为±0.5℃。
·可编程设定9至12位的温度分辨率·在750毫秒(最大值)内把温度变换为12位数字值·用户可设置,非易失性的温度告警值·告警搜索命令可在众多的器件中,快速识别出超过设定的“告警温度”值的器件。
·应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统25/11.3引脚排列1.4详细的引脚说明TSOC8脚SOIC TO92符说明151GND地线242DQ数据输入/输出引脚。
漏极开路结构,详见“寄生电源”一节。
DS18B20智能温度控制器(附软件程序)

DS18B20智能温度控制器DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、 DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为± 2°C 。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V 的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20、 DS1822 的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
用DS1820实现温度测量

任务三用DS1820实现温度测量*一、任务要求DS1820是美国DALLAS公司生产的单总线式数字温度传感器,具有微型化、低功耗、高性能、搞干扰能力强、易配处理器等优点。
本任务利用DS1820来完成温度的检测,通过单片机进行数据处理并显示温度值。
知识目标:(1) 了解DS1820的工作原理。
(2) 掌握DS1820的使用和特性。
技能目标:(1) 会单片机和DS1820的接口电路设计。
(2) 能进行DS1820温度采集、单片机数值处理和温度显示的程序设计。
二、知识链接1. DS1820简介DS1820能在现场采集温度数据,并将温度数据直接转化成串行数字信号输出给单片机处理。
(1) 独特的单线接口方式:当DS1820与微处理器连接时,仅需要一条数据线即可实现微处理器与DS1820的双向通信。
(2) 测量温度范围为 -55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。
(3) 电压适用范围3V~5.5V。
(4) 可编程为9位~12位A/D转换精度。
(5) 用户设定的上、下限报警温度存储在EEPROM中,掉电后依然保存。
(6) 在没有外部电源时,DS1820依然能够继续工作,此时电源由总线为高电平时DQ脚上的上拉电阻提供(寄生供电模式),此模式下,VDD脚必须接地。
(7) 同一总线上可以挂接多个DS1820,适用于构成多点温度测控系统。
2. DS1820测温原理DS1820只有3个引脚,说明如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。
图4-25 DS1820内部测温电路框图DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。
高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。
初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减法计数到0时,温度寄存器中的值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。
基于DS18B20_的温度测量报警系统

0 引言温度测量方法较多,根据温度传感器的使用方式,通常可以把温度测量方法分为接触式法测温法和非接触式法测温法。
热敏电阻是最常用的接触式测温法之一,其广泛应用于工农业生产中。
传统的热敏电阻传感器需要搭配测量电路和其他电路进行信号处理,导致其可靠性、准确度和精确度降低[1]。
针对上述问题,美国DALLAS公司新推出了一种新型数字温度传感器-DS18B20,它具有功耗低、抗干扰能力强等优点[2]。
该文介绍了一种以DS18B20数字传感器和AT89C51系列单片机为核心的环境温度测量报警系统,该系统不仅可以实时测量温度,而且还可以根据用户需要,当环境温度出现异常时进行报警提醒。
同时,测得的温度数据会实时显示在输出设备上,为用户提供实时温度。
其硬件部分主要包括时钟电源电路、数码管显示电路、温度测量报警电路以及独立开关按键电路,软件部分主要包括独立按键触发检测程序、温度异常判决程序。
该系统结构简单、成本较低且抗干扰能力极高,可以应用于农业种植温室室温监测等场景,帮助相关产业提高工作效率,降低建设和维护所需的成本。
1 理论及方案设计DS18B20模块是一款由美国DALLAS半导体公司设计的数字温度传感器,它具有成本低廉、传输高效以及电路简单的特点。
该模块工作电压范围宽(3.0 V~5.5 V),并且当电源反接时不会立即烧毁。
DS18B20模块具有4种工作模式,对应4种不同的分辨率和转换时间。
通过改变配置寄存器中的R1位和R0位(R0\R1是配置寄存器中的2个数位)可以对DS18B20模块的工作模式进行设置,不同模式的工作参数见表1。
表1 工作效率参考数据分辨率/位最高转换时间/ms R1R0 993.750010187.500111375.001012750.0011整个测温系统分为的4个板块(如图1所示),通过与AT89C51系列单片机进行交互,共同完成环境温度监测报警工作。
时钟和电源为整个系统提供工作环境,独立按键可以帮助用户设置温度的上、下限,DS18B20模块将测得的实时温度发送给单片机,单片机将数据输出至显示模块(反馈给用户)。
数字温度传感器DS18B20详解

一、概述传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足40℃至90℃测量范围,但热敏电阻可靠性差,测量温度准确率低,对于小于1℃的温度信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处理。
目前常用的微机与外设之间进行的数据通信的串行总线主要有I2C总线,SPI总线等。
其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。
这些总线至少需要两条或两条以上的信号线。
而单总线( 1-wire bus ),采用单根信号线,既可传输数据,而且数据传输是双向的,CPU 只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因而,这种单总线技术具有线路简单,硬件开销少,成本低廉,软件设计简单,便于总线扩展和维护。
同时,基于单总线技术能较好地解决传统识别器普遍存在的携带不便,易损坏,易受腐馈,易受电磁干扰等不足,因此,单总线具有广阔的应用前景,是值得关注的一个发展领域。
单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。
主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。
单总线通常要求外接一个约为4.7K的上拉电阻,这样,当总线闲置时其状态为高电平。
DS18B20数字式温度传感器,与传统的热敏电阻有所不同的是,使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度。
同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。
部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这也就缩短了开发的周期。
DS18B20单线数字温度传感器,即“一线器件”,其具有独特的优点:( 1 )采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
DS18B20温度检测

目录1引言 (1)2系统描述 (2)2.1系统功能 (2)2.2系统设计指标 (2)3系统的主要元件 (3)3.1单片机 (3)3.2温度传感元件 (4)3.3LCD显示屏 (6)4硬件电路 (7)4.1系统整体原理图 (7)4.2单片机晶振电路 (7)4.3温度传感器连接电路 (8)4.4LCD电路 (9)4.5报警和外部中断电路 (10)5结论 (11)温度监测系统硬件设计摘要:利用DS18B20为代表的新型单总线数字式温度传感器实现温度的监测,可以简化硬件电路,也可以实现单线的多点分布式温度监测,而不会浪费单片机接口,提供了单片机接口的利用率。
同时提高了系统能够的抗干扰性,使系统更灵活、方便。
本系统主要实现温度的检测、显示以及高低温的报警。
也可以通过单总线挂载多个DS18B20实现多点温度的分布式监测。
关键词: DS18B20,单总线,温度,单片机1引言在科技广泛发展的今天,计算机的发展已经越来越快,它的应用已经越来越广泛。
而单片机的发展和应用是其中的重要一方面。
单片机在工业生产(机电、化工、轻纺、自控等等)和民用家电各方面有广泛的应用。
其中,单片机在工业生产中的应用尤其广泛。
单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此被广泛应用。
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要测量参数。
例如:在冶金工业、化工工业、电力工程、机械制造和食品加工等许多领域中,人们都需要对各类加热炉、热处理炉、反映炉和锅炉,尤其是热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中的温度进行测量,并经常会对其进行控制。
传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D 转换环节获得数字信号后才能够被单片机等微处理器接收处理,使得硬件电路结构复杂,制作成本较高。
近年来,美国DALLAS公司生产的DS18B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件电路:软件设计:/****************************************************************** 程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度可设置上限报警温度、下限报警温度即高于上限值或者低于下限值时蜂鸣器报警默认上限报警温度为38℃、默认下限报警温度为5℃报警值可设置范围:最低上限报警值等于当前下限报警值最高下限报警值等于当前上限报警值将下限报警值调为0时为关闭下限报警功能编写:吴彦刚******************************************************************/ #include <A T89X51.h>#include "DS18B20.h"#define uint unsigned int#define uchar unsigned char //宏定义#define SET P3_1 //定义调整键#define DEC P3_2 //定义减少键#define ADD P3_3 //定义增加键#define BEEP P3_7 //定义蜂鸣器bit shanshuo_st; //闪烁间隔标志bit beep_st; //蜂鸣器间隔标志sbit DIAN = P2^7; //小数点uchar x=0; //计数器signed char m; //温度值全局变量uchar n; //温度值全局变量uchar set_st=0; //状态标志signed char shangxian=38; //上限报警温度,默认值为38signed char xiaxian=5; //下限报警温度,默认值为38uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*****延时子程序*****/void Delay(uint num){while( --num );}/*****初始化定时器0*****/void InitTimer(void){TMOD=0x1;TH0=0x3c;TL0=0xb0; //50ms(晶振12M)}/*****定时器0中断服务程序*****/void timer0(void) interrupt 1{TH0=0x3c;TL0=0xb0;x++;}/*****外部中断0服务程序*****/void int0(void) interrupt 0{EX0=0; //关外部中断0if(DEC==0&&set_st==1){shangxian--;if(shangxian<xiaxian)shangxian=xiaxian;}else if(DEC==0&&set_st==2){xiaxian--;if(xiaxian<0)xiaxian=0;}}/*****外部中断1服务程序*****/void int1(void) interrupt 2{EX1=0; //关外部中断1if(ADD==0&&set_st==1){shangxian++;if(shangxian>99)shangxian=99;}else if(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;}}/*****读取温度*****/void check_wendu(void){uint a,b,c;c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差a=c/100; //计算得到十位数字b=c/10-a*10; //计算得到个位数字m=c/10; //计算得到整数位n=c-a*100-b*10; //计算得到小数位if(m<0){m=0;n=0;} //设置温度显示上限if(m>99){m=99;n=9;} //设置温度显示上限}/*****显示开机初始化等待画面*****/Disp_init(){P2 = 0xbf; //显示-P1 = 0xf7;Delay(200);P1 = 0xfb;Delay(200);Delay(200);P1 = 0xfe;Delay(200);P1 = 0xff; //关闭显示}/*****显示温度子程序*****/Disp_Temperature() //显示温度{P2 =0xc6; //显示CP1 = 0xf7;Delay(300);P2 =LEDData[n]; //显示个位P1 = 0xfb;Delay(300);P2 =LEDData[m%10]; //显示十位DIAN = 0; //显示小数点P1 = 0xfd;Delay(300);P2 =LEDData[m/10]; //显示百位P1 = 0xfe;Delay(300);P1 = 0xff; //关闭显示}/*****显示报警温度子程序*****/ Disp_alarm(uchar baojing){P2 =0xc6; //显示CP1 = 0xf7;Delay(200);P2 =LEDData[baojing%10]; //显示十位P1 = 0xfb;Delay(200);P2 =LEDData[baojing/10]; //显示百位P1 = 0xfd;if(set_st==1)P2 =0x89;else if(set_st==2)P2 =0xc7; //上限H、下限L标示P1 = 0xfe;Delay(200);P1 = 0xff; //关闭显示}/*****报警子程序*****/void Alarm(){if(x>=10){beep_st=~beep_st;x=0;}if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0; else BEEP=1;}/*****主函数*****/void main(void){uint z;InitTimer(); //初始化定时器EA=1; //全局中断开关TR0=1;ET0=1; //开启定时器0IT0=1;IT1=1;check_wendu();check_wendu();for(z=0;z<300;z++){Disp_init();}while(1){if(SET==0){Delay(2000);do{}while(SET==0);set_st++;x=0;shanshuo_st=1;if(set_st>2)set_st=0;}if(set_st==0){EX0=0; //关闭外部中断0EX1=0; //关闭外部中断1check_wendu();Disp_Temperature();Alarm(); //报警检测}else if(set_st==1){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;}if(shanshuo_st) {Disp_alarm(shangxian);}}else if(set_st==2){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;}if(shanshuo_st) {Disp_alarm(xiaxian);}}}}/*****END*****/DS18B20.h:#include <A T89X52.h>#define DQ P3_6 //定义DS18B20总线I/O/*****延时子程序*****/void Delay_DS18B20(int num){while(num--) ;}/*****初始化DS18B20*****/void Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位Delay_DS18B20(8); //稍做延时DQ = 0; //单片机将DQ拉低Delay_DS18B20(80); //精确延时,大于480usDQ = 1; //拉高总线Delay_DS18B20(14);x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);}/*****读一个字节*****/unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****写一个字节*****/void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;}}/*****读取温度*****/unsigned int ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0x44); //启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //读低8位b=ReadOneChar(); //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; //放大10倍输出并四舍五入return(t);}/*****END*****/。