




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘 要.ABSTRACT.1 概论.1 引言.1 智能仪器的现状及开展.3 温度测量系统中选取局部仪器的简介.4 课题来源及目标.7 本文的主要研究工作.72 硬件电路的设计.8 温度测量方案论证.8 电源电路设计.9 温度测量电路设计.11 液晶显示屏电路设计.15 键盘电路设计.202.6 报警电路设计.213 程序设计.23 程序流程.23 程序设计.244 系统 PROTEUS 仿真.38 程序加载.38 程序编译.39 程序仿真及结果.41结束语.43参考文献.44附录:系统原理图.46致谢.471 概论 引言在工农业生产和人们的日常生活中,有很多对象如温度、液位、压力、流量、
2、粘度、湿度以及pH值等需要测量,它们直接和节省能源、平安生产、产品质量、生产效率以及方便人们生活相联系,因此测量这些对象的仪器即传感器受到了普遍重视,早期的传感器都是把检测到的信号以标准模拟量的方式变送输出1,如图1.1所示。检测信号Vi与调零调量程回路的信号Vz和反响回路的信号Vf进行综合后,输入放大单元进行处理,输出标准的统一模拟信号。图 1.1 模拟传感器变送框图随着微电子学和计算机等现代电子技术的开展壮大,给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。微处理器在70年代初期问世不久,就被引进电子测量和仪器领域,所占比重在各项计算机应用领域中名列前茅2。在这之后,随着微处理器在体
3、积小、功能强、价格低等方面的进一步的开展,电子测量与仪器和计算机技术结合就愈加紧密,形成了全新的微机化仪器。微机化仪器实际上是一个专用的微型算机系统,它由硬件和软件两大局部组成。硬件局部主要包括主机电路、模拟量输入输出通道、人机联系部件与接口电路、标准通信接口等,其通用结构框图如图1.2所示3,4。其中的主机电路用来存储程序、数据并进行一系列的运算和处理,它通常由微处理器、程序存储器、输入输出I/O接口电路等组成,或者它本身就是一个单片微型计算机。模拟量输入输出通道用来输入输出模拟量信号,主要由A/D转换器、D/A转换器和有关的模拟信号处理电路等组成。标准通信接口电路用于实现仪器与计算机的联系
4、,以便使仪器可以接受计算机的程控命令,目前生产的微机化仪器一般都配有GP-IB或RS-485等标准通信接口。整流滤波集成运放DO DC 功放输入回路隔离输出反馈回路Vi Vz24VCDU放大单元量程单元V1+_微机化仪器的软件局部主要包括监控程序和接口管理程序两局部。其中监控程序面向仪器面板键盘和显示器,其内容包括:通过键盘操作输入并存储所设置的功能、操作方式与工作参数;通过控制I/O接口电路进行数据采集,对仪器进行预定的设置;对数据存储器所记录的数据和状态进行各种处理;以数字、字符、图形等形式显示各种状态信息以及测量数据的处理结果。接口管理程序主要面向通信接口,其内部是接受并分析来自通信接口
5、总线的各种有关功能、操作方式与工作参数的程控操作码,并通过通信接口输出仪器的现行工作状态及测量数据的处理结果,以响应计算机的远程命令。这种微机化仪器即所谓的“智能仪表5。图 1.2 微机化仪器结构框图与传统的模拟电子仪器相比拟6,7:(1) 智能仪器具有友好的人-机对话的能力,使用人员只需通过键盘打入命令,仪器就实现某种测量和处理,与此同时,智能仪器还通过显示屏将仪器运行情况、工作状态以及对测量数据的处理结果及时告诉使用人员,使人-机之间的联系非常亲密。(2) 智能仪器一般都配有GP-IB或RS-485等接口,使智能仪器具有可程控操作能力。从而可以很方便地与计算机和其他仪器一起组成用户所需要的
6、多种功能的自动测量系统,来完成更复杂的测试任务。(3) 智能仪器运用微处理器的控制功能,可以很方便地实现量程自动转换、自动调零、自诊断等功能,有力地改善了仪器的自动化水平。(4) 微处理器的运用极大地提高了仪器的性能。例如按照一定的算法可以方便地消除由于温漂、增益的变化和干扰等因素所引起的误差,从而提高了仪器的测量精度。还具有很强的数据处理能力,能对测量结果进行诸如零点平均、平均值、统计分微处理器MPU程序存储器(ROM)数据存储器(RAM)I/O接口键盘显示接口标准仪用通信接口键盘显示A/D转换器D/A转换器输入电路模拟执行器主机电路外部仪用标准总线被测量模拟量输入输出人机接口通信接口析以及
7、更加复杂的数据处理功能,使用户从繁重的数据处理中解放出来。(5) 微处理器具有较高速度的数据计算能力,较强的控制功能,微处理器本身就是一个结构完备的计算机,内含丰富的I/O、定时/计数、串行口和RAM等,大大简化了仪器的硬件结构,降低了仪器的造价。 智能仪器的现状及开展70年代以来,在新技术革命的推动下,尤其是微电子技术和微型计算机技术的快速进步,使电子仪器的整体水平发生很大变化,先后出现独立式智能仪器、GP-IB自动测试系统、插卡式智能仪器个人仪器 ,在此根底上,1987年又问世了一种被称为21世纪仪器的VXI总线仪器系统。VXI系统集中了智能仪器、GP-IB总线、个人仪器的很多特长,是一种
8、全世界范围内完全开放的,适用多供货厂商的模块总线仪器系统,已被公认为当前仪器开展的世界潮流8。随着仪器与系统硬件的不断完善以及新的仪器设计思想的开展,软件的重要性与进一步开展的迫切性变得越来越突出,测试界今后的巨大变化将发生在软件方面。 独立式智能仪器及自动测试系统独立式智能仪器简称智能仪器即自身带有微处理器能独立进行测试的电子仪器是现阶段智能化电子仪器的主体。这类仪器在技术上已经比拟成熟,同时借助于新技术、新器件和新工艺的不断进步,这类仪器还在不断开展,不断地推陈出新。目前,不仅大多数传统的电子仪器已有相应代换的智能仪器产品,而且还出现了不少全新的仪器类型和测试系统体系。智能仪器几乎都配有G
9、P-IB或RS-485通信接口。GP-IB是国际电工协会IEC1978年正式推荐的一种仪用标准接口总线,已被世界各国普遍采纳。但凡配有GP-IB这种标准接口的仪器和计算机,不分生产国别、厂家,都可以借助于一条无源电缆总线按积木式互连,灵活地组成各种不同用途的自动测试系统,以完成较复杂的测试任务9。典型自动测试系统如图1.3所示。一个自动测试系统有计算机,多台可程控仪器以及GP-IB三者组成,计算机作为系统的控制者,通过执行测试软件,实现对测量全过程的控制及处理;各可程控仪器设备是测试系统的执行单元,具体完成采集、测量、处理等任务;GP-IB有计算机及各程控仪器中的标准接口和标准总线两局部组成,
10、它如同一个多功能的神经网络,把各种仪器设备有机地连接起来,完成系统内的各种信息的变换和传输任务。从计算机系统结构的角度来看,有智能仪器组成的自动测试系统是一个分布式多微机系统,系统内的智能仪器在任务一级并行工作,它们各自具备的硬件和软件,因而能相对独立地工作,相互间也可通信,它们之间通过外部总线松散耦合10。对于不同的测试任务,只需增减或更换“挂在它上面的仪器设备,编制相应的测试软件,而系统本身不变。这种自动测试系统特别适用于要求测量时间极短而数据处理量极大的测试任务中,以及测试现场对操作人员有害或操作人员参与操作会产生人为误差的测试场合11。图 1.3 典型自动测试系统 软件技术的高速开展及
11、虚拟仪器在新一代的仪器系统中,计算机软件和测试仪器更加紧密地结合在一起,为了使仪器系统的硬件设备尽量少,传统仪器的许多硬件乃至整个仪器都被计算机软件所代替,例如只使用一块A/D卡,借助于计算机的计算功能,在软件的配合下就可能实现多种仪器的功能,如数字多用表,数字存储视波器,数字频谱分析,数字采集系统,数字频率计等12。除此之外,即使是用C,C+这样的高级语言编制、调试测试程序,也不能适应现代仪器系统对缩短仪器系统开发时间的要求,出于这些考虑,近年来许多公司开发出很多出色的仪器开发系统软件包,在这方面最有代表性的软件是NI公司的LabVIEW、HP公司的VEE等。所谓虚拟仪器或集成仪器,是指通用
12、计算机上添加几种带共性的根本仪器硬件模块,通过软件来组合成各种功能的仪器或系统的仪器设计思想。其中鼓励信号可有微机产生数字信号,再经D/A转换器产生所需的模拟信号13。大量的测试功能可以通过对被测信号的采样,再经A/D转换得到测量结果。许多功能还可以完全由软件来实现,这样就摆脱由硬件构成一件件仪器再连成系统的概念。标准接口计算机标准接口可程控电子仪器标准接口可程控电子仪器标准接口打印机标准接口可程控电子仪器待测件标准总线1.3 温度测量系统中选取局部仪器的简介温度测量涉及各行各业 ,而传统的温度测量仪器有酒精温度计、煤油温度计、水银温度计等 ,都需人工手动测量.在科学技术开展的今天很多场合 有
13、毒、高温、无人等 ,用传统的温度测量技术就显得比拟麻烦.单片机的出现 ,电子技术的飞速开展 ,使温度计的自动化、数字化就变得容易实现.本文着重研究用单片机控制的数字温度计 ,采用的微机化仪器实际上是一个专用的微型算机系统,它由数字温度传感器DS18B20、单片机AT89S52、液晶显示屏1602、带中断的键盘和报警电路构成14。 DS18B20的结构和特点DS18B20内部结构主要由四局部组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。DS18B20的主要特性15,16:(1) 适应电压范围更宽,电压范围:,在寄生电源方式下可由数据线供电。(2) 独特的单线接
14、口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5) 测温范围55125,在-10+85时精度为0.5。(6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7) 在9位分辨率时最多在ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)
15、 测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 AT89S52简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式
16、控制应用系统提供高性价比的解决方案17。AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器RAM,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗WDT电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位18。同时该芯片还具有PDIP、TQFP和PLC
17、C等三种封装形式,以适应不同产品的需求。 液晶显示屏16021602液晶模块内部的控制器共有11条控制指令19,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的20。说明:1为高电平、0为低电平:指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否
18、闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。 课题来源及目标本设计来源于对目前应用的温度控制传感器大多都是把温度值转换成时间间隔,再把时间间隔转换成对
19、应的模拟电信号输出。针对这一测量方法还存在一些缺乏之处,本文所介绍的温度测量系统正是对原温度控制传感器的时间间隔直接进行测量,采用适当滤波算法处理测量结果以提高精度,实现了多点测量,所得测量值通过串行总线可实现远距离传输,增添了单片机以后实现了智能化人机接口可以方便接入工业网,采用AT89S52单片机及其它低功耗芯片,优化电路结构,使系统功耗大大降低,为本型安传感器开发奠定根底。在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够到达较高的测量精度21。而在本课题里DS18B20工作时被测温度值直接以“单总线的数
20、字方式传输,大大提高了系统的抗干扰能力,适合于在恶劣的环境下进行现场温度测量,还允许被放置在许多不同的地方,此特性可应用在如环境控制、建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。 本文的主要研究工作本文从智能仪表的角度出发,根据设计任务书的要求,将要做以下几方面的探讨和测试工作:(1) 温度测量系统总体结构及各局部功能。(2) 分析了温度测量系统硬件电路的组成,用Proteus对原模拟板电路进行仿真分析,以及数字板电路的设计过程。(3) 通过试验方案确实定、仪器设备的选择使用等,了解基于AT89S52单片机的系统软件的设计过程。2 硬件电路的设计 温度测量方案论证要完成精确
21、的温度测量,最关键的地方是传感器。采用温度传感器采集温度信号,需要设计信号检测电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到单片机去处理。这样,便会因为各种因素而造成检测系统偏差较大;如果检测环境复杂,测量点多,信号传输距离远,那么会使检测系统的稳定性和可靠性下降。所以,对于多点温度检测系统的设计,关键在于温度传感器的选择。.1 基于负温度系数热敏电阻的温度测量方案采用负温度系数热敏电阻传感器,可满足40C至90C的温度测量范围,以ADC0809为转换器,将模拟信号转变为数字信号,再将所得数字信号传输到单片机进行处理。由热敏电阻测得的模拟信号传输至ADC080
22、9会因为外界因素而产生较大的误差,影响测量精度22。在多点测温系统中,该测温方法是将模拟信号远距离采样进行A/D转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。如此以来,电路将变得复杂。 A/D 转换A/D 转换A/D 转换A/D 转换带中断的 23 键盘液晶显示屏运行指示灯报警指示灯功放报警温度传感器温度设置键运行状态监测P0CPU热敏电阻 1热敏电阻 2热敏电阻 3热敏电阻 4模数转换图 2.1 基于负温度系数热敏电阻的温度测量装置框图2. 基于DS18B20的数字温度传感器的温度测量方案数字温度传感器DS18B20,采用数
23、字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性都很稳定,它能用作工业测温元件,此元件线形较好。在0100C时,最大线形偏差小于1C。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比拟简单,体积也不大,且由于AT89S52可以带多个DS18B20,因此可以非常容易。采用温度芯片DS18B20测量温度,可以表达系统芯片化这个趋势。局部功能电路的集成,使总体电路更简洁,搭建电路
24、和焊接电路时更快。而且,集成块的使用,有效地防止外界的干扰,提高测量电路的精确度23。所以集成芯片的使用将成为电路开展的一种趋势。在测温系统中,DS18B20的使用也将是一种趋势。温度传感器 1温度传感器 2温度传感器 3温度传感器 4带中断的独立键盘液晶显示屏运行指示灯报警指示灯功放报警传感器温度设置键运行状态监测P0CPU图 2.2 基于 DS18B20 的温度测量装置框图2.1.3 方案论证综上所述,采用基于DS18B20的数字温度传感器的温度测量方案,能够提高系统的测量精度,简化电路,降低本钱。采用AT89S52单片机,该型号单片机内置看门狗电路,只需在程序中写入几条指令即可防止系统出
25、现崩溃而死机。单片机内存达16K,更能适合复杂点的电路。设计系统原理图如图2.3。 电源电路设计在本设计中,LM386的电压为612V,其他的电压都是5V。采用整流桥,7809以及7805。按照设计要求,装置需要通过变压器接入到220V交流电源上,变压器变压后的输出电压U2为12V,输出电流IO为,输出工作电压UO1 =9V,UO2 =5V。 系统原理图下面通过计算来选择整流二极管以及变压器的变比和容量。(1) 先求出变压器付边电压U2,由UO1=0.9 U2得:U2=90.9=10V(2) 考虑到变压器付边绕阻的压降和整流二极管导通等压降,应在此根底上增加P35P36P37P37P36P35
26、P26P26XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.
27、6/WR16P3.5/T115U1AT89S52X112MC122pFC222pF+5VR1310k234567891RP15K+5V27.0DQ2VCC3GND1U2DS18B2027.0DQ2VCC3GND1U3DS18B2029.0DQ2VCC3GND1U4DS18B2027.0DQ2VCC3GND1U5DS18B20D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR1110k+5V+5V12D112D2R1210kR1200R2200R310kC40.047pFR410+5VR65kR55kR75kR85kR95kR
28、105k53264718U6LM386+9V+5V12456U7:A74HC2191012138U7:B74HC2112B112B212B312B412B512B7BUTTON61%231RV11kLS1SOUNDER12B6+C710uF+C5220uF+C61uF+C810uF+C31uF5%,即:U2= U2+ U25%=10+105%=10.5V,取U2=11V(3) 通过二极管的平均电流:ID= IO整流二极管承受的最大反向电压:,VUVDRM554.1511414. 122VVDRM16取由所得数据查表确定型号为1N4001或2CZ11A。(4) 变压器的变比:K=UIU2=220
29、11=20(5) 滤波电容:=RLC25T/2 , T=0.02S (2.1)C0.020.05IOUO1 (2.2)UO2 (2.3)C=0.031.51.211=343F所以,选择343F的电容。C2103C6343uF220VTR1TRAN-2P2SVI1VO3GND2U17805VI1VO3GND2U27809+C4343uF+C5103C1103+C3343uFBR1BRIDGE+5v图 2.4 电源电路图2.3 温度测量电路设计温度测量电路图如图。P2.0P2.1P2.2P2.3P2.4P2.527.0DQ2VCC3GND1U2DS18B2027.0DQ2VCC3GND1U3DS1
30、8B2027.0DQ2VCC3GND1U4DS18B2027.0DQ2VCC3GND1U5DS18B20+5V12D1LED-GREEN12D2R1200R22002.3.1 DS18B20简介DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改良型智能数字温度传感器24。与传统的热敏电阻相比,它能够直接读出被测温度,并且精度可以通过用户编程配置为9、10、11和12位;从DS18B20读出信息或写入信息仅需要1根口线(单线接口);使用DS18B20可使系统结构更趋简单,可靠性更高。测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。DS18B20
31、的内部结构主要包括寄生电源电路、64位只读存储器(ROM)和单线接口、存储器和控制逻辑、存放中间数据的高速暂存存储器、温度传感器、报警上限存放器TH、报警下限存放器TL、配置存放器和8位CRC(循环冗余校验码)发生器。每片DSl8B20有唯一的64位注册码,存储在只读存储器(ROM)中25。DS18B20的核心是其数字温度传感器,分别对应于0.5、0.25、0.125和0.062 5,可以满足各种不同的分辨率要求。根据DS18B20的通讯协议,主机单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行预定复位操作,复位成功后发送一条ROM指令,最后发送RA
32、M指令,这样才能对DS18B20进行预定的操作。复位要求CPU将数据线下拉500s,然后释放,当DS18B20收到信号后等待1660s左右,然后发出60240s的低脉冲,CPU收到此信号表示复位成功。温度值转换完成之后,该温度数据存放在高速暂存存储器的温度存放器中,占用两个字节,并且DS18B20返回到空闲状态。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放高温度和低温度触发器TH、TL和结构存放器。DS18B20每完成一次温度测量之后,就拿温度值和存储在TH和TL中的值进行比拟。因为这些存放器是8位的,所以0.5C位被忽略不计26。
33、TH和TL的最高有效位直接对应16位温度存放器的符号位。如果测得的温度值高于TH或低于TL,期间内部就会置位一个报警标识,每进行一次测温就对这个标识进行一次更新。当报警标识置位时,DS18B20会对报警搜索命令有反响。如果某个地方的温度值超过了限定值,报警的器件就会被立即识别出来并读取。配置存放器各位的意义如表2.1:表 2.1 配置存放器结构TMR1R011111低五位一直都是“1,TM是测试模式位,用于设置DS18B20在工作模式还是测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表2.2所示DS18B20出厂时被设置为12位:表 2.2 DS1
34、8B20 暂存器分布表存放器内容字节地址温度值低位LS Byte0温度值高位MS Byte1高温限值TH2低温限值TL3配置存放器4保存5保存6保存7CRC 校验值8表 2.3 温度分辨率设置表R1R0分辨率温控精度转换时间009 位C0110 位C1011 位C375ms1112 位C750ms表 2.4 ROM 指令表指令代码功能读 ROM33H读 DS18B20 温度传感器 ROM 中的编码即 64 位地址符合 ROM55H发出此命令后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS18B20,使之做出响应,为下一步对该 DS18B20 的读写做准备。搜索 ROM0
35、F0H用于确定挂接在同一总线上 DS18B20 的个数和识别 64 位 ROM 地址。为操作各器件做好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。DS18B20的数据读写是通过时间间隙处理位和命令字来确认信息交换。写时间隙:当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两中写时间隙:写“1时间隙和写“0时间隙,所有写时间隙必须最少持续60s,包括两个写周期之间至少1s的恢复时间。I/O口电平变低后,DS18B20在一个15s到60s的窗口
36、内对I/O线采样,如果线上是高电平,就是写“1,如果线上是低电平,就是写“0。表 2.5 RAM 指令表指令代码功能温度变换44H启动 DS18B20 进行温度变换,结果存入内部 9 字节 RAM 中。读暂存器0BEH读内部 RAM 中 9 字节的内容。写暂存器4EH发出向内部 RAM 的 3、4 字节写上、下限温度数据命令,紧跟该命令之后是传送两字节的数据。复制暂存器48H将 RAM 中第 3、4 字节的内容复制到 EEPROM 中。重调 EEPROM0B8H将 EEPROM 中内容恢复到 RAM 中的第 3、4 字节。读供电方式0B4H读 DS18B20 的供电模式,寄生供电时 DS18B
37、20 发送“0,外接电源供电 DS18B20 发送“1。读时间隙:当从DS18B20读取数据线时,主机生成读时间隙。当主机把数据线从高电平拉到低电平时,写时间隙开始。数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s内有效。因此,主机在读时间隙开始后必须停止把I/O脚驱动为低电平15s,以读取I/O脚状态,在读取时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平,所有读时间隙必须最少持续60s,包括两个读周期之间至少1s的恢复时间。2.3.2 单片机数据采集在本设计中,单片机需要对输入到其引脚上的信号进行读取,这就要求单片机在每次读引脚时,先用指令把被读断口置1,
38、使端口输出FET截止,然后再发出读引脚指令27。读引脚指令格式一般为:MOV Px,#0FFH ;如果复位后没有改变过该端口的状态,那么可省略此指令MOV ,;x为0,1,2,3Px口源操作数既可以是字节操作,也可以是位操作。如:MOV A,P1;读P1口8个引脚的信号,然后送入A;读P2口8个引脚的信号,然后仅把位送入C单片机与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480s,最多不能超过960s。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560s才发出应
39、答脉冲。应答脉冲能保持60240s。单片机从发送完复位脉冲到再次控制总线至少要等待480 s。2.4 液晶显示屏电路设计2.4.1 LCM1602介绍LCM采用16引脚封装,外形与引脚分布如下图。各引脚的名称及功能如下28。第1脚VSS,为地电源。第2脚VDD,接5V正电源。第3脚VEE为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器调整比照度。第4脚RS为存放器选择,高电平时选择数据存放器、低电平时选择指令图 2.6 LCM1602 液晶显示器存放器。第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操
40、作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。LCM1602的一些技术参数:1逻辑工作电压VDD:;2LCD的驱动电压:;3工作温度:060C常温/-20+75C宽温;4工作电流:;5屏幕视域尺寸:。表 2.6 控制指令功能实现表控制信号控 制 代 码指令名称RSR/WD7D6D5D4D3D2D1D0去除屏幕0000000001归位000000001*输入方式00000001I/DS显示状态0000
41、001DCB光标/换面移动000001S/CR/L*工作方式00001DLNF*CGRAM 地址设置0001A5A4A3A2A1A0DDRAM 地址设置001A6A5A4A3A2A1A0忙标志/地址计数器01BFA6A5A4A3A2A1A0写数据10数据读数据11数据2.4.2 LCM的指令LCM提供了8条控制指令,通过这些指令可以实现显示屏的根本控制功能29。指令表参见表2.6:其中, “清楚屏幕和“归位两条指令的执行时间为,其他指令的执行时间为40s。每条指令的执行时间为每一次读写LCD存放器后要等待的时间,然后CPU才可以发下一条指令。1去除屏幕指令:该指令去除显示内容,将DDRAM显示
42、数据存放器的全部内容清0,并将AC清0。2归位指令:该指令置DDRAM显示数据RAM地址为0,即将AC清0;使光标和光标所在字符回到原点,但DDRAM的内容不变。3输入方式指令:该指令选择显示时的输入方式。其RS和R/W的设置及个数据位格式如表2.7:表 2.7 数据位格式RSR/WD7D6D5D4D3D2D100000001I/D其命令字的高6位的固定值为000001B。最低两位的作用如下:当I/D=1时,为增量方式,数据写操作后,AC自动加1,光标右移一个字符;当I/D=0时,为减量方式,数据写操作后,AC自动减1,光标左移一个字符;当S=1时,显示画面移位;当 S=0时,显示画面不移位。
43、由I/D和S控制输入模式如表2.8: 输入模式I/DS功 能 说 明00每读写一个字节数据,AC 自动加 1,光标位置同时左移 1 位,画面不动01光标显示的位置不动,画面右移 1 位10每读写一个字节数据,AC 自动加 1,光标位置同时右移 1 位,画面不动11光标显示的位置不动,画面左移 1 为4显示状态控制指令:该指令控制画面、光标和闪烁的开关。其 RS 和 R/W的设置及各数据位格式如表2.9: 数据位格式RSR/WD7D6D5D4D3D2D10000001DC其命令字高5位的固定值为00001B。其低3位的作用如下:当D=1时,开显示;当D=0时,关显示,无画面,但显示数据依然保存在
44、DDRAM中。当C=1时,显示光标,光标位置由地址指针存放器AC确定;当C=0时,光光标。当B=1时,显示字符闪烁,闪烁字符位置由地址指针存放器AC确定;当B=0时,显示字符不闪烁。5光标或画面移位指令:该指令选择光标画面向左或者向右移动1个字符。其RS和R/W的设置及各数据格式如表2.10:表 2.10 光标或画面移位指令RSR/WD7D6D5D4D3D2D1000001S/CR/LX 控制读/写操作的格式S/CR/L功 能 说 明00光标左移,AC 自动减 101光标右移,AC 自动加 110光标和显示字符一起左移11光标和显示字符一起右移其命令字最高4位的固定值为0001B。其低4位的作
45、用如下:当S/C=1时,光标与字符同时移位;当S/C=0时,仅光标移位。当R/L=1时,右移;当R/L=0时,左移。位1和位0的X可以是任何值。由S/C和R/L控制读/写操作的格式如表2.11:6工作方式设置指令:该指令选择长度与显示格式。其RS和R/W的设置及各数据位格式如表2.12: 工作方式设置指令 RS 和 R/W 设置及各数据位格式RSR/WD7D6D5D4D3D2D100001DLNFX其命令字高3位的固定值为001B。D0和D1无作用,D3D1的作用如下:当DL=1时,采用8位数据总线;当DL=0时,采用4位数据总线。当N=1时,显示双行字符行;当N=0时,显示单行字符行。当F=
46、1时,采用510点阵字符体;当F=0时,采用57点阵字符体。7 CGRAM的地址设置指令:该指令把6位CGRAM的地址写入地址指针存放器AC,然后计算机对数据的操作就是对CGRAM的读/写操作。其RS和R/W的设置及各数据位格式如表2.13: CGRAM 的地址设置指令RSR/WD7D6D5D4D3D2D10001A5A4A3A2A1该指令高2位的固定值为01B。A5A0位用于选择CGRAM的地址,范围0063。8DDRAM的地址设置指令:该指令把7位DDRAM的地址写入地址指针存放器AC,随后计算机对数据的操作就是DDRAM的读/写操作。其RS和R/W的设置及个数据位格式如表2.14: DD
47、RAM 的地址设置指令RSR/WD7D6D5D4D3D2D1001A6A5A4A3A2A1指令位7的固定值为1。A6A0位用于选择DDRAM的地址,并存放于AC中。写入本指令后,最后必须是读/写DDRAM数据的指令。9读取忙标志/地址计数器AC:该操作用于读取忙标志位BF及地址计数器AC的内容。其RS和R/W的设置及各数据位格式如表2.15: 读取忙标志/地址计数器 ACRSR/WD7D6D5D4D3D2D100BFA6A5A4A3A2A1在读/写数据之前,要检查BF位的状态。当BF=0时,可以存取LCD;当BF=1时,那么不能存取LCD。A6A0位是DDRAM和CGRAM的地址取决于计算机最
48、近向AC写入的是哪个类型的地址 。10写入DDRAM/CGRAM:在地址设定指令后,该操作把D0D7表示的字符码写入到DDRAM以显示相应的字符,活把用户设计的字符写入CGRAM。其RS和R/W的设置及个数据位格式如表2.16: 写入 DDRAM/CGRAMRSR/WD7D6D5D4D3D2D110D7D6D5D4D3D2D111读取DDRAM/CGRAM数据:地址设定指令后,该操作读取DDRAM/CGRAM中的数据。其RS和R/W的设置及各数据位格式如表2.17: 读取 DDRAM/CGRAMRSR/WD7D6D5D4D3D2D111D7D6D5D4D3D2D12.4.3 LCM1602的复
49、位及初始化在LCM1602内部有一个复位电路,如果电源符合LCM1602的时序要求当电源从上升到所需要的时间在0.110ms之内,或者电源的低电平瞬间抖动持续时间大于1ms时 ,那么LCM1602上电即可自动复位30。复位后的默认状态如下:1显示,即DDRAM;2定为8位数据长度,单行显示,57点阵字符;3屏、光标、闪烁功能均为关闭;4模式为AC地址自动加1,显示画面不移动,如果电源不符合LCM1602的时序要求,那么需要采用指令对其热启动,操作步骤如下: 写入指令代码30H或38H。 时时间大于。 入指令代码30H或38H。 时时间大于100s。 指令代码30H或38H。在热启动期间不能检测
50、BF标志位。如果电源符合LCM1602的时序要求或已经用指令进行了热启动,那么可根据LCM1602的时间要求和各指令的功能,根据实际值设置功能初始化指令,通常为如下步骤: 设置工作方式,指令为001NFxx; 去除显示,指令为01; 设定输入方式,指令为0000011/BS; 设置显示状态,指令为00001DCB;在输入上述指令前,及对数据进行读取时都要求检测BF标志位,如果为1那么等待,为0就执行下一条指令。2.5 键盘电路设计在单片机应用系统中,除复位键有专门的复位电路以及专一的复位功能外,其他的按键均以开关状态来设置控制功能或输入数据31。图 2.7 系统键盘电路键盘中的每个按键都是个常
51、开的开关电路,当所设置的功能键或数字键按键时,那么处于闭合状态。对于一组键或一个键盘,需要通过接口电路与单片机相连,以便将键的开关状态通知单片机。单片机可以采用查询或中断方式检查有无键输入以及是哪个键被按下。并通过转移指令转入执行该键的功能程序,执行完再返回到原始状态32。目前,大局部按键或键盘都是利用机械触点的闭、合作用,这无疑会受到按键或键盘在闭、合瞬间的弹性作用影响,因而使得电压信号不稳定即抖动,一般不稳定持续时间为510ms。为了能保证CPU对键的一次闭合仅做一次处理,就需要软件或硬件进行抖动影响的消除。硬件方法是在键输出端加R-S触发器或单稳态电路构成去抖动电路。在软件上采取的措施:
52、在检测到有按键按下时,立即执行一个10ms左右的延时程序后再判别该键电平是否仍保持闭合状态的电平,假设仍然保持为闭合状态的电平,那么确认该键处于闭合状态,否那么认识是干扰信号,从而去除抖动影响。为了简化电路,本设计使用软件方法去除抖动。本设计采用带中断的23独立式按键,每个按键占用一个I/O口,在每个I/O口与按键的连线上再接出到两个3输入与门的输入端,3输入与门的输出端接一个2输入与门,2输入与门的输出接到单片机的口即外部中断0接口。当有任何键按下时,与门输入为低电瓶,输出也为低电平,触发外部中断0,并进入中断效劳子程序。键盘连接图请参见图。2.6 报警电路设计本设计采用LM386集成功率放
53、大器做为报警器。LM386是美国国家半导体P1.0P1.1P1.2P1.3P1.4P1.5+5VR65kR55kR75KR810kR95kR105k12B112B212B312B412B512B6公司生产的音频功率放大器,主要应用于低电压消费类产品。具有自身功耗低、电压增益可调整、工作电压范围宽、外接元件少、失真度低等优点。LM386的外形和引脚的排列图所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10F。通常采用69V电源,在一定的电源和负载情况下,一般LM386的最大输出功率为1W,但
54、因该器件散热不够理想,所以在实际使用中,其输出功率通常取以下33。电路的放大倍数可由内部电阻和1脚、8脚的外接元件确定。当1脚和8脚之间不接元件时,其放大倍数是20倍;当1脚和8脚之间接一个10F的极性电容时,其放大倍数为200倍;当1脚和和8脚之间接一个10F的极性电容和R电阻时,放大倍数在20200之间,计算公式如下: (2.4)150/35. 12SuRkRA式中,R是LM386集成块内部电阻,一般其值为15k。87651234增益设定旁路电容+Vcc输出地增益设定反相输入同相输入 图 2.8 LM386 的外形和引脚的排列图LM386采用双音频输入/输出, “、 “输出端可以很好地抵消
55、共模信号,故能有效抑制共模噪声。电容C6的作用是减少输出耦合电容,隔断直流电压。直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率提高。在实际应用中,为了滤除噪声,通常在第7脚BYPASS上接一个旁路电容到接地端,即电容C7。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致。在PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些;输入音频信号通路尽可能平行
56、走线。图 2.9 报警电路设计3 程序设计程序设计3.1 程序流程P26R310kC40.047pFR41053264718U6LM386+9V61%231RV11kLS1SOUNDER+C710uF+C5220uF+C61uF+C810uF开 始有键闭合500ms 延时确实闭合1000ms 延时判 断 键 值是否释放键 值 赋 给 A返 回图 3.2 键扫描子程序流程图开 始写入清屏指令调用延时子程序设置工作方式设置输入方式设置显示状态延时子程序设置起始地址用查表方式写入调显示子程序结束图 3.3 液晶初始化及显示流程图温 度 超 限关绿灯,开红灯依然超限调显示子程序显示超限测量点开绿灯,关
57、红灯返回到报警前现场继续工作图 3.4 报警流程图NNYYNNYY读 DS18B20开 始显示测量值是否超限启 动 报 警YN显示报警测量点关闭报警图 3.1 系统主程序流程图DS1820 复位命令跳过 ROM 检测读温度命令CRC 校验移入温度暂存器9 字节读完CRC 校验正确否?结束图 3.5 DS18B20 读温度子程序流程图YYNN开始温度在零以下否温度值取补码置“-标志计算小数位温度 BCD 值计算整数位温度 BCD 值图 3.6 DS18B20 计算温度子程序流程图RET开始置“+标志NY3.2 程序设计3.2.1 主程序设计ORG 0000H TEMPER_L EQU 29H ;
58、用于保存读出温度的低8位 TEMPER_H EQU 28H ;用于保存读出温度的高8位 FLAG1 EQU 38H ;是否检测到DS18B20标志位MAIN: LCALL GET_TEMPER ;调用读温度子程序 MOV A, 29H MOV C, 40H RRC A MOV C, 41H RRC A MOV C, 42H RRC A MOV C, 43H RRC A MOV 51H, A ANL 29H, #0FH MOV A,29H MOV B,#6 MUL AB MOV 50H,A LCALL DISPLAY AJMP MAIN ; DS18B20复位初始化子程序INIT_1820: N
59、OP CLR ;主机发出延时537微秒的复位低脉冲 MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB ;然后拉高数据线 NOP NOP NOP MOV R0,#25HTSR2: JNB P2.2,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ;延时TSR3: SETB FLAG1 ;置标志位,表示DS1820存在 CLR ;检查到DS18B20就点亮指示灯 LJMP TSR5TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在 CLR LJMP TSR7TSR5: MOV R0,#11
60、7TSR6: DJNZ R0,TSR6 ;时序要求延时一段时间TSR7: SETB RET ;读出转换后的温度值GET_TEMPER: SETB LCALL INIT_1820 ;先复位DS18B20 JB FLAG1,TSS2 CLR RET TSS2: CLR ;DS18B20已经被检测到 MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_1820 MOV A,#44H ;发出温度转换命令 LCALL WRITE_1820 ;通过调用显示子程序实现延时 LCALL DISPLAY LCALL INIT_1820 ;准备读温度前先复位 MOV A,#0CCH ;跳过ROM匹配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市劳务合同范例
- 劳动合同范本在昆明
- 包地合同范本模板
- 出口车牌架采购合同范本
- 临时用房建设合同范本
- 第五课 我是小画家-模块组 教学设计 -2023-2024学年大连版(2015)初中信息技术七年级下册
- 劳动合同范本申请
- 养羊合作合同范本
- 2024年云浮市郁南县河口镇招聘笔试真题
- 2024年日照银行社会招聘考试真题
- DB 63- T993-2011 三江源生态监测技术规范
- 北京市东城区2025年公开招考539名社区工作者高频重点提升(共500题)附带答案详解
- 2025福建福州地铁集团限公司运营分公司校园招聘高频重点提升(共500题)附带答案详解
- 2025至2030年中国电子护眼台灯数据监测研究报告
- 儿童睡眠障碍治疗
- 2025年浙江省温州乐清市融媒体中心招聘4人历年高频重点提升(共500题)附带答案详解
- 2025夏季广东广州期货交易所招聘高频重点提升(共500题)附带答案详解
- 北京市丰台区2024-2025学年高三上学期期末英语试题
- 2025上海市嘉定工业区农村青年干部招聘22人历年高频重点提升(共500题)附带答案详解
- 《兽医基础》练习题及参考答案
- 2025年煤矿探放水证考试题库
评论
0/150
提交评论