導航:首頁 > 操作系統 > 單片機半雙工

單片機半雙工

發布時間:2022-02-05 00:51:13

單片機裡面的單雙工含義是啥,在線等速度

說的是串列通信的單雙工吧
1、單工

單工就是指終端A只能發信號,而終端B只能接收信號,通信是單向的。

2、半雙工

半雙工就是指終端A能發信號給終端B,終端B也能發信號給終端A,但是,這兩個過程不能同時進行。

3、全雙工

全雙工就是指終端A和終端B都能作為信號的收發端,並且,信號的收發可以同時進行。相對來說採用全雙工對信道的帶寬要求比半雙工要高。

Ⅱ MCS-51單片機什麼是全雙工,半雙工,單工串列通信

單工只有一根數據線,信息只能單向傳送。半雙工也只有一根數據線,但信息可以分時雙向傳送。全雙工有兩根數據線,可以同時雙向傳送。

決定程序執行順序的寄存器是(PC),它的最大定址范圍是(64K)。PC的值是(程序運行當前)的地址。P0口當不作系統擴展時,可作(IO)使用。當作系統擴展時,P0口擔任分時復用的匯流排口。在這種情況下,應在外部加(鎖存器)將地址數據鎖存,地址鎖存信號用(ALE)。

根據串列通信數據傳輸的方向,可將串列通信系統傳輸方式分為(單工)方式,(半雙工)方式和(全雙工)方式。

MCS-51單片機

採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的計算機系統。

(1)51子系列:晶元型號的最末位數字以1作為標志,是基本型產品。

(2)52子系列:晶元型號的最末位數字以2作為標志,是增強型產品。

以上內容參考:網路-MCS-51單片機

Ⅲ 51單片機能不能實現全雙工

當定時器用作波特率發生器時,是不是解決了你所考慮的時鍾問題。RX,TXD兩個腳是用作接收和發送數據的(僅在用作移位功能時一個傳數,一個當時鍾),其電平是參考了GND腳的。

Ⅳ 在線等!!!求一個51單片機之間串口通信的程序,半雙工的。希望給出程序實例

樓上的程序是我在http://z..com/question/115232752.html回答的,也是我寫的。竟然被人引用了!!那個程序一個只能發送,一個只能接受,而不能滿足你半雙工的要求。
下面是我寫了一個是用查詢方式,甲機先將數據發送給已機,甲機判斷是不是停止位,是,就停止發送,然後是已機發送,判斷停止位,是,停止發送,如此反復發送,中間有握手信號聯絡兩機。我不清楚你的半雙工是怎麼工作的,只是寫了一個兩機循環發送的程序,可以的話,你可以參考一下。
我覺得中斷應該比較容易實現的。
下面是程序 甲機
#include <reg51.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char data sendData[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x9};//定義要發送的數據
//設置串口工作方式
void uart_init()
{
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
PCON=0x00;
TR1=1;
SCON=0x50;
} //設置串口工作方式
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
//延時程序
void shakeHand()
{
do
{
SBUF=0x01;
while(TI==0);
TI=0;
while(RI==0);
RI=0;
}
while(SBUF!=0x02) ;
} //握手信號
void send(unsigned char sendData)
{
SBUF=sendData;
while(TI==0);
TI=0;
}//發送數據程序
unsigned char receive()
{
while(RI==0);
RI=0;
return (SBUF);
}
void main()
{
uart_init();
shakeHand();
while(1)
{
unsigned char i=0;
for(;i<strlen(sendData)-1;i++)
{
send(sendData[i]);
delay(500) ;
}
shakeHand();
do
P2=receive();
while(SBUF!=0x09) ;
shakeHand();

}
}
已機部分
#include <reg51.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char data sendData[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x9};//定義要發送的數據
//設置串口工作方式
void uart_init()
{
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
PCON=0x00;
TR1=1;
SCON=0x50;
} //設置串口工作方式
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
//延時程序
void shakeHand()
{
do
{
SBUF=0x02;
while(TI==0);
TI=0;
while(RI==0);
RI=0;
}
while(SBUF!=0x01) ;
} //握手信號
void send(unsigned char sendData)
{
SBUF=sendData;
while(TI==0);
TI=0;
}//發送數據程序
unsigned char receive()
{
while(RI==0);
RI=0;
return (SBUF);
}
void main()
{
uart_init();
shakeHand();
while(1)
{
unsigned char i=0;
do
P2=receive();
while(SBUF!=0x09) ;
shakeHand();
for(;i<strlen(sendData)-1;i++)
{
send(sendData[i]);
delay(500);
}
shakeHand();

}
}

