实验二小键盘按键识别.docxVIP

  • 4
  • 0
  • 约3.25千字
  • 约 5页
  • 2024-07-13 发布于上海
  • 举报

PAGE

PAGE5

一.实验要求:

本次实验的要求与前一实验类似,但仅要求识别小键盘0~9数字键,将小键盘键入的任意长的0~9数字串,采用左移位动态显示的方法显示在数码管电路上,当小键盘按下”R”时停止演示.

二.实验电路图:

三.程序框图:

预置:

预置:A口为方式0输出

B口为方式0输入

0

0

PA7 PA0

PB2PB0 AH

AH=7?

AH=7?

四.程序清单:

TITLELITTLEKEYBOARD

SSEGSEGMENTPARASTACKSTACKDB256DUP(0)

SSEGENDSDSEGSEGMENT

A_8255EQU220HB_8255EQU221HCON_8255EQU223HBUFFERDB6DUP(0)HANGDB?

LIE DB?NEWHANGDB?NEWLIE DB?

TABLE DB

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

6FH,

DSEGENDSCSEGSEGMENT

ASSUMECS:CSEG,DS:DSEG,SS:SSEGSTARTPROCNEAR

MOVAX,DSEGMOVDS,AX

CMPAGAIN:

CALLDISPLAYMOVDX,CON_8255MOVALOUTDX,AL

AGAIN:

CALLDISPLAYMOVDX,A_8255MOVAL,0

OUTDX,ALMOVDX,B_8255INAL,DX

CMPALJEAGAIN

MOVLIE,ALCALLDELAY1

MOVDX,CON_8255MOVALOUTDX,AL

MOVDX,B_8255MOVAL,LIEOUTDX,AL

MOVDX,A_8255INAL,DX

MOVHANG,ALCALLGETINPUTCMPAL,0AH

JECMPAGAINCMPAL,0FFHJNECONTINUECALLCLOSEALLMOVAH,4CHINT21H

CONTINUE:

CALLCHANGEMOVCX,0

LABLE:

CALLDISPLAYINCCX

CMPCX,256JNELABLE

JMPCMPAGAINRET

STARTENDP

;*********************************DELAY1PROCNEAR

PUSHAXPUSHCXPUSHDXMOVAH,86HMOVCX,0MOVDX,20000INT15H

POPDXPOPCXPOPAXRET

DELAY1ENDP

GETINPUTPROCNEARCMPLIEJELIE0

CMPLIEJELIE1

CMPLIE

JELIE2

MOVAL,0AHRET

LIE2:CMPHANGJENEXT

MOVAL,0AHRET

NEXT:MOVAL,0FFHRET

LIE0:CMPHANGJEKEY8

CMPHANGJEKEY9

MOVAL,0AHRET

KEY8:MOVAL,8

RETKEY9:MOVAL,9

RET

LIE1:CMPHANGJEKEY0

CMPHANGJEKEY1

CMPHANGJEKEY2

CMPHANGJEKEY3

CMPHANGJEKEY4

CMPHANGJEKEY5

CMPHANGJEKEY6

CMPHANGJEKEY7

MOVAL,0AHRET

KEY0:MOVAL,0

RETKEY1:MOVAL,1

RETKEY2:MOVAL,2

RETKEY3:MOVAL,3

RETKEY4:MOVAL,4

RETKEY5:MOVAL,5

RETKEY6:MOVAL,6

RETKEY7:MOVAL,7

RETGETINPUTENDP

CHANGEPROCNEARPUSHAX

PUSHSI

MOVSI,OFFSETBUFFERMOVAH,[SI+1]

MOV[SI],AHMOVAH,[SI+2]MOV[SI+1

文档评论(0)

1亿VIP精品文档

相关文档