logo资料库

空调模拟控制器程序设计.docx

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
DATA SEGMENT MASS DB 0DH,0AH,' ______________________________________',0DH,0AH DB '|_____________________ |',0DH,0AH DB '| DB '| DB '| DB '| | | | | O (Open) |',0DH,0AH C (Close) |',0DH,0AH M (Menu) |',0DH,0AH R (Return) |',0DH,0AH DB '|_____________________| DB '| |',0DH,0AH |',0DH,0AH DB '| A (Refrigerating heat) W (Wind) |',0DH,0AH DB '| DB '| |',0DH,0AH |',0DH,0AH DB '| T (Temperature) S (Sleep) |',0DH,0AH DB '|______________________________________|',0DH,0AH DB '| DB '| DB '| DB '| DB '| DB '| DB '| DB '| DB '| DB '| DB '| |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH |',0DH,0AH DB '|______________________________________|',0DH,0AH,'$' MASS1 DB 0DH,0AH,'| Opened ! ',0DH,0AH,'$' MASS2 DB 0DH,0AH,'| Closed ! ',0DH,0AH,'$' MASS3 DB 0DH,0AH,'| Menu ! ',0DH,0AH,'$' MASS4 DB 0DH,0AH,'| Temperature ! ',0DH,0AH,'$'
MASS5 DB 0DH,0AH,'| Up Temp ! ',0DH,0AH,'$' MASS6 DB 0DH,0AH,'| Down Temp ! ',0DH,0AH,'$' MASS7 DB 0DH,0AH,'| Air Contrlling ! ',0DH,0AH,'$' MASS8 DB 0DH,0AH,'| Cooling MASS9 DB 0DH,0AH,'| Heating ! ! ',0DH,0AH,'$' ',0DH,0AH,'$' MASS10 DB 0DH,0AH,'| Wind ! ',0DH,0AH,'$' MASS11 DB 0DH,0AH,'| Up prepurge ! ',0DH,0AH,'$' MASS12 DB 0DH,0AH,'| Down prepurge ! ',0DH,0AH,'$' MASS13 DB 0DH,0AH,'| MASS14 DB 0DH,0AH,'| Sleep Return ! ! ',0DH,0AH,'$' ',0DH,0AH,'$' MASS15 DB 0DH,0AH,'| Enter again ! ',0DH,0AH,'$' MASS16 DB 0DH,0AH,'| Please enter: ',0DH,0AH,'$' MASS17 DB 0DH,0AH,'| T A W S R C ',0DH,0AH,'$' MASS66 DB 0DH,0AH,'| Set Time ! ',0DH,0AH,'$' MASS18 DB 0DH,0AH,'| ',0DH,0AH,'$' MASS19 DB 0DH,0AH,'| //// //// ',0DH,0AH DB 0DH,0AH,'| //// //// ',0DH,0AH DB 0DH,0AH,'| ~~~~ ~~~~ ',0DH,0AH,'$' MASS20 DB 0DH,0AH,'| ~~~~ ~~~~ ',0DH,0AH DB 0DH,0AH,'| \\\\ \\\\ ',0DH,0AH DB 0DH,0AH,'| \\\\ \\\\ ',0DH,0AH,'$' MASS21 DB 0DH,0AH,'| *\*/* ',0DH,0AH DB 0DH,0AH,'| *--*--* ',0DH,0AH DB 0DH,0AH,'| */*\* ',0DH,0AH,'$' MASS22 DB 0DH,0AH,'| ~~~~~~~~~ ',0DH,0AH DB 0DH,0AH,'| !!!(+ +)!!! ',0DH,0AH DB 0DH,0AH,'| O ',0DH,0AH,'$' MASS23 DB 0DH,0AH,'| Z Z ',0DH,0AH,'$' MASS231 DB 0DH,0AH,'| Z Z ',0DH,0AH,'$' MASS232 DB 0DH,0AH,'| Z Z ',0DH,0AH,'$'
MASS233 DB 0DH,0AH,'| R(Return) Y(Sleep)',0DH,0AH,'$' MASS24 DB 0DH,0AH,'| I(Incre) B(Decre) ',0DH,0AH,'$' MASS25 DB 0DH,0AH,'| ||| ',0DH,0AH DB 0DH,0AH,'| -- --||| ',0DH,0AH DB 0DH,0AH,'| _o_ ',0DH,0AH,'$' MASS26 DB 0DH,0AH,'| H(Heat) L(Ref) ',0DH,0AH,'$' MASS27 DB 0DH,0AH,'| U(Up) D(Down) ',0DH,0AH,'$' MASS28 DB 0DH,0AH,'| DB 0DH,0AH,'| DB 0DH,0AH,'| ',0DH,0AH ',0DH,0AH ',0DH,0AH,'$' MASS291 DB 0DH,0AH,'| ^ ^ ',0DH,0AH,'$' MASS292 DB 0DH,0AH,'| O Running~~ ',0DH,0AH,'$' MODE DB '?' DATA ENDS PRTSTR MACRO X;输出字符串 LEA DX,X ;取 X 的有效地址送 DX MOV AH,09H ;显示字符串 INT 21H ENDM SCANSTR MACRO ;键盘输入 MOV AH,08H ;键盘输入无回显,AL=输入字符 INT 21H ENDM SETXY MACRO X,Y;设置光标位置,X=列,Y=行 XOR BH,BH ;BH=显示页码 MOV AH,02H MOV DH,X MOV DL,Y
INT 10H ENDM MASSS MACRO SETXY 3,3 PRTSTR MASS18 ENDM DRAWWINDOW MACRO ATTR,TOP,LEFT,BOTTOM,RIGHT ;建立窗口 PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,06H ;初始化屏幕 MOV AL,0 ;清窗口 MOV BH,ATTR ;空白区域的缺省属性(空白区域颜色,背景颜色) MOV CH,TOP ;窗口左上角位置 MOV CL,LEFT MOV DH,BOTTOM MOV DL,RIGHT ;窗口右下角位置 INT 10H POP DX POP CX POP BX POP AX ENDM CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,0FH ;读取显示器模式
INT 10H MOV BYTE PTR[MODE],AL MOV AH,00H MOV AL,02H ;显示器模式,16 色文本 INT 10H DRAWWINDOW 3EH,0,0,24,200 ;大窗口背景色及大小设置,3 背景色兰, E 字体色黄 DRAWWINDOW 2EH,3,1,7,22 ;校窗口背景色及大小设置,2 背景色 绿,E 字体色黄 PRTSTR MASS LOP:SETXY 23,38 SCANSTR ;按下按键 PUSH AX CMP AL,'O' ;判断是否打开空调 JZ OPEN SETXY 2,2 PRTSTR MASS15 ;输入错误重新输入 SETXY 16,10 PRTSTR MASS25 JMP LOP OPEN:SETXY 2,2 PRTSTR MASS1 ;打开空调 SETXY 16,10 PRTSTR MASS28 SETXY 23,38 SCANSTR CMP AL,'M' ;判断是否进入菜单 JZ MENU CMP AL,'C' ;判断是否选择关闭空调 JZ EXIT
SETXY 2,2 PRTSTR MASS15 MASSS SETXY 16,10 PRTSTR MASS25 JMP OPEN MENU:SETXY 2,2 PRTSTR MASS3 ;进入菜单 SETXY 16,10 PRTSTR MASS28 ;CALL DELAY SETXY 2,2 PRTSTR MASS16 ;显示功能 SETXY 3,3 PRTSTR MASS17 SETXY 3,18 SETXY 23,38 SCANSTR CMP AL,'T' ;判断是否选择温度控制 JNZ LOP1 CALL TEM JMP MENU LOP1:CMP AL,'A' ;判断是否选择制冷制热 JNZ LOP2 CALL PRO JMP MENU LOP2:CMP AL,'W' ;判断是否选择扫风 JNZ LOP3 CALL WIND JMP MENU
LOP3:CMP AL,'S' ;判断是否选择择睡眠 JNZ LOP4 CALL SLEEP JMP MENU LOP4:CMP AL,'R' ;判断是否选择返回菜单 JNZ LOP5 SETXY 2,2 PRTSTR MASS14 MASSS CALL DELAY ;CALL DELAY JMP MENU LOP5:CMP AL,'C' ;判断是否选择关闭空调 JZ EXIT SETXY 2,2 PRTSTR MASS15 MASSS SETXY 16,10 PRTSTR MASS25 CALL DELAY JMP MENU EXIT:SETXY 2,2 PRTSTR MASS2 MASSS CALL DELAY ;CALL DELAY MOV AH,0 MOV AL,BYTE PTR[MODE] JMP LOP TEM PROC NEAR ;温度控制
SETXY 2,2 PRTSTR MASS4 MASSS SETXY 3,3 PRTSTR MASS24 SETXY 3,18 MOV CH,32H MOV DL,CH MOV AH,02H INT 21H MOV CL,35H MOV DL,CL MOV AH,02H INT 21H AGAIN:SETXY 23,38 SCANSTR CMP AL,'I' JZ M5 CMP AL,'B' JZ M6 CMP AL,'R' JZ QUIT SETXY 2,2 PRTSTR MASS15 SETXY 16,10 PRTSTR MASS25 JMP AGAIN QUIT: JMP LO M5: SETXY 2,2 ;增加温度
分享到:
收藏