微机实训报告售货机 广工Word下载.docx

上传人:b****1 文档编号:4144611 上传时间:2023-05-02 格式:DOCX 页数:36 大小:22.11KB
下载 相关 举报
微机实训报告售货机 广工Word下载.docx_第1页
第1页 / 共36页
微机实训报告售货机 广工Word下载.docx_第2页
第2页 / 共36页
微机实训报告售货机 广工Word下载.docx_第3页
第3页 / 共36页
微机实训报告售货机 广工Word下载.docx_第4页
第4页 / 共36页
微机实训报告售货机 广工Word下载.docx_第5页
第5页 / 共36页
微机实训报告售货机 广工Word下载.docx_第6页
第6页 / 共36页
微机实训报告售货机 广工Word下载.docx_第7页
第7页 / 共36页
微机实训报告售货机 广工Word下载.docx_第8页
第8页 / 共36页
微机实训报告售货机 广工Word下载.docx_第9页
第9页 / 共36页
微机实训报告售货机 广工Word下载.docx_第10页
第10页 / 共36页
微机实训报告售货机 广工Word下载.docx_第11页
第11页 / 共36页
微机实训报告售货机 广工Word下载.docx_第12页
第12页 / 共36页
微机实训报告售货机 广工Word下载.docx_第13页
第13页 / 共36页
微机实训报告售货机 广工Word下载.docx_第14页
第14页 / 共36页
微机实训报告售货机 广工Word下载.docx_第15页
第15页 / 共36页
微机实训报告售货机 广工Word下载.docx_第16页
第16页 / 共36页
微机实训报告售货机 广工Word下载.docx_第17页
第17页 / 共36页
微机实训报告售货机 广工Word下载.docx_第18页
第18页 / 共36页
微机实训报告售货机 广工Word下载.docx_第19页
第19页 / 共36页
微机实训报告售货机 广工Word下载.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机实训报告售货机 广工Word下载.docx

《微机实训报告售货机 广工Word下载.docx》由会员分享,可在线阅读,更多相关《微机实训报告售货机 广工Word下载.docx(36页珍藏版)》请在冰点文库上搜索。

微机实训报告售货机 广工Word下载.docx

MOVAL,0F7H

MOVAL,[DI+2]

MOVAL,03H

MOV[DI+3],AL

MOVAL,0FBH

MOVAL,[DI+3]

JMPA1

DALLY:

PUSHAX

MOVAX,0100H

D2:

DECAX

JNED2

POPAX

RET

CODEENDS

ENDSTART

2.编程实现循环移动显示0,2,3…………E,F,并利用8259的IRQ7中断控制其循环与停止,停止时保持显示的四位值。

STACKSEGMENTSTACK

