基于单片机的太阳能热水器水温水位测控仪.doc

上传人:精*** 文档编号:865748 上传时间:2023-10-05 格式:DOC 页数:30 大小:362.09KB
下载 相关 举报
基于单片机的太阳能热水器水温水位测控仪.doc_第1页
第1页 / 共30页
基于单片机的太阳能热水器水温水位测控仪.doc_第2页
第2页 / 共30页
基于单片机的太阳能热水器水温水位测控仪.doc_第3页
第3页 / 共30页
基于单片机的太阳能热水器水温水位测控仪.doc_第4页
第4页 / 共30页
基于单片机的太阳能热水器水温水位测控仪.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、 摘 要随着科学技术的不断发展,家用电器技术在不断更新,与此同时太阳能热水器技术也越来越先进。单片机技术的控制器系统具有功能强、成本低、测温精度高等特点,采用单片机技术可以使热水器的控制更准确、灵活。本文设计了一种新型太阳能热水器控制系统,该系统主要由AT89C51单片机、DS18B20温度传感器、LED数码管和报警器组成。该系统具有自动上水、水位显示、水位报警等功能,同时能够测量并显示水温。关键词:太阳能热水器;AT89C51单片机;温度控制;水位控制ABSTRACTWith the continuous development of science and technology, home

2、 appliance technology is continually updated, while the solar water heater technology is more advanced. SCM technology has the function of the controller system is low cost, temperature measurement precision, the use of microcontroller technology enables control of water heaters more accurate, flexi

3、ble.This paper presents a new type of solar water heater control system, the system consists of AT89C51 microcontroller, DS18B20 temperature sensor, LED digital control and alarm components. The system has water displays, water level alarm and other functions, and can measure and display the water t

4、emperature.Key words: 朗读显示对应的拉丁字符的拼音字典翻译以下任意网站 Focus Online-德语 OneIndia-印地语 USA Today-美国 Marmiton.org-法国 La Informacin-西班牙语 Elle-法国 Arte Toreo-西班牙语 Venezuela Tuya-西班牙语 Museo del Prado-西班牙语 Gotujmy.pl-波兰语 Pblico.es-西班牙语 News.de-德语Solar water heater; AT89C51 microcontroller; Temperature control; Water

5、 level control目 录1 引 言11.1 课题研究背景11.2 课题研究内容12 系统方案设计12.1 方案一12.2 方案二12.3 方案选择23 系统硬件电路23.1 89C51单片机简介23.1.1 89C51单片机的内部结构23.1.2 89C51单片机的引脚说明33.2 数字温度传感器DS18B20介绍53.2.1 DS18B20的基本特性53.2.2 DS18B20的内部结构63.2.3 DS18B20的电源供电方式83.3 系统框图83.4 水位显示电路设计83.4.1 水位检测电路93.4.2 水位显示电路图103.5 水温显示电路设计103.5.1 LED数码管显

6、示器的构造及特点103.5.2 LED数码管显示器的基本原理113.5.3 LED数码管显示器的显示方法123.5.4 水温显示电路图133.6 蜂鸣器电路134 系统软件设计144.1 主程序图144.2 水位控制程序图154.3 水温控制程序图155 系统仿真165.1 水位仿真165.2 水温仿真17结束语18参考文献19附 录20致 谢271 引 言1.1 课题研究背景随着地球上煤、油、气的储量日益减少,能源危机已日益增长,环境污染已威胁着生态平衡,太阳能开发利用的课题已提到人类面前。现在利用太阳能为人类服务的项目越来越多,而太阳能热水器的方便使用随着近几年的发展,越来越受到人们的欢迎

