線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1495
推到 Plurk!
推到 Facebook!

使用INT1讓2個8051互相通訊

缺席
dqcosmos
一般會員


發表:1
回覆:1
積分:0
註冊:2008-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-06-03 09:15:07 IP:218.168.xxx.xxx 訂閱
我想寫的功能是  
當CPU_A產生中斷時會用TXD傳送訊息至CPU_B的RXD然後在CPU_B的PORT1輸出
輸出訊號是跑馬燈:第一個燈亮然後第三個亮.第五個亮.第七個亮 跑3圈之後停止傳送
請問我這樣寫對嗎?
ORG 00H
JMP START
ORG 13H
JMP INT1_SEND
ORG 30H
START:
MOV SCON,#40H
MOV PCON,#00H
MOV TH1,#00H
MOV IE,#94H
MOV TMOD,#20H
MOV TCON,#40H
CLR TI

RECEIVE:
SETB SCON.4
JB RI,OUTPUT
JMP RECEIVE
OUTPUT:
MOV A,SBUF
MOV P1,A
CLR RI
JMP RECEIVE

INT1_SEND:
MOV A,#0FEH
MOV R1,#11
R_L:
MOV SBUF,A
RL A
RL A
DJNZ R1,R_L
RETI

END

我是初學組語 希望各位多多指教
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-06-03 12:23:27 IP:61.66.xxx.xxx 訂閱
你的問題已經有書寫成範例了.

8051 C 語言專題製作 [B068]; 作者: 郭庭吉
ISBN:9861291326
504頁 / 套色 / 16開
初版日期:2004-09-29
最新出版日期:2004-09-29
定價:450元

Chapter 5 只是此書用 Keil C 來寫而已!

===================引 用 dqcosmos 文 章===================
我想寫的功能是
當CPU_A產生中斷時會用TXD傳送訊息至CPU_B的RXD然後在CPU_B的PORT1輸出
輸出訊號是跑馬燈:第一個燈亮然後第三個亮.第五個亮.第七個亮 跑3圈之後停止傳送
請問我這樣寫對嗎?
ORG 00H
JMP START
ORG 13H
JMP INT1_SEND
ORG 30H
START:
MOV SCON,#40H
MOV PCON,#00H
MOV TH1,#00H
MOV IE,#94H
MOV TMOD,#20H
MOV TCON,#40H
CLR TI

RECEIVE:
SETB SCON.4
JB RI,OUTPUT
JMP RECEIVE
OUTPUT:
MOV A,SBUF
MOV P1,A
CLR RI
JMP RECEIVE

INT1_SEND:
MOV A,#0FEH
MOV R1,#11
R_L:
MOV SBUF,A
RL A
RL A
DJNZ R1,R_L
RETI

END

我是初學組語 希望各位多多指教
foreman
高階會員


發表:3
回覆:124
積分:190
註冊:2004-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-06-03 13:16:56 IP:220.129.xxx.xxx 未訂閱
大大:
加兩行
NT1_SEND:
MOV A,#0FEH
MOV R1,#11
R_L:
MOV SBUF,A
RL A
RL A
JNB TI,$
CLR TI
DJNZ R1,R_L
RETI
dqcosmos
一般會員


發表:1
回覆:1
積分:0
註冊:2008-06-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-06-03 19:53:20 IP:218.168.xxx.xxx 訂閱
嗯 感謝你的回答
我再請問如果當CPU_A傳完訊息之後 換CPU_B傳送訊息 跟CPU_A相同
當CPU_B產生中斷時會用TXD傳送訊息至CPU_A的RXD然後在CPU_A的PORT1輸出
輸出訊號是跑馬燈:第一個燈亮然後第三個亮.第五個亮.第七個亮 跑3圈之後停止傳送
如此2個一直互相傳訊息
我是不是只要把相同的程式碼 分別燒錄到2顆8051就行了
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-06-04 09:37:15 IP:61.66.xxx.xxx 訂閱
Yes!

===================引 用 dqcosmos 文 章===================
嗯 感謝你的回答
我再請問如果當CPU_A傳完訊息之後 換CPU_B傳送訊息 跟CPU_A相同
當CPU_B產生中斷時會用TXD傳送訊息至CPU_A的RXD然後在CPU_A的PORT1輸出
輸出訊號是跑馬燈:第一個燈亮然後第三個亮.第五個亮.第七個亮 跑3圈之後停止傳送
如此2個一直互相傳訊息
我是不是只要把相同的程式碼 分別燒錄到2顆8051就行了
系統時間:2024-05-11 13:25:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!