Re: 電腦(VB)經由MAX-232與8051溝通上問題

看板ASM作者 (偉仔)時間17年前 (2007/03/18 17:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/8 (看更多)
※ 引述《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
文章代碼(AID): #15_GVwVf (ASM)
討論串 (同標題文章)
文章代碼(AID): #15_GVwVf (ASM)