Re: 電腦(VB)經由MAX-232與8051溝通上問題
※ 引述《king53719 (偉仔)》之銘言:
: HI, 我有一個8051跟rs232溝通上的問題,想麻煩請教各位!
: 我是利用vb經由rs232在經由MAX-232轉換位準傳送到8051。
: 我主要是在CASE "A"中出現問題,其餘動作正常,當我從VB中傳出ASCII碼1
: ,也就是要執行 CASE "A"中讓P0.2的LED導通(亮),但是沒辨法亮,
: 其餘經由VB傳出的ASCII碼執行的動作正常,麻煩您幫我一下..謝謝!
你的狀況應該跟LED有關... 共陰或共陽...
因為8051的P0,是開集極... 而P1~P3不是開集極...
若P0之LED共接腳為地... 則應該要接個提升電阻... LED才會亮...
(P1~P3都有內建提升電阻,這就是為什麼你的P1~P3之LED都能顯示正常的原故。)
沒猜錯的話... 希望有解決到... (沒看程式...)
: 以下是我8051的程式!
: MOV R5,#25
: CALL DELAYms
: CPL P0.0
: ;-------------------------------;
: WAIT: JNB RI,WAIT
: CPL P0.1
: CLR RI
: MOV A,SBUF
: ;-------------------------------;
: ;--SELECT CASE------------------;
: ;--CASE "A"---------------------;
: MA:
: CJNE A,#1,MB
: CPL P0.2
: JMP MEND
: ;--CASE "B"---------------------;
: MB:
: CJNE A,#2,MC
: MOV R1,#10
: MBLOOP:
: CPL P0.3
: MOV R5,#25
: CALL DELAYms
: CPL P0.3
: MOV R5,#25
: CALL DELAYms
: DJNZ R1,HBLOOP
: JMP HEND
: ;--CASE "C"----------------------;
: MC:
: CJNE A,#3,MEND
: MOV R1,#10
: MCLOOP:
: CPL P0.4
: MOV R5,#50
: CALL DELAYms
: CPL P0.4
: MOV R5,#50
: CALL DELAYms
: DJNZ R1,MCLOOP
: JMP MEND
: ;--CASE "D"----------------------;
: ;--CASE "E"----------------------;
: ;--CASE ELSE---------------------;
: MEND:
: CPL PO.2
: MOV R5,#50
: CALL DELAYms
: CPL PO.1
: JMP WAIT
: ;--CASE END-----------------------;
: ;---------以下為副程式------------;
: ;---------------------------------;
: INIT_RS232:
: MOV TMOD,#20H
: MOV TH1,#0E8H
: SETB TR1
: MOV SCON,#01010000B
: RET
: ;----------------------------------;
: DELAYms:
: MOV R6,#100
: DELAYm : MOV R7,#100
: DJNZ R7,$
: DJNZ R6,DELAYm
: DJNZ R5,DELAYms
: RET
: ;----------------------------------;
: END
: ;----------------------------------;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.72.21.157
推
03/16 22:36, , 1F
03/16 22:36, 1F
推
03/16 22:39, , 2F
03/16 22:39, 2F
推
03/16 23:40, , 3F
03/16 23:40, 3F
→
03/16 23:40, , 4F
03/16 23:40, 4F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章