新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于串口通信的單片機仿真和C語言開發(fā)

基于串口通信的單片機仿真和C語言開發(fā)

作者: 時間:2012-08-28 來源:網(wǎng)絡(luò) 收藏

4.4 串行口模塊設(shè)計

51 有一個全雙工的串行口,使和計算機之間可以方便地進行。

電平范圍是電路能夠安全可靠識別信號的電壓范圍。

CMOS 電路的電平范圍一般是從0 到電源電壓。CMOS 電平中,高電平(3.5~5V)為邏輯1,低電平(0~0.8V)為邏輯0.

RS232 接口的電平范圍是-15V 到+15V,RS232 電平采用負邏輯,即邏輯1:-3~-15V,邏輯0:+3~+15V.

是TTL 電平的,而計算機的是RS232 電平,要使兩者之間進行通信,兩者之間必須有一個電平轉(zhuǎn)換電路,即單片機的要外接電平轉(zhuǎn)換電路芯片把與TTL兼容的CMOS 高電平表示的1 轉(zhuǎn)換成RS232 的負電壓信號,把低電平轉(zhuǎn)換成RS-232 的正電壓信號。典型的轉(zhuǎn)換電路給出-9V 和+9V.

本設(shè)計中實現(xiàn)邏輯電平轉(zhuǎn)換可以采用MAX232 芯片的轉(zhuǎn)換接口:MAX232 是MAXIM公司生產(chǎn)的,包含兩路驅(qū)動器和接收器的RS-232 轉(zhuǎn)換芯片。MAX232 芯片內(nèi)部有一個電壓轉(zhuǎn)換器,可以把輸人的+5V 電壓轉(zhuǎn)換為RS-232 接口所需的±10V 電壓,尤其適用于沒有±12V 的單電源系統(tǒng)。與此原理相同的芯片還有MAX202、AD 公司的ADDt101 以及SIL 公司的IC1232 芯片。

圖 4.6 MAX232 芯片引腳
圖 4.6 MAX232 芯片引腳

由于 protues時不需進行電平轉(zhuǎn)換,所以時沒有用上MAX232 芯片電路,但做實物時需進行電平轉(zhuǎn)換,其硬件連線圖如圖4.7 所示。MAX232 芯片的T1in 引腳連接AT89C51 單片機的P3.1(TXD)引腳,MAX232 芯片的R1out 引腳連接AT89C51 單片機的P3.0(RXD)引腳;MAX232 芯片的T1out 引腳連接DB9 針接口的第2 引腳,MAX232 芯片的R1in 引腳連接DB9 針接口的第3 引腳。

圖4.7 電平轉(zhuǎn)換硬件連接圖
圖4.7 電平轉(zhuǎn)換硬件連接圖

4.5 系統(tǒng)原理圖

由以上模塊化設(shè)計可得整個系統(tǒng)原理圖如圖4.8 所示:

圖4.8 系統(tǒng)原理圖
圖4.8 系統(tǒng)原理圖

5 軟件設(shè)計

5.1 算法設(shè)計

編寫單片機異步通信程序步驟如下:

1. 設(shè)置串口工作方式

此時需對串行控制器SCON 中的SM0、SM1 進行設(shè)置。PC 機與單片機的通信中一般選擇串口工作在方式1 下。

串行控制器 SCON(98H)的格式如表1 所示:

表1串行控制器格式
表1串行控制器格式



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