


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗五串口通信1. 一、實驗目的掌握MCS-5佯L片機的串行口工作原理。2. 學習編程實現(xiàn)MCS-51的UARH訊。3. 掌握CPUJ用串口通訊的方法。二、實驗設備(儀器)PC微機一臺三、實驗原理1、申行通訊基本概念計算機與外界的信息交換稱為通信。常用通信方式有兩種:并行通信與申行通信,簡稱并行傳送和申行傳送。并行傳送具有傳送速度快,效率高等優(yōu)點,但傳送多少數(shù)據(jù)位就需要多少根數(shù)據(jù)線,傳送成本高;申行傳送是按位順序進行數(shù)據(jù)傳送,最少僅需要一根傳輸線即可完成,傳送距離遠,但傳送速度慢。申行通信乂分同步和異步兩種方式。這兩種通信方式的區(qū)別在丁發(fā)送設備時鐘與接收設備時鐘是否嚴格一致。同步通信中,在數(shù)據(jù)
2、傳送開始時先用同步字符來指示(常約定1-2個),并由同時傳送的時鐘信號來實現(xiàn)發(fā)送端和接收端同步,即檢測到規(guī)定的同步字符后,接著就連續(xù)按順序傳送數(shù)據(jù)。這種傳送方式對硬件結(jié)構(gòu)要求較高。異步通信中,接收器和發(fā)送器有各自的時鐘,它們的工作是非同步的,異步通信用一幀來表示一個字符,其內(nèi)容如下:一個起始位,僅接著是若干個數(shù)據(jù)位,下圖中傳輸45H的數(shù)據(jù)格式。時鐘時鐘同步通信方式異步通信方式起!蛤I8位數(shù)據(jù)位,異步通信數(shù)據(jù)超式innnjiiiiiiiiiii川iiiiI同步1同步I數(shù)據(jù)I-*N*'字符L*字符2#同步通信數(shù)據(jù)格式2、MCS-51單片機的申行接口MCS-51單片機申行口寄存器結(jié)構(gòu)如下圖所
3、示SBUF%申行口的收發(fā)緩沖器,它是一個可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實現(xiàn)全雙工通信。但這兩個寄存器具有同一地址(99用。MCS-51的申行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。移位時鐘2.1、申行通信控制寄存器控制MCS-51單片機申行口控制寄存器共有三個:特殊功能寄存器SCON和PCON和中斷允許寄存器IE。SCONOPCON地址分別為98H和87H,SCON用于控制和監(jiān)視申行口的工作狀態(tài),8可以位尋址,PCON沒有位尋址功能。與申行通信有關(guān)的控制寄存器主要是申行通信控制寄存器SCONSCON8051的一個可以位
4、尋址的專用寄存器,用丁申行數(shù)據(jù)通信的控制。SCON勺單元地址98H,位地址9F98Ho寄存器內(nèi)容及位地址表示如下:SCON位地址9F9E9D9C9B9A9998位符號SM0SM1SM2RENTB8RB8TIRI各位功能說明如下:位符號功能說明SM0SM1SM0SM1申行口工作方式選擇位:SM0SM1工作方式功能0008位數(shù)碼傳送,波特率固定,為f晶振/12。01110位數(shù)碼傳送,波特率可變。10211位數(shù)碼傳送,波特率固定,為f晶振/64或f晶振/32。11311位數(shù)碼傳送,波特率可變。SM2SM2多機通信控制位:當申行口以方式2或方式3接收時,如SM若1,則只有當接收到的第九位數(shù)據(jù)(RB8為
5、1,才將接收到的前8位數(shù)據(jù)送入接收SBUF并使RI位置1,產(chǎn)生中斷請求信號;否則將接收到的前8位數(shù)據(jù)丟棄。而當SM若0時,則不論第九位數(shù)據(jù)為0還是為1,都將前8位數(shù)據(jù)裝入接收SBU叫,并產(chǎn)生中斷請求信號。對方式0,SM2必須為0,對方式1,當SM2=1只有接收到有效停止位后才使RI位置1。RENREIN允許接收位,用丁對申行數(shù)據(jù)的接收進行控制:REN=0,禁止接收;RE1,允許接收。該位由軟件置1或活零。TB8TB發(fā)送數(shù)據(jù)位8:在方式2和方式3時,TB8是要發(fā)送的第9位數(shù)據(jù)。RB8RB接收數(shù)據(jù)位8:在方式2和方式3中,RB8位存放接收到的第9位數(shù)據(jù)TITI發(fā)送中斷標志:當方式0時,發(fā)送完第8位
6、數(shù)據(jù)后,該位由硬件置位。在其它方式下,丁發(fā)送停止位之前由硬件置位。因此TI=1,表示幀發(fā)送結(jié)束。其狀態(tài)y供軟件查詢使用,也可請求中斷。TI位由軟件活0。RIRI接收中斷標志:當方式0時,接收完第8位數(shù)據(jù)后,該位由硬件置1。在其它方式下,當接收到停止位時,該位由硬件置位。因此RI=1,表小幀接收結(jié)束。其狀態(tài)既可供軟件查詢使用,也可以請求中斷。RI位由軟件活0。PCOND7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL電源控制寄存器PCO阡SMOm可影響申行口的波特率。SMOD是申行口波特率倍增位,當SMOD=1時,申行口波特率加倍。系統(tǒng)復位默認為SMOD=Q實驗中我們一般了不設置電
7、源控制寄存器。IED7D6D5D4D3D2D1D0EA-ESET1EX1ET0EX0中斷允許寄存器IE中的ES位可選擇申行口中斷允許或禁止。ES=0,禁止申行口中斷;ES=1,允許申行口中斷。2.2、申行通信的四種工作方式8051單片機的申行通信共有四種工作方式:1.申行工作方式0申行口為同步移位寄存器方式,波特率固定為f晶振/12。該方式主要用丁I/O口擴展等,方式0傳送數(shù)據(jù)時,申行數(shù)據(jù)由RXD(P3.0)端輸入或輸出,而TXD(P3.1)此時僅作為同步移位脈沖發(fā)生器發(fā)出移位脈沖。申行數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設起始位和停止位,其格式如下:D0D1D2D3D4D5D6D72.申行工作方
8、式1(1)方式1傳送的數(shù)據(jù)格式方式1傳送一幀為10位的申行數(shù)據(jù),包括1位起始位,8位數(shù)據(jù)位和1位停止位。其幀格式為:起始D0D1D2D3D4D5D6D7停止方式1的波特率的確定方式1的波特率是可變的,計算公式為:波特率=(2sm°732)X(T1溢出率)其中SMOD;PCONJ存器最高位的值。(2) 方式1數(shù)據(jù)的發(fā)送和接收方式1的數(shù)據(jù)發(fā)送由一條寫入單片機發(fā)送寄存器SBUF指令啟動。8位數(shù)據(jù)在申行口由硬件自動加入起始位和停止位組成完整的幀格式。在內(nèi)部移位脈沖作用下,由TXD端申行輸出。發(fā)送完一幀數(shù)據(jù)后,使TXD俞出端維持”1”狀態(tài)并置使TI標志位置1以通知CPU®送下一個字符
9、。接收數(shù)據(jù)由接收單片機SCO時的REN置1開始,隨后申行口不斷采樣RXD端電平,當采樣到RXD電平從1向0跳變時,就認定是接收信號并開始接收從RXD端輸入的數(shù)據(jù),并送入內(nèi)部接收寄存器SBUF中,直到停止位到來之后,并使RI位置1,通知CP皿SBU呻取走接收到的一幀字符。方式1傳送數(shù)據(jù)時發(fā)送前應先活TI,接收前應先活RI。3.申行工作方式2方式2是11位為一幀的申行通信方式,即1位始位,9位數(shù)據(jù)位和1位停止位。其中第9位數(shù)據(jù)既可作奇偶校驗位,也可作控制位使用。其幀格式為:起始D0D1D2D3D4D5D6D7D8停止附加第9位(D8)由軟件置1或活零。方式2發(fā)送時單片機自動將SBUF8位數(shù)據(jù)加上S
10、COTB8作為第9位數(shù)據(jù)進行發(fā)送。接收時,單片機將接收到的前8位數(shù)據(jù)送入SBUF而在SCO町RB8位中存放第9位數(shù)據(jù)。方式2波特率只有兩種,用公式表示:波特率=(2SMO/64)Xf晶振當SMOD=0波特率為f晶振/64當SMOD=1波特率為f晶振/324.申行工作方式3方式3通信過程與方式2完全相同。區(qū)別僅在丁方式3的波特率可通過設置定時的工作方式和初值來設定(與申行工作方式1波特率設定方法相同)。順便指出,由丁方式1和方式3的波特率設置較為靈活,在單片機申行通信中得到廣泛應用。2.3、申行口的通信波特率MCS-51單片機申行通訊的波特率隨申行口工作方式選擇不同而不同,它除了與系統(tǒng)的震蕩頻率
11、fosc,電源控制寄存器PCON勺SMO眩有關(guān)外,還與定時器T1的設置有關(guān)。申行口的通信波特率反映了申行傳輸數(shù)據(jù)的速率。通信波特率的選用,不僅和所選通信設備、傳輸距離和MODEM號有關(guān),還受傳輸線狀況所制約。用戶應根據(jù)實際需要加以正確選用。1、方式0的波特率在方式0下,申行口的通信波特率是固定不變的,僅與系統(tǒng)震蕩頻率fosc有關(guān),其值為fosc/12(fosc為主機頻率)。2、方式2的波特率在方式2下,波特率也只有兩種:fosc/32或fosc/64。用戶可以根據(jù)PCON中SMOD:狀態(tài)來驅(qū)使申行口在那個波特率下工作。選定公式為:qsmod波特率=飛廠上這就是說:若SMODM則所選波特率為fo
12、sc/64;若SMOD亍1則波特率為fosc/32。3、方式1或方式3的波特率在這兩種方式下,申行口波特率是由定時器Ti或T2(僅8052有)的溢出率和SMO缺定的,因此要確定波特率,關(guān)鍵是要計算定時器Ti或T2的溢出率,Ti或T2是可編程的,可選的波特率的范圍很大,因此,這是很常用的工作方式。8051系列單片機沒有定時器T2,因此波特率只能由Ti產(chǎn)生。8052系列單片機,當專用寄存器T2CON勺RCLK位為0時,接收波特率由T1產(chǎn)生,當RCLK=1時,由T2產(chǎn)生;當T2CON勺TCLK=0寸發(fā)送波特率由T1產(chǎn)生,當TCLK=1時,由T2產(chǎn)生。以下只討論由定時器T1產(chǎn)生波特率的情況。定時器T1
13、用作波特率發(fā)生器時,應禁止T1中斷。通常T1工作丁定時方式(專用寄存器TMOD勺D6=0),T1的計數(shù)脈沖為震蕩頻率的12分頻信號。這兩種方式下,波特率的相應公式為:今SMOD波特率=定時器T,溢出率公式132定時器T1溢出率可定義為:定時器T1溢出率=定時器T1溢出次數(shù)/秒定時器T1溢出率與定時器的操作模式有關(guān),可通過改變片內(nèi)特殊功能寄存器TMO%定時器T1字段的M、M0兩位,即TMOD.嘩日TMOD.砒,可以使定時器T1工作在四種工作方式(定時器處丁方式3時,相當丁TR1=0停止計數(shù),故T1實際上只有0、1、2這三種方式)。以下只討論定時器T1處丁方式2(MM)=10,計數(shù)初值自動重裝8位
14、計數(shù))時溢出率的計算。定時器Ti由兩個8位計數(shù)器TH和TLi構(gòu)成,當Ti處丁方式2時,Ti為8位自動裝載定時器,它使用TLi計數(shù),溢出后自動將TLi加1,當TLi增至FFH時,再增加i的話TLi就產(chǎn)生溢出。可見,定時器Ti的溢出率不僅與系統(tǒng)時鐘頻率fosc有關(guān),還與每次溢出后TLi的重裝初值N有關(guān),N越大,定時器Ti的溢出率也就越大。一種極限情況是:若N=FFH那么每隔i2時鐘周期,定時器Ti就溢出一次。對丁一般情況,定時器Ti溢出一次所需的時間為:i一.(2-N)xi2時鐘周期=(2-N)xi2x(秒)公式2fosc丁是,定時器每秒所溢出的次數(shù)為公式2所示,式中K=&在實際計算時定時
15、器Ti的溢出率的計算公式為:定時器Ti溢出率=題頃i初值)公式3因此,把式公式2代人公式i,便可得到方式i或方式3的波特率計算公式:波特率=-SMOD2fosc/i.(32i2(2k-初值式中:K為定時器Ti的位數(shù),它和定時器Ti的設定方式有關(guān)。即:若定時器Ti設為方式0,則K=i3若定時器Ti設為方式i,則K=i6若定時器Ti設為方式2或3,則K=8常用波特率和定時器Ti的初值關(guān)系表波特率foscSMOD定時器Tic斤所選方式相應初值申行口方式00.5M6MHzxXxX申行口方式2i87.5K6MHziXxX方式i或3i9.2K6MHzi02FEH9.6K6MHzi02FDH4.8K6MHz
16、002FDH2.4K6MHz002FAHi.2K6MHz002F4H0.6K6MHz002E8Hii06MHz00272H556MHz00iFEEBH其實,定時器Ti通常采用方式2,因為定時器Ti在方式2下工作時,當TLi從全“1”變?yōu)槿?”時,TH自動重裝TLi。這種方式,不僅可使操作方便,也可避免因重裝初值(時間常數(shù)初值)而帶來的定時誤差。應當注意兩點:一是表中定時器Ti的時間常數(shù)初值和相應波特率之間有一定誤差(例如:FDH勺對應波特率的理論值是i04i6波特,與這個表中給出的9699波特相差8i6波特),消除誤差可以通過調(diào)整單片機的主頻fosc實現(xiàn),二是在定時器Ti的方式i時的初值應考
17、慮到它的重裝時間(例如表中55波特下的情況)。另外,我們通常在開發(fā)時使用ii.0592M晶體是為了得到標準的無誤差的波特率,那么為何呢?計算一下就知道了。如我們要得到9600的波特率,晶振為ii.0592M和i2M定時器i為模式2,SMO毆為i,分別看看那所要求的THi為何值。代入公式:ii.0592M晶振時:由9600=(2司2)X(ii.0592M/i2)/(256-THi)得TH仁250i2M晶振時:由9600=(2司2)X(i2M/i2)/(256-THi)得THi249.49上面的計算可以看出使用i2M晶體的時候計算出來的THi不為整數(shù),而THi的值只能取整數(shù),這樣它就會有一定的誤差
18、存在不能產(chǎn)生精確的9600波特率。當然一定的誤差是可以在使用中被接受的,就算使用ii.0592M的晶體振蕩器也會因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計。四、實驗內(nèi)容及步驟編寫兩塊單片機的申口通訊程序,每塊單片機都有2位LED數(shù)碼管顯示其數(shù)值,其中一塊單片機為發(fā)送端,另一塊為接收端。通信成功時兩數(shù)碼管顯示相同。i、用Protues設計兩塊單片機的申口通訊電路原理圖,單片機選用AT89C5!P1口接LED字段ah,P2.0與P2.1口接位選,發(fā)送單片機的TXD(P3.0)與接收單片機的RXD(P3.1)端口相連。2、打開KeiluVision2仿真軟件,首先建立本實驗的項目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新疆客運資格證實操試題
- 2025年創(chuàng)新創(chuàng)業(yè)管理專業(yè)研究生入學考試試題及答案
- 未來的生活想象想象并描寫細節(jié)類作文(6篇)
- 小品(賣藥之八仙過海)劇本
- 某超市講解服務制度
- 2025年柔性制造單元(FMC)項目提案報告
- 運動場館設計與運營合作協(xié)議
- 2025年壓縮天然氣項目申請報告
- 2025年電梯司機(中級)電梯設備維護保養(yǎng)與故障排除測評試題
- 2025年物流師(初級)職業(yè)技能鑒定試卷物流企業(yè)人力資源戰(zhàn)略規(guī)劃
- 《收益法在無形資產(chǎn)價值評估中的應用案例分析:以M生物公司為例》8900字(論文)
- 出租汽車巡網(wǎng)融合發(fā)展白皮書
- 農(nóng)產(chǎn)品安全生產(chǎn)技術(shù)與應用
- 中國特色社會主義理論體系的形成的歷史條件
- 環(huán)境藝術(shù)設計專業(yè)職業(yè)生涯規(guī)劃
- 《BA培訓教程》課件
- 2024-2025學年陜西省西安市雁塔區(qū)高新一中七年級(上)期中數(shù)學試卷
- 《西方經(jīng)濟學(本)》形考任務(1-6)試題答案解析
- 重慶市森林資源二類調(diào)查操作細則2012年
- 分公司特種設備使用安全風險日管控、周排查、月調(diào)度管理制度特種設備安全風險管控清單記錄表等
- 《數(shù)據(jù)資產(chǎn)會計》 課件 第三章 數(shù)據(jù)資產(chǎn)的確認和計量
評論
0/150
提交評論