《空调模拟控制器_汇编语言(.ASM)》由会员分享,可在线阅读,更多相关《空调模拟控制器_汇编语言(.ASM)(11页珍藏版)》请在金锄头文库上搜索。
1、; 空调模拟控制器;任务:在pc机上模拟空调的控制操作。;基本要求:用菜单输出功能选项;通过键盘输入进行各项操作;功能要求:模拟一般空调的所有功能。;扩展要求:图形界面; 硬件定时DATA SEGMENT MASS DB 0DH,0AH, _,0DH,0AHDB |_ |,0DH,0AHDB | | |,0DH,0AHDB | | *O* *C* |,0DH,0AHDB | | *M* |,0DH,0AHDB | | *S* *E* |,0DH,0AHDB |_| |,0DH,0AHDB | *W* *T* *P* |,0DH,0AHDB | |,0DH,0AHDB | *U* *I* *H*
2、 |,0DH,0AHDB | |,0DH,0AHDB | *N* *D* *L* |,0DH,0AHDB |_|,0DH,0AH,$MASS1 DB 0DH,0AH,| System start ! ,0DH,0AH,$MASS2 DB 0DH,0AH,| System off ! ,0DH,0AH,$MASS3 DB 0DH,0AH,| Wellcom ! ,0DH,0AH,$MASS4 DB 0DH,0AH,| Temperature ! ,0DH,0AH,$MASS5 DB 0DH,0AH,| Increment ! ,0DH,0AH,$MASS6 DB 0DH,0AH,| Reduct
3、ion ! ,0DH,0AH,$MASS7 DB 0DH,0AH,| Contrlling ! ,0DH,0AH,$MASS8 DB 0DH,0AH,| Cool ! ,0DH,0AH,$MASS9 DB 0DH,0AH,| Heating ! ,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,| Sleep ! ,0DH,0AH,$MA
4、SS14 DB 0DH,0AH,| Quit ! ,0DH,0AH,$MASS15 DB 0DH,0AH,| Error ! ,0DH,0AH,$MASS16 DB 0DH,0AH,| Please enter: ,0DH,0AH,$MASS17 DB 0DH,0AH,| T P W S E C ,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
5、,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, - ,0DH,0AH,$MASS23 DB 0DH,0AH, Z ,0DH,0AH,$MASS231 DB 0DH,0AH, Z ,0DH,0AH,$MASS232 DB 0DH,0AH, Z ,0DH,0AH,$M
6、ASS24 DB 0DH,0AH, ,0DH,0AH DB 0DH,0AH, ,0DH,0AH DB 0DH,0AH, ,0DH,0AH,$MASS25 DB 0DH,0AH, | ,0DH,0AH DB 0DH,0AH, - -| ,0DH,0AH DB 0DH,0AH, _ ,0DH,0AH,$MODE DB ?DATA ENDSPRTSTR MACRO X;输出字符串 LEA DX,X MOV AH,09H INT 21HENDMSCANSTR MACRO MOV AH,08H INT 21HENDM SETXY MACRO X,Y;设置光标位置,X=行,Y=列 XOR BH,BH MO
7、V AH,02H MOV DH,X MOV DL,Y INT 10HENDMMASSS MACRO SETXY 5,5 PRTSTR MASS18ENDMMASS121 MACRO SETXY 16,10 PRTSTR MASS21 CALL DELAY SETXY 16,10 PRTSTR MASS211 CALL DELAYENDMDRAWWINDOW 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
8、,LEFT MOV DH,BOTTOM MOV DL,RIGHT INT 10H POP DX POP CX POP BX POP AXENDMCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,0FH INT 10H MOV BYTE PTRMODE,AL MOV AH,00 MOV AL,02 INT 10H DRAWWINDOW 81H,0,0,24,200;窗口背景色设置 DRAWWINDOW 3EH,3,1,7,20 PRTSTR MASSLOP: SCANSTR ;按下按键 PUSH AX CM
9、P AL,O ;判断是否打开空调 JZ OPEN SETXY 4,4 PRTSTR MASS15 ;输入错误重新输入 SETXY 16,10 PRTSTR MASS25 JMP LOPOPEN:SETXY 4,4 PRTSTR MASS1 ;打开空调 SETXY 16,10 PRTSTR MASS24 SCANSTR CMP AL,M ;判断是否进入菜单 JZ MENU SETXY 4,4 PRTSTR MASS15 SETXY 16,10 PRTSTR MASS25 JMP OPENMENU:SETXY 4,4 PRTSTR MASS3 ;进入菜单 SETXY 16,10 PRTSTR MA
10、SS24 CALL DELAY SETXY 4,4 PRTSTR MASS16 ;显示功能 SETXY 5,5 PRTSTR MASS17 SCANSTR CMP AL,T ;判断是否选择温度控制 JNZ LOP1 CALL TEM JMP MENULOP1:CMP AL,P ;判断是否选择制冷制热 JNZ LOP2 CALL PRO JMP MENULOP2:CMP AL,W ;判断是否选择扫风 JNZ LOP3 CALL WIND JMP MENULOP3:CMP AL,S ;判断是否选择择睡眠 JNZ LOP4 CALL SLEEP JMP MENULOP4:CMP AL,E ;判断是否选择返回菜单 JNZ LOP5 SETXY 4,4 PRTSTR MASS14 MASSS CALL DELAY CALL DELAY JMP ME