找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1720|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

八路搶答器的ASM程序和原理圖,急。。。。。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262350 發(fā)表于 2017-12-16 14:21 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
DATA SEGMENT
TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH TABLE2 DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH BP DB
SI DB
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,0EEH ;A,B,C 方式0,A,C 輸出,B 輸入
MOV AL,10000011B
OUT DX,AL
MOV BP,00 ;BP初值設(shè)置0
CC1: CALL BB1;開始顯示0
MOV DX,0ECH;讀取C 口低位值
IN AL,DX
AND AL,0FH;檢查開始搶答鍵是否按下
CMP AL,0EH
JNE CC1;沒按下,跳到cc1,繼續(xù)顯示0
MOV CX,0FFH
MOV BP,1EH
CC2: CALL BB1;按下,開始顯示1秒鐘30
LOOP CC2
DEC BP;變量減一
JS CC4
MOV DX,0EAH;讀取b 口值,看是否有人搶答
IN AL,DX
CMP AL,0FFH
JE CC2;沒人搶,跳到cc2
CC3: MOV SI,07H
NEXT-TRY:IN AL,DX
CMP AL,TABLE2[SI];檢查鍵值
JE DONE
DEC SI
JMP NEXT-TRY
DONE: MOV DX,0ECH;顯示鍵值
MOV AL,0E0H
OUT DX,AL
LEA BX,TABLE1
MOV AX,SI
XLAT
MOV DX,0E8H
OUT DX,AL
CALL DELAY
CALL BB1
MOV DX,0ECH
IN AL,DX
AND AL,0FH
CMP AL,0CH
JNE DONE
CC4:MOV BP,0
CALL BB1
JMP CC4
BB1 PROC NEAR
MOV AX,BP
MOV DL,0AH
DIV DL
MOV BX,OFFSET TABLE1 XLAT
MOV DX,0E8H
OUT DX,AL
MOV AL,0B0H ;第三位顯示
MOV DX,0ECH;C口高位
OUT DX,AL
CALL DELAY
MOV AL,AH
XLAT
MOV DX,0E8H
OUT DX,AL
MOV AL,70H ;第四位顯
MOV DX,0ECH;C口高位
OUT DX,AL CALL DELAY RET BB1 ENDP
DELAY PROC NEAR MOV CX,00FAH T1: LOOP T1 RET
DELAY ENDP CODE ENDS
END START


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表