版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 前言1.1 太阳能热水器的发展概况及市场竞争分析目前, 中国已成为世界上最大的太阳能热水器生产国, 年产量约为世界各国之和,已有一百多家太阳能热水器生产厂。 但是与之配套的太阳能热水器控制器却一直处在研究与开发阶段。这种控制器只具有温度和液位显示功能, 而且为分段显示,温度显示误差为10%,水位显示误差为25%。这种显示器( 还称不上控制器) 不具有温度控制功能,当由于天气原因而光强不足时,就会给热水器用户带来不便;即使热水器具 有辅助加热功能,由于加热时间不能控制而产生过烧,从而浪费大量的电能。本文设计的太阳能热水器控制器以80C51单片机为检测控制核心,采用 DS12887实时时钟
2、,不仅实现了时间、温度和水位三种参数实时显示和FUZZY空制功能,而且具有时间设定、温度设定与控制功能。温度控制采用模糊控制, 控制器可以根据天 气情况利用辅助加热装置使蓄水箱内的水温在设定时间达到预先设定的温度, 从而达 到 24 小时供应热水的目的。包括主、从两大系统:主系统的特点是在晴好的天气利 用太阳光能为热水器加热; 从系统相当于电热水器, 它在无光照的情况下利用电辅助 加热。 它充分利用太阳能的丰富的免费的资源的优势, 同时考虑到在阴天及夜间无法 利用太阳能的缺点,充分发挥太阳能热水器和电热水器的各自优势。第二章 设计思路及要求2.1 本设计的目的和意义本设计具有很强的实用性, 用
3、成本低廉的电阻式传感器以及电极配以单片机技术对生产实际中的太阳能热水器的水温的控制以及水位的显示。 本装置电路简单、 实用 性强、性价比高、水温控制灵活,水位显示直观醒目。可广泛应用于家庭生活对太阳 能热水器的水位显示与水温控制。具有良好的市场前景。2.2 控制系统设计要求1、能够根据水位和水温两个条件控制是否需要进水,每次只进整个水箱的四分 之一水量,也可以在手动状态下自由进水(上满时自由停止)或停止进水。2、控制系统具有手动和自动切换功能;3、具有水温和水位显示功能;4、具有进水超水位和超水温报警指示;5、用水时若水温达不到设置值时,可手动起动加热装置,这样可在很大程度上节约电能;6、用水
4、时可自由调节水温;7、控制系统具体管道排空功能,这样防止冬天时因水管内有积水而在夜间冻裂水管。2.3 本设计实现思路及方法水位由潜入储水容器不同深度的水位电极和潜入容器底部的公共电极(导线)检测;并由四个绿色LED发光二极管显示:若无水则绿灯不亮;若有四分之一储水箱的水亮一盏绿灯;通过观察绿灯点亮的数量可识别水位的高低,这里取5 段显示,也可根据需要进行增减。水温由四个LE躁码管显示,前三个数码管显示的为温度最后一个数码管我们只 用到了四段码显示为温度的符号C,水温有效值最多可显示为99.9 C。第 3 章 硬件设计3.1 控制系统组成及工作原理3.1.1 系统的组成如图 2-1 所示,本系统
5、主要由控制器、自动控制阀、手动控制阀、水位检测电极、水温检测传感器、电阻加热丝、储水箱等组成。控制器:主要通过里面的电磁阀控制 YV1和YV2的通断,控制水温检测传感器 检测水温、控制水位检测传感器检测水在水箱中的位置以及控制电阻加热丝加热。自动控制阀:主要通过控制器控制,当水箱中的水的实际温度大于所设置的温度时,自动阀就自动打开往水箱中上水,直到上到上一个目标水位为止。手动控制阀:当自 动阀损坏时,可以通过 手动阀进行上下水。水位检测电极:主 要用来检测水箱中水 的位置,主要把水箱分 成四等分,一共有五个 电极,接地的电极放在 最水箱的最底下,其余 分别放在四等分点上, 比如当水箱中的水在
6、第一等分和第二等分倦泳箱电阻加热空/水位检恻电也水温检测法感器控制器之间,则显示水箱中有j 四分之一的水,当超过抽附 第二等分,则显示二分淋喷头自来水地漏之一的水。图2-1系统组成示意图水温检测传感器:主要用来检测水箱中水的实际温度。图2-1 系统 组成示电阻加热丝:主要用来加热水箱点目使其达到用户所需要的温度3.1.2 控制装置的工作原理本控制系统分为手动和自动两种控制方式,在系统处于自动状态下,当检测温度高于设置温度,且水位未达到最高时,控制器打开电磁水阀YV1和YV2进行上水,同时点亮上水指示灯,当水位上至上一目标水位时,自动停止上水(即关闭电磁水阀 YV1和YV2),若水箱内无水,则自
7、动上水至最低水位处。在系统处于手自动状态下,可自由上水或停止上水(上水时水箱水位必须未满),若水位达到最高则自动停止上水; 若需要启动加热器则必须先设定加热温度, 然后按 下加热键进行加热;若需洗浴时,则需打开手动阀 YV4,系统自动打开电磁水阀YV2, 可通过YV5自由调节水温;当电磁水阀YV1和YV2损坏或停电时,可通过打开YV5和 YV6进行上下水解决燃眉之急;此系统设置 YV3是为了防止冬天气温过低引起水管因 内有积水而冻裂(即手动打开此阀放完水管中的积水)。3.2 主要原器件介绍3.2.1 AT89S51高性能8位单片机AT89S51是一个低功耗高性能 CMOS的单片机,4k Byt
8、es Flash 只读程序存储器(ROM),512 Bytes内部数据存储器(RAM),该微处理器采用ATME公司的高密度、非 易失性存储技术生产,兼容标准 MCS-51指令系统,引脚兼容80C51和80C52芯片, 片内的Flash存储器可以像常规程序存储器一样进行烧写,AT89S51片内总共有256字节的用户数据区,而128字节的内部扩展数据区需通过清 SFR(8EH)I勺位1并用MOVX 指令访问,片内置通用8位中央处理器和Flash存储单元,另一个256BytesRAM区与TEFF1 0 C T2E5/P1. 1 匚P1. 2 匚 T1 3 C P1 4 CP1. 5 匚 n.e匚T1
9、 1 CRST匚KKD/F3. 0 C TKD/T3. 1 匚LHT0/P3. 2 匚Hm/pa. 3 CTWF3, 4 匚T1/P3. 5 匚 而废"E匚ED/I3, 7 CKTAL2 匚 XTAL1 匚 p 口 pGHD 亡1239含3643T59E§35T刎e3393210311130122913142T15%1G2517M18231y222021 Vee3 po 0 "口。3 PA. 1/AD1D P02/之 po.英片in PO. 4/AD4J PO. 5/1D53 FO, 6/1D63 PO. 7/AD7 Ed/VFFH ALE/FROG FESH P
10、2. T/A153 P2,6?tl41 * S/A133 P2 4/il25 Vili3 FE. "HID 口 F2. 1/435 P2, QZAC图2-2 AT89S51引脚图ATME此AT89系列8052兼容的单片机是一致的, AT89C51结合通用的8位微处理器和Flash存储技术 构成功能强大单片微处理器,可提供许多高性能低价 位的系统控制应用场合。(1)、AT89S51主要特点:40个引脚,32kBytes的程序存储器,32个外部 双向输入/输出(I/O)端口,同时内含2个外中断口, 3个16位可编程定时计数器,2个全双工串行通信口,内置时钟振荡器,其Flash存储器,可反
11、复擦写1000 次的Flash存储器可有效地降低开发成本。软件设置电 源省电模式,睡眠其间,定时/计数器,用行口和中断口均停止工作,RAMfr的数据被“冻结”,直到下次被中断激活或硬件复位方可恢复工作。 、AT89S51主要功能特性兼容MCS51指令系统32k可反复擦写(1000次)Flash RO32个双向I/O 口硬件看门狗WDTt路3个16位可编程定时/计数器时钟频率0-33MHz两个串行中断512X 8bit 内部 RAM2个外部中断源内置时钟振荡器中断激活睡眠模式3级加密位双重数据存储器软件设置睡眠和唤醒功能3.2.2数码管显示原理由单片机的定时器To做16位计数器(为便于数据处理,
12、这里只用低8位计数值, 即寄存器TL0中的值)。一边记录脉冲数量,一边以厘米为单位由四位数码管显示出 来。四位数码管采用动态扫描方式显示。长度计量仪采用0.5英寸共阳极连接的LE四码管。精选LED数码管由发光二极管作为显示字段的数码型显示器件。右图为 LED数码管外形和引 脚图,其中7只发光二极管分别对应a-g笔段, 构成“日”字形,另一只发光二极管 DP作为小 数点,因此这种LED显示器称为八段数码管。(如图2-3所示)共阳极型LED数码管,是将各段发光二极管 的阳极连在一起,作为公共端com,应接高电平。(a)e d Com c Dpag、Dp各笔段中,某笔段接低电平时发光,高电当W不发光
13、。有力什 图2-3 LED数码管为了节省单片机I/O 口的数量,将各位数码管的ag对应笔画并联起来分别 与单片机的P2.0P2.7引脚连接。显示时,由P2 口依次输出各位数字的笔段码, 并依次由P1.0、P1.1、P1.2、P1.3输出低电平位选信号接通数码管的公共端,轮流 进行,循环不止,由于循环的频率较高(约50Hz),加上人眼的视觉暂留,既保障了各位数字的对应显示,又不会出现闪烁现象,实现动态扫描显示所谓最小系统,即指使单片机能正 常工作的所需的最少的电路,即应包含 CPUS辅助电路、ROM RAMR I/O 端口 醺范路。由于AT89S51内部已经包含 4KB的Flash Memory
14、程序存储器,所 以无需再扩展片外程序存储器。在 AT89S51的基础上,加复位电路、时钟+5V°+5V 4. 4.VCc EAGNDAT89S51iRST 3 AT89S51 单10K 0一X2TAL2 -6M -I- r 20pf图2-4 AT89S51单片机最小系统3.3 AT89S51单片机的最小系统精选电路、EA引脚信号及电源即可。结合资料及所学过的内容,得到如图2-4所示的单片机最小系统图2-4中,晶体振荡器的频率选6MHZ复位电路采用上电复位,电路参数如图中所示,以满足系统复位时两个机器周期的高电平的要求。由于CPU勺内部已含有程序 存储器,所以EA引脚接高电平。3.4
15、AT89S51单片机时钟 电路XTAL1图2-5时钟电路KTAL2该水位自动显示控制器采用 AT89C51单片机,机内有一高增益 反相放大器,构成自激振荡电路,振荡频率取6MHz外接6MHzft振,两个电容C1、C2取20pF,以便于起振荡的作用右图中XTAL1为内部时钟工作电路的输入,XTAL2为来自反向振荡器的输出3.5 AT89S51单片机复位电路该水位自动显示控制器采用上电复位电路,由 R14 C3构成复位电路,在Vcc口10R F =KST/VPDAT89C51R1410KQ .四5图2-6复位电路上电瞬间,产生一个脉冲,AT89S51将复位。为保证可靠复位,脉冲宽度应大于两个机器周
16、期,这取决于 R C时间长数。取电容C=10uF电阻R=10K图2-7水位检测电路3.6 水位检测电路的硬件设计实验证明,纯净水几乎是不导电的,但自然 界存在的以及人们日常使用的水都会含有一定 的Md+、Cl等离子,它们的存在使水导电。本 控制装置就是利用水的导电性来完成的。我们把储水箱大致分为四个等份,水位由潜 入太阳能热水器的储水箱不同深度的水位电极和潜入储水箱底部的公共电极(导线) 进行检测;由单片机依次使各水位电极呈现高电平, 由公共电极所接的三极管进行电 位转换,水位到达的电极,转换电位为低(0);水位没有到达的电极,转换电位为高(1);每检测一位便得到一位数据,5个电极检测一遍以后
17、便得到了 5个串行数据, 然后把这5个数据转化为字节一路送发光二极管; 在这里我们可以用发光二极管亮的 盏数来显示水位的高低。(若没有发光二极管亮则表示箱内没有水或者只有少量的水, 若有一个发光二极管灯亮则表示箱内有四分之一箱的水,以此类推,若有四个发光二极管亮,则表示水箱水是满的。)3.7 水温检测电路的硬件设计本设计温度传感器选用 AD59Q AD590属于半导体集成电路温度传感器,测温范围-55C- +150 C,在其二端加上一定的工作电压,具输出电流与温度变化成线性关系,1uA/° K,误差有几种等级:±1、±0.5、±0.3C,本设计中选取
18、177; 0.5C 品种。OP07为高精度运算放大器,AD590电流流经R1、RP1转换为电压信号,R2、RP2 为运算负反馈电阻,成反相比例放大器,将温度信号转换成0-5V的电压信号,ADC0832 再将其转换为数字信号,输入 CPU图2-8为温度检测和A/D转换电路图。3.8 键盘电路的硬件设计P1.0- P1.7 口作为按键的信号输入端,键按下,就执行该键的功能。其电路如 图2-9所示。(为了编程简单、方便,采用独立式键盘电路)ifc.0.L.2.34,5.6,T 91 91 dlM 1PFFPFPFP<小系统图2-9键盘电路图3.9 驱动电路的硬件设计在单片机控制系统中,需要用开
19、关量去控制和驱动一些执行元件,如发光二极管、继电器、电磁 阀、品闸管等。但 AT89S51单片机驱 动能力有限,且高 电平比低电平驱动 低那六小。一般情 况下,需要加驱动 接口电路,且用低 电平驱动。如图 2-10所示图2-10 驱动电路图3.10 显示电路的硬件设计本设计采用共阳型数码管,8个LED灯如图2-11中接法,灯的负极依次接到数码 管的a-f段,采用动态扫描电路,并把显示程序作为主程序。数码管的段用 P0 口控 制,P2.0 口、P2.3 口作为数码管的位控制,P2.4作为指示灯的控制。P01P02P03P04P05P06P07P20P21P22P23P24RXDTXDm;3&qu
20、ot;e10措 B 1111AT89S51图2-11 显示电路图精选第4章软件设计4.1 主程序流程图主程序:ORG 0000HLJMP MAINORG 000BHLJMP CT0;转定时器0中断服务程序ORG 0030H主程序MAIN: MOV 30H,#00H;0.1 秒单元MOV 20H,#00000100Bg 相应标志位MOV P2,#0FFH;P却不显示,电磁阀不通电,不加热MOV SP,#5FH设置堆栈深度SETB EA;开中断SETB ET0;允许T0中断MOV TMOD,#01010001B;T0式1定时,T1工作于方式1计数MOV TH0,#3CH;定时常数 MOV TL0,
21、#0B7H主程序MOV TH1,#00H;清计数单元初册MOV TL1,#00H |.SETB TR0;启动定时定时器0精选调水位检测程序调显示程序SETB TR1;启动 T1MOV 28H,#60;设置初始温度为60度MOV 40H,#0FFH转显示状态为全灭MOV 36H,#0;清温度存放单元MOV 37H,#0MOV 2FH,#1; 目标水位为 1LOOP:LCALL WATER位检测LCALL DISP;显示程序LCALL KEY键盘处理程序SJMP LOOP4.2 中断子程序CT0: MOV TH0,#3CH;重置时间初值MOV TL0,#0B0HPUSH ACC保护现场PUSH P
22、SWSETB RS0;选工作寄存器1组MOV R1,#30H;指向0.1秒单元INC R1CJNE R1,#10,RET_TIMEMOV R1,#00HCPL 00HLCALL TEST_TEM蠲温度处理程序 RET_TIME:POP PSW 复现场POP ACCRETI; 中断返回4.3 温控进水程序4.3.1 温度检测程序TEST_TEMP:温度处理程序,将温度存放在 27H单元,设置的温度存放于28H单元JB 01H,RE_AD若为设置状态,则不进处理MOV SCON,#00H ;置串口方式0,禁止接收CLR ES;串口禁中CLR P3.6;片选0832精选MOV A,#06H ADC0
23、: MOV SBUF,A ADC1: JNB TI,ADC1CLR TI SETB RENADC2: JNB RI,ADC2 CLR RI MOV A,SBUF MOV B,AADC3: JNB RI,ADC3 CLR RI MOV A,SBUF ANL A,#0FH ANL B,#0F0H ORL A,B SWAP A MOV 36H,A CLR REN;置CH0通道配置;启动A/D;串行发送启动及通道配置信号;消发送中断标志;允许(启动)申行接收;接收第一字节;清接收中断标志,同时启动接收第二字节;读第一字节数据;暂存;接收第二字节;清接收中断标志;读第二字节数据;第二字节屏蔽高4位;第一
24、字节屏蔽低4位;组合;高低4位互换,组成正确的A/D数据;存A/D数据;两通道A/D完毕,禁止接收SETBP3.6;清0832片选 RET4.3.2水温控制上水程序图3-2水温控制流程图程序: MOV 27H,36HMOV 42H,#00HJNC N05MOV 42H,#05H; 显示小数 0.5N05: JNB ACC.7,OKMOV A,#0OK: CJNE A,#64H,EADEAD: JNC ERRAD温度超过100则显示99EAD1:MOV B,#10转换成十进制数,送显示单元DIV ABMOV 44H,AMOV 43H,BMOV 41H,#0CH; 最后一位显示CCLR 05HJN
25、B 02H,RE_ADMOV A,27HCJNE A,28H,EADDEADD:JC BSH未到设定温度,不上水MOV A,2EHCJNE A,#04H,SWSW: JNC RE_ADJB 03H,RE_ADMOV 2FH,2EH; 未到设定温度,上至高一档水位INC 2FH; 目标水位CLR P2.6CLR P2.7SETB 03HRE_AD: RETERRAD: MOV A,#63HB度超过 100 则显示 99SJMP EAD1BSH: SETB P2.6;SETB P2.7CLR 03SJMP RE_AD4.4温度显示子程序DISP:MOV R0,#44H;显示温度及状态信息MOV D
26、PTR,#TAB DISP1:MOV A,R0 MOVC A,A+DPTRJNB 01H,NDOT1JNB 00H,NDOT1MOV R5,45HCJNE R5,#44H,NDOT1MOV A,#0FFHNDOT1:MOV P0,ACLR P2.0LCALL D1MSSETB P2.0DEC R0MOV A,R0MOVC A,A+DPTR JB 05H,NDOT22CLR ACC.7NDOT22:JNB 01H,NDOT2JNB 00H,NDOT2MOV R5,45HCJNE R5,#43H,NDOT2MOV A,#0FFHNDOT2:MOV P0,ACLR P2.1LCALL D1MSSET
27、B P2.1DEC R0MOV A,R0图3-3温度显示流程图MOVC A,A+DPTRJNB 01H,NDOT3JNB 00H,NDOT3MOV R5,45HCJNE R5,#42H,NDOT3MOV A,#0FFHNDOT3:MOV P0,ACLR P2.2LCALL DIMSSETB P2.2DEC R0MOV A,R0MOVC A,A+DPTRMOV P0,ACLR P2.3LCALL DIMSSETB P2.3D1MS:MOV R7,#25DJNZ R7,$RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H,0FFH,0
28、afH,0C6H,00h,86HEND其它显示程序参见附录14.5键盘处理程序KEY:ORL P1,#0FFH;键处理程序MOV A,P1CPL AJZ RET_KEY;无键返回JNLCALL DISP;有键,延时去抖动ORL P1,#0FFHMOV A,P1CPL AJZ RET_KEY;无键返回ORL P1,#0FFH;有键,延时去抖动MOV A,P1JNB ACC.0,S1JNB ACC.1,S2图3-4键处理流程图YJNB ACC.2,S3JNB ACC.3,S4JNB ACC.4,S5JNB ACC.5,S6JNB ACC.6,S7JNB ACC.7,S8RET_KEY:RETS1:
29、 CPL 01H; 置预置标志JNB 01H,SAVE_TEM;01H=咛储当前预置的温度MOV 45H,#44H; 01H=1,为预置状态,当前预置对象存放于45H单元S11: LCALL DISPORL P1,#0FFH; 等待按键释放MOV A,P1CPL AJNZ S11; 未释放 , 继续等待RETSAVE_TEM:MOV A,44HANL A,#0FHMOV B,#10MUL ABADD A,43HMOV 28H,ASJMP S114.6 基于单片机的太阳能热水器控制系统的设计程序ORG 0000HLJMP MAINORG 000BHLJMP CT0;转定时器0中断服务程序ORG
30、0030H;主程序MAIN:MOV 30H,#00H;0.1 秒单元MOV 20H,#00000100B置相应标志位MOV P2,#0FFH;P2q不显示,电磁阀不通电,不加热MOV SP,#5FH设置堆栈深度SETB EA;开中断SETB ET0;允许T0中断MOV TMOD,#01010001B;T而式1定时,T1工作于方式1计数MOV TH0,#3CH;定时常数精选MOV TL0,#0B0HSETB TR0;启动定时定时器0MOV 28H,#60;设置初始温度为60度MOV 40H,#0FFH转显示状态为全灭MOV 36H,#0;清温度存放单元MOV 2FH,#1; 目标水位为 1LOO
31、P:LCALL WATER位检测LCALL KEY键盘处理程序LCALL DISP;显示程序JMP LOOPCT0: MOV TH0,#3CH;重置时间初值MOV TL0,#0B0HPUSH ACC保护现场PUSH PSWSETB RS0;选工作寄存器1组MOV R1,#30H;指向0.1秒单元INC R1CJNE R1,#10,RET_TIMEMOV R1,#00HCPL 00HLCALL TEST_TEMPI温度处理程序RET_TIME:POP PSW 复现场POP ACCRETI; 中断返回TEST_TEM阖度处理程序,将温度存放在 27H单元, 设置的温度存放于28H单元JB 01H,
32、RE_AD若为设置状态,则不进处理MOV SCON,#00H;置串口方式0,禁止接收CLR ES;串口禁中CLR P3.6;片选 0832MOV A,#06H;置CH0通道配置ADC0: MOV SBUF,A;启动A/DADC1: JNB TI,ADC1;串行发送启动及通道配置信号CLR TI;清发送中断标志SETB REN;允许(启动)串行接收ADC2: JNB RI,ADC2;接收第一字节精选CLR RIMOV A,SBUFMOV B,AADC3: JNB RI,ADC3CLR RIMOV A,SBUFANL A,#0FHANL B,#0F0HORL A,BSWAP AMOV 36H,A
33、CLR REN SETB P3.6RETMOV 27H,36HMOV 42H,#00HJNC N05;清接收中断标志,同时启动接收第二字节;读第一字节数据;暂存;接收第二字节;清接收中断标志;读第二字节数据4位4位;组合4 位互换,组成正确的 A/D 数据A/D 数据A/D 完毕,禁止接收0832 片选MOV 42H,#05H; 显示小数 0.5N05: JNB ACC.7,OKMOV A,#0OK: CJNE A,#64H,EADEAD: JNC ERRADB度超过 100 贝U显示 99EAD1:MOV B,#10转换成十进制数,送显示单元DIV ABMOV 44H,AMOV 43H,BM
34、OV 41H,#0CH; 最后一位显示CCLR 05HJNB 02H,RE_ADMOV A,27HCJNE A,28H,EADDEADD:JC BSH未到设定温度,不上水MOV A,2EHCJNE A,#04H,SWSW:JNC RE_ADJB 03H,RE_ADMOV 2FH,2EH; 未到设定温度,上至高一档水位INC 2FH; 目标水位CLR P2.6CLR P2.7SETB 03HRE_AD:RETERRAD: MOV A,#63HB度超过 100 则显示 99SJMP EAD1BSH: SETB P2.6SETB P2.7CLR 03SJMP RE_ADWATER:;水位检测后存放于
35、2EH单元,目标水位2FH单元JNB P3.2,KS1JNB P3.3,KS2JNB P3.4,KS3JNB P3.7,KS4MOV 2EH,#0; 无水CLR P2.6CLR P2.7SETB 03HMOV 2FH,#1RE_WAT:JNB 02H,RRE_WAT动方式则返回MOV A,2EHCLR CSUBB A,2FHJNZ RRE_WATCLR 03H; 清上水标志SETB P2.6; 关电磁阀SETB P2.7RRE_WAT:RETKS1:MOV 2EH,#4HJNB 03H,RE_WAT1SETB P2.6; 若水满则关电磁阀SETB P2.7CLR 03H;SJMP RE_WAT
36、RE_WAT1:SETB 05HSJMP RE_WATKS2:MOV 2EH,#3HSJMP RE_WATKS3:MOV 2EH,#2HSJMP RE_WATKS4:MOV 2EH,#1HSJMP RE_WATKEY: ORL P1,#0FFH;键处理程序MOV A,P1CPL AJZ RET_KEY; 无键返回LCALL DISP;有键,延时去抖动ORL P1,#0FFHMOV A,P1CPL AJZ RET_KEY;无键返回ORL P1,#0FFH;有键,延时去抖动MOV A,P1JNB ACC.0,S1JNB ACC.1,S2JNB ACC.2,S3JNB ACC.3,S4JNB ACC
37、.4,S5JNB ACC.5,S6JNB ACC.6,S7JNB ACC.7,S8RET_KEY:RET51: CPL 01H;置预置标志JNB 01H,SAVE_TEM;01H=咛储当前预置的温度MOV 45H,#44H; 01H=1,为预置状态,当前预置对象存放于45H单元S11: LCALL DISPORL P1,#0FFH; 等待按键释放MOV A,P1CPL AJNZ S11; 未释放 , 继续等待RETSAVE_TEM:MOV A,44HANL A,#0FHMOV B,#10MUL ABADD A,43HMOV 28H,ASJMP S11精选52: JNB 01H,S11; 未按预
38、置键 , 不处理DEC 45HMOV R0,45HCJNE R0,#41H,S11MOV 45H,#44HSJMP S1153: JNB 01H,S11; 未按预置键,不处理MOV R0,45HINC R0;相应单元加1CJNE R0,#0AH,S11MOV R0,#00H加到 10 清零SJMP S1154: JNB 01H,S11; 未按预置键,不处理MOV R0,#09H减至U 0后变为9SJMP S1155: SETB P2.7CPL P2.6SJMP S1156: CPL 02H;自动标志,02H=1自动,02H=0手动SETB P2.6SETB P2.7CLR 03HCLR 04H
39、SJMP S1157: JB 02H,S77CPL 03H;上水标志,03H=1上水,03H=0停止JNB 03H,NO_ADD_WATERMOV A,2EHCLR CSUBB A,#4JZ S77CLR P2.6CLR P2.7S77:SJMP S11NO_ADD_WATER:SETB P2.6SETB P2.7SJMP S7758: JB 02H,S88CPL 04H;04H 加热标志 ,1 加热 ,0 不加热精选JNB 04H,S8_REMOV A,27HCJNE A,#78H,S81S81:JNC S8_RECLR P2.5S88:SJMP S77S8_RE:CLR 04H;消力口热标
40、志SETB P2.5SJMP S88DISP: MOV R0,#44H; 显示温度及状态信息MOV DPTR,#TABDISP1:MOV A,R0MOVC A,A+DPTRJNB 01H,NDOT1JNB 00H,NDOT1MOV R5,45HCJNE R5,#44H,NDOT1MOV A,#0FFHNDOT1:MOV P0,ACLR P2.0LCALL D1MSSETB P2.0DEC R0MOV A,R0MOVC A,A+DPTRJB 05H,NDOT22CLR ACC.7NDOT22:JNB 01H,NDOT2JNB 00H,NDOT2MOV R5,45HCJNE R5,#43H,NDO
41、T2MOV A,#0FFHNDOT2: MOV P0,ACLR P2.1LCALL D1MSSETB P2.1DEC R0MOV A,R0MOVC A,A+DPTR精选JNB 01H,NDOT3JNB 00H,NDOT3MOV R5,45HCJNE R5,#42H,NDOT3MOV A,#0FFHNDOT3:MOV P0,ACLR P2.2LCALL D1MSSETB P2.2EC R0MOV A,R0MOVC A,A+DPTRMOV P0,ACLR P2.3LCALL D1MSSETB P2.3MOV A,#0FFHJNB 02H,ZDCLR ACC.7;显示自动标志ZD:JNB 03H,S
42、_SHUI;CLR ACC.6;显示上水标志S_SHUI:JNB 04H,N_JRCLR ACC.1显示加热标志N_JR: JNB 05H,N_CWCLR ACC.0;显示超温标志N_CW:ORL A,#03CHMOV R5,2EHCJNE R5,#4,W80anl a,#11000011bSJMP RE_DISPW80:CJNE R5,#3,W50anl a,#11100011bSJMP RE_DISPW50:CJNE R5,#2,W20anl a,#11110011bSJMP RE_DISPW20:CJNE R5,#1,RE_DISPanl a,#11111011bRE_DISP: MOV
43、 P0,AMOV P2,R2CLR P2.4LCALL D1MSSETB P2.4RETD1MS:MOV R7,#25DJNZ R7,$RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H,0FFH,0afH,0C6H,00h,86HEND结束语毕业设计是以往几年所学的知识的一次大检阅,这也是我们根据独立确立 方案,独立设计,独立调试完成。对于这次毕业设计,我有许多感想和收获。首先:毕业设计是综合运用以前所学 的知识,如果以前所学的知识不扎实,扎毕业设计中必然会遇到许多困难,我们只有 真正掌握以前所学的知识并且能灵活运用,才能把毕业设计顺利进行下去。其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 80万吨年PET瓶片、20万吨年RPET瓶片项目可行性研究报告模板立项申批备案
- 文库发布:政治课件
- 劳务人员安全培训资料课件
- 信息安全大学课件
- 消费心理学的基本理论
- 2026-2032年中国气力输送铸造废砂再生装备行业市场研究分析及投资潜力研判报告
- 2026年银行长考试题及答案解析
- 2026年融资租赁财务专员面试题集
- 2026年电商运营面试考核内容及解析
- 2026年中国科学院广州地球化学研究所科研助理招聘备考题库(稳定同位素地球化学学科组)及完整答案详解一套
- GB/T 3543.11-2025农作物种子检验规程第11部分:品种质量品种真实性鉴定
- 人力资源有限公司管理制度
- 2024年高中语文选择性必修上册古诗文情境式默写(含答案)
- 部编人教版4年级上册语文期末复习(单元复习+专项复习)教学课件
- 2024-2025学年云南省玉溪市八年级(上)期末英语试卷(含答案无听力原文及音频)
- 绿色建材生产合作协议
- 英语丨安徽省皖江名校联盟2025届高三12月联考英语试卷及答案
- 湖南省长沙市长2024年七年级上学期数学期末考试试卷【附答案】
- 凉山州 2024 年教师综合业务素质测试试卷初中物理
- 他汀不耐受的临床诊断与处理中国专家共识(2024)解读课件
- 钢管支撑强度及稳定性验算
评论
0/150
提交评论