




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微控制器系統(tǒng)設(shè)計(jì)與應(yīng)用,劉燎原,徐州建筑職業(yè)技術(shù)學(xué)院,徐州建筑職業(yè)技術(shù)學(xué)院,情境七 串行收發(fā)模塊 項(xiàng)目一 串行收發(fā)模塊制作 (1) -學(xué)習(xí)串行通信,徐州建筑職業(yè)技術(shù)學(xué)院,知識(shí)目標(biāo): 1.理解異步通信 2.理解發(fā)送、接受過(guò)程 3.掌握串行通信的寄存器、工作方式 技能目標(biāo): 1.掌握雙機(jī)通信的接口,徐州建筑職業(yè)技術(shù)學(xué)院,一、基礎(chǔ)知識(shí) 1.數(shù)據(jù)通信,圖 通信的兩種基本方式 (a)并行通信; (b)串行通信,徐州建筑職業(yè)技術(shù)學(xué)院,2.串行通信可分為異步傳送和同步傳送兩種基本方式,徐州建筑職業(yè)技術(shù)學(xué)院,3.串行通信的數(shù)據(jù)傳送方向有3種形式。,圖 串行通信的三種方式 (a)單工方式;(b)半雙工方式;(c
2、)全雙工方式,徐州建筑職業(yè)技術(shù)學(xué)院,二、單片機(jī)中的串行通信1.51單片機(jī)有一個(gè)串行通信口:(P3.0,P3.1),數(shù)據(jù)接收端RXD :(P3.0)串行數(shù)據(jù)接收端數(shù)據(jù)發(fā)送端TXD :(P3.1)串行數(shù)據(jù)發(fā)送端,該口是全雙工異步通信口,可以同時(shí)發(fā)送、接收數(shù)據(jù),徐州建筑職業(yè)技術(shù)學(xué)院,2.SBUF(數(shù)據(jù)發(fā)送、接收寄存器),MCS-51有兩個(gè)獨(dú)立的接收、發(fā)送緩沖器SBUF(屬于特殊功能寄存器,地址為99H),一個(gè)用作發(fā)送,一個(gè)用作接收。,發(fā)送緩沖器只能寫入不能讀出;接收緩沖器只能讀出不能寫入, 兩者共用一個(gè)字節(jié)地址(99H)。,串行接口結(jié)構(gòu)圖,徐州建筑職業(yè)技術(shù)學(xué)院,發(fā)送時(shí): (1)CPU由一條寫發(fā)送緩沖
3、器的指令 SBUF=m ,把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器SBUF(發(fā))中 (2)然后從TXD端一位位地向外發(fā)送。 (3)發(fā)送完畢后,自動(dòng)把TI(發(fā)送結(jié)束中斷標(biāo)志)置1,請(qǐng)求中斷,通知CPU繼續(xù)發(fā)送下一個(gè)數(shù)據(jù). (4)在再次發(fā)送數(shù)據(jù)之前,必須用軟件將TI清零。 接收時(shí): (1)在滿足REN=1和RI=0的條件下,接收端RXD一位位地接收數(shù)據(jù) (2)直到一個(gè)完整的字符數(shù)據(jù)送到SBUF后,自動(dòng)把RI (接收結(jié)束中斷標(biāo)志)置1,請(qǐng)求中斷,通知CPU到SBUF讀取接受的數(shù)據(jù)。 (3)用一條指令把接收緩沖器SBUF(收)的內(nèi)容讀出 m=SBUF (4)在再次接收數(shù)據(jù)之前,必須用軟件將RI清零。 編程
4、方法:(如何知道什么時(shí)候發(fā)送或接收完?) 中斷方式、查詢方式,徐州建筑職業(yè)技術(shù)學(xué)院,3.串口的工作模式,(1). 方式0 串行接口工作方式0為同步移位寄存器方式,其波特率是固定的,為fosc(振蕩頻率)的1/12。 (1) 方式0發(fā)送 數(shù)據(jù)從RxD引腳串行輸出,TxD引腳輸出同步脈沖。當(dāng)一個(gè)數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),串行口將8位數(shù)據(jù)以fosc/12的固定波特率從RxD引腳輸出,從低位到高位。發(fā)送后置中斷標(biāo)志TI為1,請(qǐng)求中斷,在再次發(fā)送數(shù)據(jù)之前,必須用軟件將TI清零。 (2) 方式0接收 在滿足REN=1和RI=0的條件下,串行口處于方式0輸入。此時(shí),RxD為數(shù)據(jù)輸入端,TXD為同步信號(hào)輸出
5、端,接收器也以fosc/12的波特率對(duì)RxD引腳輸入的數(shù)據(jù)信息采樣。當(dāng)接收器接收完8位數(shù)據(jù)后,置中斷標(biāo)志RI=1為請(qǐng)求中斷,在再次接收之前,必須用軟件將RI清零。 可外接移位寄存器,以擴(kuò)展I/O口。,(1),徐州建筑職業(yè)技術(shù)學(xué)院,(2). 方式1 工作方式1時(shí),串行口被設(shè)置為波特率可變的8位異步通信接口。 (1) 方式l發(fā)送 串行口以方式1發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位由TxD端輸出,1幀信息包含10位,即一位起始位、八位數(shù)據(jù)位(先低位后高位)和一個(gè)停止位“1”。 CPU執(zhí)行一條數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令,就啟動(dòng)發(fā)送器發(fā)送數(shù)據(jù):發(fā)送完數(shù)據(jù)后,就置中斷標(biāo)志TI為1。 方式1所傳送的波特率取決于定時(shí)器T
6、的溢出率和特殊功能寄存器PCON中SMOD的值。 (2) 方式1接收 前提是REN=1,串行口處于方式1的輸入狀態(tài)。 它對(duì)RxD引腳狀態(tài)采樣。當(dāng)采樣到由1到0的負(fù)跳變時(shí),啟動(dòng)接收器。當(dāng)檢測(cè)到起始位時(shí),開(kāi)始接收一幀的其余信息。一幀信息包含10位,即一位起始位、八位數(shù)據(jù)位(先低位后高位)和一個(gè)停止位“1”。接收數(shù)據(jù)進(jìn)入SBUF,停止位進(jìn)入RB8,并置中斷請(qǐng)求標(biāo)志RI為1,通知CPU到SBUF中取走數(shù)據(jù)。 中斷標(biāo)志也必須由用戶在中斷服務(wù)程序中軟件清零。,徐州建筑職業(yè)技術(shù)學(xué)院,(3). 方式2 串行口工作在方式2下時(shí),被定義為波特率固定的9位異步通信接口。 (1) 方式2發(fā)送 發(fā)送數(shù)據(jù)由TxD端輸出,
7、一幀信息包含11位,即一位起始位(0)、八位數(shù)據(jù)位(先低位后高位)、一位附加可控位(1或0)和一位停止位“1”。 附加的第9位數(shù)據(jù)為SCON中的TB8,它由軟件置位或清零,可作為多機(jī)通信中地址數(shù)據(jù)信息的標(biāo)志位,也可作為數(shù)據(jù)的奇偶校驗(yàn)位。其他同方式1 (2)方式2接受 數(shù)據(jù)由RxD端輸入,接收11位信息,其中,一位起始位(0)、八位數(shù)據(jù)位(先低位后高位)、一位附加可控位(1或0)和一位停止位“1”。其他同方式1,徐州建筑職業(yè)技術(shù)學(xué)院,(4). 方式3 方式3為波特率可變的9位異步通信方式,除了波特率有所區(qū)別之外,其余都與方式2相同。,徐州建筑職業(yè)技術(shù)學(xué)院,4.串行通信相關(guān)寄存器,SCON寄存器用
8、來(lái)控制串行口的工作方式和狀態(tài),字地址為98H,它可以是位尋址。 其格式如下:各位定義如下: SM0、SM1:串行口工作方式選擇位 其狀態(tài)組合所對(duì)應(yīng)的工作方式為: SM0 SM1 工作方式 功能說(shuō)明 波特率 0 0 0 8位同步移位寄存器 fosc/12 0 1 1 8位異步收發(fā) 由定時(shí)器控制 1 0 2 9位異步收發(fā) fosc/32或fosc/64 1 1 3 9位異步收發(fā) 由定時(shí)器控制,(2)串口控制寄存器SCON,(1)SBUF,徐州建筑職業(yè)技術(shù)學(xué)院,SM2:多機(jī)通信控制位。 多機(jī)通信時(shí)用到該位, SM2=1;平時(shí)雙機(jī)通信,SM2=0 REN:允許接收控制位,接收前該位應(yīng)置1. REN=0
9、時(shí)禁止串行口接收。 REN=1時(shí)允許串行口接收。 該位由軟件置位或復(fù)位。 TB8:在方式2或方式3時(shí),發(fā)送數(shù)據(jù)的第9位 根據(jù)發(fā)送數(shù)據(jù)的需要由軟件置位或復(fù)位。 雙機(jī)通信時(shí),可作為奇偶校驗(yàn)位(單機(jī)通信)。 多機(jī)通信時(shí),可作為發(fā)送地址幀或數(shù)據(jù)幀的標(biāo)志位 RB8:在方式2和方式3時(shí),接收數(shù)據(jù)的第9位 根據(jù)發(fā)送數(shù)據(jù)的需要由軟件置位或復(fù)位。 雙機(jī)通信時(shí),可作為奇偶校驗(yàn)位(單機(jī)通信)。 多機(jī)通信時(shí),可作為發(fā)送地址幀或數(shù)據(jù)幀的標(biāo)志位,徐州建筑職業(yè)技術(shù)學(xué)院,TI:發(fā)送中斷標(biāo)志位 用于指示一幀數(shù)據(jù)發(fā)送完否。 在方式0下,發(fā)送電路發(fā)送完第8位數(shù)據(jù)時(shí),TI由硬件置位。 在其他方式下,TI在發(fā)送前必須由軟件復(fù)位,發(fā)送完
10、一幀后由硬件置位。因此,CPU查詢TI狀態(tài)便可知一幀信息是否已發(fā)送完畢。 RI:接收中斷標(biāo)志位 用于指示一幀信息是否接收完。 在方式0下,RI在接收電路接收到第8位數(shù)據(jù)時(shí)由硬件置位。 在其他方式下,當(dāng)接收到停止位或第九位數(shù)據(jù)時(shí),硬件置位RI,RI也可供CPU查詢,以決定CPU是否需要從“SBUF(接收)”中提取接收到的字符或數(shù)據(jù)。RI也由軟件復(fù)位。,徐州建筑職業(yè)技術(shù)學(xué)院,(3).電源控制器PCON,PCON寄存器主要是為CHMOS型單片機(jī)的電源控制設(shè)置的專用寄存器,單元地址為87H,不能位尋址。 其格式如下: 各位定義如下: SMOD:串行口波特率的倍增位。 在HMOS單片機(jī)中,該寄存器中除最
11、高位之外,其他位都是虛設(shè)的。在單片機(jī)工作在方式1、方式2和方式3時(shí), SMOD=1,串行口波特率提高一倍。 SMOD=0,則波特率不加倍。系統(tǒng)復(fù)位時(shí)SMOD=0,徐州建筑職業(yè)技術(shù)學(xué)院,5.波特率,串行口的通信波特率恰到好處地反映了串行傳輸數(shù)據(jù)的速率。通信波特率的選用,不僅和所選通信設(shè)備、傳輸距離有關(guān),還受傳輸線狀況所制約。用戶應(yīng)根據(jù)實(shí)際需要加以正確選用。 1. 方式0下的波特率 在方式0下,串行口通信的波特率是固定的,其值為fosc/12(fosc為主機(jī)頻率)。 2. 方式2下的波特率 在方式2下,通信波特率固定的,為fosc/32或fosc/64。用戶可以根據(jù)PCON中SMOD位的狀態(tài)來(lái)驅(qū)使
12、串行口在哪個(gè)波特率下工作。選定公式為: 這就是說(shuō),若SMOD=0,則所選波特率為fosc/64;若SMOD=1,則波特率為fosc/32。,徐州建筑職業(yè)技術(shù)學(xué)院,3. 方式1或方式3下的波特率 在這兩種方式下,串行口波特率是可變的,由定時(shí)器的溢出率(1s溢出多少次)決定的。相應(yīng)公式為: T1溢出率(1s溢出多少次)-T1定時(shí)時(shí)間倒數(shù) 定時(shí)器T1溢出率的計(jì)算公式為: 式中,K為定時(shí)器T1的位數(shù),它和定時(shí)器T1的設(shè)定方式有關(guān)。我們常取k=8。因?yàn)槎〞r(shí)器T1工作于方式2時(shí),TH1和TLl分別設(shè)定為兩個(gè)8位重裝計(jì)數(shù)器(當(dāng)TL1從全“1”變?yōu)槿?”時(shí),TH1重裝TLl)。使用這種方式,不僅可使操作方便
13、,也可避免因重裝初值(時(shí)間常數(shù)初值)而帶來(lái)的定時(shí)誤差。 若定時(shí)器T1為方式0,則K=13;若定時(shí)器T1為方式1,則K=16;若定時(shí)器T1為方式2或3,則K=8。 由上兩式可知,方式1或方式3下所選波特率常常需要通過(guò)計(jì)算來(lái)確定初值,因?yàn)樵摮踔凳且诙〞r(shí)器T1初值化時(shí)使用的(見(jiàn)書上)。,徐州建筑職業(yè)技術(shù)學(xué)院,情境五信號(hào)發(fā)生器 項(xiàng)目二 串行收發(fā)模塊制作 (2) -軟件編程,徐州建筑職業(yè)技術(shù)學(xué)院,例:甲機(jī)與乙機(jī)串行通信,甲機(jī)接一鍵盤,接一數(shù)碼管,乙機(jī)接一數(shù)碼管。甲機(jī)把自己鍵盤按鍵的鍵值發(fā)送給乙機(jī)的數(shù)碼管顯示;乙機(jī)將接受的數(shù)據(jù)加1后再發(fā)送給甲機(jī)的數(shù)碼管顯示。 電路,徐州建筑職業(yè)技術(shù)學(xué)院,甲機(jī)程序: #i
14、nclude #include unsigned char code sz1=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e; unsigned char code jp=0 xee,0 xde,0 xbe,0 x7e,0 xed,0 xdd,0 xbd,0 x7d,0 xeb,0 xdb,0 xbb,0 x7b,0 xe7,0 xd7,0 xb7,0 x77; unsigned char jz=0; void delay(unsigned int t
15、) unsigned char i; while(t-) for(i=0;i125;i+); void sm() unsigned char k,j,n,a,m=0 xfe; P2=0 xf0;k=P2;k=k,徐州建筑職業(yè)技術(shù)學(xué)院,if(k!=0 xf0) delay(5); if(k!=0 xf0) for(j=0;j4;j+) P2=m;n=P2; for(a=0;a16;a+) if(jpa=n) jz=a; m=_crol_(m,1); void main() SCON=0 x50; /設(shè)定串口工作方式 PCON=0 x00; /波特率不倍增 TMOD=0 x20; /定時(shí)器1工作于
16、8位自動(dòng)重載模式, 用于產(chǎn)生波特率 EA=1; ES = 1; /允許串口中斷 TL1=0 xfd; TH1=0 xfd; /波特率9600 TR1=1; while(1) sm(); SBUF=jz; while(TI=0); TI=0; while(RI=0); RI=0;P1=sz1SBUF; ,徐州建筑職業(yè)技術(shù)學(xué)院,乙機(jī)程序: #include unsigned char code sz1=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e; void delay(unsigned int t) unsigned char i; while(t-) for(i=0;i125;i+); void main() unsigned char m; SCON=0 x50; /設(shè)定串口工作方式 PCON=0 x00; /波特率不倍增 TMOD=0 x20; /定時(shí)器1工作于8位自動(dòng)重載模式, 用于產(chǎn)生波特率 EA=1; ES = 1; /允許串口中斷 TL1=0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)教育行業(yè)數(shù)據(jù)服務(wù)協(xié)議
- 二零二五年度農(nóng)業(yè)科技文職人員聘用協(xié)議
- 2025年度茶樓合作經(jīng)營(yíng)協(xié)議書:茶樓與茶藝茶具研發(fā)中心的合作合同
- 二零二五年度知識(shí)產(chǎn)權(quán)質(zhì)押合同解除與資金返還協(xié)議
- 2025年度船舶租賃與船舶技術(shù)咨詢服務(wù)協(xié)議
- 2025年度超市轉(zhuǎn)讓與智能化升級(jí)改造合作協(xié)議
- 2025年度智能化社區(qū)物業(yè)委托經(jīng)營(yíng)管理合同
- 專業(yè)資格教育培訓(xùn)合作協(xié)議
- 新型儲(chǔ)能技術(shù)應(yīng)用開(kāi)發(fā)合作協(xié)議
- 行路難:古典詩(shī)詞中的壯志情懷教案
- 中建住宅樓懸挑卸料平臺(tái)專項(xiàng)施工方案
- 【MOOC】數(shù)據(jù)庫(kù)系統(tǒng)(下):管理與技術(shù)-哈爾濱工業(yè)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 日本留學(xué)中介簽約合同
- 鐵路安全應(yīng)急預(yù)案
- 《城市軌道交通車輛構(gòu)造》 課件 2.2 不銹鋼車體結(jié)構(gòu)認(rèn)知
- 古詩(shī)詞誦讀《李憑箜篌引》 公開(kāi)課一等獎(jiǎng)創(chuàng)新教案統(tǒng)編版高中語(yǔ)文選擇性必修中冊(cè)
- 小學(xué)生日常行為規(guī)范實(shí)施方案
- 2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)檢測(cè)試卷(1-4單元)
- 2024年遼寧省鞍山岫巖滿族自治縣事業(yè)單位招聘(150人)歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- DBJ46-070-2024 海南省民用建筑外門窗工程技術(shù)標(biāo)準(zhǔn)
- 金屬冶煉安全生產(chǎn)實(shí)務(wù)注冊(cè)安全工程師考試(初級(jí))試題與參考答案
評(píng)論
0/150
提交評(píng)論