




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、串行傳輸簡介StartD0D1D2D3D4D5D6D7ParityStop01 通用異步收發(fā)傳輸器(UniversalAsynchronous Receiver/Transmitter,通常稱作UART,讀音juart/) 是一種異步收發(fā)傳輸器,將數(shù)據(jù)由串行傳輸(Serial communication)與并行傳輸(Parallelcommunication) 間作傳輸轉(zhuǎn)換。UART通常用在與其他通訊協(xié)議(如EIARS-232)的連結(jié)上。 RS-232C是標準的串行傳輸標準。 RS(Recommended standard)代表推薦標準,232是標識號,C代表RS232的 第三次修改(1969
2、年)。IBM PC機上的COM1、COM2接口,就是RS-232C接口。簡介 STC12C5410AD系列單片機具有1個采用UART(Universal Asychronous Receiver/Transmitter)工作方式的全雙工 串行通信接口。串行口由2個數(shù)據(jù)緩沖器、一個移位寄存器、一個串行控 制寄存器和一個波特率發(fā)生器等組成。串行口的數(shù)據(jù)緩沖器由2個互相獨立的接收、發(fā)送緩沖器 構成,可以同時發(fā)送和接收數(shù)據(jù)。發(fā)送緩沖器只能寫入而不能讀出,接收緩沖器只能讀出而 不能寫入,因而兩個緩沖器可以共享一個地址碼。串行口的兩個緩沖器統(tǒng)稱為串行通信特殊功能寄存器SBUF, 其共享的地址碼是99H。簡
3、介STC12C5410AD系列單片機的兩個串行口都有4種工作方式, 其中兩種方式的波特率是可變的,另兩種是固定的, 以供不同應用場合選用。用戶可用軟件設置不同的波特率和選擇不同的工 作方式。主機可通過查詢或中斷方式對接收/發(fā)送進行程序處理。STC-12C5410AD系列單片機串行口對應的硬件部分是 TxD/P3.1和RxD/P3.0引腳。STC12C5410AD系列單片機的串行通信口,除用于數(shù)據(jù)通信 外,還可方便地構成一個或多個并行I/O口,或作串并 轉(zhuǎn)換,或用于擴展串行外設等。串行口的相關寄存器PCON : 電源控制寄存器(不可位尋址)AddressbitB7B6B5B4B3B2B1B087
4、HnameSMODSMOD0LVDFPOFGF1GF0PDIDLSMOD:波特率選擇位。復位時SMOD=0。 SMOD=1,則使串行通信方式1、2、3的波特率 加倍;SMOD=0,則各工作方式的波特率不變。SMOD0:幀錯誤檢測有效控制位。復位時SMOD0=0 當SMOD0=1,SCON寄存器中的SM0/FE位用于FE(幀錯 誤檢測)功能;當SMOD0=0,SCON寄存器中的SM0/FE位用于SM0功能, 和SM1一起指定串行口的工作方式。串行控制寄存器SCONAddressbitB7B6B5B4B3B2B1B098HnameSM0/FESM1SM2RENTB8RB8TIRI用于選擇串行通信的
5、工作方式和某些控制功能。SM0、SM1確定串行口1的工作方式REN:允許/禁止串行接收控制位。 REN=1為允許串行接收狀態(tài)TI:發(fā)送中斷請求中斷標志位。 由硬件自動設定TI=1,用軟件設定TI=0RI:接收中斷請求標志位。 由硬件自動設定RI=1,用軟件設定RI=0串行控制寄存器SCONAddressbitB7B6B5B4B3B2B1B098HnameSM0/FESM1SM2RENTB8RB8TIRI用于選擇串行通信的工作方式和某些控制功能。SM0/FE:若SMOD0=1,當檢測到一個無效停止位時,設定 SM0/FE=1,必須用軟件清除。SM2:允許方式2或方式3多機通信控制位。TB8:用在
6、方式2或方式3,發(fā)送第9位,使用軟件設定。RB8:用在方式2或方式3,接收第9位。SM0、SM1確定串行口的工作方式SM0SM1工作方式功能說明波特率00方式0同步移位元元串行方式:移位寄存器當UART_M0x6=0時,波特率是SYSclk/12, 當UART_M0x6=1,波特率是 SYSclk/201方式18位UART,串行傳輸速率可變(2SMOD/32)×(定時器1的溢出率)10方式29位UART(2SMOD/64)xSYSclk系統(tǒng)工作時鐘頻率11方式39位UART,串行傳輸速 率可變(2SMOD/32)x(定時器1的溢出率)當T1x12 = 0時,定時器1的溢出率 = SY
7、Sclk/12/( 256 - TH1);當T1x12 = 1時,定時器1的溢出率 = SYSclk / ( 256 - TH1)數(shù)據(jù)緩沖寄存器SBUF緩沖寄存器(SBUF)的地址是99H,對應兩個不同的寄存器,1個是只寫寄存器,1個是只讀寄存器。 接收寄存器:在方式0時它的字長為8位元,其他方式時 為9位元。第9位裝入SCON寄存器中的RB8位。 接收后,將數(shù)據(jù)由移位寄存器裝入SBUF,可立即開始接收 下一個信息,主機應在該幀接收結(jié)束前從SBUF緩沖器中將 數(shù)據(jù)取走,否則前一幀資料將丟失。輔助寄存器AUXRAddressB7B6B5B4B3B2B1B08EHT0x12T1x12UART_M0
8、x6EADCIESPIELVDI-T1x12: 定時器1速度設置位元 如果UART串口用定時器1做波特率發(fā)生器,T1x12 位就可以控制UART串口是12T還是1T了。UART_M0x6:串行口模式0的通信速度設置位元 0,UART串口的模式0的速度是12分頻;1,UART串口的模式0的速度是2分頻;IE : 中斷允許寄存器 (可位尋址)AddressB7B6B5B4B3B2B1B0A8HEAEPCA_LVDEADC_SPIESET1EX1ET0EX0EA:CPU的總中斷允許控制位, EA=1,CPU開放中斷, EA=0,CPU屏蔽所有的中斷申請。ES :串行口中斷允許位, ES=1,允許串行
9、口中斷, ES=0,禁止串行口中斷。IPH : 中斷優(yōu)先級控制寄存器PSH, PS: 串行口中斷優(yōu)先級控制位。當PSH=0且PS=0時,為最低優(yōu)先級中斷(優(yōu)先級0)當PSH=0且PS=1時,為較低優(yōu)先級中斷(優(yōu)先級1)當PSH=1且PS=0時,為較高優(yōu)先級中斷(優(yōu)先級2)當PSH=1且PS=1時,為最高優(yōu)先級中斷(優(yōu)先級3)串行口工作模式0:同步移位寄存器串行口數(shù)據(jù)由RxD/P3.0端輸入/輸出,同步移位脈沖(SHIFTCLOCK)由TxD/P3.1輸出。RITI接收SBUFRXD腳串行數(shù)據(jù) 頻率信號TXD腳發(fā)送、接收的是8位數(shù)據(jù),低位在先。D7D6D5D4D3D2D1D0移位寄存器D7D6D
10、5D4D3D2D1D0發(fā)射SBUFD7D6D5D4D3D2D1D0模式0的發(fā)送過程:當主機執(zhí)行將數(shù)據(jù)寫入發(fā)送緩沖器 SBUF指令時啟動發(fā)送,串行口即將8位數(shù)據(jù)從RxD管腳輸 出,發(fā)送完中斷標志TI置“1”。TxD管腳輸出同步移位脈 沖(SHIFTCLOCK)。模式0接收過程:啟動接收過程后,RxD為串行輸入端,TxD為同步脈沖輸出端。波特率固定為SYSclk/12或SYSclk/2,無需定時器 提供UART_M0x6/AUXR.5=0,SYSclk/12(12分頻) UART_M0x6/AUXR.5=1,SYSclk/2(2分頻)由TX和RX控制單元分別產(chǎn)生中斷請求信號,并置TI=1或RI=1
11、,經(jīng)“或門 “送主機請求中斷,所以主機響應中斷后 必須軟件判別是TI還是RI請求中斷,必須軟件清0插斷要 求標志位TI或RI。串行口工作模式1:8位UART,波特率可變SM0、SM1=01一幀信息為10位:1位起始位,8位數(shù)據(jù)位(低 位在先)和1位停止位。TxD/P3.1為發(fā)送信息,RxD/P3.0為接收端接收信息串行模式1的波特率=2SMOD×(TIMER1溢出率)/32T1x12 =0,TIMER1的溢出率 =SYSclk/12/(256 -TH1);T1x12 = 1, TIMER1的溢出率 = SYSclk / ( 256 - TH1)UART串行埠傳輸格式串行端口模式1串行
12、傳輸RI接收 SBUFD7D6D5D4D3D2D1D0startD0D1D2D3D4D5D6D7移位 緩存器stopRXD腳串行 數(shù)據(jù)串行 數(shù)據(jù)stopD7D6D5D4D3D2D1D0 startTXD腳TI發(fā)射 SBUFD7D6D5D4D3D2D1D0串行口工作模式2:9位UART,波特率固定SM0、SM1=10一幀信息由11字節(jié)成:1位起始位,8位數(shù)據(jù) 位(低位在先),1位可程序設計位(第9位資 料)和1位停止位。TxD/P3.1為發(fā)送埠,RxD/P3.0為接收埠模式2的波特率為:=2SMOD×(SYSclk系統(tǒng)工作時鐘頻率) /64串行口工作模式2:9位UART,波特率固定第9
13、數(shù)據(jù)位,TB8(SCON.3)可指定為0或1;或?qū)⑼粰z查旗標(P,PSW.0) 存放到TB8。在接收周期時,第9數(shù)據(jù)位會被存放到RB8。RITI接收SBUFD7D6D5D4D3D2D1D0RXD腳startD0D1D2D3D4D5D6D7RB8stop串行數(shù)據(jù)移位寄存器stopTB9串行數(shù)據(jù)D7D6D5D4D3D2D1D0 startTXD腳發(fā)射SBUFD7D6D5D4D3D2D1D0串行口工作模式3:9位UART,波特率可變一幀的信息由11字節(jié)成:1位起始位,8位數(shù)據(jù)位元(低位在先),1位可程序設計位和1位停止位。發(fā)送時可程序設計第9位數(shù)據(jù),由SCON中的TB8提供,可 軟件設置為1或0,
14、或者可將PSW中的奇/偶校驗位P值裝入 TB8。模式3的波特率為:=2SMOD×(TIMER1的溢出率)/32T1x12 =0,TIMER1的溢出率 =SYSclk/12/(256 -TH1);T1x12 =1,TIMER1的溢出率 =SYSclk/(256 -TH1)傳輸速率的設置串行通信模式0UART_M0x6/AUXR.5 =0時,其波特率 =SYSclk/12。UART_M0x6/AUXR.5 =1時,其波特率 =SYSclk/2。串行通信工作模式2SMOD=1,傳輸速率=(SYSclk)/32;SMOD=0,傳輸速率=(SYSclk)/64。串行通信模式1、3傳輸速率=2S
15、MOD×(TIMER1的溢出率)/32T1x12=0,TIMER1的溢出率 =SYSclk/12/(256 -TH1);T1x12 = 1, TIMER1的溢出率 = SYSclk /(256 - TH1)傳輸速率的設置UART在Mode1模式下,使用Timer1工作于Mode2(自動重新加載模式)計算傳輸率公式如下:9600 =2 SMOD振蕩器頻率 ?3212 ? 256 - (TH1)配合9600傳輸率,使用11.0592MHz石英晶體振蕩器,且SMOD=0,得出TH1為:TH1 =256 -2 ? 11.0592 ? 10 6384 ? 9600= 253 =FDH傳輸速率的
16、設置T1x12=0,TIMER1的溢出率=SYSclk×(28-N)/12T1x12=1,TIMER1的溢出率=SYSclk×(28-N)常用波特率系統(tǒng)時鐘頻率(MHz)SMOD定時器1C/T方式重新裝入值方式0MAX:1M12××××方式2MAX:375K121×××方式1和362.5K12102FFH19.2K11 .059102FDH9.6K11 .059002FDH4.8K11 .059002FAH2.4K11 .059002F4H1.2K11 .059002F8H137.511 .9860021
17、DH110600272H11012001FFFBH雙機通信 如果兩個8051應用系統(tǒng)距離很近,可將它們的串行埠直接 相連(TXDRXD,RXDTXD,GNDGND地),即可實現(xiàn) 雙機通信。RS232的串行信號UART串行埠傳輸格式StartD0D1D2D3D4D5D6D7ParityStop018051與RS232的串行信號電壓轉(zhuǎn)換80515V信號0V+10VRS232信號-10VGND15串行端口UART電路IC122 u2C 1 +1162738495V+ +22 uJ 62C 1 - 3 J 62710 P3 1P3 0C 2 +R S23 222 u6V- C 2 -5C ON 622
18、 uVCC16V CC1214 T1 OU TT1 IN11 TX D123413 R 1 INR 1 O UT12 R XD34568T2 OU TT2 IN9R 2 INR 2 O UT4RS-232C接腳594837261 ,UART電路 8051的RXD與TXD與EIA 界面ICL232連接,做訊 號準位轉(zhuǎn)換-準位0V轉(zhuǎn)換為-8V-15V-準位5V轉(zhuǎn)換為8V-15V使用9PIN的RS-232 接頭PIN2(RXD)接腳接收 PIN 3(TXD)接腳傳送 PIN5(GND)接地。雙機異步通信軟件協(xié)議甲機發(fā)送數(shù)據(jù),乙機接收數(shù)據(jù)。在雙機開始通信時,先由甲機發(fā)送一個呼叫信號(例如 “06H”)
19、,以詢問乙機是否可以接收數(shù)據(jù);乙機接收到呼叫信號后,若同意接收資料,則發(fā)回“00H” 作為應答信號,否則發(fā)“05H”表示暫不能接收資料,;甲機只有在接收到乙機的應答信號“00H”后才可將存儲 在外部數(shù)據(jù)存儲器中的內(nèi)容逐一發(fā)送給乙機,否則繼續(xù)向 乙機發(fā)呼叫信號,直到乙機同意接收。字節(jié)數(shù)n資料1資料2資料3資料n累加校驗和發(fā)送數(shù)據(jù)格式如上:字節(jié)數(shù)n:甲機向乙機發(fā)送的資料個數(shù);數(shù)據(jù)1數(shù)據(jù)n:甲機將向乙機發(fā)送的n幀資料;累加校驗和:為字節(jié)數(shù)n、數(shù)據(jù)1、數(shù)據(jù)n,這(n+1)個字節(jié)內(nèi)容的算術累相加的和. 乙機根據(jù)接收到的“校驗和”判斷已接收到的n個數(shù)據(jù)是 否正確。若接收正確,向甲機回發(fā)“0FH”信號,否則
20、回發(fā) “F0H”信號。甲機只有在接收到乙機發(fā)回的“0FH”信號才算完成發(fā)送 任務,返回被調(diào)用的程序,否則繼續(xù)呼叫,重發(fā)數(shù)據(jù)。雙機通信軟件(查詢方式)甲機發(fā)送子程序雙機通信軟件(查詢方式)乙機接收子程序段雙機通信軟件(中斷方式)由于STC-12C5410AD系列單片機的串行通信是雙工的,且 中斷系統(tǒng)只提供一個中斷向量入口地址,所以實際上是中 斷和查詢必須相結(jié)合,即接收/發(fā)送均可各自請求中斷, 響應中斷時主機并不知道是誰請求中斷,統(tǒng)一轉(zhuǎn)入同一個 中斷向量入口,必須由中斷服務程序查詢確定并轉(zhuǎn)入對應 的服務程序進行處理。甲方(發(fā)送方)任以查詢方式通信(從略),乙方(接收方)則改用中斷查詢方式進行通信。
21、常用的串行端口函數(shù)stdio.h內(nèi)定函數(shù)格式串行埠輸出入說明getkey (void)接收一個按鍵數(shù)據(jù)getchar (void)接收一個字符數(shù)據(jù)putchar (char)發(fā)射一個字符數(shù)據(jù)printf(const char , .)發(fā)射字符、字符串及數(shù)值數(shù)據(jù)gets (char , int n)接收一個字符串字符數(shù)據(jù)scanf (const char , .)接收字符串數(shù)據(jù)puts (const char)發(fā)射一個字符串字符常數(shù)數(shù)據(jù)常用顯示格式字符表字符動作%d顯示有符號10進制數(shù)據(jù)%u顯示無符號10進制數(shù)據(jù)%f顯示浮點數(shù)10進制資料%e顯示指數(shù)10進制數(shù)據(jù)%g先以浮點數(shù)顯示,若不行則以指數(shù)
22、顯示數(shù)據(jù)%o顯示8進制數(shù)據(jù)%x顯示16進制數(shù)據(jù)%6d10進制數(shù)據(jù)占用6格,數(shù)據(jù)右移%06d10進制數(shù)據(jù)占用6格,數(shù)據(jù)右移,前面加0%-6d10進制數(shù)據(jù)占用6格,數(shù)據(jù)左移%c顯示字符數(shù)據(jù)%6c顯示字符數(shù)據(jù),占用6格,資料右移%-6c顯示字符數(shù)據(jù),占用6格,資料左移%s顯示字符串數(shù)據(jù)常用“”控制字符表控制字符動作ASCII碼(16進制)0空字符(NULL)0x00n換行(LF)0x0Ar歸位(CR)0x0Dt跳9格(HT)0x09b倒退(BS)0x08f換頁(FF)0x0C單引號0x27”雙引號0x22反斜杠0x5CUART使用時設定 1.ES 2.EA 3.IP,IPH當串行口接收中斷請求標志位RI和串行口發(fā)送中斷請求 標志位TI中的任何一個被置為1后,串行口中斷都會產(chǎn) 生。范例8_1/串行傳輸模擬的觀察與練習/從8051傳送字符串Hellokitty到P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 直播禮品供貨合同協(xié)議
- 監(jiān)控進貨安裝合同協(xié)議
- 電動裝載機租賃合同協(xié)議
- 工廠汽車租賃合同協(xié)議
- 城市地下綜合管廊2025年專項債券資金申請項目實施路徑分析報告
- 2025年在線醫(yī)療服務平臺法律法規(guī)合規(guī)性評估報告
- 租賃物交易合同協(xié)議
- 礦山托管協(xié)議合同協(xié)議
- 家具文化與儒家思想的融合研究-全面剖析
- 生態(tài)修復政策研究-全面剖析
- 情緒心理學與情緒管理 課件
- 《民俗旅游學》教案-第九章 歲時節(jié)日民俗與旅游
- 軟件質(zhì)量證明書
- 高考標準化考場建設方案詳細
- 人民醫(yī)院腫瘤科臨床技術操作規(guī)范2023版
- 高壓-引風機電機檢修文件包
- GB/T 39486-2020化學試劑電感耦合等離子體質(zhì)譜分析方法通則
- GB/T 11085-1989散裝液態(tài)石油產(chǎn)品損耗
- GXH-3011A1便攜式紅外線CO分析儀
- 2022年四川省阿壩州中考數(shù)學試卷及解析
評論
0/150
提交評論