危机原理 课程设计 售货机.docx
- 文档编号:17150344
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:18
- 大小:37.80KB
危机原理 课程设计 售货机.docx
《危机原理 课程设计 售货机.docx》由会员分享,可在线阅读,更多相关《危机原理 课程设计 售货机.docx(18页珍藏版)》请在冰点文库上搜索。
危机原理课程设计售货机
售货机(6)
一、设计目的
1、巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平;
2、掌握汇编语言程序的编程方法;
3、熟悉键盘控制和七段数码管的使用。
二、设计要求
课程设计内容上机编程:
1.在显示器上显示任意四位十六进制数:
5A7C
2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移:
5C7F
:
E0A4
3.实现:
a)当K0=1时,键入货品、价钱、SET,设置某个货品的价格钱,可至少连续设置三个价钱;(设可乐3.8元,薯片8.1元,话梅2.4元)
b)当K0=0时,键入一个货品、购买的个数,按SET得到总价,再键入另一个货品名、购买的个数,按SET即得合总价,可记得至少三种货品并计得合总价。
4.电路框图
+5V
题目4:
实现:
a)当K0=1时,键入货品、价钱、SET,设置某个货品的价格钱,可至少连续设置三个价钱;(设可乐3.8元,薯片8.1元,话梅2.4元)
b)当K0=0时,键入一个货品、购买的个数,按SET得到总价,再键入另一个货品名、购买的个数,按SET即得合总价,可记得至少三种货品并计得合总价。
源程序:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
TABLEDB0FCH,060H,0DAH,0F2H,066H,0B6H,0BEH,0E0H,0FEH,0F6H
DB0EEH,03EH,09CH,07AH,09EH,08EH
HEX1DB00H
HEX2DB00H
HEX3DB00H
HEX4DB00H
HEXDB0FFH
PRI_BJDW0000H
PRI_SHDW0000H
PRI_GZDW0000H
NUM_BJDW0000H
NUM_SHDW0000H
NUM_GZDW0000H
SETNUMDW0000H
PRIDW0000H
MONYDW0000H
MONY_ADW0000H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVAL,89H
OUT63H,AL
MOVAL,0FCH
OUT60H,AL
LEABX,TABLE
KEYTEST:
CALLSHOW
MOVAL,00H
OUT61HAL
INAL,62H
ANDAL,30H
CMPAL,30H
JNEKEYSUR
KT:
INAL,62H
ANDAL,40H
CMPAL,40H
JNZKEYTEST
CALLKCL
JMPKEYTEST
KEYSUR:
CALLTIME
INAL,62H
ANDAL,30H
CMPAL,30H
JNEK0SCAN
JNPKEYTEST
SYSSET:
JMPSCANADR1
SCANADR1:
MOVAL,0DH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA11
CALLBJSET
JMPSCANADR1
A11:
MOVAL,0BH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA12
CALLSHSET
JMPSCANADR1
A12:
MOVAL,07H
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA13
CALLSHSET
JMPSCANADR1
A13:
CALLSHOW
JMPKEYTEST
SYSSET:
JMPSCANADR2
SCANADR2:
MOVAL,0DH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA21
CALLBJCNT
JMPSCANADR2
A21:
MOVAL,0BH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA12
CALLSHCNT
JMPSCANADR2
A22:
MOVAL,07H
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,10H
JNZA23
CALLGZCNT
CALLSHOW
JMPSCANADR2
A23:
JMPKEYTEST
BJSET:
CALLPRISCAN
MOVAX,SETNUM
MOVPRI_BJ,AX
RET
SHSET:
CALLPRISCAN
MOVAX,SETNUM
MOVPRI_SH,AX
RET
GZSET:
CALLPRISCAN
MOVAX,SETNUM
MOVPRI_GZ,AX
RET
BJCNT:
MOVAX,PRI_BJ
MOVPRI,AX
CALLNUMSCAN
MOVAX,SETNUM
MOVNUM_BJ,AX
MOVAX,MONY
MOVMONY_BJ,AX
MOVCX,20
BJCNT_1:
CALLSHOW
LOOPBJCNT_1
CALLADDALL
RET
SHCNT:
MOVAX,PRI_SH
MOVPRI,AX
CALLNUMSCAN
MOVAX,SETNUM
MOVNUM_SH,AX
MOVAX,MONY
MOVMONY_SH,AX
MOVCX,20
SHCNT_1:
CALLSHOW
LOOPSHCNT_1
CALLADDALL
RET
GZCNT:
MOVAX,PRI_BGZ
MOVPRI,AX
CALLNUMSCAN
MOVAX,SETNUM
MOVNUM_GZ,AX
MOVAX,MONY
MOVMONY_GZ,AX
MOVCX,20
GZCNT_1:
CALLSHOW
LOOPGZCNT_1
CALLADDALL
RET
PRISCAN:
XORAL,AL
MOVHEX1.AL
MOVHEX2.AL
MOVHEX3.AL
MOVHEX4.AL
PN20:
MOVAL,07H
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNEPN21
CALLKEYUNIT
JMPPN20
PN21:
MOVAL,0BH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNEPN22
CALLKEYDEC
JMPPN20
PN22:
MOVAL,0EH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNEPN23
CALLKEYTHO
JMPPN20
PN23:
MOVAL,0DH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNEPN24
CALLKEYHUN
JMPPN20
PN24:
MOVAL,0EH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNEPN21
CALLKEYSET
JMPPN26
PN25:
CALLSHOW
MOVAL,0FFH
MOVHEX,AL
JMPPN20
PN26:
RET
NUMSCAN:
XORAL,AL
MOVHEX1.AL
MOVHEX2.AL
MOVHEX3.AL
MOVHEX4.AL
NN20:
MOVAL,07H
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNENN21
CALLKEYUNIT
JMPNN20
NN21:
MOVAL,0BH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNENN22
CALLKEYDEC
JMPNN20
NN22:
MOVAL,0EH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNENN23
CALLKEYTHO
JMPNN20
NN23:
MOVAL,0DH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNENN24
CALLKEYHUN
JMPNN20
NN24:
MOVAL,0EH
OUT61H,AL
INAL,62H
ANDAL,30H
CMPAL,20H
JNENN21
CALLKEYSET
JMPNN26
NN25:
CALLSHOW
MOVAL,0FFH
MOVHEX,AL
JMPNN20
NN26:
RET
KEYUNIT:
MOVAL,HEX
CMPAL,01H
JZKEY_UNIT
MOVDL,HEX1
INCDL
CMPDL,0AH
JBK_UNIT
MOVDL,00H
K_UNIT:
MOVHEX1,DL
MOVAL,01H
MOVHEX,AL
KEY_UNIT:
CALLSHOW
RET
KEYDEC:
MOVAL,HEX
CMPAL,02H
JZKEY_DEC
MOVDL,HEX2
INCDL
CMPDL,0AH
JBK_DEC
MOVDL,00H
K_DEC:
MOVHEX2,DL
MOVAL,02H
MOVHEX,AL
KEY_DEC:
CALLSHOW
RET
KEYHUN:
MOVAL,HEX
CMPAL,03H
JZKEY_HUN
MOVDL,HEX3
INCDL
CMPDL,0AH
JBK_HUN
MOVDL,00H
K_HUN:
MOVHEX3,DL
MOVAL,03H
MOVHEX,AL
KEY_HUN:
CALLSHOW
RET
KEYTHO:
MOVAL,HEX
CMPAL,04H
JZKEY_THO
MOVDL,HEX4
INCDL
CMPDL,0AH
JBK_THO
MOVDL,00H
K_THO:
MOVHEX4,DL
MOVAL,04H
MOVHEX,AL
KEY_THO:
CALLSHOW
RET
KEYSET:
XORAX,AX
MOVCH,00H
MOVDH,00H
MOVDL,HEX1
ADDAX,DX
MOVCL,HEX2
CMPCL,00H
JZKS_2
MOVDX,10
KS2:
ADD,AX,DX
LOOPKS2
KS_2:
MOVCL,HEX3
CMPCL,00H
JZKS_3
MOVDX,100
KS3:
ADD,AX,DX
LOOPKS3
KS_3:
MOVCL,HEX4
CMPCL,00H
JZKS_4
MOVDX,1000
KS4:
ADD,AX,DX
LOOPKS4
KS_4:
MOVSETNUM,AX
MOVAL,0EH
MOVHEX,AL
CALLSHOW
RET
PRIADD:
XORAX,AX
MOVCH,00H
MOVDH,00H
MOVDL,HEX3
ADDAX,DX
MOVCL,HEX4
CMPCL,00H
JZPAD_2
MOVDX,10
PAD2:
ADD,AX,DX
LOOPPAD2
PAD_2:
MOVSETNUM,AX
MOVBX,PRI
MULBX
MOVMONY,AX
MOVHEX:
MOVDX,0
MOVBX,10
DIVBX
MOVHEX1,DL
MOVDX,0
DIVBX
MOVHEX2,DL
DIVBL
MOVHEX3,AH
MOVHEX4,AL
MOVAL,0F0H
MOVHEX,AL
CALLSHOW
RET
ADDALL:
XORAX,AX
MOVDX,MONY_BJ
ADDAX,DX
MOVDX,MONY_SH
ADDAX,DX
MOVDX,MONY_GZ
ADDAX,DX
MOVMONY_A,AX
MOV_HEX:
MOVDX,0
MOVBX,10
DIVBX
MOVHEX1.DL
MOVDX,0
DIVBX
MOVHEX2.DL
MOVDX,0
DIVBX
MOVHEX3.DL
MOVDX,0
DIVBX
MOVHEX4.DL
CALLSHOW
MOVAL,0FH
MOVHEX,AL
SHOW:
PUSHBX
LEABX,TABLE
MOVAL,HEX1
XLAT
OUT60H,AL
MOVAL,07H
OUT61H,AL
CALLDELAY
MOVAL,HEX2
XLAT
OUT60H,AL
MOVAL,0BH
OUT61H,AL
CALLDELAY
MOVAL,HEX3
XLAT
OUT60H,AL
MOVAL,0DH
OUT61H,AL
CALLDELAY
MOVAL,HEX4
XLAT
OUT60H,AL
MOVAL,0EH
OUT61H,AL
CALLDELAY
MOVAL,0FCH
OUT60H,AL
POPBX
RET
KCL:
PUSHAX
XORAX,AX
MOVMONY_BJ,AX
MOVMONY_SH,AX
MOVMONY_GZ,AX
POPAX
RET
DELAY:
PUSHCX
MOVCX,0800H
A1:
LOOPA1
POPCX
RET
A2:
LOOPL2
POPCX
RET
CODEENDSENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 危机原理 课程设计 售货机 危机 原理 售货
![提示](https://static.bingdoc.com/images/bang_tan.gif)