7、,特别是它环保、节能的优点,使其在市场竞争中占有很大优势。单片机是计算机技术、大规模集成电路技术和控制技术的综合产物,经过30多年的发展历程,单片机应用已十分广泛和深入。随着单片机应用技术的成熟,它给人们的生活、工作带来了极大方便。目前,以实现自动化、数字化、智能化为目标的单片机应用已向着越来越广泛深入的方向发展,合理地运用单片机技术可以更好地实现数字化、智能化控制。因此,用单片机来实现热水器的智能控制必将得到广泛应用。1.2 课题研究内容本设计采用智能温度传感器作为测温元件,可直接读出被测温度值。采用三线制与单片机相连,减少了外部硬件电路,具有低成本、易使用的特点。本设计是根据论文资料及市场

8、现有产品模型,在加上自己的理解和创意的基础上,模仿出的一套智能化太阳能热水器控制系统。该系统可以自动上水,同时能显示温度和三个特定水位,并能进行缺水报警和水满报警等。与同类产品相比,具有性能稳定、功能齐全、使用方便、经济实惠等特点。2 系统方案设计2.1 方案一此方案是传统的二位式模拟方案,主要通过信号采集、放大、处理等来实现,控制精度比较高。但由于是模拟控制方法,因此不能实现复杂的控制算法从而使控制的温度更加精确,并且不能用数码管进行显示和键盘设定。2.2 方案二此方案采用AT89C51单片机系统来实现。选用AT89C51芯片,不需要外扩展存储器,可使系统整体结构更为简单,同时采用单片机软件

9、编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制,单片机系统还可用数码管显示水温的实际值。 2.3 方案选择方案一是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦。而方案二是采用以AT89C51为控制核心的单片机控制系统,尤其对温度的控制可以达到模拟控制所达不到的控制效果,并且可以实现显示、报警等功能。大大提高系统智能化,同时使得系统所测结果的精度大大提高,所以本次设计采用方案二。3 系统硬件电路3.1 89C51单片机简介3.1.1 89C51单片机的内部结构 89C51单片机主要由中央处理器(CPU)、内部数据存储器(RAM)、内部程序存储器(R

10、OM)、定时器/计数器、并行I/O口、串行口、中断控制电路、时钟电路等几大单元及数据总线、地址总线和控制总线三大总线组成,下面分别加以介绍: 中央处理器(CPU):中央处理器简称CPU,是单片机中的核心部分,用于完成运算和控制操作。它能处理8位二进制数据或代码,同时负责控制、指挥、调度各个单元系统协调工作。 内部数据存储器(RAM):89C51单片机的数据存储器共有256个单元,其中低128个单元称为内部RAM,它们是单片机中供用户使用的数据存储器单元。内部数据存储器的高128个单元供专用寄存器使用,用于存放相应功能部件的控制命令、状态或数据等,专用寄存器只能用于存放控制指令数据,用户只能访问

11、,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可用来存放读写的数据、运算的中间结果或用户定义的字型表等。内部程序存储器(ROM):89C51共有4KB掩膜ROM,主要用于存放程序、原始数据等。 定时器/计数器:89C51有两个16位的可编程定时器/计数器,用定时器/计数器0和定时器/计数器1表示,用于实现定时或计数功能。 并行I/O口:89C51共有4组8位并行I/O 口(P0、P1、P2、P3),用于实现数据的并行输入/输出。 全双工串行口:89C51内置一个全双工串行通信口,用于与其他数据设备间的串行数据传送。该串行口既可以作为全双工异步通信收发器使用,也可作为同步移位器

12、使用。 中断控制电路:89C51中断功能较强,它共有5个中断源,即两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制应用需要,并具有高级和低级两个优先级别。 时钟电路: 89C51内置时钟电路,用于为整个单片机产生时钟脉冲序列,但单片机需外接石英晶体和振荡电容。3.1.2 89C51单片机的引脚说明AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价格低廉的方案。其外形及引脚排列如图3-1所示:图3-1 AT89C51单片机外形及引脚排列主要特性:1.与MCS-51 兼容 2.4K字节可编程闪烁存储器 3.寿命:1000写/擦循环4.数据保留时间:10年5.全静态工作:

13、0Hz24MHz6.1288位内部RAM7.32位可编程I/O线8.两个16位定时器/计数器9.5个中断源 10.可编程串行通道11.低功耗的闲置和掉电模式12.管脚说明13.VCC:供电电压14.GND:接地P0口:P0口为一个8位漏级开路型双向I/O口,每脚可吸收8TTL门电流。它的第二功能是在访问外部存储器时,分别提供低8位地址线和8位双向数据总线。在对片内ROM编程和校验时,P0口用于数据的输入和输出。P1口:P1口是一个内部带上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口作为输入口使用时,向其锁存器写入1,P1口被内部的上拉电阻上拉为高电平。其后,若写入1,

14、则维持高电平;若写入0,则引脚被下拉为低电平。在对片内ROM编程和校验时,P1口用于接收低8位地址。 P2口:P2口为一个内部带上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4TTL门电流。它的第二功能是在访问外部存储器时,输出高8位地址。在对片内ROM编程和校验时,P2口用于接收高8位地址和控制信号。P3口:P3口管脚也是一个内部带上拉电阻的双向I/O口,可接收输出4个 TTL门电流。虽然P3口可作为通用I/O口使用,但在系统中,这8个引脚都有各自的第二功能:P3.0 /RXD(串行口输入)P3.1 /TXD(串行口输出)P3.2 /INT0(外部中断0输入)P3.3 /INT1(外部中

15、断1输入)P3.4 /T0(定时器/计数器0外部输入)P3.5 /T1(定时器/计数器1外部输入)P3.6 /WR(片外部数据存储器写选通控制输出)P3.7 /RD(片外部数据存储器读选通控制输出)RST:复位信号输入端。当RST端保持2个机器周期以上的高电平时,单片机完成复位操作。ALE/PROG:ALE为地址锁存信号。在系统扩展时,ALE用来锁存P0扩展地址低8位的地址信号。在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定频率输出,因而它又可用作外部定时或其他需要。但在遇到访问外部数据存储器时,会丢失一个ALE脉冲。对内部ROM编程时从/PROG进行编程脉冲输入。/PSEN:外部

16、程序存储器ROM的读选通信号。当访问外部ROM时/PSEN产生负脉冲作为外部ROM的选通信号。但在访问外部数据存储器或片内程序存储器时,不会产生有效的/PSEN信号。/EA/VPP:访问外部程序存储器控制信号。当/EA端为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。当/EA端为低电平时,只能访问外部ROM。VPP用于编程电源输入。XTAL1:石英晶体振荡电路的反相器输入端。XTAL2:石英晶体振荡电路的反相器输出端。3.2 数字温度传感器DS18B20介绍 DS18B20是DALLAS公司生产的一线式单总线智能数字温度传感器,其外形如小功率三极管,它支持“一线总

17、线式”接口方式,大大提高了系统抗干扰性。同时,DS18B20能够直接读出被测温度且测量精度稳定并可用软件设置,接线简单,大大节省单片机数据口。3.2.1 DS18B20的基本特性不需要任何外围元件测温范围为-55+125,在-10+85时精度为0.5独特的单线接口方式,仅需一条口线即可实现与微处理器的双向通信可编程912位数字温度计分辨率,对应的分辨率温度为0.50.0625,最大转换时间分别为93.75ms750ms可用数据线供电且不需备份电源用户可定义非易失性温度报警设置及识别支持多点组网功能,实现组网多点测温负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作3.2.2 DS

18、18B20的内部结构DS18B20内部主要由一个64位ROM、一个高速存储器、温度传感器、配置寄存器等组成,其内部框图如图3-2所示:64位ROM和单线接口存储器和控制器高速缓存存储器8位CRC生成器温度传感器低温触发器TLTL 高温触发器TH配置寄存器电源检测VDDI/OOOOO图3-2 DS18B20内部结构图当DS18B20工作时,温度传感器进行温度转换,并把转换结果存入高速缓存存储器内的两个字节中,通过单总线接口用户可以读取到温度转换结果。高速缓存存储器由9个字节组成,其中第1、2个字节用来存储温度转换结果,第3、4个字节用于存放温度报警值的备份。DS18B20内部有两个E2PROM寄

