① 單片機之間如何實現通信
兩個單片機之間串口通信,如果是用proteus模擬,最簡單了,兩個單片機的rxd,txd交叉連接就行了。要是實物最好用rs232連接通信,距離可以達到幾十米。再遠點距離,用rs485連接通信。總之,方法很多的,也很靈活的。
② 兩個51單片機串口通信程序
串列發送程序 Tx.asm :
PCON, #00H ;; 波特率不倍增
SETB TR1 ;; 啟動定時器T1
MOV IE, #0 ;; 禁止任何中斷
CALL DLY125 ;; 延時125ms
;;--------------------------------------------
T_X: ;; 透傳發送字串
ACALL DSPLED ;; P2.0控制LED閃亮
MOV R3, #4 ;; 待發送字元個數
MOV DPTR, #TAB_TX ;; 數據表首址
TX_LP1: CLR A
MOVC A, @A+DPTR ;; A←數據表的1個字元
CLR TI ;; TI清零,允許發送
MOV SBUF,A ;; 發送1個字元
JNB TI, $ ;; 等待1個字元幀發送結束
DJNZ R3, TX_next
CALL DLY500 ;; 延時500ms
SJMP T_X ;; 重復發送
TX_next: ;; 發送另一字元
INC DPTR ;; 數據表指針移動
SJMP TX_LP1
;;--------------------------------------------
DSPLED: ;;開機或復位,P2.0控制LED閃亮6遍
MOV R2, #6 ;; 循環次數
LEDLP1: CLR P2.0 ;; LED亮
CALL DLY125 ;; 延時125ms
SETB P2.0 ;; LED滅
CALL DLY125
DJNZ R2,LEDLP1 ;; 循環
RET
;;----------------------------------------------
DLY125: ;; 延時125ms
DLY125A: MOV R5,#250
DLY125B: MOV R6,#250
DJNZ R6,$
DJNZ R5,DLY125B
RET
;; 250*250*2μs=125 000μs =125ms
;;----------------------------------------------
DLY500: ;; 延時500ms
MOV R7,#4
DLY500A: MOV R6,#250
DLY500B: MOV R5,#250
DJNZ R5,$
DJNZ R6,DLY500B
DJNZ R7,DLY500A
RET
;; 4*250*250*2μs=500 000μs =500ms
;;-------------------------------------------------
TAB_TX: DB 38H,30H,35H,31H, ...
;; 8 0 5 1 ...
;;----------------------------------------------
END
③ 兩個單片機之間如何通信
兩個單片機可以通過串口通信。
實現方法可見:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b738c5d010b2ce349a5027ee.html
使用了485,可以增加通信距離,據說可達1200米,但是沒有試驗過。
④ 單片機的問題
兩個單片機串口通訊需要將Rx和Tx連接,一般其中間不需要外接電阻或電容等。但如果兩個單片機各自為一套獨立系統,彼此相距校遠,在兩單片機Rx和Tx之問通常會加入驅動晶元,以增加兩者之間數據傳輸的可靠性。
另外如果兩單片機是各自獨立供電,除了連接Rx和Tx外,還需耍將兩邊的信號地(GND)連接到一起。
⑤ 兩個8051單片機之間用方式2串列通信
串列口是單片機與外界進行信息交換的工具,8051單片機的通信方式有兩種:
並行通信:數據的各位同時發送或接收。
串列通信:數據一位一位次序發送或接收。
串列通信的方式
非同步通信
用一個起始位0表示字元的開始,用停止位1表示字元的結束,中間夾著8個數據位,字元能一個接一個傳送
CPU與外設之間必須有字元格式和波特率兩項規定
字元格式規定能使雙方把0和1串理解成同一種意義,原則上自由制定,通用角度使用標准如ASCII
波特率即數據傳輸速率,每秒傳送的二進制位數,如120字元/s,每個字元10數位,則傳送波特率為1200波特
同步通信
去掉了開始結束標志提高速度,但由於數據塊傳遞開始要用同步字元來指示,同時要求由時鍾來實現發送端與接收端之間的同步,故硬體較復雜。
通信方向
在串列通信中,把通信介面只能發送或接收的單向傳送辦法叫單工傳送;把數據能雙向傳遞稱為雙工傳送。半雙工傳送兩機之間不能同時進行發送和接收,任一時該,只能發或者只能收信息。全雙工傳送是能同時發送接收。
串列介面結構
51單片機一個可編程的全雙工串列通信介面。可用作非同步通信方式(UART),與串列傳送信息的外部設備相連接。或用於通過同步或非同步標准通信協議進行全雙工的8051多機系統,使用TTL或CMOS移位寄存器來擴充I/O口。
8051單片機通過管腳RXD(P3.0,串列數據接收端)和管腳TXD(P3.1,串列數據發送端)與外界通信。SBUF是串列口緩沖寄存器,包括發送寄存器和接收寄存器。它們有相同名字和地址空間,但不會出現沖突,因為它們兩個一個只能被CPU讀出數據,一個只能被CPU寫入數據。
⑥ 單片機與單片機之間如何進行串列通信
1、將兩個單片機的RXD與TXD相連x0dx0a2、根據需要傳輸的數據編寫傳輸協議x0dx0a3、編寫串列通信程序,將自己需要發送的數據按照協議進行發送x0dx0a4、編寫接收程序,按照協議進行接收x0dx0a5、將兩個程序分別寫入兩個單片機,運行。