电热水器控制系统课程设计报告.doc_第1页
电热水器控制系统课程设计报告.doc_第2页
电热水器控制系统课程设计报告.doc_第3页
电热水器控制系统课程设计报告.doc_第4页
电热水器控制系统课程设计报告.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计电热水器控制系统 课程名称 单片机原理及应用技术 学生学院 信息工程学院 专 业 测控技术与仪器(计算机测控) 班 级 2010级(1)班 学 号 3110002441 学生姓名 彭港健 指导教师 邓耀华/王桂棠 2012 年 06 月 21 日摘 要在本次课程设计中,根据课题要求,我们组员通过查找资料、分析、讨论,最终确定下本方案。本方案主要功能是实时检测水温,当温度低于60度是自动加热,高于90度是停止加热,实现智能控制热水器的储水量。在满足基本功能的前提下,为了能使电路简单,反应快速,并尽量减低成本。电源选用5V直流电压。而从方案设计、分析,比较确定方案,到确定参数,并在原来的基础上考虑添加扩展功能,理论计算分析,以及电路原理图的绘制,电路板的焊接调试,最后的撰写设计报告,我们小组各成员一起协商讨论,分工合作,终于圆满地完成了本次的课程设计。关键词:单片机,温度传感器,LED灯,数码管,智能控制AbstractIn this course design, according to the topic request, we members through the search, data analysis, discussion, and finally determined that this scheme. His own cause of the NE555, and the circuit, non-contact switch circuit, alarm analog circuits and power circuit four parts. The main function is clever way to realize the electric fan protection and alarm, namely in hand touches the electric fan metal shell, fan would immediately lose electric and also issued the alarm, has warned not to touch; When people leave a few seconds after about metal shell, fans auto reply operation. Meeting the basic function of the premise, in order to enable circuit is simple and quick response, and try to reduce costs. Choose 6V dc power supply voltage. And the scheme design, analysis, determined scheme, to determine the parameters, And consider adding extended on the basis of original features, theoretical analysis and circuit schematics drawing, welding and debugging of circuit board, the final written design report, our consultations with the members of the group, Division, and finally successfully completed this course design.Keywords : Single-chip microcomputer ,Temperature sensor ,LED lights目录摘 要IAbstractII目录III前言1一.方案详解2二.原理流程图4图3 热水系统Protuse仿真原理图5三.器件清单6四.元器件简介73.1芯片DS18B2073.1.1 DS18B20的主要特性73.1.2 DS18B20的外形和内部结构83.1.3 DS18B20工作原理83.2 元件8952特性介绍10五.小组作品功能展示14六热水系统控制源程序18七.遇到的问题与解决方法25八.个人心得体会26前言 科学技术的快速发展往往能给人们的生活带来很多便利,科学技术的产物热水器,就是其中一个。随着人们生活水平的日益提高,热水器正在走进每一个家庭。我国近年来产量增长最快的家电产品之一,也正在不断发展和改进,日益满足人们生活的需求。我们这次做的是一个电热水控制系统,是通过芯片8951 对热水器进行加热和加水控制,从而实现热水器的基本功能。 一.方案详解设计目标及方案选择方案一:以AT89C51单片机为控制中心的智能热水系统目前家电市场上的电热水器有连续水流式,具有加热速度快和体积小的优点,但需要的功率大,大多数家庭供电线路难以承受,而且市场上传统的机械式电热水器控制功能不完善,而且精度低、可靠性差,因此电热水器的智能化成为必然趋势。采用单片机来实现电热水器的智能化,主要是因为其采用面向控制的指令系统,实时控制功能特别强。CPU可以直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力,能有针对性的结局由简单到复杂的各类控制任务。单片机作为嵌入式应用的微型计算机,由于其出色的性价比,极强的实用性,它取得了巨大的发展。以AT89C51单片机为控制中心的智能电热水器AT89C51单片机具有结构简单、控制能力强、可靠性高、体积小价格低等优点在许多行业都得到了广泛的应用。下面为硬件实现电路框图: 图1 基于AT89C51控制的智能热水器方案二:PIC16C72单片机为控制器件的智能电热水器PIC16C72是美国微芯公司推出的8/11位单片机,采用宽字节单周期指令,哈佛双总线和RISC结构,其数据吞吐量最高可达6MIPS,这几乎是其它大多数8位微控制器速度的4倍,128脚封装的PIC16C72单片机内集成了以下主要功能;2KB片内ROM程序存储器,128KB数据存储器;22位I/O线;5路8位A/D转化器。以PIC16C72为控制芯片的电热水器,虽然功能很强大,但是存在一些很需要改进的地方:中断的现场保护是中断应用中一个很重要的部分由PIC16C72的指令系统中设的W寄存器和STATUS寄存器内容警校现场保护1然后再中断服务程序中对马达,继电器进行控制1漏电检查报警在中断里给出,而每50ms进入一次中断,所以发生漏电时最多50ms即可切断电源1入口中断保护控制马达控制继电器如果用直流对电机进行控制,其转速太快,过调量过大,容易引起振荡。通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法,可以采用可编程程序控制器PLC,各种单片机来师兄,但考虑到成本控制和软硬件实现难度,我们组采用方案一的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并能够在异常情况下自动断电。 本方案还实现对热水器水量的控制,当热水器水量较少的时候,通过处理,发出加热信号给外部电路,进行加水,同时点亮加水指示灯。当热水器内部容器水位达到一定的高度是,也就是谁快要满的时候,处理器发出一个停止加水的信号给外部电路,同时加水指示灯变暗,这样实现了对热水器的水位控制。二.原理流程图 图2 热水系统流程图图3 热水系统Protuse仿真原理图三.器件清单表1 元件清单表名称规格数量温度传感器DS18B201个单片机STC89C52RC1个4位数码管HSN3642S2个8位锁存器74HC5732个电阻R1R930010个电阻R10,R111K2个电阻R124.7k1个晶振1个LED发光二极管绿色2个压电陶瓷片1片电容C122nf1个电容C21nf1个直流电源56V1个铜电线若干 四.元器件简介3.1芯片DS18B20数字温度传感器DS18B20介绍图4 温度传感器DS18B20封装3.1.1 DS18B20的主要特性1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电。1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。1.5、温范围55+125,在-10+85时精度为0.5。1.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。1.8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。3.1.2 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图1:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 图5 DS18B20内部结构图3.1.3 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图6 DS18B20测温原理框图DS18B20有4个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB形式表达,其中S为符号位。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FE6FH,-55的数字输出为FC90H 。(3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。(4)配置寄存器 该字节各位的意义如下:低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用 户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表2:温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms表3:RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第3 、4字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.2 元件8952特性介绍图7 元件8952实物图89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。表4 主要功能特性标准MCS-51内核和指令系统片内8kROM(可扩充64kB外部存储器)32个双向I/O口256x8bit内部RAM(可扩充64kB外部存储器)3个16位可编程定时/计数器时钟频率3.5-12/24/33MHz向上或向下定时计数器改进型快速编程脉冲算法6个中断源5.0V工作电压全双工串行通信口布尔处理器帧错误侦测4层优先级中断结构自动地址识别兼容TTL和CMOS逻辑电平空闲和掉电节省模式PDIP(40)和PLCC(44)封装形式管脚说明:VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚 备选功能 图8 89C52芯片的管脚说明P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。五.小组作品功能展示 下面是各个情况下的实物图展示图9 系统实物图与标识1)当水温低于设定温度时,加热指示灯变亮,同时模拟发送加热信号给外部加热电路。如图8所示。图10 当水温低于设定温度时当水温大于设定温度时,加热指示灯变暗,同时模拟发送停止加热信号给外部电路。如图9所示。图11 当水温大雨设定温度时3)当液面低于水位A时,模拟设定水位A出的等于高电平,加水指示灯变亮,同时模拟发送加水信号给外部电路。如图10所示。图12 当水位低于预定液位时4)当液面到达水位B时,模拟设定水满,加水指示灯变暗。同时模拟发送停止加水信号给外部电路。如图11所示图13 当液位到达预定水位时图14 直流电源本设计除了使用USB插口供电之外,还可用56V直流电(干电池)供电,便于携带。六热水系统控制源程序ORG 0000HLJMP MAIN1ORG 0003H ;外部中断0入口(设定温度的个位)LJMP ZINT0ORG 0013H ;外部中断1入口(十位)LJMP ZINT1TMPL EQU 29H ;读取温度值的低八位TMPH EQU 28H ;读取温度值的高八位FLAG1 EQU F0 ;片段存在脉冲的标志位WELA EQU P2.7 ;数码管位选锁存器使能端DULA EQU P2.6 ;数码管段选锁存器使能端LED_1 EQU P1.0 ;加热指示LED灯 DATAIN BIT P3.7 ;1820数据总线MAIN1: SETB IT0 ;外部中断0下降沿触发 SETB EA ;开中断控制 SETB EX0 ;开外部中断0 SETB IT1 ;外部中断1下降沿触发 SETB EX1 ;开外部中断1 CLR LED_1 ;LED指示灯亮(初始状态) CLR WELA CLR DULA MOV 74H,#0 ;设定温度小数为0 MOV 75H,#0 ;设定温度个位 MOV 76H,#9 ;设定温度十位(初始90) MOV 77H,#10MAIN: LCALL NO_WATER LCALL GET_TEMPER ;从1820获得当前水温 LCALL CVTTMP ;计算转换 LCALL DISP ;显示设定温度和当前水温 LCALL CTRL_TMPL ;加热控制 AJMP MAIN ;循环;*1820初始化*INIT_1820: SETB DATAIN ; NOP CLR DATAIN ;芯片复位 MOV R1,#3 ;等待复位完成(480us)TSR1: MOV R0,#107 ; DJNZ R0,$ ; DJNZ R1,TSR1 ; SETB DATAIN ;复位完成(后1560us会出现存在脉冲:低电平) NOP NOP NOP NOP NOP MOV R0,#25H ;TSR2: JNB DATAIN,TSR3 ;检测是否有存在脉冲 DJNZ R0,TSR2 ;否,重复检测 CLR FLAG1 ;标志位置0 SJMP TSR7 ;TSR3: SETB FLAG1 ;是,标志位置1 NOP ; MOV R0,#117 ;延时等待TSR6: DJNZ R0,$ ;TSR7: SETB DATAIN ;CPU与1820达成协议,可以进行通信 RET;*获得当前水的温度值*GET_TEMPER: SETB DATAIN ; LCALL INIT_1820 ;复位 JB FLAG1,TSS2 ;是否有存在脉冲? NOP RETTSS2: MOV A,#0CCH ;是,跳过ROM命令,不对芯片ROM编码做出反应 LCALL WRITE_1820 ;1820写命令 MOV A,#44H ;温度转换指令 LCALL WRITE_1820 ;1820写命令 ACALL DL1MS ; LCALL INIT_1820 ;重读一次 MOV A,#0CCH ; LCALL WRITE_1820 ;1820写命令 MOV A,#0BEH ;读1820 RAM指令(温度值) LCALL WRITE_1820 ;写命令 LCALL READ_18200 ;读操作 RET ;读完毕;*1820写命令*WRITE_1820: MOV R2,#8 ; CLR C ;WR1: CLR DATAIN ; MOV R3,#6 ; DJNZ R3,$ ; RRC A ; MOV DATAIN,C ; MOV R3,#23 ; DJNZ R3,$ ; SETB DATAIN ; NOP DJNZ R2,WR1 ; SETB DATAIN ; RET;*1820读操作*READ_18200: MOV R4,#2 ; MOV R1,#29H ;RE00: MOV R2,#8 ;RE01: CLR C ; SETB DATAIN ; NOP NOP CLR DATAIN ; NOP NOP NOPSETBDATAIN ;MOVR3,#9 ;RE10:DJNZR3,RE10 ;MOVC,DATAIN ;读取MOVR3,#23 ;RE20:DJNZR3,RE20 ;RRCA ;A带进位循环右移DJNZR2,RE01 ;循环8次MOVR1,A ;储存当前温度值29HDECR1 ;重复读一次,温度值存在28HDJNZR4,RE00 ;RET;*读到的两字节温度数据合成单字节(带符号)*CVTTMP:MOVA,TMPH ;ANLA,#80H ;JZTMPC1 ;最高位是否为1?是,温度为负,否温度为正CLRC ;是,为负温度。进位清零MOVA,TMPL ;求负温度值低八位补码CPLA ;取反ADDA,#1 ;+1,得到补码MOVTMPL,A ;储存(温度个位和小数)MOVA,TMPH ;CPLA ;取反ADDCA,#0 ;反码与进位相加MOVTMPH,A ;求得温度十位(二进制)MOV73H,#0BH ;符号位为负(OBH段选)SJMPTMPC11 ;TMPC1:MOV73H,#0AH ;否,正温度,符号位不显示TMPC11:MOVA,TMPL ; ANLA,#0FH ;屏蔽高4位,求得小数MOVDPTR,#TMPTAB ;段选首地址MOVCA,A+DPTR ;取段选码(小数)MOV70H,A ;存在70HMOVA,TMPL ;求个位ANLA,#0F0H ;屏蔽低四位SWAPA ;交换高低位MOVTMPL,A ;重新储存MOVA,TMPH ;求十位和百位ANLA,#0FH ;SWAPA ;交换高低位ORLA,TMPL ;合成一个字节;*转换成十进制数*H2BCD:MOVB,#100 ;A除以100DIVAB ;JZB2BCD1 ;商是否为0?MOV73H,A ;否,商(百位)给73HB2BCD1:MOVA,#10 ;商(百位)为0,余数除以10,求得十位XCHA,B ;DIVAB ;MOV72H,A ;十位MOV71H,B ;个位(除以10的余数)CLR CINC 71HINC 71HMOV A,71HCJNE A,#10,NEXTNEXT: JNC DK1SJMP TMPC12DK1: MOV A,71HSUBB A,#10MOV 71H,AINC 72HTMPC12:NOPDISBCD:MOVA,73H ;ANLA,#0FH ;屏蔽高四位CJNEA,#1,DISBCD0 ;百位是否等于1?温度超过100SJMPDISBCD1 ;是,结束计算DISBCD0:MOVA,72H ;百位为0(72H为十位)ANLA,#0FH ;屏蔽高四位JNZDISBCD1 ;十位不为0,跳B2BCD1执行计算MOVA,73H ;十位为0,显示符号位MOV72H,A ;0给十位MOV73H,#0AH ;最高位DISBCD1:RETTMPTAB:DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9 ;水温小数码表;*显示程序*DISP: MOV DPTR,#TAB ;码表首地址 MOV R0,#77H ;显示指针(选择亮哪一位数) MOV R1,#01H ;扫描字(选择亮哪一个数码管)DISP1: CLR WELA ;关段、位选 CLR DULA ; MOV A,R0 ;要显示的内容 MOVC A,A+DPTR ;取码表 MOV P0,A ;写入 CJNE R0,#71H,NEXT ;是否需要加小数点?(水温和设定温度的个位) CLR P0.7 ;71H,水温个位NEXT: CJNE R0,#75H,NODP ;DP: CLR P0.7 ;75H,设定温度个位NODP: SETB DULA ;开段选 CLR DULA ;锁存(准备显示的数据) MOV A,R1 ;取位选 MOV P0,A ; SETB WELA ;开位选 CLR WELA ;锁存(已显示) LCALL DL5MS ;延时 DEC R0 ;下一个要显示的数 MOV A,R1 ; JB ACC.7,OVER ;最后一位显示完毕?否,返回显示下一位数 RL A ;下一个选中的数码管(循环左移) MOV R1,A ; SJMP DISP1 OVER: RET ;显示完毕 TAB:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H,0FFH,0BFH ;09、符号位码表;*加热控制*CTRL_TMPL: MOVA,73H ;最高位CJNEA,#1,DD2 ;水温超过100?A=1?SJMPLEDH ;是,指示灯灭,停止加热DD2:MOVA,72H ;否,温度不超过100,当前水温十位(72H)CJNEA,#0AH,DD3 ;十位不等于0时(A=0AH),比较水温与设定温度MOVA,72H ;DD3:MOVA,76H ;比较十位CJNEA,72H,DDH ;当前温度十位与设定温度十位是否相等?SJMPDDL ;是,比较个位DDH:JNCPLAY1 ;设定温度十位是否大于当前温度十位?是,跳PLAY1SJMPLEDH ;否,跳LEDH(指示灯灭,停止加热)DDL:MOVA,75H ;十位相等,比较个位CJNEA,71H,DDL1 ;个位是否相等?SJMPLEDH ;是,停止加热,指示灯灭DDL1:JNCPLAY1 ;十位相等,设定温度个位是否大于当前温度(未超)?是,跳PLAY1LEDH:SETBLED_1 ;水温已超过设定温度,加热指示灯灭RET ;PLAY1:MOV A,72H SUBB A,#6 JNC TTT CLRLED_1 ;加热指示灯亮,加热TTT:CLR C RET ;*加水控制*NO_WATER: JB P3.1,ST_ADD JB P3.0,OV_ADDST_ADD: CLR P1.1 RETOV_ADD: SETB P1.1 RET ;*1ms延时程序*DL1MS:MOVR6,#14H ;DL1:MOVR7,#100 ;DJNZR7,$ ;DJN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论