導航:首頁 > 操作系統 > 51單片機串列通訊

51單片機串列通訊

發布時間:2024-07-02 14:33:47

① 簡述MCS-51單片機串口通信的四種方式及其特點

方式 0 :這種工作方式比較特殊,與常見的微型計算機的串列口不同,它又叫同步移位寄存器輸出方式。在這種方式下,數據從 RXD 端串列輸出或輸入,同步信號從 TXD 端輸出,波特率固定不變,為振盪率的 1/12 。該方式是以 8 位數據為一幀,沒有起始位和停止位,先發送或接收最低位。

方式 2 :採用這種方式可接收或發送 11 位數據,以 11 位為一幀,比方式 1 增加了一個數據位,其餘相同。第 9 個數據即 D8 位具有特別的用途,可以通過軟體摟控制它,再加特殊功能寄存器 SCON 中的 SM2 位的配合,可使 MCS-51 單片機串列口適用於多機通信。方式 2 的波特率固定,只有兩種選擇,為振盪率的 1/64 或 1/32 ,可由 PCON 的最高位選擇。

方式 3 :方式 3 與方式 2 完全類似,唯一的區別是方式 3 的波特率是可變的。而幀格式與方式 2- 樣為 11 位一幀。所以方式 3 也適合於多機通信。

② 51單片機的串列口有幾種工作方式它們的幀格式是如何規定的

串列口分四種工作方式,由SM0、SM1二位決定,其定義如下:
SM0、SM1 工作方式 功能描述 波特率
0 0 方式0 8位移位寄存器 Fosc/12
0 1 方式1 10位UART 可變
1 0 方式2 11位UART Fosc/64或fosc/32
1 1 方式3 11位UART 可變
(1)方式0:串列口的工作方式0為移位寄存器I/O方式,可外接移位寄存器,一擴展I/O口,也可外接同步I/O設備。
發送操作:當執行一條「MOV SBUF,A」指令時,啟動發送操作,由TXD輸出移位脈沖,由RXD串列SBUF中的數據。發送完8位數據後自動置TI=1.請求中斷。要繼續發送時,TI必須有指令清零。
接收操作:REN是串列口接收允許控制位。REN=0時禁止接收;REN=1時允許接收。當軟體將REN置「1」時,即開始從RXD埠以fosc/12波特率輸入數據,當接收到8位數據時,將中斷標志RI置「1」。再次接收數據之前,必須用軟體將RI清0。
(2)方式1:串列口位10位通用非同步介面。發送或接收一幀數據信息為10位,包括1位起始位「0」、8位數據位、1位停止位「1」。
發送數據:數據從TXD埠輸出,當數據寫入發送緩沖器SBUF時,就啟動發送器發送。發送完一幀數據後,置中斷標志TI=1,申請中斷,通知CPU可以發送下一個數據了。
接收數據:首先使REN=1(允許接收數據),串列口從RXD接收數據,當采樣到1至0跳變時,確認是起始位「0」,就開始接收一幀數據,當接收完一幀數據時,置中斷標志RI=1,申請中斷,通知CPU從SBUF取走接收到的數據
(3)方式2:串列口為11位非同步通信介面。發送或接收一幀信息包括1位起始位「0」、8位數據位、1位可編程位、1位停止位「1」。
發送數據:發送前,先根據通信協議由軟體設置TB8為「奇偶校驗位」或「數據標識位」,然後將要發送的數據寫入SBUF,即能啟動發送器。發送過程是由執行任何一條以SBUF為目的寄存器的指令而啟動的,把8位數據裝入SBUF,同時還把TB8裝到發送移位寄存器的第9位上,然後從TXD(P3.1)埠輸出一幀數據。
接收數據:先置REN=1,使串列口為允許接收狀態,同時還要將RI清「0」。然後再根據SM2的狀態和所接收到的RB8的狀態決定此串列口在信息到來後是否置R1=1,並申請中斷,通知CPU接收數據。當SM2=0時,不管RB8為「0」還是為「1」,都置RI=1,此串列口將接收發送來的信息。當SM2=1時,且RB8=1,表示在多機通信情況下,接收的信息為「地址幀」, 此時置RI=1, 串列口將接收發來的地址。當SM2=1時,且RB8=0,表示在多機通信情況下,接收的信息為「數據幀」, 但不是發給本從機的,此時RI不置為「1」,因而SBUF中接收的數據幀將丟失。
(4)方式3:為波特率可變的11位非同步通信方式,除了波特率有所區別之外,其餘方式都與方式2相同。

