基于串口的溫度檢測數(shù)據(jù)單片機(jī)仿真
5 軟件設(shè)計
5.1 算法設(shè)計
編寫單片機(jī)異步通信程序步驟如下:
1. 設(shè)置串口工作方式
此時需對串行控制器SCON 中的SM0、SM1 進(jìn)行設(shè)置。PC 機(jī)與單片機(jī)的通信中一般選擇串口工作在方式1 下。
2. 選擇波特率發(fā)生器
選擇定時器1或定時器2 做為其波特率發(fā)生器。
3. 設(shè)置定時器工作方式
當(dāng)選擇定時器1 做為波特率發(fā)生器時,需設(shè)置其方式寄存器TMOD 為計數(shù)方式并選擇相應(yīng)的工作方式(一般選擇方式2 以避免重裝定時器初值);當(dāng)選擇定時器2 做為波特率發(fā)生器時,需將T2CON 設(shè)置為波特率發(fā)生器工作方式。
4. 設(shè)置波特率參數(shù)
影響波特率的參數(shù)有二,一是特殊寄存器PCON 的SMOD 位,另一個是相應(yīng)定時器初值。
5. 允許串行中斷
因在程序中我們一般采有中斷接收方式,故應(yīng)設(shè)EA=1、ES=1.
6. 允許接收數(shù)據(jù)
設(shè)置 SCON 中的REN 為1.表示允許串行口接收數(shù)據(jù)。
7. 允許定時/計數(shù)器工作
此時開啟定時/計數(shù)器,使其產(chǎn)生波特率8. 編寫串行中斷服務(wù)程序。
當(dāng)有數(shù)據(jù)到達(dá)串口時,系統(tǒng)將自動執(zhí)行所編寫的中斷服務(wù)程序。
9. 收/發(fā)相應(yīng)數(shù)據(jù)
注意的是發(fā)送操作完成需將T1清零,接收工作完成后需將R1清零。
電流變送器相關(guān)文章:電流變送器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論