51單片機之串口通訊(一)

來源:互聯網
上載者:User

標籤:

一.基礎知識1.串列通訊和並行通訊:目前用的比較多的是串列通訊。串列通訊優點是串連簡單,傳輸距離遠;缺點是傳輸速度慢。2.串列通訊:分為同步通訊和非同步通訊;非同步通訊是指發送和接收裝置利用各自的時鐘控制資料的發送和接收。3.串列通訊的傳輸方向:單工,半雙工,全雙工系統。
4.傳輸速率:每秒鐘傳輸2進位代碼的位元,如1個位元組為10位,每秒傳輸240個位元組,則傳輸速率為10*240=2400bps,單位是bps;5.RS-232C:25個管腳,我們用到的是 PGND(保護接地)TXD(發送資料),RXD(接收資料)。6.RS232電平定義: 邏輯1=-3到-15V;邏輯0=+3到+15V;7.單片機採用TTL電平規範:邏輯1 = 5V;邏輯0 = 0V;8.RS422為 全雙工系統,RS485是RS422的變型,為半雙工:RS485的訊號傳輸採用兩根線的電壓來表示邏輯0和邏輯1.,傳輸採用差動訊號,所以它的幹擾抑制性好,又因為它阻抗低,無接地問題,所以傳輸距離可達1200米,傳輸速率可達1Mbps。9.SBUF:當發送資料時i = SBUF,接收資料時SBUF = i;i發送或接收儲存的數值。 二.串口通訊進階1.51串口控制寄存器SCON,可以位定址          2.T1的工作方式設定成8位自動重裝方式,TH1=TL1的初值用下載器即可快速算出,三.串口接收實驗實驗解說:利用串口接收電腦發送的資料,並送人P0口,來控制LED的亮滅實驗注意事項:發送資料應選擇HEX模式,  實驗程式:

/*
項目名稱:串口接收實驗
項目內容:串口接收電腦發送的資料控制led的亮滅
時間:2015年12月23日
項目負責人:YUAN
*/
#include <reg52.h>
typedef unsigned charuChar8;
typedef unsigned intuInt16;


void UartInit(void);//串口初始化
void ReceiveData(void);//接收資料
void main(void)
{
/*初始化:包括定時器中斷的設定,
串口寄存器設定,傳輸速率設定*/
UartInit();
while(1)
{
/*接收電腦發送的資料並送給led控制連接埠*/
ReceiveData();
}
}
void UartInit(void)
{
TMOD &= 0x0f; //只改變要改變的
TMOD |= 0x20;//設定定時器0為工作方式2
TL1 = 0xfd;
TH1 = 0xfd;//設定傳輸速率為9600bps
TR1 = 1;//允許T1開始計數

SCON &= 0x5f;
SCON |= 0x50;//設定串口工作在方式1,允許接收資料
}
void ReceiveData(void)
{
//如果接收中斷為1,則說明有發送
if(RI)
{
RI = 0;
P0 = SBUF;//把發送的資料送給P0控制LED
}
}

  收藏分享邀請

 

51單片機之串口通訊(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.