1樓:匿名使用者
;以下是乙個八路搶答器的程式,你可以參考一下。
org 0000h
jmp begin
org 0030h
table: ; 共陰極數碼管顯示**表
db 3fh,06h,5bh,4fh,66h ;12345
db 6dh,7dh,07h,7fh ;6789
delay: mov r5,#20
loop4: mov r6,#50h ;延時20x20ms
loop5: mov r7,#100
djnz r7,$
djnz r6,loop5
djnz r5,loop4
ret;---------------------------------------
begin: mov p2,#0ffh ;p2口置高電平,準備接收訊號
mov r4,#0
mov a,r4 ;r4位標誌值送a暫存器
again: mov dptr,#table
movc a,@a+dptr
mov p1,a
loop1: mov a,p3 ; 接收p3口的搶答訊號
cpl a
jz loop1
loop2: rrc a ;有人搶答訊號則逐次移動判斷哪一位搶答
inc r4
jnc loop2
;********************
mov a,r4
movc a,@a+dptr ;找到相應位顯示**
mov p1,a
leddis:
mov a,#0ffh
clr c
leddis1:
rlc a
djnz r4,leddis1
mov p0,a
loop3: jnb p2.2,begin ;若主持人按下復位訊號鍵,則轉向主程式
cpl p2.0 ;若沒按復位訊號鍵,則通過p2.2口給出高低訊號驅動蜂鳴器
lcall delay ;呼叫延時子程式
sjmp loop3 ;p2.2口反覆間隔0.4s變化,驅動蜂鳴器end
2樓:
四路搶答器 我這有你需要的。。。。。。。。。。
用組合語言編寫求數的平均數,用組合語言編寫求三個數的平均數
孟靜渠思雨 data segmentxdw 345y dw234zdw 234m dw897ndw 999 定義五個數rdw 2dup 儲存結果 data ends code segment assume cs code,ds data start movax,data movds,ax movax...
用組合語言編寫簡單程式,用組合語言編寫一個簡單程式
sweet馮 1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds dat...
用組合語言編寫程式,用組合語言編寫乙個程式
print macro para 定義乙個巨集,這樣輸出字串的時候,可以省些事兒 lea dx,para mov ah,9 int 21h endm data segment msg1 db 請用拼音輸入姓名學號 格式為 xinming,xuhao buffer db 50,52 dup 0 為什麼...