③ C51單片機串列介面的結構是怎樣的

C51系列單片機內部有一個功能很強的全雙工串列非同步通信介面(UART)。如圖所示為C51單片機的串列口結構框圖。它主要由兩個串列數據緩沖器(SBUF)、發送控制、發送埠、接收控制、接收埠和波特率控制等組成。

C51系列單片機串列介面結構框圖

④ 51單片機串口是什麼工作方式

51 單片機內部有一個全雙工串列介面。什麼叫全雙工串口呢?一般來說,只能接受或只能發送的稱為單工串列;既可接收又可發送,但不能同時進行的稱為半雙工;能同時接收和發送的串列口稱為全雙工串列口。串列通信是指數據一位一位地按順序傳送的通信方式,其突出優點是只需一根傳輸線,可大大降低硬體成本,適合遠距離通信。其缺點是傳輸速度較低。

串口可以有底下四種工作方式
1、方式0
串列介面的工作方式0為移位寄存器I/O方式。在串列口外接移位寄存器以擴展I/O介面,也可以外接串列同步I/O的設備。
(1)方式0輸出
串列口以方式0發送時,數據以RXD端串列輸出,TXD端輸出同步信號。當一個數據寫入串列口發送緩沖器以後,就啟動串列口發送器以振盪頻率的十二分之一的波特率,將數據從RXD端串列輸出。
(2)方式0輸入
當串列口定義為方式0並置位REN後,便啟動串列口以方式0接收數據,此時RXD端為數據輸入端,TXD端為同步脈沖信號輸出端。接收器以振盪率的十二分之一的波特率接收RXD端輸入的數據信息。但接收器接收到8位數據時,置1中斷標志RI。
2、方式1
串列介面定義為工作方式1時,則被控制為8位的非同步通訊介面,傳送一幀信息為10位,其中1位為起始位,8位數據位(先低位後高位),1位停止位。
(1)方式1輸出
串列介面以方式1發送時,數據由TXD端輸出。CPU執行一條數據寫入發送緩沖
器SBUF的指令(例如,MOVSBUF,A),數據位元組寫入SBUF後,便啟動串列口發送器發送,發送完一幀信息,置1放送中斷標志TI。
(2)方式1輸入
串列口以方式1接收時,數據從RXD端輸入。在REN置1以後,就允許接收器接收。接收器以所建立的波特率的16倍分頻計數器,以便實現時間同步。計數器的16個狀態把一位的時間等分成16份,在每位時間的第7、8和9個計數狀態,位檢測器采樣RXD的值,接收的值是3次采樣中取至少二次相同的值,以排除雜訊的干擾。如果在起始接收的值不是0,則起始位無效,復位接收電路。在檢測到另一個1到0的跳變時,再重新啟動接收器。如果接收到值為0,起始位有效,則開始接收本幀的其餘信息。當RI=0並且接收到的停止位為1(或SM2=0)時,停止位進入RB8,接收到的8位數據進入接收緩沖器SBUF,置位RI中斷標志。接著接收便搜索另一幀信息的起始位。
3、方式2和方式3
串列介面工作方式2和方式3時,則被定義為9位的非同步通信介面。傳送一幀信息為11位,其中1位起始位,8位數據位(從低位至高位),1位是附加的可程式控制為1或0的第9位數據,1位停止位。
方式2和方式3的差別僅僅在於波特率不一樣,方式2的波特率是固定的,波特率為2SMOD/64(振盪頻率);方式3的波特率是可變的,波特率=2SMOD/32(T1的溢出率)。
方式2和方式3在發送和接收時唯一的區別就是波特率不同。
(1)方式2和方式3發送
方式2或方式3發送時,數據由TXD端輸出,發出一幀信息為11位,附加的第9位數據是SCON中的TB8,CPU執行一條數據寫入發送緩沖器SBUF的指令,就啟動發送器發送,發送完一幀信息,置「1」TI中斷標志。
(2)方式2和方式3接收
串列口被定義為方式2或方式3接收時,數據從RXD端輸入,置REN=1以後,開始接收過程。當檢測到RXD端從高到低的負跳變時,確認起始位有效,開始接收本幀的其餘信息。在接收完一幀信息後,在RI=0、SM2=0時,或接收到第9位數據為「1」時,8位數據裝入接收緩沖器,第9位數據裝入SCON中RB8,並置RI=1。若不滿足上述的兩個條件,接收到的信息將會丟失,也不置位RI

