基于AT89S51单片机的智能电热水器的设计--毕业设计

更新时间:2024-05-07 12:27:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计

AT89S51

基于单片机的智能电热水器的设计

摘 要

本设计采用ATEML公司生产的AT89S51单片机为核心来设计智能电热水器。本设计也对单片机控制电热水器实现智能化的可能性进行了分析,利用温度传感器、水位检测装置、及模数转换器等来完成本设计。在硬件设计方面,主要对单片机最小系统及其扩展、电源电路、键盘显示及接口电路、模数转换电路、水位及水温检测电路、报警电路进行了详细介绍。还详细介绍了设计中应用到的主要芯片的性能和特点,包括AT89S51、74LS377、DS18B20、ADC0809等。在软件设计方面,采用汇编语言编程,是由于其易于为单片机所识别,执行速度快。最后对软件调试进行了误差分析。

该智能电热水器设计完善,实现方案简单易行。采用软件设计来控制,可以实现智能检测水位及水温,智能加热,并且提高了整机的可靠性及准确性。

关键词:单片机,控制,智能

I

ABSTRACT

As technology make a good progress, the applications of single-chip microcomputer become mature all the time. The single-chip microcomputer integrates the various components in a chip, uses the internal bus structure, reduces the connection in different chips, enhanced greatly the reliability and anti-jamming capability. In the development of single-chip microcomputer, due to its excellent cost performance, high integration, small size, high reliability, it has been used as a control center all the time.

Since the birth of single-chip microcomputer, it began to walk into a human’s life, such as washing machines, refrigerators, electronic toys, DMB, which equipped with the single-chip microcomputer, and improved their intelligence, ability. People, who used them, will love them better. The single-chip microcomputer makes human’s life more convenient, comfortable and colorful. As a result, I use single-chip microcomputer to design intelligent electric water heaters.

This paper mainly discusses the intelligent electric water heater how to work. To achieve system goals, in deep analysis of the AT89S51, I made a set of simple and practical control system design. The system is mainly to use single-chip microcomputer to control centers, with specific hardware architecture and the corresponding software design, thus the intelligence of the water heater would become true.

Keywords: single-chip microcomputer, controller, intelligence

II

目 录

第1章 绪论 ····················································································································

1.1 选题的背景、目的及意义 ···················································································· 1.2 国内外的研究状况和成果 ···················································································· 1.3 研究设想和实验设计 ····························································································

第2章 硬件系统设计 ·································································································

2.1 方案验证 ················································································································ 2.2 硬件系统设计 ········································································································

2.2.1 电源电路 ···································································································· 2.2.2 键盘/显示接口电路 ·················································································· 2.2.5 报警电路 ···································································································· 2.2.6 模数转换电路 ···························································································· 2.2.7 温度检测电路 ···························································································· 2.2.8 水位检测电路 ···························································································· 2.2.9 AT89S51功能及特性介绍 ·········································································

第3章 软件系统设计 ·································································································

3.1 主程序流程框图 ···························································································· 3.2 键扫描子程序流程框图 ················································································ 3.3 显示子程序流程框图 ···················································································· 3.4 运行程序流程框图 ························································································ 3.5 软件仿真 ········································································································

结论 ······································································································································· 参考文献 ····························································································································· 致谢 ······································································································································· 附录1程序清单 ··············································································································· 附录2 电源电路原理图 ································································································· 附录3智能电热水器原理图

III

主要符号表

附录3 英文翻译 附录4 中文资料

IV

路、复位电路、按键、显示器件即可构成交通灯系统,结构框图如图2.1.1:

方案二:PIC16C72单片机为控制器件的智能电热水器

PIC16C72是美国微芯(Microchip)公司推出的8/11位单片机,采用宽字节单周期指令,哈佛双总线和RISC结构,其数据吞吐量最高可达6MIPS,这几乎是其它大多数8位微控制器速度的4倍128脚封装的PIC16C72单片机内集成了以下主要功能:2KB片内ROM程序存储器,128KB数据存储器;22位I/O线;5路8位A/D转换器,2个8位,1个16位多功能计数器/定时器,1个捕捉/比较/脉宽调制(CCP)部件。

以PIC16C72为控制芯片的电热水器,虽然功能很强大,但是存在一些很需要改进的地方:中断的现场保护是中断应用中一个很重要的部分由PIC16C72的指令系统中没有专门的PUSH(入栈)和POP(出栈)指令,所以要用一段程序来实现该功能。对可能用到的W寄存器和STATUS寄存器内容进行现场保护1然后在中断服务程序中对马达,继电器进行控制1漏电检测报警在中断里给出,而每50ms进入一次中断,所以发生漏电时最多50ms即可切断电源1入口→中断保护→控制马达→控制继电器如果用直流对电机进行控制,其转速太快,过调量太大,容易引起震荡。

通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法。可以采用可编程序控制器PLC,各种单片机来实现。但考虑到成本控制和软硬件实现难度,采用方案一的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并能够在异常情况下自动断电,可以满足人们日常生活的需要,提高了人们生活的质量。

智能电热水器将由AT89S51单片机作为控制芯片,经分析设计要求,初步确定其由8个模块组成,如下图所示:

图2.1.1 AT89S51控制的智能电热水器

漏电检测 水位检测 温度检测 电源电路 AT89S51 6

加热电路 显示电路

温度检测 电源电路 AT89S51 水位检测 加热电路 漏电检测 显示电路 加热保温指示 蜂鸣器

图2.1.2 基于AT89S51的智能电热水器

时钟电路用来产生时钟信号供单片机工作,晶振采用12MHz,平衡电容采用33pF。复位电路在系统上电或运行过程中对单片机进行初始化操作。按键采用独立式热键,用来扩展系统功能,分别可以实现电源开关、温度增加和温度减少三个功能。数码管用来显示水温和水位两组数据,所有数码管采用共阳接法,段控端接在单片机同一I/O口,位控端分别接在不同位的I/O口。发光二极管用来指示系统运行状态,电源指示灯(红):接通220V电源,该指示灯点亮。加热指示灯(绿):加热元件工作时,该指示灯被点亮。报警指示灯(黄):当热水器出现异常情况时,该指示灯被点亮。ISP接口通过并口与PC机连接,实现单片机与PC机通讯,用编译器对源程序进行调试及编译,通过ISP接口将形成的二进制目标程序下载到AT89S51单片机上。

依据设计要求,系统上电复位后按默认值开始运行,然后开始检测温度按键,若无按键,则按设定温度进行工作;若温度键已按下,则开始设定温度范围,并按新的设定值开始加热。接着继续检测温度按键,若无按键,则接着上一步的执行(以新的设定值开始工作)。若有按键,则重新设定温度范围,如此循环。另外,在运行主程序的时候,首先要检测水位,若达不到预设值,则断电,蜂鸣器报警;若达到预设值,则开始检测水温。

2.2 硬件系统设计

单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,

7

即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。本设计中只用最小系统加上键盘、显示、ISP接口电路,单片机本身资源可以满足设计要求,所以不必对单片机进行扩展。

系统的硬件系统以AT89S51单片机为核心,主要分两部分:直流稳压电源和智能电热水器控制电路,其原理图见附录二。直流稳压电源由变压器、整流桥、滤波电路、稳压电路组成。智能电热水器系统由时钟电路、复位电路、报警电路、ISP在线编程接口电路键盘、模数转换电路和显示接口电路组成。 2.2.1 电源电路

电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等。根据调整元件与连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。

直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成,设计框图:

电源变压器 输入电压U1 整流滤波电路 稳压电路 输出电压U2 图2.2.1.1 直流稳压电源 各部分简介: (1)电源变压器

电源变压器作用是将电网220V的交流电压V1变换成整流滤波电路所需的交流电压V2。变压器副边与原边的功率比P2/P1=η,式中η为变压器的效率。

(2)整流滤波电路

整流电路将交流电压变成单向脉动的直流电压。滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压。

常用的整流电路有全波整流电路、半波整流电路、桥式整流电路及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流电路克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,与半波整流电路相比较,其输出电压提高,

8

脉动成分减少。

整流电路将交流电变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路的后面加接滤波电路,以滤去交流成分。滤波电路常见的有电容滤波电路、电感滤波电路及π型滤波电路。本设计采用电容滤波电路。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压U0=0.9V,接上电容滤波后,空载时的输出直流电压U0=UC=U2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数RLC有关,RLC越大,U0越大。

(3)稳压电路

稳压电路的作用是当输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。由于三端式稳压器只有三个引出端子,具有应用时外接元件少、使用方便、性能稳定、价格低廉等优点,因而广泛应用。三端式稳压器有两种,一种称为固定输出三端稳压器,另一种称为可调输出三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。

