如何實現(xiàn)兩片單片機通信?急需!!!
哪位大哥能實現(xiàn)兩片單片機通信,提個方案?小弟在此感謝啦!
全部回復(12)
正序查看
倒序查看
@taishan2
師兄你有匯編串行通信程序嗎?能否給我一份,謝謝!ZHANGJIAN-WYZ@163.COM
;使用定時器1做波特率發(fā)生器,晶振為11.0592M,波特率115200.
ORG 0
JMP ZC
ORG 23H ;串行中斷
JMP CHZD
;**************串行中斷*****************
CHZD: JB RI,WAIT ;是否接收中斷,是轉(zhuǎn)WAIT
CLR TI
…… ;發(fā)送處理
……
JMP OUTIN
WAIT: MOV A,SBUF ;讀串行口
CLR RI
…… ;處理讀到的信息
……
OUTIN: RETI
;******************主程序******************
ZC: MOV TMOD,#20H ;主程序入口 定時器1方式2,8位自動重裝
MOV TH1,#0FFH ;設置定時器1,串行口波特率115200 晶振為11.0592M
MOV TL1,#0FFH
MOV PCON,#80H ;置位SMOD,波特率加倍
MOV SCON,#50H ;串行口方式1,允許接收
MOV TCON,#40H ;開啟定時器 或者 SETB TR1
SETB ES ;開串行中斷
SETB EA ;開中斷
…… ;以上為有關串行中斷的設置
……
MOV SBUF,A ;向串行口送數(shù)
……
……
RET
ORG 0
JMP ZC
ORG 23H ;串行中斷
JMP CHZD
;**************串行中斷*****************
CHZD: JB RI,WAIT ;是否接收中斷,是轉(zhuǎn)WAIT
CLR TI
…… ;發(fā)送處理
……
JMP OUTIN
WAIT: MOV A,SBUF ;讀串行口
CLR RI
…… ;處理讀到的信息
……
OUTIN: RETI
;******************主程序******************
ZC: MOV TMOD,#20H ;主程序入口 定時器1方式2,8位自動重裝
MOV TH1,#0FFH ;設置定時器1,串行口波特率115200 晶振為11.0592M
MOV TL1,#0FFH
MOV PCON,#80H ;置位SMOD,波特率加倍
MOV SCON,#50H ;串行口方式1,允許接收
MOV TCON,#40H ;開啟定時器 或者 SETB TR1
SETB ES ;開串行中斷
SETB EA ;開中斷
…… ;以上為有關串行中斷的設置
……
MOV SBUF,A ;向串行口送數(shù)
……
……
RET
0
回復
@njyd
;使用定時器1做波特率發(fā)生器,晶振為11.0592M,波特率115200. ORG0 JMPZC ORG23H ;串行中斷 JMPCHZD;**************串行中斷*****************CHZD: JBRI,WAIT ;是否接收中斷,是轉(zhuǎn)WAIT CLRTI …… ;發(fā)送處理 …… JMPOUTINWAIT: MOVA,SBUF ;讀串行口 CLRRI …… ;處理讀到的信息 ……OUTIN: RETI;******************主程序******************ZC: MOVTMOD,#20H ;主程序入口定時器1方式2,8位自動重裝 MOV TH1,#0FFH ;設置定時器1,串行口波特率115200 晶振為11.0592M MOV TL1,#0FFH MOV PCON,#80H ;置位SMOD,波特率加倍 MOV SCON,#50H ;串行口方式1,允許接收 MOVTCON,#40H ;開啟定時器或者SETBTR1 SETB ES ;開串行中斷 SETBEA ;開中斷 …… ;以上為有關串行中斷的設置 …… MOVSBUF,A ;向串行口送數(shù) …… …… RET
大俠,謝了!
0
回復