全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1862
推到 Plurk!
推到 Facebook!

有關8051UART的傳送問題

尚未結案
harries408002
一般會員


發表:1
回覆:4
積分:1
註冊:2015-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-04-17 11:11:20 IP:123.194.xxx.xxx 訂閱
各位大大你好:我目前在做一個實驗,就是利用兩顆8051作互相傳送資料的電路
顯示輸出資料的方式是用LED,輸入資料是按壓開關,想利用第一顆8051傳送資料
到第二顆8051的輸出LED,而也可以第二顆傳送到第一顆的輸出LED,兩邊作互相傳送,
但是我試了好久,就是只能第一顆傳送到第一顆輸出LED而已,第二顆也是一樣,
兩邊的TX RX都有做連接,不知道是不是程式的問題,以下是我用的程式
BUFFER EQU 30H
ORG 0
JMP RESET
ORG 23H
JMP UART_INT
RESET: MOV SP,#6FH
MOV TMOD,#00100000B
ANL PCON,#01111111B
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB TR1
MOV SCON,#01010000b
SETB EA
SETB ES
MOV BUFFER,#0
WAIT: JNB P1.0,CASE0
JNB P1.1,CASE1
CJNE A,BUFFER,SWChange
JMP WAIT
SWChange:MOV BUFFER,P1
MOV SBUF,A
Transmit_Wait:JBC TI,Transmit_Ok
JMP Transmit_Wait
Transmit_Ok:
JMP WAIT
Uart_Int: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
JBC RI,ReceiveInt
JMP Return
ReceiveInt:MOV A,SBUF
MOV P2,A
Return: POP PSW
POP ACC
CASE0: MOV P2,#00111111B
MOV R5,#100
ACALL DELAY
MOV P2,#11001111B
MOV R5,#100
ACALL DELAY
MOV P2,#00001111B
MOV R5,#100
ACALL DELAY
MOV P2,#11111111B
MOV R5,#100
ACALL DELAY
AJMP CASE0
CASE1: MOV P3,#11001111B
MOV R5,#100
ACALL DELAY
MOV P2,#00111111B
MOV R5,#100
ACALL DELAY
MOV P2,#11111111B
MOV R5,#100
ACALL DELAY
MOV P2,#00001111B
MOV R5,#100
ACALL DELAY
AJMP CASE1
DELAY: MOV R6,#40
DL1: MOV R7,#249
DL2: DJNZ R7,DL2
DJNZ R6,DL1
DJNZ R5,DELAY
RETI
END
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-04-18 00:04:12 IP:114.47.xxx.xxx 未訂閱
TX - RX
RX - TX
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-04-18 09:45:17 IP:114.32.xxx.xxx 訂閱
題外話,暗黑您終於復出可以說話了。 ^_^
===================引 用 暗黑破壞神 文 章===================

TX - RX
RX - TX

------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
harries408002
一般會員


發表:1
回覆:4
積分:1
註冊:2015-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-04-19 17:37:09 IP:123.194.xxx.xxx 訂閱

===================引 用 暗黑破壞神 文 章===================

TX - RX
RX - TX


TX - RX
RX - TX
這樣是什麼意思??


aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-04-19 18:52:07 IP:101.11.xxx.xxx 訂閱
指a的傳送腳位與b的接收腳位相接
a的接收腳位與b的傳送腳位接
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
harries408002
一般會員


發表:1
回覆:4
積分:1
註冊:2015-04-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2015-04-21 19:36:51 IP:123.194.xxx.xxx 訂閱

===================引 用 aftcast 文 章===================

指a的傳送腳位與b的接收腳位相接

a的接收腳位與b的傳送腳位接



電路的部分沒錯,而都有a的傳送腳位與b的接收腳位相接,
a的接收腳位與b的傳送腳位接
只是不知道程式哪裡出錯?
jxchen
一般會員


發表:5
回覆:13
積分:3
註冊:2007-02-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2015-05-17 22:29:07 IP:27.105.xxx.xxx 訂閱
將你的程式修改過了,請你將 TX ,RX 分別組譯後,燒在不同8051上,在去驗證看看

;---------------------------------------------------
; UART TX PROGRAM
BUFFER EQU 30H


ORG 0

JMP RESET

RESET:
CLR EA
MOV SP,#6FH
MOV P1,#0FFH
MOV TMOD,#00100000B
ANL PCON,#01111111B
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
MOV SCON,#01010000b
CLR TI
MOV BUFFER,#0FFH

WAIT:
MOV A,P1
CJNE A,BUFFER,SWChange
JMP WAIT

SWChange:
MOV BUFFER,A
MOV SBUF,A

Transmit_Wait:
JBC TI,Transmit_Ok
JMP Transmit_Wait
Transmit_Ok:
JMP WAIT
END
;;----------------------------------------------------------

;-----------------------------------------------------------
; UART RX PROGRAM
BUFFER EQU 30H


ORG 0
JMP RESET

ORG 23H
JMP UART_INT

RESET:
CLR EA
MOV SP,#6FH
MOV P1,#0FFH
MOV P2,#0FFH
MOV TMOD,#00100000B
ANL PCON,#01111111B
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
MOV SCON,#01010000b
CLR TI
CLR RI
SETB ES
SETB EA
;----------------------------------------------------------
UART_INT:
PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
JBC RI,ReceiveInt
JMP Return

ReceiveInt:
MOV A,SBUF
MOV P2,A
Return:
POP PSW
POP ACC
RETI
;;=================================================================
END







harries408002
一般會員


發表:1
回覆:4
積分:1
註冊:2015-04-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2015-05-20 20:51:12 IP:180.176.xxx.xxx 訂閱
好的,我試試看
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2015-05-25 08:51:11 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2017-12-13 13:38:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!