空调模拟控制器汇编语言ASM.docx
- 文档编号:24644395
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:17
- 大小:194.26KB
空调模拟控制器汇编语言ASM.docx
《空调模拟控制器汇编语言ASM.docx》由会员分享,可在线阅读,更多相关《空调模拟控制器汇编语言ASM.docx(17页珍藏版)》请在冰豆网上搜索。
空调模拟控制器汇编语言ASM
;空调模拟控制器
;任务:
在pc机上模拟空调的控制操作。
;基本要求:
用菜单输出功能选项;通过键盘输入进行各项操作
;功能要求:
模拟一般空调的所有功能。
;扩展要求:
图形界面;硬件定时
DATASEGMENT
MASSDB0DH,0AH,'_____________________________________',0DH,0AH
DB'|____________________|',0DH,0AH
DB'|||',0DH,0AH
DB'||*O**C*|',0DH,0AH
DB'||*M*|',0DH,0AH
DB'||*S**E*|',0DH,0AH
DB'|____________________||',0DH,0AH
DB'|*W**T**P*|',0DH,0AH
DB'||',0DH,0AH
DB'|*U**I**H*|',0DH,0AH
DB'||',0DH,0AH
DB'|*N**D**L*|',0DH,0AH
DB'|_____________________________________|',0DH,0AH,'$'
MASS1DB0DH,0AH,'|Systemstart!
',0DH,0AH,'$'
MASS2DB0DH,0AH,'|Systemoff!
',0DH,0AH,'$'
MASS3DB0DH,0AH,'|Wellcom!
',0DH,0AH,'$'
MASS4DB0DH,0AH,'|Temperature!
',0DH,0AH,'$'
MASS5DB0DH,0AH,'|Increment!
',0DH,0AH,'$'
MASS6DB0DH,0AH,'|Reduction!
',0DH,0AH,'$'
MASS7DB0DH,0AH,'|Contrlling!
',0DH,0AH,'$'
MASS8DB0DH,0AH,'|Cool!
',0DH,0AH,'$'
MASS9DB0DH,0AH,'|Heating!
',0DH,0AH,'$'
MASS10DB0DH,0AH,'|Wind!
',0DH,0AH,'$'
MASS11DB0DH,0AH,'|Upprepurge!
',0DH,0AH,'$'
MASS12DB0DH,0AH,'|Downprepurge!
',0DH,0AH,'$'
MASS13DB0DH,0AH,'|Sleep!
',0DH,0AH,'$'
MASS14DB0DH,0AH,'|Quit!
',0DH,0AH,'$'
MASS15DB0DH,0AH,'|Error!
',0DH,0AH,'$'
MASS16DB0DH,0AH,'|Pleaseenter:
',0DH,0AH,'$'
MASS17DB0DH,0AH,'|TPWSEC',0DH,0AH,'$'
MASS18DB0DH,0AH,'|',0DH,0AH,'$'
MASS19DB0DH,0AH,'/~~~~~~~~~~~~~~',0DH,0AH
DB0DH,0AH,'/~~~~~~~~~~~~~',0DH,0AH
DB0DH,0AH,'/',0DH,0AH,'$'
MASS20DB0DH,0AH,'\',0DH,0AH
DB0DH,0AH,'\~~~~~~~~~~~~~~~',0DH,0AH
DB0DH,0AH,'\~~~~~~~~~~~~~~~',0DH,0AH,'$'
MASS21DB0DH,0AH,'*\*/*',0DH,0AH
DB0DH,0AH,'*--*--*',0DH,0AH
DB0DH,0AH,'*/*\*',0DH,0AH,'$'
MASS22DB0DH,0AH,'..........',0DH,0AH
DB0DH,0AH,'(++)!
!
!
',0DH,0AH
DB0DH,0AH,'-',0DH,0AH,'$'
MASS23DB0DH,0AH,'Z',0DH,0AH,'$'
MASS231DB0DH,0AH,'Z',0DH,0AH,'$'
MASS232DB0DH,0AH,'Z',0DH,0AH,'$'
MASS24DB0DH,0AH,'',0DH,0AH
DB0DH,0AH,'',0DH,0AH
DB0DH,0AH,'',0DH,0AH,'$'
MASS25DB0DH,0AH,'|||',0DH,0AH
DB0DH,0AH,'----|||',0DH,0AH
DB0DH,0AH,'___',0DH,0AH,'$'
MODEDB?
DATAENDS
PRTSTRMACROX;输出字符串
LEADX,X
MOVAH,09H
INT21H
ENDM
SCANSTRMACRO
MOVAH,08H
INT21H
ENDM
SETXYMACROX,Y;设置光标位置,X=行,Y=列
XORBH,BH
MOVAH,02H
MOVDH,X
MOVDL,Y
INT10H
ENDM
MASSSMACRO
SETXY5,5
PRTSTRMASS18
ENDM
MASS121MACRO
SETXY16,10
PRTSTRMASS21
CALLDELAY
SETXY16,10
PRTSTRMASS211
CALLDELAY
ENDM
DRAWWINDOWMACROATTR,TOP,LEFT,BOTTOM,RIGHT;建立窗口
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVAH,06H
MOVAL,0
MOVBH,ATTR
MOVCH,TOP
MOVCL,LEFT
MOVDH,BOTTOM
MOVDL,RIGHT
INT10H
POPDX
POPCX
POPBX
POPAX
ENDM
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAH,0FH
INT10H
MOVBYTEPTR[MODE],AL
MOVAH,00
MOVAL,02
INT10H
DRAWWINDOW81H,0,0,24,200;窗口背景色设置
DRAWWINDOW3EH,3,1,7,20
PRTSTRMASS
LOP:
SCANSTR;按下按键
PUSHAX
CMPAL,'O';判断是否打开空调
JZOPEN
SETXY4,4
PRTSTRMASS15;输入错误重新输入
SETXY16,10
PRTSTRMASS25
JMPLOP
OPEN:
SETXY4,4
PRTSTRMASS1;打开空调
SETXY16,10
PRTSTRMASS24
SCANSTR
CMPAL,'M';判断是否进入菜单
JZMENU
SETXY4,4
PRTSTRMASS15
SETXY16,10
PRTSTRMASS25
JMPOPEN
MENU:
SETXY4,4
PRTSTRMASS3;进入菜单
SETXY16,10
PRTSTRMASS24
CALLDELAY
SETXY4,4
PRTSTRMASS16;显示功能
SETXY5,5
PRTSTRMASS17
SCANSTR
CMPAL,'T';判断是否选择温度控制
JNZLOP1
CALLTEM
JMPMENU
LOP1:
CMPAL,'P';判断是否选择制冷制热
JNZLOP2
CALLPRO
JMPMENU
LOP2:
CMPAL,'W';判断是否选择扫风
JNZLOP3
CALLWIND
JMPMENU
LOP3:
CMPAL,'S';判断是否选择择睡眠
JNZLOP4
CALLSLEEP
JMPMENU
LOP4:
CMPAL,'E';判断是否选择返回菜单
JNZLOP5
SETXY4,4
PRTSTRMASS14
MASSS
CALLDELAY
CALLDELAY
JMPMENU
LOP5:
CMPAL,'C';判断是否选择关闭空调
JZEXIT
SETXY4,4
PRTSTRMASS15
MASSS
SETXY16,10
PRTSTRMASS25
CALLDELAY
CALLDELAY
JMPMENU
EXIT:
SETXY4,4
PRTSTRMASS2
MASSS
CALLDELAY
CALLDELAY
MOVAH,0
MOVAL,BYTEPTR[MODE]
JMPLOP
TEMPROCNEAR;温度控制
SETXY4,4
PRTSTRMASS4
MASSS
SETXY16,10
PRTSTRMASS24
SETXY5,15
MOVCH,32H
MOVDL,CH
MOVAH,02H
INT21H
MOVCL,35H
MOVDL,CL
MOVAH,02H
INT21H
AGAIN:
SCANSTR
CMPAL,'I'
JZM5
CMPAL,'D'
JZM6
CMPAL,'E'
JZQUIT
SETXY4,4
PRTSTRMASS15
SETXY16,10
PRTSTRMASS25
JMPAGAIN
QUIT:
SETXY4,4
PRTSTRMASS14
JMPLO
M5:
SETXY4,4;增加温度
PRTSTRMASS5
INCCL
CMPCL,39H
JNAM51
INCCH
MOVCL,30H
M51:
SETXY5,15
MOVDL,CH
MOVAH,02H
INT21H
MOVDL,CL
MOVAH,02H
INT21H
JMPAGAIN
M6:
SETXY4,4;降低温度
PRTSTRMASS6
DECCL
CMPCL,30H
JAM61
DECCH
MOVCL,39H
M61:
SETXY5,15
MOVDL,CH
MOVAH,02H
INT21H
MOVDL,CL
MOVAH,02H
INT21H
JMPAGAIN
LO:
RET
TEMENDP
SLEEPPROCNEAR;进入睡眠状态
PUSHCX
MOVCX,1
SETXY4,5
PRTSTRMASS13
MASSS
SETXY16,10
PRTSTRMASS23
CALLDELAY
SETXY16,12
PRTSTRMASS231
CALLDELAY
SETXY16,14
PRTSTRMASS232
CALLDELAY
SETXY16,10
PRTSTRMASS23
CALLDELAY
SETXY16,12
PRTSTRMASS231
CALLDELAY
SETXY16,14
PRTSTRMASS232
CALLDELAY
RET
SLEEPENDP
PROPROCNEAR;进入制冷制热
SETXY4,4
PRTSTRMASS7
MASSS
SETXY16,10
PRTSTRMASS24
AGAIN1:
SCANSTR
CMPAL,'H'
JZM9
CMPAL,'L'
JZM8
CMPAL,'E'
JZQUIT1
SETXY4,4
PRTSTRMASS15
SETXY16,10
PRTSTRMASS25
JMPAGAIN1
M8:
SETXY4,4;制冷
PRTSTRMASS8
SETXY16,10
PRTSTRMASS21
JMPAGAIN1
M9:
SETXY4,4
PRTSTRMASS9;制热
SETXY16,10
PRTSTRMASS22
JMPAGAIN1
QUIT1:
SETXY4,4
PRTSTRMASS14
RET
PROENDP
WINDPROCNEAR;进入扫风功能
SETXY4,4
PRTSTRMASS10
MASSS
SETXY16,10
PRTSTRMASS24
AGAIN2:
SCANSTR
CMPAL,'U'
JZM11
CMPAL,'N'
JZM12
CMPAL,'E'
JZQUIT2
SETXY4,4
PRTSTRMASS15
SETXY16,10
PRTSTRMASS25
JMPAGAIN2
M11:
SETXY4,4;上扫风
PRTSTRMASS11
SETXY16,10
PRTSTRMASS19
JMPAGAIN2
M12:
SETXY4,4;下扫风
PRTSTRMASS12
SETXY16,10
PRTSTRMASS20
JMPAGAIN2
QUIT2:
SETXY4,4
PRTSTRMASS14
RET
JMPAGAIN2
WINDENDP
DELAYPROC
PUSHAX
PUSHDX
PUSHBX
GOT:
MOVAH,00H
INT1AH
ADDDL,9
MOVBL,DL
WAITING:
MOVAH,00H
INT1AH
CMPDL,BL
JNZWAITING
POPBX
POPDX
POPAX
RET
DELAYENDP
CODEENDS
ENDSTART
(注:
文档可能无法思考全面,请浏览后下载,供参考。
可复制、编制,期待你的好评与关注!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 空调 模拟 控制器 汇编语言 ASM