19、存器TH、TL,分别用于存放高低温报警值,DS18B20工作时将这两个寄存器内的值复制到高速缓存寄存器中。高速缓存寄存器的第5个字节为配置寄存器,第68个字节保留未用,第9个字节为前8个字节数据内容的CRC校验码。其结构如表3-1所示:表3-1 高速缓存存储器字节数123456789存储信息温度LSB温度MSBTH用户TL用户配置寄存器保留保留保留CRCDS18B20的配置是通过配置寄存器实现的,其结构如表3-2所示:表3-2 配置寄存器的结构位D7D6D5D4D3D2D1D0名称TMR1R011111其中,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。DS18B20出厂时

20、该位被设置为0;R0、R1为温度分辨率设置位,其对应四种分辨率,如表3-3所示:表3-3 配置寄存器与分辨率的关系R1R0温度计分辨率/位最大转换时间/ms00993.750110187.510113751112750由表3-3知,DS18B20分辨率越高,所需转换时间越长。当接收到温度转换命令后开始启动转换。转换后,温度值就以16位带符号的二进制补码形式存储在高速暂存存储器的第1、2字节单元内。数据存放格式如表3-4所示:表3-4 温度存放格式位D7D6D5D4D3D2D1D0低字节232221202-12-22-32-4高字节SSSSS262524其中S为符号位,当S=0时,表示测得的温度

21、值为正值;当S=1时,表示测得的温度值为负值。温度值的整数部分为8位,小数部分为4位。表3-5是典型温度转换结果对照表:表3-5 典型温度转换结果对照温度/二进制表示十六进制表示+125000001111101000007D0H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH

22、-551111110010010000FC90H3.2.3 DS18B20的电源供电方式本次设计中DS18B20采用外部电源供电方式,其电路结构简单、可靠性高。图3-3为单片机与其接口连接图:图3-3 DS18B20电源供电方式3.3 系统框图本设计方案系统由主控制器AT89C51、测温器件DS18B20、水位显示灯、报警器、显示电路组成。总体框图如图3-4所示: 单 片 机水位显示灯报警蜂鸣器显示电路DS18B20 图3-4 系统总体框图3.4 水位显示电路设计 3.4.1 水位检测电路 本次设计采用了一种自行设计的水位检测电路,其电路具有成本低、结构简单、性能稳定、制作容易等特点,该电路是

23、利用水的导电性来完成的。其检测原理如图3-5所示:图3-5 水位检测原理图图3-5中,虚线表示水位变化的上下限,正常情况下,水位应保持在虚线范围内。为了感知水位变化的情况,在水箱的不同高度安装了3根金属棒。其中B棒位于下限水位(20%),C棒位于上限水位(100%),A棒接+5V电源,B棒、C棒各通过一个电阻与地相连。当水位低于下限时,B、C棒均不能与A棒导通,此时b、c两端均为“0”状态,蜂鸣器开始报警。为了避免用户正在淋浴时水变冷,报警后延时12分钟才启动电磁阀上水;当水位上升到B时,A与B导通,此时b、c两端分别变为“1、0”状态,中水位灯亮并继续上水;当水位上升到C时,B、C棒均连通+

24、5V,此时b、c两端均为“1”状态,满溢水位灯亮,关闭水阀,并产生10S钟报警。以上两个水位信号,共有四种组合状态,其中状态b、c=“0、1”是不可能发生的,但作为一种故障状态在设计中还要考虑。这两个信号通过单片机的P1.0和P1.1引脚送入单片机内部,表3-6是水位信号状态与系统动作表:表3-6 水位信号状态与系统动作表P1.0P1.1系统动作00“低水位”灯亮,报警10s, 延时12min上水 10“中水位”灯亮 01非法状态,“故障”灯亮,系统动态停机11“满溢水位”灯亮,报警10s,停止上水3.4.2 水位显示电路图水位的显示采用单片机的P1.2-P1.5四个引脚分别驱动LED1-LE

