查看單個文章
舊 2012-07-16, 02:54 PM   #1
agiluckdex
註冊會員
榮譽勳章

勳章總數0
UID - 354579
在線等級: 級別:0 | 在線時長:0小時 | 升級還需:5小時
註冊日期: 2012-07-14
文章: 1
精華: 0
現金: 1 金幣
資產: 1 金幣
預設 想把兩個組合語言的程式合起來

我是想把這兩個程式合再一起這樣可以行得通?

程式一 是我要做一個上下數的功能
程式二 是我要做一個記數脈波的程式(使用光遮斷器當作輸入)


先做這兩個的原因,是因為我需要兩個顯示數字的輸出
程式一是純顯示數字 (假設顯示是10)
程式二是要記數脈衝各數 (這個是5或多個脈衝數+1)

之後還要將兩個port做比較當 程式2 的數值等同於 程式1 的數值就停止 這樣子

因為我程式不太好,都是先參考書上的做法測試各個功能

但是想不知來要用什麼方法才可以把他們合併起來

拜託各位幫忙了


程式一

ORG 00H
MOV A,#00H
START:
MOV P1,A
JNB P2.0,ABC
JNB P2.1,DEF
DELAY2:
CALL DELAY
JMP START

ABC:
CJNE A,#20H,GO_INC
JMP START
GO_INC:
MOV A,P1
ADD A,#01
DA A
MOV P1,A
JMP DELAY2

DEF:
CJNE A,#00H,GO_DEC
JMP START
GO_DEC:
MOV A,P1
ADD A,#99H
DA A
MOV P1,A
JMP DELAY2

DELAY:
MOV R0,#5
DL1:
MOV R1,#200
DL2:
MOV R2,#250

DJNZ R2,$
DJNZ R1,DL2
DJNZ R0,DL1
RET
END

----------------------------------------------------------------------
程式二

ORG 0000H
CLR A
SETB P3.4
MOV TMOD,#00000110B
MOV TH0,#256-5
MOV TL0,#256-5
SETB TR0

LOOP: MOV P2,A
ACALL COUNTER
ADD A,#01
DA A
MOV P2,A
AJMP LOOP

COUNTER: JB TF0,OK
AJMP COUNTER

OK: CLR TF0
RET

END
DEF:
CJNE A,#0H,GO_DEC
JMP START
GO_DEC:
MOV A,P2
SUBB A,#01
DA A
MOV P2,A
JMP DELAY2

DELAY:
MOV R0,#4
DL1:
MOV R1,#200
DL2:
MOV R2,#250

DJNZ R2,$
DJNZ R1,DL2
DJNZ R0,DL1
RET
END
agiluckdex 目前離線  
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