(4)三端固定输出集成稳压器通用产品有CW7800T系列和CW7900系列。

1正压系列:CW7800系列,该系列稳压块有过流、过热和调整管工作保护,以防○

过载而损坏。一般不需要接元件即可工作,有时为改善性能也会加少量元件。

2负压系列:CW7900系列与CW7800系列相比,除了输出电压极性、引脚定义不○

同外,其它特点都相同。

(5)稳压电源的技术指标分为两种:

一是特性指标,包括允许的输入电压、输出电压、输出电流及输出电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数(或电压调整流器率)、输出电阻、温度系数及纹波电压等。

(6)电路目的:给单片机及其他控制电路提供电源。

电源设计是电路设计很重要关节。它的稳定与否涉及到电路是否能稳定工作。按要求需要一个+5V电压,一个+12V左右可调电压。于是采用可调压芯片LM317,它是稳压芯片。LM317是三端稳压集成电路,最大输出电流为2.2A,输出电压范围为1.25V~37V。它具有输出电压可变、内藏保护功能、体积小、性价比高、工作稳定可靠等特点。用它制作输出电压可变稳压电源,调节可变电阻R2,便可从LM317输出端获得UO(可变输出电压)。

从电路中可以看出,LM317的输出电压(也就是稳压电源的输出电压)U0为两个电压之和,也就是R1两端电压与R2两端电压之和。而IR2实际上是两路电流之和,一路是经R1流向R2的电流IRI,其大小为URI/Rl。因URI为恒定电压1.25V,Rl是一个固定电阻,小

9

于240欧姆。所以IRl是一个恒定的电流。另一路是LM317调整端流出的电流ID,ID的平均值是50μA左右,最大值一般不超过100μA。而且在LM317稳定工作时,ID的值基本上是一个恒定的值。调节R2阻值即可调节LM317输出电压UO。

既然ID和IRl对调节输出电压UO都起到了一定作用,并且IR1是由R1提供,IRI大小也没有任何限制,LM317输出电压服从1.25+IDR2=UO关系。

可调稳压电路原理图如图2.4所示。

LM317Vin2Vin+Vout3VoutR1200D24001ADJ

D14001C21000uFC10.1uF1R25.1KC310uFGND图2.2.1.2 可调稳压电路原理图

+5V电压也是利用三端稳压集成电路得到的,采用7805芯片。其用法和LM317差别不大,如下图所示。LM7805的1端是电源的输入端,3端是输出端,2端是接地端。

图2.2.1.3 7805三端稳压电源电路

UiC4LM7805100uF1InputOutput3GND本设计电源电路原理图见附录3。 2.2.2 键盘接口电路

本毕业设计的按键采用独立式按键,是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图:

10

2UoC50.1uF

3.4 运行程序流程框图

开始 Y 报警断电 水位低于设定值吗? N Y 通电加热 水温低于设定值吗? N Y 断电 水温高于设定值吗? N 图3.4.1 运行程序流程框图

3.5 软件仿真

Proteus 产品系列包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。ISIS提供给用户图形外观包括线宽、填充类型、字符等的全部控制,使用户能够生成如杂志上看到一样精美的原理图,远胜过CAD软件绘制出的稀薄的线条。画完图可以以图形文件输出,或者拷贝到剪切板以便其他文件使用。这就使得ISIS成为制作技术文件,学术论文,项目报告的理想工具,也是PCB设计的一个出色的前端,其画图的外形由风格模板定义。

此界面下调出元件组成原理图,调试流程如下:按键→上电复位→水位检测→水温检测→数码管显示→下载程序运行:

21

图3.5 软件仿真示意图

程序调试分为三个部分:按键调试,指示灯显示调试,及数码管显示。在具体仿真的过程中,按键调试时,应注意按键的次序,首先是温度+键,然后测试温度-键,否则有时会出现数码管显示延时现象,这种情况主要跟程序设计有关。基于编程方面有些薄弱的情况,应该严格按照按键次序进行调试。指示灯调试时,有时会出现指示灯无显示或者不明显、亮度不够的情况,这是由于指示灯电压过低造成的。数码管显示时,只要前两个步骤进行顺利,其就可以正常显示。由于本设计采用独立式按键,主程序调试结束后,各部分运行正常,能够显示水位及水温结果。另外,此设计采用