DATA1DB16DUP(?

TABLEDB37H,06H,5BH,4FH,66H

DB6DH,7DH,07H7FH,6FH,77H

DB7CH,39H,5EH,79H,71H

DATA2DB00H,00H,00H,00H

A_SETDB00H

ASSUMECS:

OUT63H,AL;

8255A初始化

PUSHDS

MOVAX,0000H;

中断初始化

LEAAX,IRQ7

MOVSI,003CH

MOV[SI],AX

MOVAX,CS

MOVSI,003EH

CLI

POPDS

MOVAL,13H

OUT20H,AL

MOVAL,08H

OUT21H,AL

MOVAL,09H

MOVAL,3DH

STI

;

---------------------------------------------------------------

MOVDL,00H;

清零

LEADI,DATA1

LEASI,DATA2

MAIN:

MOVCX,0100H

LP:

CALLDALA

CALLDISP;

显示数字

LOOPLP

CMPA_SET,0FFH

JZC1

CALLADD1

C1:

STI

JMPMAIN

DALA:

PUSHSI

PUSHDI

PUSHBX

PUSHCX

MOVAL,[SI]

MOVAL,[SI+1]

MOVAL,[SI+2]

MOVAL,[SI+3]

POPCX

POPBX

POPDI

POPSI

DISP:

PUSHSI

CALLDELAY

ADD1:

INCDL

ANDDL,0FH

PUSHDX

MOV[SI],DL

MOV[SI+1],DL

MOV[SI+2],DL

MOV[SI+3],DL

POPDX

DELAY:

PUSHCX

MOVCX,0060H

A1:

LOOPA1

IRQ7:

NOTA_SET

MOVAL,20H

IRET

 

3.编程使键盘为:

A

1

E

9

6

(1)按动A循环右移显示0,1,2,3,4,5,6,7

(2)按动E循环左移显示8,9,A,B,C,D,E,F

(3)按动其他能左移显示其值。

程序如下:

VAR1DB0DFH,0EFH,0F7H,0FBH

VAR2DB3FH,3FH,3FH,3FH,3FH

DB3FH,3FH,3FH,3FH,3FH

VAR3DB00H,00H,00H,00H,00H

DB00H,00H,00H,00H,00H

VAR4DB00H,00H,00H,00H,00H

VAR5DB0FBH,0F7H,0EFH,0DFH

TABLEDB37H,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH,77H,7CH

DB39H,5EH,79H,71H

MOVBX,0000H

STT:

MOVAL,00H

OUT61H,AL

NEXT:

INAL,60H

ANDAL,0CH

CMPAL,0CH

JNZKEYABC

CALLDISP

JMPSTT

KEYABC:

CALLTIME

INAL,60H

JNZKEY_0

KEY_0:

MOVAL,0F7H

INAL,60H

TESTAL,08H

JNZKEY_1

CALLKEYC

JMPSTTKKEY_1:

TESTAL,04H

JNZKEY_2

CALLKEY1

JMPSTTK

KEY_2:

MOVAL,0EFH

JNZKEY_3

CALLKEY3

KEY_3:

JNZKEY_4

CALLKEYE

KEY_4:

MOVAL,0DFH

JNZKEY_5

CALLKEYF

KEY_5:

JNZKEY_6

CALLKEY9

KEY_6:

MOVAL,0FBH

JNZKEY_7

CALLKEY6

KEY_7:

JNZKEY_H

CALLKEYA

KEY_H:

JMPSTTK

KEYA:

MOVDL,00H

KEYA1:

CALLLP1

MOVAL,DL

MOV[SI+4],AL

MOV[DI+4],AL

MOVCX,0080H

AA1:

CALLDISP1

LOOPAA1

TESTDL,08H

JNZKEYA

OUT60H,AL

INAL,62H

ANDAL,30H

CMPAL,30H

JZKEYA1

JMPSTT

KEY1:

CALLLP1

MOVAL,60H

CALLDISP

KEYE:

MOVDL,08H

KEYE1:

CC1:

LOOPCC1

TESTDL,10H

JNZKEYE

JZKEYE1

KEY9:

MOVAL,0F6H

KEY6:

MOVAL,0BEH

MOVAL,06H

KEYC:

MOVAL,9CH

MOVAL,0CH

KEY3:

MOVAL,0F2H

KEYF:

MOVAL,08EH

MOVAL,0FH

LP1:

MOVCX,0004H

LEASI,VAR2

LEADI,VAR3

LP2:

MOVAL,[SI+3]

DECSI

DECDI

LOOPLP2

LEASI,VAR1

LEADI,VAR2

MOVCX,0004H

DIR:

MOVAL,[SI]

CALLTIME

INCSI

INCDI

LOOPDIR

DISP1:

LEASI,VAR5

DIR1:

LOOPDIR1

TIME:

D2:

STTK:

CALLDISP

JNZSTTK

RET

4:

实现:

a).当k0=1时,键入货品、价钱、SET,设置某个货品的价格钱,可至少连续设置三个价钱:

(设可乐3.59元,薯片10.87元,话梅7.63元)

b).当k0=0时,键入一个货品名、购买的个数,按set得到总价,在键入另一个货品名、购买的个数,按SET即可得到和总价,可记得至少三种货品并计得和总价。

DATASEGMENT

ORG0100H

DATA1DB00H,00H,00H,00H;

数据缓冲区

ORG0120H

SHUPIANDB0AH,0AH,0AH,0AH;

AAAA表示薯片

HUAMEIDB0BH,0BH,0BH,0BH;

BBBB表示话梅,用于数码管显示

KELEDB0CH,0CH,0CH,0CH;

CCCC表示可乐,用于数码管显示

ORG0200H

P_SHUDB4DUP(?

);

