STC15W串口通信的一些梳理


由於控制串口1進行通信移植到串口3出現了阻力,因此很有必要對串口通信進行更進一步的梳理》》》》

 

一 STC15W串口對應引腳:

 

 由此我們得到四個串口引腳分別為:串口1:P3 .0 P3.1:串口2:P1.0 P1.1:串口3:P0.0 P0.1:串口4:  P0.2 P0.3。

二 非中斷法的串口通信:

在信息的傳輸過程中,一個完整的串行數據幀包括發送起始位,發送的字節,和發送停止位。 波特率就是指單位時間的碼元傳輸速率。因此,一個完整的信息傳輸如圖所示:

那么,如何配置這些寄存器呢?

寄存器主要包括四大寄存器:

 

1. SCON串行口控制寄存器我們主要使用SM0,SM1,REN。TI,RI。

 因此大多數配置SCON=0x50;同樣,工作選擇方式也多選擇方式1.

 

2. PCON

這個寄存器我們主要使用他的最高位SMOD位:

 

 

 我們一般都使用SMOD=0;

3.輔助寄存器AUXR,決定串口位1T 還是12T。

 5. ES 和 EA寄存器

示例:

void UartInit(void) //9600bps@11.0592MHz
{
SCON = 0x50; //8位數據,可變波特率
AUXR |= 0x01; //串口1選擇定時器2為波特率發生器
AUXR |= 0x04; //定時器2時鍾為Fosc,即1T
T2L = 0xE0; //設定定時初值
T2H = 0xFE; //設定定時初值
AUXR |= 0x10; //啟動定時器2
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM