低温温度计的标定与高温超导体温度特性的测量
摘要
本实验对高温超导体的超导转变曲线进行了测量,测量得到其起始转变温度为107.26K,临界温度为92.63K,零电阻温度为91.02K;进行了低温温度计的标定,证明了硅二极管温度计和温差电动势在一定范围内随温度变化的线性关系;通过高温超导的磁悬浮演示测量了解高温超导体的两个独有的特性:混合态效应和完全抗磁性,并测量得出磁悬浮力与超导体-磁体间距的关系曲线。
关键词 高温超导体 超导临界参数 零电阻现象 完全抗磁性 磁通俘获
1.引言
1911年,荷兰物理学家卡末林-昂纳斯(H.K.Onnes,1853—1926)用液氦冷却水银线并通以几毫安的电流,在测量其端电压时发现,当温度稍低于液氦的正常沸点时,水银线的电阻突然跌落到零,这就是所谓的零电阻现象或超导电现象。自从低温超导体发现以来,科学家们对超导电性现象(微观机制)和超导技术以及超导材料进行了大量的研究。
在超导技术开发时代,世界各国科学家相机取得了突破性进展,研制出临界温度高于液氮温度的氧化物超导体,又称为高温超导体。超导研究领域的系列最新进展,为超导技术在个方面的应用开辟了十分广阔的前景。超导电性的应用十分广泛,例如超导磁悬浮列车、超导重力仪、超导计算机、超导微波器件等,还可以用于计量标准。
本实验通过在低温条件下测量高温超导体的电阻温度曲线和低温温度计的比对,了解高临界温度超导材料的基本特性及测试方法,了解金属和半导体的电阻随温度的变化及温差电效应,掌握低温物理实验的低温的获得、控制和测量方法。
2.原理
2.1理论
2.1.1超导体的基本特性
完全导电性和完全抗磁性是超导电性的两个最基本的性质。
2.1.1.1零点阻现象
当把某种金属或合金冷却到某一确定的温度以下时,其直流电阻发生剧变,突然变为零,这种现象称为物质的超导性,这种物质就称为超导体,温度称为临界温度。通常把降温过程中电阻温度曲线开始从直线偏离处的温度称为起始转变温度,把临界温度定义为待测样品电阻从起始转变处下降到一半是对应的温度,把电阻变化10%到90%所对应的温度间隔定义为转变宽度,电阻刚刚完全降为零的温度称为完全转变温度计零电阻温度。的大小反映了材料品质的好坏,均匀单相的样品较窄,反之较宽。超导体由正常态向超导态的过渡是在一个有限的温度间隔里完成的,电阻温度变化关系如图1所示。
2.1.1.2 完全抗磁性
完全抗磁性是指磁场中的金属处于超导状态时,无论有没有外加磁场,超导体体内的磁感应强度为零的现象。由于外磁场的磁通无法进入超导体体内,如果是磁铁与超导体之间,就会产生斥力,斥力可以克服重力,从而产生悬浮现象。这一现象是荷兰科学家迈斯纳发现的,因此又称为迈斯纳效应。
2.1.1.3 临界磁场
把一个磁场加到超导体上后,一定数量的磁场能量用来建立屏蔽电流的磁场以抵消超导体的内部磁场。当磁场达到某一特定值时,它在能量上更有利于使样品返回正常态,允许磁场穿透,即破坏了超导电性。由于存在杂质和应力,超导体不同处存在不同,因此转变将在一个很宽的范围内完成,通常我们把实验发现存
2.1.2.1纯金属材料的电阻温度特性
纯金属晶体的电阻产生与晶体的电子被晶格本身和晶格中的缺陷的热振动所散射,师姐材料中存在的杂质和缺陷也将破坏周期性势场,引起电子的散射。根据金属导电理论的马德森定则,金属中总电阻表示为:
, (1)
表示晶格热振动对电子散射引起的电阻率,与温度有关,电阻与温度的关系决定与晶格振动散射。根据金属能带理论计算表明:在高温区,当时,与T成正比;在低温区,当时,与成正比,其中为德拜温度。表示杂质和缺陷对电子的散射所引起的电阻率与温度无关,与杂质和缺陷的密度成正比,称为剩余电阻率。铂电阻温度关系如图5所示,在液氮正常沸点到室温温度范围内,铂电阻与温度具有良好的线性关系。
2.1.2.2半导体材料的电阻温度特性
对杂质半导体,其载流子有杂志电离与本征激发产生,且存在电离杂质散射和声子散射两种机制,故其温度关系较复杂,半导体锗电阻温度关系如图6所示。半导体在一定温度范围内具有负的电阻温度系数,根据半导体低温区电阻温度关系,用半导体材料做成的温度计,可弥补金属温度计在低温区电阻值和灵敏度降低的缺陷。如图7,硅和砷化镓二极管PN结的正向电压随温度的降低而升高,在相当宽的温度范围内有较好的线性关系和较高的灵敏度。
2.2实验
本实验的仪器有:低温恒温器、不锈钢杜瓦容器、BW2型高温超导材料特性测试装置、PZ158型直流数字电压表、高温超导磁悬浮演示装置。
2.2.1低温恒温器和不锈钢杜瓦容器
低温温度的获得和控制主要通过低温恒温器和不锈钢杜瓦容器,实验过程中样品温度计降温速率的控制是靠在测量过程中改变低温恒温器在杜瓦容器内的位置来实现。实验过程中可用可调式定点液面指示计来简便而精确地使液氮面维持在紫铜圆筒底和下挡板之间距离的1/2处。
2.4电测量原理及测量设备
电测量部分应用了“四引线测量法”测量待测样品的电阻。由于超导样品的电阻远远小于测量引线的阻值,一方面通过四引线测量法可以减小甚至排除了引线和接触电阻对测量的影响;另一方面,测量采用“电压表内接法”减小引线的电阻对待测电阻的影响。测量电流由恒流源提供,其大小可有标准电阻上的电压的测量值得出,如果测量得出了待测样品上的电压,则待测样品的电阻为
3.实验内容
3.1室温测量
测量出室温下铂电阻温度计、硅二极管温度计和超导样品的电流和电压数据,通过测量出标准电阻的电压测量出室温下恒流源的电流值。
3.2低温温度计的比对与超导转变曲线的测量
将液氮灌入杜瓦容器瓶后,当紫铜恒温块和温度开始降低时,将紫铜恒温块缓慢向下移动,观察液面计的读数,当液面计的读数发生突变迅速降为零附近时,则停止移动恒温块。每隔一定时间测量一次各种温度计及超导样品的测温参量,进行温度计的比对,并测量超导体的电阻随铂电阻温度计所给出的温度变化。由于液氮会挥发,因此注意在每次测量间隔时间观察液面计的读数,每次将拉杆向下移动少许,使得液面计读数为零。
4. 实验结果和分析
4.1超导转变曲线的测量
根据实验数据作图得到超导转变曲线如下图所示:
图1 超导体的电阻转变曲线
根据上图可得,当温度较高(大于120K)时,超导体的电阻与温度成线性关系,当温度到达107.26K时可发现电阻随温度的减小而急剧下降,当温度到达91.02K时超导体的电阻为零。可以得到起始转变温度为107.26K,临界温度为92.63K,零电阻温度为91.02K,转变宽度为 K。
4.2低温温度计的比对
4.2.1硅二极管温度计的正向电压随温度的关系
根据实验数据作图得到硅二极管温度计的正向电压随温度的关系如下图所示:
图2硅二极管正向电压随温度的变化关系
根据上图可以得到,硅二极管的正向电压随温度的减小而增大,在(90K~210K)的范围内正向电压与温度成线性关系,电压与温度的关系式U=-0.002T+1.286.
4.2.2温差电偶电动势随温度的关系
根据实验数据作图得到温差电偶电动势随温度的关系如下图所示:
根据上图可以得到,温差电偶电动势随温度的减小而减小,在(90K~210K)的范围内温差电偶电动势与温度成线性关系,电动势与温度的关系式U=0.020T-1.667.
数字温度计
一.设计任务书
设计一个可测量一定温度范围的数字温度计,并显示出当前温度。
二.设计要求
1.基本要求
(1)可测量温度范围:000.0℃~102.0℃
(2)温度分辨率:0.5℃
(3)测量相对误差:≤2%
(4)用数码管实时显示被测温度
2.提高要求
(1)实现多个温度点的实时测量
(2)实现温度的分档测量
(3)实现零下温度测量并显示
3.发挥部分
(1)实现摄氏、华氏、开氏的转换并显示
(2)温度过高报警
三.方案讨论及元件选择
1.方案概述
温度传感器DS18B20是单线通信,其输出值为数字信号,将其输出的温度数据送给单片机AT89C51处理,转换为温度动态显示。
2.分步讨论
(1)温度传感器
本方案采用DS18B20温度传感器,其特点为:
1)适应电压范围更宽,电压范围:3.0~5.5V,寄生电源方式下可由数据线供。
2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
其管脚图为:
DS18B20的引脚功能:
DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地
(2)动态显示
通过单片机与七段显示译码器HCF4511BE结合使用实现
HCF4511BE的简介如下:
HCF4511BE是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。
HCF4511BE 是一片 CMOS BCD—锁存/7 段译码/驱动器,引脚排列如下图所示。其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 HCF4511BE有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是 7 段输出,可驱动共阴LED数码管。另外,HCF4511BE显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观
HCF4511BE 引 脚 图 :
其功能介绍如下:
BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效
HCF4511BE具有锁存功能,译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。 当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。
(3)单片机I/O口资源
22H为显示方式存储区,23H为分辨率存储区,38H为DS18B20的标志位存储区
30H,31H摄氏缓冲区,32H,33H为华氏缓冲区,34H,35H为开氏缓冲区
60H-68H存放从DS18B20读入的9个字节数据
36H,37H,40H,41H,42H为中间数据暂存缓冲区
段选p1.0-p1.3,位选p1.4-p1.7,摄氏、华氏、开氏转换INT0,DS18B20数据脚p3.7
摄氏、华氏、开氏表示分别为p2.0、p2.1、p2.2,零下温度显示表示p2.3,报警p2.4
P0.7,P0.6为通道显示
四.设计原理
1.硬件部分
此次实验主要使用到的芯片有传感器DS18B20、单片机AT89C51、七段译码器CD4511、以及LED数码管。由于传感器DS18B20的输出即为数字信号,因此省去了很多工作,如电流\电压转换、A\D转换等。此次电路的基本原理为:传感器读入温度信息,发送给单片机处理,单片机处理后将信号发送给译码器进行译码后送给LED即显示出当前温度;温度过高时蜂鸣器实行报警。
各部分的连接关系见总图
2.软件部分
软件部分主要包括初始化程序,初始化DS18B20程序,读DS18B20程序,数据转摄氏温度BCD码程序,摄氏温度T转华氏温度F程序,摄氏温度T转开氏温度K程序,零下温度转换程序,报警程序,显示程序,中断程序,延时程序等,具体程序见附录。其中下列程序的编程方法做以下说明:
(1)数据转摄氏温度BCD码程序:由于要实现分辨率可调,所以编程时小数位的值是根据分辨率的值来对从DS18B20读入的四位小数位进行取舍,百位、十位和个位的数则由二进制数除以一百、一十和余数求得,这样即实现把从DS18B20读入的温度装换成代显示的摄氏温度BCD码。
(2)摄氏温度T转华氏温度F程序:华氏温度值F与摄氏温度T的转换关系为:
8位单片机要直接实现9除以5很困难,我们采用的方法是先将摄氏温度T乘以8(3次调用BCD_T)再除以10(右移4位),然后将所得的值加原值T,这样就实现了乘以9/5,再加32就完成了T与F的转换。
(3)摄氏温度T转开氏温度K程序:T与K的转换关系为:K=T+273.1,加法运算很容易实现。
(4)零下温度转换程序:单片机判断从DS18B20读入的数据的符号位为1时,执行零下温度转换程序,因为零下温度时,要对数据位的值求反加1求补码。
(5)报警程序:对所得的温度进行判断,当温度超过50°C时,即驱动蜂鸣器(P2.4口)。
(6)中断程序:INT1接分辨率显示方式选择按键,中断一次,RAM中分辨率显示方式存储区23H的值加1,为2时清零;INT0接摄氏、华氏、开氏显示方式设定按键,中断一次,RAM中显示方式存储区22H的值加1,为2时清零,00H表示显示摄氏,01H表示显示华氏,02H表示显示开氏。
五.调试
根据以上资料以及原理设计完硬件,编写好程序后,在不存在虚焊和连线错误的情况下,要完好的得出结果,还需经过长时间的调试。在此次调试中我们发现了如下问题:
1. 软件调试时,要用F7进行跟踪调试,并且对照各个寄存器和数据缓冲
区里面的值的变化来判断程序是否正确,是否实现功能,单步调试成功
之后,再全速执行,看看结果是否正确,如果全速执行正确的话就开始
硬件调试,不正确又要单步调试。所以开始单步调试时,一定要仔细,
以防“返工”。
2. DS18B20读取温度时,延时太长导致显示时“闪烁”,所以要适当减小延
时,使数码管显示时既不闪烁也不跳变得过快而影响读数。
3. 中断程序要合理延时以防抖动。
4. 编写程序时,要考虑全面,以防止改变显示方式、改变分辨率和切换通道时对数据产生影响。
5. 由于单片机独立工作时,位置高时提供电压电流不够驱动,所以在每个
独立位上可以独立接一个电阻然后接正电源,这样起到一个“辅助”的
作用,例如数码管和发光二极管都可以这样来实现正常显示,而不出现
微亮或模糊不清的情况。
六.优缺点总结
上述设计方案完全能实现基本要求、提高要求和自己的发挥部分。纵观全设计,我们的总结如下:
优点:
1.完成了全部基本要求和提高要求以及发挥部分;
2.本方案最大的亮点是实现零下温度的检测和显示;
3.实现摄氏、华氏、开氏的转换和显示;
4.实现过高温度报警;
5.实现不同分辨率显示;
当然,我们的设计中也存在不少问题,例如,由于单片机独立工作时,不能提供足够大的电压电流,导致报警用蜂鸣器和显示用发光二极管的声音和亮度不够。
七.设计心得体会
通过这三周的软、硬件设计,不仅加深了我们对理论知识的理解,培养了我们的实践动手能力,还锻炼了我们遇到问题解决问题的能力。从开始接到任务时的无从下手,到小组成员各司其职,搜集资料,学习新知识,相互讨论,分析交流,解决好问题的这个过程本身就是对我们的锻炼。此次设计课不同于一般理论课的地方就在于要求我们的并非只是单纯的懂得理论知识,更重要的是小组成员间的团结协作精神以及将理论知识用于实践的能力,由于在实际中,存在各种各样的因素,即使我们有着正确的原理图、软件程序等也不一定能得出正确的结果,正如调试时产生的问题一样,这就需要我们有耐心去分析各种可能存在因素以达到解决问题的最终目的,当然这其中肯定少不了老师的指导和帮助 ,在此,我们小组三人对刘海涛老师的帮助给以最衷心的感谢。
通过这次课程设计我们学到了很多东西,培养了我们的自学能力,接受新事物的心态,以及遇到问题时戒骄戒躁的良好心态和虚心向同学、老师请教自己不会的问题,更重要的是小组成员间的团结协作,相互鼓励,做好分配给自己的任务,用心做每一件事而非应付过关的消极态度。总之,此次设计课使我们受益匪浅。
八.附录
附录一:程序清单
;说明:*********************************************************
;22H为显示方式存储区,23H为分辨率存储区,38H为DS18B20的标志位存储区
;30H,31H摄氏缓冲区,32H,33H为华氏缓冲区,34H,35H为开氏缓冲区
;60H-68H存放从DS18B20读入的9个字节数据
;36H,37H,40H,41H,42H为中间数据暂存缓冲区
;段选p1.0-p1.3,位选p1.4-p1.7,摄氏、华氏、开氏转换INT0,DS18B20数据脚p3.7
;P0.5为0.1分辨率,P0.6为0.2分辨率,P0.7为0.5分辨率
;摄氏、华氏、开氏表示分别为p2.0、p2.1、p2.2,零下温度显示表示p2.3,报警p2.4
;P0.7,P0.6为通道显示
;********************************************************
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0
ORG 0013H
LJMP INT1
;主程序 *************************************************
ORG 0030H
MAIN: LCALL INIT ;调用初始化程序
LOP: LCALL INIT_18B20 ;调用复位DS18B20子程序
JNB 38H,LOP_2
LCALL GET_TEMPER ;调用读温度子程序
LCALL CONV ;调用采样数据转换BCD码子程序
LCALL WARNING ;调用温度超过量程报警子程序
CLR P2.7
SETB P2.6
LCALL DISPLAY ;调用显示子程序
LOP_2:LCALL INIT_18B20_2
JNB 38H,LOPP
LCALL GET_TEMPER_2
LCALL CONV
LCALL WARNING
SETB P2.7
CLR P2.6
LCALL DISPLAY
LOPP: AJMP LOP
;初始化程序*********************************************
INIT: SETB EA
SETB EX0
SETB IT0
SETB EX1
SETB IT1
MOV 22H,#00H
MOV 23H,#00H
MOV P1,#00H
CLR P2.0
CLR P2.1
CLR P2.2
CLR P2.3
CLR P2.4
CLR P0.5
CLR P0.6
CLR P0.7
RET
;复位DS18B20程序*********************************************
INIT_18B20:
SETB P3.7
NOP
CLR P3.7 ;主机发出延时540ms的复位低脉冲
MOV R0,#0CH
LCALL DELAY3
SETB P3.7 ;然后拉高数据线
NOP
NOP
MOV R0,#36
TSR2: JNB P3.7,TSR3 ;等待DS18B20回应
DJNZ R0,TSR2
LJMP TSR4 ;延时
TSR3: SETB 38H ;置标志位,表示DS18B20存在
LJMP TSR5
TSR4: CLR 38H ;清标志位,表示DS18B20不存在
LJMP TSR7
TSR5: MOV R0,#06BH
TSR6: DJNZ R0,TSR6 ;复位成功,时序要求延时一段时间
TSR7: SETB P3.7
RET
;------------------------------------------------------------
INIT_18B20_2:
SETB P3.6
NOP
CLR P3.6 ;主机发出延时540ms的复位低脉冲
MOV R0,#0CH
LCALL DELAY3
SETB P3.6 ;然后拉高数据线
NOP
NOP
MOV R0,#36
TSR2_2: JNB P3.6,TSR3_2 ;等待DS18B20回应 +
DJNZ R0,TSR2_2
LJMP TSR4_2 ;延时
TSR3_2: SETB 38H ;置标志位,表示DS18B20存在
LJMP TSR5_2
TSR4_2: CLR 38H ;清标志位,表示DS18B20不存在
LJMP TSR7_2
TSR5_2: MOV R0,#06BH
TSR6_2: DJNZ R0,TSR6_2 ;复位成功,时序要求延时一段时间
TSR7_2: SETB P3.6
RET
;-----------------------------------------------------
;读出转换后的温度值***************************************
GET_TEMPER:
SETB P3.7 ;定时入口
LCALL INIT_18B20 ;先复位DS18B20
JB 38H,TSS2 ;判断DS18B20是否存在,不存在则返回
RET
TSS2: MOV A,#0CCH ;跳过ROM匹配
LCALL WRITE_18B20
MOV A,#44H ;发出温度转换命令
LCALL WRITE_18B20
MOV R0,#0FFH ;等待A/D转换结束,750ms
LCALL DELAY3
LCALL INIT_18B20 ;准备读温度前先复位
MOV A,#0CCH ;跳过ROM匹配
LCALL WRITE_18B20
MOV A,#0BEH ;发出读温度命令
LCALL WRITE_18B20
LCALL READ_18B20 ;将读出的9个字节数据保存到60H-68H
RET
;--------------------------------------------------
GET_TEMPER_2:
SETB P3.6 ;定时入口
LCALL INIT_18B20_2 ;先复位DS18B20
JB 38H,TSS2_2 ;判断DS18B20是否存在,不存在则返回
RET
TSS2_2: MOV A,#0CCH ;跳过ROM匹配
LCALL WRITE_18B20_2
MOV A,#44H ;发出温度转换命令
LCALL WRITE_18B20_2
MOV R0,#0FFH ;等待A/D转换结束,750ms
LCALL DELAY3
LCALL INIT_18B20_2 ;准备读温度前先复位
MOV A,#0CCH ;跳过ROM匹配
LCALL WRITE_18B20_2
MOV A,#0BEH ;发出读温度命令
LCALL WRITE_18B20_2
LCALL READ_18B20_2 ;将读出的9个字节数据保存到60H-68H
RET
;--------------------------------------
;写DS18B20的子程序(具体时许要求)*********************
WRITE_18B20:
MOV R2,#8 ;一共8位数据
CLR C
WR1: CLR P3.7
MOV R3,#6
DJNZ R3,$
RRC A
MOV P3.7,C
MOV R3,#24
DJNZ R3,$
SETB P3.7
NOP
DJNZ R2,WR1
SETB P3.7
RET
;---------------------------------------------------
WRITE_18B20_2:
MOV R2,#8 ;一共8位数据
CLR C
WR1_2: CLR P3.6
MOV R3,#6
DJNZ R3,$
RRC A
MOV P3.6,C
MOV R3,#24
DJNZ R3,$
SETB P3.6
NOP
DJNZ R2,WR1_2
SETB P3.6
RET
;----------------------------------------------------
;读DS18B20的程序,从DS18B20中读出九个字节的数据
;存到60H-68H*****************************************
READ_18B20:
MOV R4,#9
MOV R1,#60H ;存入60H开始的9个单元中
RE00: MOV R2,#8
RE01: CLR C
SETB P3.7
NOP
NOP
CLR P3.7
NOP
NOP
NOP
SETB P3.7
MOV R3,#09
RE02: DJNZ R3,RE02
MOV C,P3.7
MOV R3,#23
RE03: DJNZ R3,RE03
RRC A
DJNZ R2,RE01
MOV @R1,A
INC R1
DJNZ R4,RE00
RET
;------------------------------------------------------
READ_18B20_2:
MOV R4,#9
MOV R1,#60H ;存入60H开始的9个单元中
RE00_2: MOV R2,#8
RE01_2: CLR C
SETB P3.6
NOP
NOP
CLR P3.6
NOP
NOP
NOP
SETB P3.6
MOV R3,#09
RE02_2: DJNZ R3,RE02_2
MOV C,P3.6
MOV R3,#23
RE03_2: DJNZ R3,RE03_2
RRC A
DJNZ R2,RE01_2
MOV @R1,A
INC R1
DJNZ R4,RE00_2
RET
;---------------------------------------------------------
;采样数据转换BCD码程序*********************************
CONV: MOV 41H,61H
MOV 40H,60H ;40H,41H为数据暂存缓冲区
MOV 42H,40H ;42H为数据暂存缓冲区
MOV A,61H
CLR C
RLC A
JC N0 ;符号位为1跳转,表示当前是零下温度
CLR P2.3 ;关闭正负温度指示灯
LCALL W_BCD
LCALL T_F
LCALL T_K
LJMP QUIT0
N0: SETB P2.3
CLR C
MOV A,40H
CPL A
ADD A,#01H
MOV 40H,A
MOV 42H,40H ;42H为数据暂存缓冲区
MOV A,41H
CPL A
ADDC A,#00H
MOV 41H,A
LCALL W_BCD
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
QUIT0:RET
;60H,61H中的温度值转换BCD码程序*************************
W_BCD:ANL 40H,#0F0H
MOV A,40H
SWAP A
MOV 40H,A
ANL 41H,#07H
MOV A,41H
SWAP A
ORL A,40H ;A中存放整数部分的二进制值
MOV 41H,A ;41H中存放整数部分的二进制值
MOV B,#100
DIV AB
SWAP A
MOV 37H,A
MOV A,B
MOV B,#10
DIV AB
ORL A,37H
MOV 37H,A ;37H中存放百位数和十位数BCD码
MOV A,B
SWAP A
MOV 36H,A ;36H中存放个位数BCD码
MOV A,23H
CJNE A,#00H,FF0
SETB P0.5
CLR P0.6
CLR P0.7
ANL 42H,#0EH ;42H为数据暂存缓冲区
MOV A,42H
CJNE A,#00H,L0
MOV A,#00H
LJMP L15
L0: CJNE A,#02H,L1
MOV A,#01H
LJMP L15
L1: CJNE A,#04H,L2
MOV A,#02H
LJMP L15
L2: CJNE A,#06H,L3
MOV A,#04H
LJMP L15
L3: CJNE A,#08H,L4
MOV A,#05H
LJMP L15
L4: CJNE A,#0AH,L5
MOV A,#06H
LJMP L15
L5: CJNE A,#0CH,L6
MOV A,#08H
LJMP L15
L6: MOV A,#09H
LJMP L15
FF0: CJNE A,#01H,FF1
CLR P0.5
SETB P0.6
CLR P0.7
ANL 42H,#0CH ;42H为数据暂存缓冲区
MOV A,42H
CJNE A,#00H,LL0
MOV A,#00H
LJMP L15
LL0: CJNE A,#04H,LL1
MOV A,#02H
LJMP L15
LL1: CJNE A,#08H,LL2
MOV A,#05H
LJMP L15
LL2: MOV A,#08H
LJMP L15
FF1: CLR P0.5
CLR P0.6
SETB P0.7
ANL 42H,#08H ;42H为数据暂存缓冲区
MOV A,42H
CJNE A,#00H,LLL0
MOV A,#00H
LJMP L15
LLL0: MOV A,#05H
L15: ORL A,36H
MOV 36H,A ;36H中存放个位数和小数位数BCD码
MOV 30H,36H
MOV 31H,37H ;送摄氏缓冲区
RET
;实现1次循环36H,37H中的数乘以2,入口36H,37H,出口36H,37H
;出口36H、37H ************************************************
BCD_T:
N1: MOV A,36H
ADD A,36H
DA A
MOV 36H,A
MOV A,37H
ADDC A,37H
DA A
MOV 37H,A
DJNZ R1,N1
RET
;摄氏转华氏:入口36H、37H, 出口32H、33H ****************
T_F: MOV R1,#03H
LCALL BCD_T ;乘8
MOV A,36H
ANL A,#0F0H
SWAP A
MOV 36H,A
MOV A,37H
ANL A,#0FH
SWAP A
ORL A,36H
MOV 36H,A
MOV A,37H
ANL A,#0F0H
SWAP A
MOV 37H,A ;实现除以10,即完成*0.8
MOV A,30H
ADD A,36H
DA A
MOV 32H,A
MOV A,31H
ADDC A,37H
DA A
MOV 33H,A ;实现再加原数,即完成*9\5
MOV A,32H
ADD A,#20H
DA A
MOV 32H,A
MOV A,33H
ADDC A,#03H
DA A
MOV 33H,A ;实现再加32,完成转换
RET
;摄氏转开氏:入口30H、31H, 出口34H、35H *****************
T_K: MOV A,30H
ADD A,#31H
DA A
MOV 34H,A
MOV A,31H
ADDC A,#27H
DA A
MOV 35H,A
RET
;超过量程报警程序****************************************
WARNING:
MOV A,31H
CLR C
SUBB A,#05H
JNC N4 ;超过50度报警
CLR P2.4
JMP QUIT1
N4: SETB P2.4
QUIT1:RET
;显示程序:*********************************************
DISPLAY:
PUSH PSW
SETB PSW.4 ;选择三号工作组
SETB PSW.3
MOV R6,#02H
STT: MOV R7,#0FFH
ST: MOV R1,#2
MOV R2,#00010000B
MOV A,22H
CJNE A,#00H,W0
MOV R0,#30H ;显示摄氏
SETB P2.0
CLR P2.1
CLR P2.2
JMP LP2
W0: CJNE A,#01H,W1
MOV R0,#32H ;显示华氏
CLR P2.0
SETB P2.1
CLR P2.2
JMP LP2
W1: MOV R0,#34H ;显示开氏
CLR P2.0
CLR P2.1
SETB P2.2
LP2: MOV A,@R0
ANL A,#0FH
ORL A,R2
MOV P1,A
LCALL DELAY2
MOV P1,#00H
MOV A,R2
RL A
MOV R2,A
MOV A,@R0
ANL A,#0F0H
SWAP A
ORL A,R2
MOV P1,A
LCALL DELAY2
MOV P1,#00H
MOV A,R2
RL A
MOV R2,A
INC R0
DJNZ R1,LP2
DJNZ R7,ST
DJNZ R6,STT
QUIT2:POP PSW
RET
;中断程序: 改变显示方式22H的值 ************************
INT0: PUSH A
CLR EX0
LCALL DELAY2
JB P3.2,QUIT3
MOV A,22H
CJNE A,#02H,N6
MOV A,#00H
JMP N7
N6: INC A
N7: MOV 22H,A
QUIT3:SETB EX0
POP A
RETI
;中断1程序: 改变显示方式22H的值 ************************
INT1: PUSH A
CLR EX1
LCALL DELAY2
JB P3.3,QUIT4
MOV A,23H
CJNE A,#02H,N8
MOV A,#00H
JMP N9
N8: INC A
N9: MOV 23H,A
QUIT4:SETB EX1
POP A
RETI
;延时程序:3ms*****************************************
DELAY3:PUSH A
PUSH PSW
ORL PSW,#18H ;选择三号工作组
DL4: MOV R1,#01H
DL3: MOV R2,#01H
DL2: NOP
NOP
DJNZ R2,DL2
DJNZ R1,DL3
DJNZ R0,DL4
POP PSW
POP A
RET
;延时程序:2ms*****************************************
DELAY2:PUSH A
PUSH PSW
ORL PSW,#18H ;选择三号工作组
MOV R4,#0FFH
DL1: MOV R5,#0FFH
DL0: DJNZ R5,DL0
POP PSW
POP A
RET
附录二:总电路图
附录三:元件清单
参考文献:
《 51系列单片机应用与实践教程》 周向红,北京航空航天大学出版社
《单片机原理与应用 》 陈建铎 ,科学出版社
《 单片机系统开发技术》 刘高锁 ,天津大学出版社
《单片机原理及应用技术 》 吴黎明, 科学出版社
《 基于DS18B20的数字温度计设计及应用》 胡天明,齐建家
低温温度计的标定与高温超导体温度特性的测量摘要本实验对高温超导体的超导转变曲线进行了测量测量得到其起始转变温度Tconset为10…
高温超导材料特性测试和低温温度计摘要采用杜瓦容器和低温恒温器获得从液氮沸点到室温的任意温度在此条件下测量高温超导材料电阻确定其起始…
高温超导转变温度测量摘要很多金属材料都有一定的电阻这些金属材料用于给定技术方面时有一定的负面作用例如电流流过金属材料时会发热若电阻…
实验报告姓名王航班级F0703028学号5070309025实验成绩同组姓名孙鼎成实验日期20xx1020指导教师助教35批阅日期…
近代物理实验I实验报告高温超导相关实验实验者明亮0830019xx34合作者余高0830019xx57林杰0730019xx16指…
实验报告姓名王航班级F0703028学号5070309025实验成绩同组姓名孙鼎成实验日期20xx1020指导教师助教35批阅日期…
近代物理实验报告高温超导材料的特性与表征摘要本实验主要通过对YBaCuO高温超导材料特性的测量理解超导体的两个基本特性即完全导电性…
高温超导材料的特性与表征实验报告10物理小彬连摘要本实验对高温超导体的超导转变曲线进行了测量测量得到其起始转变温度临界温度零电阻温…
高温超导转变温度测量摘要很多金属材料都有一定的电阻这些金属材料用于给定技术方面时有一定的负面作用例如电流流过金属材料时会发热若电阻…