主題: 89S52的問題
查看單個文章
舊 2012-05-25, 03:19 PM   #1
lk456852001
註冊會員
榮譽勳章

勳章總數0
UID - 353605
在線等級: 級別:0 | 在線時長:0小時 | 升級還需:5小時
註冊日期: 2012-05-23
文章: 1
精華: 0
現金: 1 金幣
資產: 1 金幣
預設 89S52的問題

循環控制電路
以單晶片控制做出像工業配線的接線

-----------------------------------------------------------------------------
TH_RY REG P2.3
OFF REG P2.2
ON REG P2.0
BUZZ REG P0.2
MC2 REG P0.1
MC1 REG P0.0
X REG 20H.0
TM1 REG 21H.0
TM1_A REG 21H.1
TM1_B REG 21H.2
TM1_D REG 21H.3
TM2 REG 21H.4
TM2_A REG 21H.5
TM2_B REG 21H.6
TM2_D REG 21H.7
TM1_T EQU 5
TM2_T EQU 3
CNT_1S EQU 20
ORG 00H
JMP START
ORG 0BH
JMP T0_INT
START: MOV R0,#CNT_1S
MOV 21H,#00H
SETB TM1_B
SETB TM2_B
SETB X
SETB BUZZ
MOV IE,#10000010B
MOV TMOD,#00000001B
MOV TH0,#>(65536-50000)
MOV TL0,#<(65536-50000)
SETB TR0
LOOP: MOV C,ON
CPL C
ORL C,/X
ANL C,OFF
ANL C,/TH_RY
CPL C
MOV X,C
MOV C,TH_RY
CPL C
MOV BUZZ,C

CTL_MC1: MOV C,TM2_B
ANL C,/X
MOV TM1,C
ANL C,TM1_B
CPL C
MOV MC1,C
JB TM1,CTL_MC2
CLR TM1_A
SETB TM2_B
CLR TM1_D

CTL_MC2: MOV C,TM1_A
ORL C,TM2_A
ANL C,/X
MOV TM2,C
CPL C
MOV MC2,C
JB TM2,CON
CLR TM2_A
SETB TM2_B
CLR TM2_D
CON: JMP LOOP

T0_INT PUSH A
CLR TR0
MOV TH0,#>(65536-50000)
MOV TL0,#<(65536-50000)
SETB TR0
DJNZ R0,RTN
MOV R0,#CNT_1S
JNB TM1,CK_T2
JB TM1_D,DNT1
SETB TM1_D
MOV R1,#TM1_T
JMP RTN
DNT1: DJNZ R1,CK_T2
SETB TM1_A
CLR TM1_B
CLR TM1_D
CK_T2: JNB TM2,RTN
JB TM2_D,DNT2
SETB TM2_D
MOV R2,#TM2_T
JMP RTN
DNT2: SETB TM2_A
CLR TM2_B
DJNZ R2,RTN
CLR TM2_A
SETB TM2_B
RTN: POP A
RETI
END
----------------------------------------------------------------------
我程式是這樣打的為何卻無法動作呢?
lk456852001 目前離線  
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