22

的温度检测模块,检测精度不高,有时会出现温度跳跃式显示,比如:有时此一时刻温度显示为59℃,下一时刻会显示66℃。此种情况出现的原因,本人认为是由于,温度检测模块的内阻过热,导致检测结果不够准时和准确。这是硬件方面的问题,暂时还没有找到可替换的模块,所以无法解决,但不影响整体的效果。

23

结 论

基于AT89S51单片机的智能电热水器控制器,经过调试可以满足设计要求。首先由传感器检测水温,经过模数转换,发送到单片机控制中心,当水温小于设置范围1℃时,单片机控制继电器对电热水器加热;当水温超过温度设置范围1℃时,单片机控制继电器断电,停止加热;当温度超过99℃时,蜂鸣器报警断电;当水位小于系统设定值时,单片机控制继电器断电,停止加热。

本设计有些方面需要进一步讨论,进一步完善的方面:

(1)AT89S51单片机本身的存储空间很小,只有4KB,在实际运用中无法达到更

多的设计要求。

(2)由于AT89S51单片机结构简单,相比其他单片机(如:MC68HC05SR)来说,不能完成更多的要求,影响了其实用性。

(3)水温检测的精度不太高。这是硬件的问题,由于没有找到很好的检测器件,造成实验结果有较小的误差。

24

致 谢

本文是在我的导师****讲师的悉心指导下完成的,从论文题目的选定,大纲的编写,资料的收集与整理,论文数稿的修改、审稿到最终定稿,无不倾注他的心血和汗水。他的言传身教使我终生受益。

还要感谢我的舍友,在撰稿期间给了我许多帮助和鼓励,尤其是***同学,对我的整体框架给予了许多建设性意见,也在我的软件仿真时,给予了很多帮助。衷心祝他们在以后的工作和生活中顺利。

最后还要感谢我的父母,没有他们无私的奉献我是无法顺利完成学业的。

学生签名: 日 期:

25

参考文献

[1] 吴国经.单片机应用技术[M].北京:中国电力出版社.2004:10.

[2] 张振荣.MCS-51单片机原理及实用技术[M].北京:人民邮电出版社.2000:

10-13.

[3] 沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社.2005:

30-35.

[4] 肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社.2002:100-103. [5] 楼然苗.51系列单片机设计实例[M].北京:北京航空航天大学出版社.2003:

50-60.

[6] 李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社.2004:

14-17.

[7] 张丰.电子开发论坛[EB/OL].

http://bbs.dzkf.net/pub/txt/9888.html,1996-8-14.

[8] 徐惠民、安德宁.单片微型计算机原理接口与应用[M].北京:北京邮电大学出

版社.1996:80-88.

[9] 夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社.2001:

71-76.

[10] 何立民.单片机高级教程[M].北京:北京航空航天大学出版社.2001:51-59. [11] 张友德,涂时亮,陈章龙.MC68HC08系列单片机原理与应用[M].上海:复旦

大学出版社.2001:16-18.

[13] 刘筱明.电脑电热水器继电器非正常状态下的保护措施[D].广东顺德万和电器

有限公司. 1999.

[14] 李建事.陈刚. 家用电器单片机控制系统的制作与检修[M]. 上海:上海交通

大学出版社.1998:22-30.

[15] 杨宁. 单片机与控制技术[M]. 北京:北京航空航天大学出版社.2005:33-36. [16] 付家才.单片机控制工程实践技术[M].北京:化学工业出版社.2004:42-45.

26

附录1

程序清单:

1. A/D转换器子程序

进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道

ST=0,ST=1,ST=0产生启动转换的正脉冲信号 CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0 OE BIT P3.1 EOC BIT P3.2 ORG 00H LJMP START ORG 0BH LJMP T0X ORG 30H

START: MOV CH,#0BCH MOV DPCNT,#00H MOV R1,#DPCNT MOV R7,#5 MOV A,#10 MOV R0,#DPBUF LOP: MOV @R0,A INC R0 DJNZ R7,LOP MOV @R0,#00H INC R0 MOV @R0,#00H INC R0 MOV @R0,#00H MOV TMOD,#01H MOV TH0,#(65536-4000)/256 MOV TL0,#(65536-4000) MOD 256 SETB TR0

27

SETB ET0

SETB EA WT: CLR ST SETB ST CLR ST

WAIT: JNB EOC,WAIT SETB OE