25、D4四个发光二极管,显示低水位、中水位、满溢水位及故障信号。用P1.7引脚驱动一个蜂鸣器产生相应报警。另外,用P1.6引脚驱动一个电磁阀进行上水控制。其与单片机连接电路如图3-6所示:图3-6 水位显示电路3.5 水温显示电路设计3.5.1 LED数码管显示器的构造及特点由发光二极管组成的七段码LED显示器是单片机与人对话的一种重要输出设备,它通过控制7个段的发光二极管的暗亮的不同组合,可以显示多种字符、字母以及其他符号。本设计需要显示水温,用2个八位LED数码管显示。LED显示器是由发光二极管作为显示字段的显示器件,最常见的是由7段型发光二极管和1个圆点型发光二极管组成的LED显示器。其构造

26、如图3-7所示:图3-7 LED数码管显示器的构造 LED显示器中的发光二极管根据其连接方法的不同分为共阴极和共阳极两种结构。共阴极结构:把各段发光二极管的阴极连接在一起构成公共阴极,如图3-8所示。使用时公共阴极接地,根据要求需点亮发光二极管的阳极输入高电平,不需点亮的发光二极管的阳极输入低电平。图3-8 共阴极显示器内部电路共阳极结构:把各段发光二极管的阳极连接在一起构成公共阳极,如图3-9所示。使用时公共阳极接+5V,根据要求需点亮发光二极管的阴极输入低电平,不需点亮的发光二极管的阴极输入高电平。图3-9 共阳极显示器内部电路3.5.2 LED数码管显示器的基本原理 为了显示各个数字或字

27、符,就需要为LED提供相应的代码。因为这些代码是控制各段的亮或灭,供显示器显示字形的,所以称为字段码。七段发光二极管再加上一个小数点位共计8段,因此提供给LED显示器的字段码正好一个字节。各代码位的对应关系如表3-7所示:表3-7 数码管各代码位对应关系表段码D7D6D5D4D3D2D1D0段名dpgfedcbaLED所显示的不同字符的字段码如表3-8所示:表3-8 LED字符字段码表显示字形字形码(共阳极)字形码(共阴极)0C0H3FH1F9H06H2A4H5BH3B0H4FH499H66H592H6DH682H7DH7F8H07H880H7FH990H6FHA88H77HB83H7CHCC

28、6H39HDA1H5EHE86H79HF8EH71H熄灭FFH00H3.5.3 LED数码管显示器的显示方法LED数码管显示器有两种显示方法:静态显示法和动态显示法。根据显示方法的不同,位选线和段选线的连接方式也不同。各种字符的字码段的获取方法有两种:软件译码法和硬件译码法。目前通常所用的各种型号的单片机开发系统或实验装置普遍采用软件译码。静态显示法是指显示器的各个数码管同时点亮输出显示数据,采用静态显示法可以减少软件编程,提高显示亮度,但需要占用较多的I/O口,从而使硬件成本提高。所以,静态显示法常用于显示器数目较少的应用系统中。当单片机应用系统中的LED显示器位数较多时,为了简化电路降低成

29、本,多采用动态显示方式,本设计即采用动态显示方式。动态显示方式的接口电路的连接方法是:将所有LED位的段选线同名并联,然后由一个8位I/O接口线来控制各个段,而所有位的位选线则由另外一个相应的I/O接口线来控制,这样用两个8位I/O接口就能控制2位LED显示器。LED显示器是电流型控制器件,其工作电流为2mA,使用时需加限流电阻,本设计中限流电阻选用1K欧姆。动态扫描显示是在段信号和位信号的控制下,逐位轮流点亮各个显示器。即在某一瞬间,只让某一位的位选线处于选通状态(共阳极的为高电平,共阴极的为低电平)其它各位的位选线处于断开状态,同时段选线上输出相应位要显示字符的字段码,依次轮流点亮各位显示