⑤ MCS-51單片機什麼是全雙工,半雙工,單工串列通信

單工只有一根數據線,信息只能單向傳送。半雙工也只有一根數據線,但信息可以分時雙向傳送。全雙工有兩根數據線,可以同時雙向傳送。

決定程序執行順序的寄存器是(PC),它的最大定址范圍是(64K)。PC的值是(程序運行當前)的地址。P0口當不作系統擴展時,可作(IO)使用。當作系統擴展時,P0口擔任分時復用的匯流排口。在這種情況下,應在外部加(鎖存器)將地址數據鎖存,地址鎖存信號用(ALE)。

根據串列通信數據傳輸的方向,可將串列通信系統傳輸方式分為(單工)方式,(半雙工)方式和(全雙工)方式。

MCS-51單片機

採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的計算機系統。

(1)51子系列:晶元型號的最末位數字以1作為標志,是基本型產品。

(2)52子系列:晶元型號的最末位數字以2作為標志,是增強型產品。

以上內容參考:網路-MCS-51單片機

⑥ mcs-51單片機的串列通信介面使用哪個介面的哪些引腳對外連接

單片機的串列通信可以有TTL連接,RS232介面,RS485介面。
TTL連接適合於兩個單片機近距離通信,1米以內為宜。連接3個腳,
RXD(P3.0)和TXD(P3.1),還有GND。其中的RXD,TXD兩個單片機要交叉連接,
即甲的RXD連接乙的TXD,甲的TXD連接乙的RXD。這種連接用於試驗。
最常用的是RS232串口,這樣單片機可以和電腦進行串列通信,電腦上就有RS232串口,即COM口。
要接成RS232介面,單片機需要一片RS232介面晶元,如MAX202,或MAX232等。也是用單片機的RXD,TXD兩個腳。
RS485介面,也需要一片RS485晶元。同樣也是用單片機RXD,TXD。

閱讀全文

與51單片機串列通訊相關的資料

熱點內容
單片機帶的比較器 瀏覽:391
程序員都是精英 瀏覽:17
10種編程語言 瀏覽:747
綿陽學駕駛手機上下什麼app 瀏覽:126
python如何模擬網頁操作 瀏覽:40
單片機多文件編譯方法 瀏覽:838
不動產壓縮時間 瀏覽:569
租房管理平台源碼 瀏覽:65
復樂園pdf 瀏覽:455
程序員找到公交車 瀏覽:695
嬰兒寶寶操有什麼APP推薦 瀏覽:71
如何將資料庫附加到伺服器上 瀏覽:391
php退出循環 瀏覽:479
夢幻西遊怎麼修改伺服器人數上限 瀏覽:330
自動開啟命令 瀏覽:845
查詢雲伺服器訪問的ip 瀏覽:836
智能app的弱點是什麼 瀏覽:410
php實現的n 瀏覽:544
Python寫出特效 瀏覽:976
加密的zip壓縮包修復 瀏覽:415