Ⅳ 請教個單片機和電腦串口通訊(關於半雙工)的問題

SBUF=temp;
while(TI == 0); //等待發送完畢
TI = 0; //清除標志
SBUF=0x0D;
while(TI == 0); //等待發送完畢
TI = 0; //清除標志
……
每發送一個位元組,都需要等待發送完畢。

Ⅵ 單片機 c語言 嵌入式 max1487晶元和max485晶元的全雙工半雙工分別什麼意思怎麼理解一定採納

所謂全雙工,是指發送和接收可以同時進行。半雙工是指發送和接收都支持,但是同一時刻,只能發送或者接收,不能同時進行。通常還有一種情況,叫單工,就是只能發送或者接收。

Ⅶ 51單片機半雙工和全雙工發送和接收數據的時候是在同一根線上還是2根線上

全雙工一般指的是非同步通信。非同步通信時,51單片機允許在RXD和TXD引腳(兩根線)上同時進行數據收發傳輸,兩根線上的邏輯電平高低相對於公共接地端VSS。而同步通信只能是半雙工,一根線用作時鍾,另一個線用來傳輸數據。兩根線上的邏輯電平高低同樣相對於公共接地端VSS。拙見,希望對你有幫助。

Ⅷ 用單片機模擬UART通信是全雙工還是半雙工

雙核如果可以獨立操作,又有相應寄存器存儲收發數據的話,應該是可以的,不過本人沒見過雙核的單片機,具體你可以編程試下。

Ⅸ 51單片機串口通信是全雙工的,但是為什麼又說它的發送和接受不可以同時進行呢

51單片機串口通信是全雙工的,發送和接受可以同時進行。不可以同時進行的是半雙工。

全雙工方式分別由兩根不同的傳輸線傳送數據時,通信雙方都能在同一時刻進行發送和接收操作,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在發送和接受兩個方向上傳送。

半雙工使用同一根傳輸線既作接收又作發送,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據。採用半雙工方式時,通信系統每一端的發送器和接收器,通過收/發開關轉接到通信線上,進行方向的切換,因此,會產生時間延遲。收/發開關實際上是由軟體控制的電子開關。

(9)單片機半雙工擴展閱讀:

全雙工方式在發送設備的發送方和接收設備的接收方之間採取點到點的連接,這意味著在全雙工的傳送方式下,可以得到更高的數據傳輸速度。

全雙工方式無需進行方向的切換,因此,沒有切換操作所產生的時間延遲,這對那些不能有時間延誤的互動式應用(例如遠程監測和控制系統)十分有利。這種方式要求通訊雙方均有發送器和接收器,同時,需要2根數據線傳送數據信號。

Ⅹ 倆個單片機之間通信。利用半雙工。上位機給發送指令,下位機接受執行,

一個發送數據,另一個處於中斷接受狀態。

握手?這就需要握手協議了,協議可以自己定義,也可以參考其它的標准協議(很多了),如modbus通訊協議(http://ke..com/view/1861869.htm http://wenku..com/view/3e5f06204b35eefdc8d33396.html )。
上位機給下位機發送指令或數據,下位機接收後編譯,並按照要求回復所需數據。

閱讀全文

與單片機半雙工相關的資料

熱點內容
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256
安卓手機快充需要什麼數據線 瀏覽:795
程序中存在未轉換未編譯部分 瀏覽:323
編譯匯編鏈接優化 瀏覽:83
程序員打字和作家哪個打字快 瀏覽:579
安卓手機怎麼用cad命令行 瀏覽:385
2200工程機接收命令瞬間消失 瀏覽:255
壓縮機工藝管是多大的 瀏覽:314
安卓刷什麼系統穩定 瀏覽:37
程序員寫炫酷代碼 瀏覽:933
大話存儲pdf 瀏覽:526
中銘機器人怎麼編程 瀏覽:812
把字母變為數字的加密法 瀏覽:523
噬血狂襲第三季哪個app能看 瀏覽:422
江蘇螺桿壓縮機 瀏覽:981
android底部彈出對話框 瀏覽:502
怎麼查伺服器同行fc號 瀏覽:1001
什麼伺服器雲鳥最便宜 瀏覽:221
vs編譯器反匯編 瀏覽:571