Re: 電腦(VB)經由MAX-232與8051溝通上問題
※ 引述《LLight (世上皆虛情假意..)》之銘言:
: ※ 引述《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
: : ;----------------------------------;
=========================================================================
to:LLight←我有接提升電阻了,P0.0~P0.7中只有P0.2不受控制,但我發現一個很
有趣的現象,因為我在8051中設定當RS232送出一個1的ASCII的數字碼P0.2
就要亮,但我送一個1不會亮但如果我送出11二個1的話P0.2就會亮!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.151.79
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章