双机串行通讯实验c语言编程,51单片机编程:教你实现双机串行通信功能
利用 2 個實驗系統(tǒng)通過 232 通信,實現(xiàn)雙機串行通信功能。
用匯編或 C 語言編寫一個 51 單片機程序,
用本側(cè)的 K0~K3 能控制對側(cè)的 L0~L3,
用對側(cè)的 K0~K3 能控制本側(cè)的 L0~L3。
通信線斷開后,不需重啟,接上通信線后,應(yīng)能自動重新建立通信聯(lián)系。
;=========================================================
做而論道早就回答了這個問題,也不知道是那個字眼違規(guī)了,百度知道又抽風了,不給顯示。
申訴已經(jīng)很多天了,也沒有反應(yīng)。
時間,已經(jīng)耽誤了,就發(fā)表在這里吧。
程序雖然是用匯編語言編寫的,也非常簡單,20幾行而已。
;=========================================================
ORG ? 0000H
JMP ? START
ORG ? 0023H
JB ? ?TI, S_END
CLR ? RI
MOV ? P0, SBUF ? ?;讀串口, 送P0顯示
S_END: ? ?RETI
;----------------------------------------
START:
MOV ? SCON, #50H ?;方式1,8-n-1
MOV ? TMOD, #20H
MOV ? TH1, #0FDH ?;波特率設(shè)置
MOV ? TL1, #0FDH ?;9600@11.0592MHz
SETB ?TR1
MOV ? IE, #90H ? ?;開放中斷
LOOP:
MOV ? A, P2 ? ? ? ;讀撥碼開關(guān)
DJNZ ?R7, $ ? ? ? ;延時
DJNZ ?R6, $ - 2
MOV ? B, P2 ? ? ? ;再讀
CJNE ?A, B, LOOP ?;消抖
MOV ? SBUF, A ? ? ;向串口發(fā)送
MOV ? P1, A ? ? ? ;在本機顯示
JNB ? TI, $
CLR ? TI
SJMP ?LOOP
;----------------------------------------
END
;=========================================================
兩臺單片機系統(tǒng),都使用上面給出的同一個程序。
做實驗時,也可以用軟件仿真,電路如下:
用一個單片機,也可以自發(fā)自收,電路如下:
斷開通信線路的開關(guān),撥動開關(guān)就不能控制對方的 LED 了。
接通通信線路的開關(guān),不需重啟,自動就能重新建立通信聯(lián)系。
總結(jié)
以上是生活随笔為你收集整理的双机串行通讯实验c语言编程,51单片机编程:教你实现双机串行通信功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 破解ar9331路由器的boot密码
- 下一篇: 过拟合是什么 怎么解决?