30、器,在轮流点亮一遍的过程中,每位显示器点亮的时间是极为短暂的。由于LED具有余辉特性以及人眼视觉的惰性,尽管各位显示器实际上是分时断续地显示,但只要适当选取扫描频率,给人眼的视觉印象就会是在连续稳定地显示,并不察觉有闪烁现象,这样与静态显示的效果几乎就完全一样。3.5.4 水温显示电路图本设计的水温显示电路如图3-10所示:图3-10 水温显示电路3.6 蜂鸣器电路蜂鸣器俗称喇叭,是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。蜂鸣器由振荡器、磁铁、振动膜片以及外壳等组成,接通电源后振荡器产生音频信号,电流通过电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,

31、周期性的振动发声。蜂鸣器通常工作电流比较大,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个三极管来放大电流。当P1.7端为低电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P1.7端为高电平时,三极管导通,这样蜂鸣器中就有电流流过,蜂鸣器就会发出声音。蜂鸣器的连接图如图3-11所示:图3-11 蜂鸣器电路4 系统软件设计4.1 主程序图本设计需硬件、软件一起发挥作用,其主程序流程图如图4-1所示:初始化开始水位检测、显示显示温度检测、显示显示返回图4-1 主程序图4.2 水位控制程序图水位控制程序图如图4-2所示:开 始初始化操作采集水位信号,根据水位信号转到相应处理程序低水位灯亮

32、,其它灯灭,报警开始计时中水位灯亮,其它灯灭,电机转动故障灯亮,其它灯灭动态停机,等待复位关报警,并延时电机转动等待水位信号满溢灯亮,报警开始计时关闭报警处于低水位YES处于中水位超过满溢水位10s12minP1.1、P1.0=“1、0”10s图4-2 水位控制程序图4.3 水温控制程序图水温控制程序图如图4-3 所示: 开 始DS18B20复位读取温度数据转换结 束显 示图4-3 水温控制程序图5 系统仿真本设计采用Proteus进行系统仿真,Proteus是英国公司研发的仿真设计工具软件,不仅可以进行模拟电路、数字电路、模数混合电路的设计与仿真,还可以进行多种单片机系统的设计与仿真。它令使

33、用者从原理图设计开始,到电路分析与仿真、单片机调试及仿真、系统功能测试与验证,再到形成最终的PCB设计图都在一个软件中完成。5.1水位仿真将P1.1、P1.0接地,即P1.1=“0”,P1.0=“0”,低水位灯亮,报警器发出“砰砰”的声音,达到设计预期效果。仿真图如图5-1所示:图5-1 水位仿真图5.2 水温仿真温度传感器DS18B20将水温通过单片机由数码管显示出来,其仿真结果如图5-2所示:图5-2 水温仿真图结束语在当今越来越趋向于自动化的社会,各种简单智能化的设计越来越受到人们的欢迎。本设计以单片机为控制核心,利用软件编程,最终实现了温度的显示,水位的检测及报警等功能,基本达到了各项

34、设计要求,该设计的可用性及简易性在当今时代也更能取得广泛的应用。通过本次毕业设计,我从中学到了很多东西,了解到在电子制作方面的许多知识,同时也学到了那种坚持不懈的精神。做任何学问都要一丝不苟,对出现的任何问题都不能轻视,要找方法去解决;做什么事都要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就能找到解决问题的思路和方法。由于我的知识和经验等方面的不足,本次设计还有许多需要改进的地方,如温度的设定及加热等,希望各位老师能够多多指正。参考文献1 周立功.增强型80C51单片机速成与实战M.北京航空航天大学出版社,20052 付家才.单片机控制工程实践技术M.化学工业出版社,20043 王青