MOV GDATA,P0 CLR OE

MOV A,GDATA MOV B,#100 DIV AB MOV 33H,A MOV A,B MOV B,#10 DIV AB MOV 34H,A MOV 35H,B SJMP WT T0X: NOP

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256 MOV DPTR,#DPCD MOV A,DPCNT ADD A,#DPBUF MOV R0,A MOV A,@R0

MOVC A,@A+DPTR MOV P1,A

MOV DPTR,#DPBT MOV A,DPCNT

MOVC A,@A+DPTR MOV P2,A INC DPCNT MOV A,DPCNT CJNE A,#8,NEXT MOV DPCNT,#00H NEXT: RETI

DPCD: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH,00H DPBT: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH

28

END

2.数码管显示子程序 ORG 0000H MAX7219:DIN BIT P1.1 ;定义变量 CLK BIT P1.2 LOAD BIT P1.1 LED_BF EQU 50H ;显示数据首址 AJMP MAIN MAIN: MOV SP.#70H LCALL PROCESS ;设置MAX7219初始值 LCALL DISPLAY ;显示 WAIT; ;其他程序省略 SJMP WAIT ;MAX7219初始化子程序 PROCECC :MOV A,#0BH MOV B,#07H LCALL W_7219 MOV A,#09H MOV B,#00H LCALL W_7219 MOV A,##0AH MOV B,#09H LCALL W_7219 MOV A,#0CH MOV B,#01H LCALL W_7219 RET ;MAX7219 显示子程序 DISPLAY:MOV R0,#LED_BF MOV R4,#01H MOV R3,#08H C_DISP:MOV A,@R0 MOV B,A MOV A,R4 LCALL W_7219 INC R0 INC R4 DJNZ R3,C_DISP RET

W_7219:CLR LOAD LCALL SD_7219

29

MOV A,B LCALL SD_7219 SETB LOAD RET

SD_7219:MOV R6,#08H C_SD:NOP CLR CLK RLC A MOV DIN,C NOP

3.滤波电路驱动程序中值滤波,采样值分别放在R2,r3,r4中,结果从小到大排序放在R2,R3,R4中。

; R3为中值 FILT2:MOV A,R2 CLR C

SUBB A,R3 JC FILT21 MOV A,R2 XCH A,R3 MOV R2,A FILT21:MOV A,R3 CLR C

SUBB A,R4 JC FILT22 MOV A,R4 XCH A,R3 XCH R4,A CLR C

SUBB A,R2 JNC FILT22 MOV A,R2 MOV R3,A FILT22:RET 4.温度传感电路

DS18B20测温实验源程序

ORG 0000H

START: MOV SP,#60H ;开机初始化 MOV P0,#0FFH MOV P1,#0FEH MOV P2,#0FFH

MOV P3,#0FFH

30

MAIN: LCALL GET_TEMPER ;调用读温度子程序 LCALL DISP ;调用数码管显示子程序 AJMP MAIN ;重复循环 :---------- 读DS18B20传感器的温度值--------- GET_TEMPER:

SETB P3.3

LCALL RST18B20 ;复位DS18B20 JB 00H,DSS2 RET

DSS2: MOV A,#0CCH LCALL WR18B20

MOV A,#44H LCALL WR18B20

LCALL RST18B20 MOV A,#0CCH LCALL WR18B20

MOV A,#0BEH LCALL WR18B20

LCALL RE18B20 RET

;------ DS18B20复位初始化程序 ------ RST18B20:

SETB P3.3 NOP

CLR P3.3

MOV R0,#06BH MOV R1,#03H DSR1: DJNZ R0,DSR1 MOV R0,#6BH DJNZ R1,DSR1

SETB P3.3 NOP NOP NOP

MOV R0,#25H

DSR2: JNB P3.3,DSR3 DJNZ R0,DSR2 LJMP DSR4

DSR3: SETB 00H LJMP DSR5

DSR4: CLR 00H ;跳过ROM匹配 ;向DS18B20发出温度转换命 ;准备读温度前先复位 ;跳过ROM匹配 ;向DS18B20发出读温度命令 ;读出温度数据 ;主机发出复位低脉冲 ;拉高数据线 ;等待DS18B20回应 ;置标志位,表示DS1820存在 ;清标志位,表示DS1820不存在

31

LJMP DSR7

DSR5: MOV R0,#06BH

