導航:首頁 > 操作系統 > 單片機rs232串口

單片機rs232串口

發布時間:2022-11-21 05:02:44

單片機和pc機通過rs232進行串口通信

這個簡單,俺就送你一個串口發送反饋的程序吧


利用電腦上的串口助手,向單片機發送數據,單片機原封不動的再反饋回來


若滿意,請記得採納,謝謝



/***************************************************************************/

//串口波特率 9600 ,單片機晶振 11.0592

#include <REG52.h> //通用89C52頭文件

char aa,fe=0;

/***************************************************************************/

void MScomm(void)//串口初始化

{

TMOD=0x20; //定時器1工作方式2,8位,,定時器0工作方式1,16位

PCON=0x00; //SMOD=0,不加倍

SCON=0x50; //串口工作方式1,允許接收

IE=0x92; //啟用串口中斷與定時器0中斷,並開啟總中斷

TH1=0xfd; //定時器1設置初值,波特率9600bit/s,

TL1=0xff; //晶振頻率 11.0592

TR1=1; //啟動定時器T1

}

/***************************************************************************/

void main(void)//主函數

{

MScomm(); //串口初始化

while(1) //主循環

{

if(fe==1) //如果接收過數據

{

SBUF=aa; //把接收到的字元發送出去

while(!TI);//等待發送完成

TI=0; //清空發送標志位

fe=0; //設置標識符

}

}

}

/***************************************************************************/

void ser() interrupt 4//串口接收,中斷方式

{

if(fe==0) //如果沒接收過數據

{

aa=SBUF; //接收一個字元

while(!RI); //等待接收完成

RI=0; //清空接收標志位

fe=1; //設置標識符

}

}

/***************************************************************************/

Ⅱ 單片機串口和RS232介面區別有幾個串口電路板上就有幾個RS232介面么

單片機串口是TTL電平,並不能遠距離或多機通信。為了實現這兩個目的,將單片機的串口再接成RS232介面,通過RS232匯流排,可雙機遠距離通信。關於RS232介面標准和電平可查網路。
如果要實現遠距離多機通信,把單片機串口接成RS485介面,用RS485匯流排連接多個設備。
所以,串口可以是RS232,也可以是RS485。

Ⅲ 8051單片機的串列口可以直接與rs232串列口想連接嗎

當然不可以。單片機的「串列口」是TTL電平的,需要經過TTL-RS232電平轉換器之後,才能轉換為RS-232電平並與RS232串口相連接。

Ⅳ 電腦上RS232跟單片機怎麼連接

電腦通過RS232介面與單片機連接的常用實現如下圖(單片機以51系列為例):

3 RS-232
規定的邏輯電平與(51)單片機的邏輯電平不同(如:RS-232的邏輯「1」是以-3~-15V來表示的,而51單片機的邏輯「1」是以+5V來表示的)。因此,單片機系統與電腦的RS-232介面通信,必須把單片機的信號電平(TTL電平)轉換成計算機的RS-232C電平(或者反過來把計算機的RS-232C電平轉換成單片機的TTL電平),才能成功通訊。本方案使用電平轉換晶元MAX232晶元來實現電平轉換(連接圖中間的晶元)。

4(51)單片機使用RXD和TXD引腳執行串口數據輸入/輸出。

5 RS-232的RXD連接單片機TXD,TXD連接單片機RXD(中間用MAX232晶元轉換電平)。

通過上述步驟即可實現電腦通過RS232介面與單片機(串口)連接並通訊(未考慮軟體設置部分)。

Ⅳ 單片機 串口通信 RS232

這種類型的單片機,在內部特殊區域常駐有一個監控程序,當單片機上電時,PC指針會首先指向該程序(有的CPU需要給某個引腳加上指定電平才可以),該監控程序會監測串口數據,如果有合法的命令數據,單片機就會進入編程模式。如果沒有接收到合法數據,PC指針就會自動指向用戶程序起始點(一般是0000H),開始執行用戶程序。
你也可以在自己的程序內部嵌入專門的語句,調用常駐監控程序提供的
燒錄
功能,以實現在應用中編程。

Ⅵ 單片機串口通訊rs232

上微機可用串口助手或超級終端跟單片機通信,下位機用C語言的SCANF()這個函數來接受數據就可以,設置好波特率就可以工作了!
示例代碼如下:
#include <REG52.H> /* special function register declarations */
/* for the intended 8051 derivative */

#include <stdio.h> /* prototype declarations for I/O functions */

#ifdef MONITOR51 /* Debugging with Monitor-51 needs */
char code reserve [3] _at_ 0x23; /* space for serial interrupt if */
#endif /* Stop Exection with Serial Intr. */
/* is enabled */

/*------------------------------------------------
The main C function. Program execution starts
here after stack initialization.
------------------------------------------------*/
void main (void) {
int x,y,z;
#ifndef MONITOR51
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */
#endif
while(1){
printf("\nplease input x,y data \n");
scanf("%d,%d",&x,&y);
printf("\n x y x<y x>y x==y");
printf("\n%5d%5d",x,y);
z=x<y;printf("%5d",z);
z=x>y;printf("%5d",z);
z=x==y;printf("%5d",z);
}
}

Ⅶ 單片機中rs232串口的作用是什麼電平轉換還是通信還是供電

串口的作用肯定是通信用的。你要問的是MAX232晶元的作用吧?它是用來電平轉換的。因為PC的串口信號是±15V,而一般單片機的信號電壓是0-5V,兩者不能直接相連,需要通過MAX232晶元把PC串口的高(-3— -15)低(+3—+15)電平信號轉換成單片機能接收的0——5V的電平信號,同時也把單片機的信號轉換成PC能接收的串口信號。

閱讀全文

與單片機rs232串口相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163