35、.温度传感器DS18B20和51单片机的接口及应用J.电子制作,2006 4 陈志强,胡辉.单片机应用系统设计实践指南J.科学出版社,2005 5 殷为民.太阳能水温水位仪J.家用电子,19996 李广弟,朱月秀.单片机基础M.北京航空航天大学出版社,20077 何希才.传感器及其应用电路M.电子工业出版社,20018 王建校.51系列单片机及C51程序设计M.科学出版社,20029 何立民.单片机实验与实践教程M.北京航空航天大学出版社,200110 李忠国,陈刚.单片机应用技能实训M.人民邮电出版社,200611 胡乾斌.单片微型计算机原理与应用M.华中科技大学出版社,2005 12 杨炼

36、.单片机原理及应用M.浙江大学出版社,200713 吴汉清.单片机温度控制器J.电子制作,2006 14 刘笃仁,韩保君.传感器原理及应用技术M.机械工业出版社,200315 Altera Corporation M.Altera Digital library, 200116 ATMEL. MicrocontrollerM.Data book,2002附 录附录一:系统总电路图附录二:源程序 ORG 0000H AJMP MAIN ORG 0100HMAIN: ORL P1, #03H CLR F0 ;满溢标志清零GOON: JB P1.1, GET1 ;检测P1.1引脚 JB P1.0 ,

37、GET2 ;检测P1.0引脚 CLR F0 SETB P1.2 ;低水位灯亮 ANL P1, #07HACALL RING10S ;调用报警程序 CLR P1.7 ;关闭报警 MOV R7, #12LOOP7: MOV B, #200LOOP6: ACALL T500MS ;调用延时子程序 DJNZ B, LOOP6 DJNZ R7, LOOP7 SETB P1.6 ;延时12分钟结束,电机转动WAIT: JB P1.0, GET2 SJMP WAIT CLR F0GET2: SETB P1.3 ;中水位灯亮 ANL P1, #4BH AJMP GOON ;继续获取水位信号GET1: JB P

38、1.0, FLOW CLR F0 SETB P1.5 ;故障灯亮 ANL P1, #23HHERE1: SJMP HERE1FLOW: JB F0, GOON ;判断满溢标志 SETB F0 ;将水满标志置“1” SETB P1.4 ;满溢水位灯亮 CLR P1.6 ACALL RING10S ;报警10S CLR P1.7 ;关报警 ANL P1, #13H AJMP GOONRING10S: MOV R2, #20 ;报警10S子程序NEXT: CPL P1.7 LCALL T500MS DJNZ R2, NEXT RETT500MS: MOV R1, #125 ;延时0.5S子程序LOO

39、P2: MOV R0, #250LOOP1: NOP NOP MUL AB DJNZ R0, LOOP1 DJNZ R1, LOOP2 RET END DQ BIT P3.7S_BIT EQU 30H G_BIT EQU 31H X_BIT EQU 32H DISNM EQU 33H;=定义控制指令= ORG 0 JMP START ORG 1BH JMP TIMER1;=主程序=START:MOV SP,#60H SETB EA SETB ET0 SETB ET1 MOV TMOD,#11H ;工作方式1 MOV DISNM,#00HSTART0:LCALL GET_TEMP LCALL C

40、HANGE MOV TH1,#(65536-1000)/256 MOV TL1,#(65536-1000)MOD 256 SETB TR1 AJMP START0;=预置DS18B20=INIT_18B20: SETB DQ NOP CLR DQ MOV R0,#0FBH ;延时480-960us DJNZ R0,$ SETB DQ MOV R0,#80H ;延时75-300us DJNZ R0,$ RET;=读取温度=GET_TEMP: PUSH ACC PUSH PSW SETB DQ LCALL INIT_18B20 MOV A,#0CCH LCALL WT_18B20 MOV A,#44H ;温度转换 LCALL WT_18B20 LCALL INIT_18B20 MOV A,#0CCH LCALL WT_18B20 MOV A,#0BEH ;读取温度寄存器 LCALL WT_18B20 LCALL RD_18B20 ;读取温度寄存器的两个字节 MOV R0,#20H CJNE R0,#0FFH,G_EXIT AJMP RD_18B20G_EXIT: POP PSW POP

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922