薯片的单价存放区

P_HUADB4DUP(?

话梅的单价存放区

P_KELEDB4DUP(?

可乐的单价存放区

GESHUDB4DUP(?

购买单种货品数量的存放区

ORG0300H

ZONGJIADB4DUP(?

购买单种物品总价钱的存放区

HEZONGJIADB4DUP(?

购买几种物品总价钱的存放区

ORG0500H

TABLEDB37H,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

MOVAL,90H;

A口工作方式0输入,B、C口工作方式0输出

小数点标志位,00不需要小数点01需要显示小数点

MOVDH,00H;

选择物品标志位,01薯片02话梅03可乐00还没选择

MOVSI,OFFSETDATA1;

开机后显示0000

调用显示函数

MOVAL,00H;

键盘扫描程序

OUT61H,AL;

先把PB口都输出低电平

INAL,60H;

检测PA口

CMPAL,0CH;

看PA2、PA3是否保持着高电平

JNZKEYABC

CALLDISP;

显示SI所指数据区的东西

JMPSTT;

跳回STT继续扫描有没有按键按下

CALLTIME;

键盘消抖动函数

INAL,60H;

CMPAL,0CH;

确认是不是真的有按键按下

JNZKEY_0

返回STT,扫描键盘

CALLKEY0

JMPSTTK;

跳到放开按键检测函数

KEY_1:

CALLKEY2

CALLKEY4

CALLKEY5

CALLKEY7

+++++++++++++++++++++++++++++以下为按键处理程序+++++++++++++++++++++

KEY0:

;

此为选择键,选择可乐的

MOVDL,00H;

不显示小数点

MOVDH,03H;

表示已经选择物品可乐

MOVDI,OFFSETDAT1

MOVAH,00H

MOV[DI],AH

MOV[DI+1],AH

MOV[DI+2],AH

MOV[DI+3],AH

MOVSI,OFFSETGESHU

MOV[SI+3],AH

MOVSI,OFFSETKELE;

数码管显示CCCC表示选择了可乐

--------------------------------------------

;

单价角与设置购买单种物品的个数

TESTAL,40H;

检测PA6,为低电平则掉到售货部分处理

JEK4A_SALE

CMPDH,00H;

看是否已经选择货品了

JEK4A;

若还没选,直接退出

MOVDL,01H;

允许显示小数点

LEASI,DAT1;

“分”的处理,自加1,同时保证不超过9

INCAL

CMPAL,0AH

JBXIAOYU1

XIAOYU1:

MOV[SI+2],AL

JMPK4A

K4A_SALE:

CMPDH,00H;

看是否选择某种物品了

JEK4A;

没有就直接结束

MOVSI,OFFSETGESHU;

设置个数,个数不超过9个,超9就又从0自加1

JBK4A0

K4A0:

MOV[SI+3],AL

K4A:

RET;

退出按键处理程序

KEY2:

;

此为货品选择键,选择薯片

MOVDL,00H;

不允许显示小数点

MOVDH,01H;

标志已经选择薯片了

MOVDI,OFFSETDATA1

MOV[DI],AL;

清掉显示缓冲区

MOV[DI+1],AL;

MOV[DI+2],AL;

MOV[DI+3],AL;

MOV[SI+3],AL;

清掉购买个数

LEASI,SHUPIAN;

显示AAAA代表选择了薯片

RET;

结束

-------------------------------------------------------

分键和清0键

检测PA6,低电平则到售货部分处理

JZK2A_SALE

检测是否已经选择了其中一种货品

JZK2A;

若还没选择,直接退出按键处理程序

可以显示小数点

MOVSI,OFFSETDAT1

MOVAL,[SI+3];

“分”,按一下自加1,超过9又从0开始加

CMPAL,0AH;

看是否大于10了

JBXIAOYU0

MOVAL,00H;

保证设置分时不能超过9,超过9又从0开始加

XIAOYU0:

JMPK2A;

设完就退出按键处理程序

K2A_SALE:

;

MOV[SI],AH

MOVSI,OFFSETZONGJIA

MOV[SI+1],AH

MOV[SI+2],AH

MOVSI,OFFSETHEZONGJIA

MOVDH,00H;

清掉选择,重设为没选择任何货品

K2A:

------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2