




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章
MCS-51單片機的內部資源及應用
3.1MCS-51單片機的并行I/O口應用3.2MCS-51單片機的中斷系統
3.3MCS-51單片機的定時器/計數器3.4MCS-51單片機的串行通信3.4MCS-51單片機的串行通信1.串行通信概述2.MCS-51的串行口3.串行口的工作方式4.串行口的通信波特率5.串行口的應用(1)通信
通信:單片機與外界進行信息交換統稱為通信。并行通信:多位數據同時發送或接收。 傳送速度快、效率高,但成本高。 短距離傳送數據,計算機內部,以并行方式為主。串行通信:一位一位順序發送或接收。 傳送速度慢,但成本低。 長距離傳送數據,與外界的數據交換以串行方式為主1串行通信-概述(2)通信的制式單工方式:數據僅按一個固定方向傳送;半雙工方式:數據可實現雙向傳送,但不能同時進行;全雙工方式:允許雙方同時進行數據雙向傳送;多工方式:在同一線路上實現資源共享。(3)串行通信的分類按數據傳送方式: 分為異步通信和同步通信1串行通信-概述同步方式:以數據塊為單位進行數據傳送,包括同步字符、數據塊和校驗字符CRC。優點是數據傳輸速率較高,缺點是要求發送時鐘和接收時鐘保持嚴格同步。數據格式如下圖所示。
1串行通信-概述異步方式:以字符為單位進行數據傳送,每一個字符均按固定的字符格式傳送,又被稱為幀。優點是不需要傳送同步脈沖,可靠性高,所需設備簡單;缺點是字符幀中因包含有起始位和停止位而降低了有效數據的傳輸速率。數據格式如下圖所示:1串行通信-概述(4)串行通信的波特率
波特率是指每秒鐘傳送信號的數量,單位為波特(Baud)。而每秒鐘傳送二進制數的信號數(即二進制數的位數)定義為比特率,單位是bps(bitpersecond)或寫成b/s(位/秒)。在單片機串行通信中,傳送的信號是二進制信號,波特率與比特率數值上相等。單位采用bps。例如:異步串行通信的數據傳送的速率是120字符/秒,而每個字符規定包含10位數字,則傳輸波特率為:
120字符/秒×10位/字符=1200位/秒=1200bps1串行通信-概述全雙工的異步串行通信口(P3.0、P3.1) 一個UART(通用異步接收/發送器) 同步移位寄存器 幀格式可有10位和11位 可設置各種波特率
2MCS-51串行口MCS51的串行口SBUF(發)SBUF(收)發送控制器TI接收控制器RI移位寄存器波特率發生器T11A累加器(門)移位寄存器RxD(P3.0)TxD(P3.1)去申請中斷引腳引腳CPU內部
MCS-51串行口的結構如下圖所示:同名的接收/發送緩沖寄存器SBUF輸入和輸出移位寄存器和控制器1.串行口寄存器結構MCS-51串行口MCS-51串行口(1)獨立的同名接收/發送緩沖寄存器SBUF
指令MOVSBUF,A:數據發送指令MOVA,SBUF:數據接收。向SBUF寫入數據即發送數據從SBUF讀出數據即接收數據(2)輸入和輸出移位寄存器和控制器(3)2個SFR寄存器,SCON和PCON,用于串行口的初始化編程。(4)接收/發送一個數據,必須用指令對RI/TI清0,以備下一次收/發。2.串行通信控制寄存器SCON
(98H)SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行口4種工作方式控制位。
=00:方式0,8位同步移位寄存器,其波特率為fosc/12;
=01:方式1,10位UART,其波特率為可變(T1溢出率);
=10:方式2,11位UART,其波特率為fosc/64或fosc/32;
=11:方式3,11位UART,其波特率為可變(T1溢出率)。
其中:fosc為系統晶振頻率。RI,TI:串行口收/發數據申請中斷標志位
=1:申請中斷;
=0:不申請中斷。RB8: 方式2、3中,存放收到的第9位數據; 雙機通信中,作奇偶校驗位; 多機通信中,作地址幀/數據幀的標志:0—數據,1—地址。TB8: 方式2、3中,要發送的第9位數據; 雙機通信中,數據進行奇偶校驗; 多機通信中,作地址幀/數據幀標志:0—數據,1—地址。REN:串行口接收允許控制位
1:表示允許接收,
0:禁止接收。SM2: 方式2、方式3中,多機通信的附加控制位。 主機置為0 所有從機的SM2位置1,處于接收地址幀狀態。 地址相符的從機,置為0,以接收主機發來的數據幀。2.串行通信控制寄存器SCON(98H)SM0SM1SM2RENTB8RB8TIRI3.中斷允許寄存器IE(0A8H)
EA=1:總中斷允許;
ES=1:允許串行中斷;
ES=0:禁止串行中斷。4.電源管理寄存器PCON(87H)不可位尋址。PCON主要用于實現電源控制而設置的專用寄存器。SMODGF1GF0PD1DLSMOD:串行口波特率倍增位
=1:串行口波特率加倍。
=0:串行口波特率不變,系統復位時默認為SMOD=0。3.4.3串行口的工作方式
1.方式0:
8位移位寄存器I/O方式,用于擴展并行口2.方式1:波特率可變的10位異步通信方式3.方式2:固定波特率的11位異步通信方式1.方式0(8位移位寄存器I/O方式)發送/接收過程:SBUF中的串行數據由RXD逐位移出/移入(低位在先,高位在后);TXD輸出移位時鐘,頻率=fosc1/12;每送出/接收8位數據TI/RI自動置1;需要用軟件清零TI/RI。注意:串行口在方式0下的工作并非是一種同步通信方式,經常配合“串入并出”“并入串出”移位寄存器一起使用,以達到擴展一個并行口的目的。擴展電路如下頁圖所示。3.4.3串行口的工作方式
如要發送數據,查詢方式的程序如下:
MOVSCON,#00H;串行口方式0MOVSBUF,A;將數據送出
JNBTI,$;等待數據發送完畢
CLRTI;為下次發送作準備注意:復位時,SCON已經被清零,缺省值為方式0。發送條件:TI=0。接收條件:RI=0,置位REN=1(允許接收數據)。1.方式0(8位移位寄存器I/O方式)發送/接收數據的格式:
一幀信息包括1個起始位(0),8個數據位和1個停止位(1)。發送/接收過程:
SBUF中的串行數據由TXD/RXD逐位移出/移入; 每發送/接收8位數據TI/RI自動置1;用軟件清零TI/RI。發送端自動添加一個起始位和一個停止位;接收端自動去掉一個起始位和一個停止位。
波特率=(2^SMOD/32)T1的溢出率,波特率可變。發送/接收條件:TI=0/RI=0,置位REN=1(允許接收數據)2.方式1(波特率可變的10位異步通信方式)3.方式2(固定波特率的11位異步接收/發送方式)發送/接收過程:
類似于方式1,比方式1增加了一位“第9位”數據(TB8/RB8),常用于“奇偶校驗”。 方式2常用于單片機間通信。波特率=fosc2SMOD/64。 發送/接收條件:TI=0/RI=0,置位REN=1(允許接收數據)4.方式3(可變波特率的11位異步接收/發送方式)
方式3和方式2唯一的區別是波特率機制不同 方式3的波特率=(2SMOD/32)T1的溢出率。奇偶校驗:是檢驗串行通信雙方傳輸的數據正確與否的一個措施,并不能保證通信數據的傳輸一定正確。即如果奇偶校驗發生錯誤,表明數據傳輸一定出錯了;如果奇偶校驗沒有出錯,絕不等于數據傳輸完全正確。奇校驗規定:8位有效數據連同1位奇偶校驗附加位中,二進制“1”的個數為奇數。偶校驗規定:8位有效數據連同1位奇偶校驗附加位中,二進制“1”的個數為偶數。校驗方式:3.4.4串行口的通信波特率
波特率:每秒鐘傳送數據的位數,反映串行傳輸數據的速率。串行口四種工作方式中:方式0:波特率固定:波特率=
fosc/12。方式2:波特率固定:波特率=(2SMOD/64)×fosc,
SMOD是PCON的最高位方式1和方式3:
波特率可變,由定時器T1控制。波特率=(2SMOD/32)×T1溢出率
T1溢出率=(fosc/12)/(2KTC)
其中:K——定時器T1的位數,定時器T1用作波特率發生器時,通常工作在方式2,8位定時器,T1的溢出所需的周期數=28TC。TC——定時器T1的預置初值。
T1工作于方式2的常用波特率及初值。
常用波特率(bps)fOSC(MHz)SMODTH1初值1920011.05921FDH3960011.05920FDH3480011.05920FAH6240011.05920F4H12120011.05920E8H24串行口的通信波特率波特率=
(2SMOD/32)×
(fosc/12)/(2KTC)
TC=2K
(2SMOD×fosc
/12/
波特率/32)Fosc2^SMODBAUDTCTC1200000011200229.9583230E61200000012400242.9792243F31200000022400229.9583230E61200000024800242.9792243F31105920011200232
E81105920012400244
F41105920014800250
FA1105920019600253
FD1105920022400232
E81105920024800244
F41105920029600250
FA11059200219200253
FDTC=2K
(2SMOD×fosc
/12/
波特率/32)接收/發送緩沖寄存器SBUF(99H)MOVSBUF,A ;發送數據MOVA,SBUF ;接收數據串行通信控制寄存器SCON(98H)串行通信小結:SM0SM1SM2RENTB8RB8TIRI電源管理寄存器PCON(87H)SMODGF1GF0PD1DL串行口的工作方式:串行通信小結:串行口的工作方式:方式0:8位移位寄存器I/O方式方式1:8位數據,1位起始,1位停止位,一幀10位方式2:9位數據,1位起始,1位停止位,一幀11位方式3:9位數據,1位起始,1位停止位,一幀11位波特率方式0:波特率固定:波特率=
fosc/12。方式2:波特率固定:波特率=(2SMOD/64)×fosc,方式1和方式3:波特率可變,由定時器T1控制。波特率=(2SMOD/32)×(fosc/12)/(2KTC)TC=2K
(2SMOD/32)×(fosc
/12)/
波特率波特率晶振頻率 (MHz)SMOD位Timer1工作在模式2下載入TH1(=TL1)的計數初始值6001200CCH12001210F6H24001200F3H48001210F3H120011.059200E8H240011.059200F4H480011.059200FAH960011.059200FDH1920011.059210FDHTC=2K
(2SMOD/32)×(fosc/12)/波特率3.4.5串行口的應用
串口應用初始化步驟:(1)設置TMOD(2)設置T1初值(4)設置PCON(3)啟動定時器1(5)設置SCON定時器T1溢出率波特率倍增率串口工作模式MOVTMOD,#20H ;定時器1置為方式2
MOVTH1,#0F4H ;裝載定時器初值
MOVTL1,#0F4H ;波特率2400(12MHz時為0F3h)SETBTR1 ;啟動定時器MOVPCON,#00H ;SMOD=0,PCON=00000000 MOVSCON,#50H ;設定串行口方式1SM0SM1SM2RENTB8RB8TIRI雙機通信
雙機通信的硬件連接圖如下圖所示。
雙機通信軟件要求:通信協議一致
(雙方相同的約定)例如: 采用方式1,10位(起始位1、數據位8,停止位1) 波特率為2400bps:T1工作在方式1, 時鐘頻率11.0592MHz TH1=TL1=0F4H, PCON寄存器的SMOD位為0。單片機與PC的通信
單片機與PC機通信:硬件接口:電平轉換軟件設計:通信協議一致PC與單片機通信實例:
1.PC發送6個字節數據給單片機
2.單片機收到后將6個數據發回單片機
3.將LED移動一位。程序如下:SIO.ASM
ORG0000H AJMPMAIN ORG0023H ;串行口中斷入口
LJMPINT_SERIAL ;ORG0030HMAIN:MOVSP,#60H CLR P1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 戶外廣告材料絲印染工藝與數字印刷技術的結合考核試卷
- 聚合物生物膜考核試卷
- 體育場館運營中的環保節能措施考核試卷
- 保溫容器生產設備故障診斷技術考核試卷
- 園林植物配置中的植物組合藝術考核試卷
- 樂器制作中裝飾細節誤差對美觀度的影響考核試卷
- 農業機械租賃業務售后服務培訓考核試卷
- 2025年中國PTC控制元件數據監測報告
- 2025年中國PC硬化噴涂線數據監測報告
- 2025年中國HDPE中空壁纏繞管數據監測研究報告
- 蝶閥試水方案
- 貴州省黔東南苗族侗族自治州(2024年-2025年小學二年級語文)部編版期末考試試卷(含答案)
- 小米公司4P營銷策略分析與優化
- 疑難病例討論課件
- AA-6880原子吸收操作規程
- NB-T25036-2014發電廠離相封閉母線技術要求
- MBTI完美版測試題
- 2024年安徽普通高中學業水平選擇性考試化學試題及答案
- 江蘇省淮安市淮安中學2025屆數學高一下期末教學質量檢測試題含解析2
- 《取水許可核驗報告編制導則(試行)(征求意見稿)》
- 老年消防知識講座
評論
0/150
提交評論