DSR6: DJNZ R0,DSR6 ;延时一段时间 DSR7: SETB P3.3 RET

;------ 写DS18B20的子程序 ------ WR18B20:

MOV R2,#8 CLR C WR1: CLR P3.3 MOV R3,#6 DJNZ R3,$ RRC A

MOV P3.3,C MOV R3,#23 DJNZ R3,$ SETB P3.3 NOP

DJNZ R2,WR1 SETB P3.3 RET

;------ 从DS18B20中读温度数据程序 ------ RE18B20:

MOV R4,#2 MOV R1,#2FH RE00:

MOV R2,#8 RE01: CLR C

SETB P3.3 NOP NOP

CLR P3.3 NOP NOP NOP

SETB P3.3 MOV R3,#09 RE10: DJNZ R3,RE10 MOV C,P3.3 MOV R3,#23

32

RE20: DJNZ R3,RE20 RRC A

DJNZ R2,RE01 MOV @R1,A DEC R1

DJNZ R4,RE00 RET

;-------- 显示子程序 -------- DISP: MOV A,2FH MOV C,70H RRC A

MOV C,71H RRC A

MOV C,72H RRC A

MOV C,73H RRC A

MOV 2FH,A MOV A,2FH MOV B,#10 DIV AB MOV 30H,A MOV 31H,B MOV A,30H

MOV DPTR,#SGTB MOVC A,@A+DPTR

MOV P0,A CLR P2.2 SETB P2.0 SETB P2.1 SETB P2.3 SETB P2.4

LCALL YS4722U MOV A,31H

MOV DPTR,#SGTB MOVC A,@A+DPTR

MOV P0,A CLR P2.3 SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.4

;显示温度“十位”值 ;显示温度“个位”值33

LCALL YS4722U

MOV A,#01000110B

MOV P0,A ;显示温度符号“ ℃” CLR P2.4 SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3

LCALL YS4722U RET

;************* 8位共阳数码管显示器字型码表**********

SGTB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H,8CH,0C8H YS4722U:

MOV R4,#10 ;延时子程序 Y3: MOV R5,#216 DJNZ R5,$ DJNZ R4,Y3 RET

END

34

VCC12345678GNDGNDGNDGNDCLKDDDDDDDDQRESPACK49934718314171811199E16151413121110912345678123456781234567812345678DS1DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS2DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS3DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS4DPY_9aDPYabbaccfbddgeeecffdggdpdpdp256912151619abcdefdpgRP2U74LS37701234567QQQQQQQQ01234567R7CLKP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCRES2C8VCCJ1594837261GNDT1216V+VCCMAX232DVDDT4C2-C2+C1-C1+T21591210115431S1T3SW-PBR1DB9T5ELECTRO16V-813714VCCRP1U123VCC4567C3891011121314C715WR16RD1733pF18Y11920C111.0596MHz33pFR2P1.0VCCP1.1P0.0(AD0)P1.2P0.1(AD1)P1.3P0.2(AD2)P1.4P0.3(AD3)P1.5P0.4(AD4)P1.6P0.5(AD5)P1.7P0.6(AD6)RSTP0.7(AD7)P3.0(RXD)EA/VppP3.1(TXD)ALE/PROGP3.2(INT0)PSENP3.3(INT1)P2.7(A15)P3.4{T0}P2.6(A14)P3.5(T1)P2.5(A13)P3.6(WR)P2.4(A12)P3.7(RD)P2.3(A11)XTAL2P2.2(A10)XTAL1P2.1(A9)GNDP2.0(A8)AT89S51智能电热水器原理图:

CAP4039383736353433323130292827262524232221VCCAT89S51D18UIN026P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7IN127IN228IN3R8RES2IN4IN5IN6IN712345IN-0IN-1附录2

IN-2IN-4RESPACK4U?EOC7IN-5INT1IN-6ADD-AADD-BADD-C25P0.024P0.123P0.2NORIN-716C7120.1uFR397ALE22CLKU1ref(-)ref(+)R6D2GREENENABLESTARTCLOCK9610WRADC0809U2NOR RD GNDVDDDQNORYELLOW R4R5 Q1-12VVCCDS18B20U1BELLNPN

水温检测模块35

IN-3msb2-12-22-32-42-52-62-7lsb2-8212019188151417P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.712345678161514131211109

本文来源:https://www.bwwdw.com/article/2exg.html

Top