串行口的應(yīng)用課件_第1頁
串行口的應(yīng)用課件_第2頁
串行口的應(yīng)用課件_第3頁
串行口的應(yīng)用課件_第4頁
串行口的應(yīng)用課件_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

串行口的應(yīng)用課件本章內(nèi)容硬件部分:認(rèn)識(shí)8x51串行口、串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)IC、并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)IC,以及MAX232系列等。程序與實(shí)踐部分:mode0串行口的接收與發(fā)送、其它工作方式的應(yīng)用、兩個(gè)8x51最小系統(tǒng)的互傳應(yīng)用、多處理器通信、RS-232

2/22/20232串行口的思考串行口一次傳輸一個(gè)bit,并行口一次傳輸一個(gè)byte,誰快?使用串行口的場合越來越多,使用并行口場合越來越少,為什么?并行口快要被串行口完全取代,而消失了!并行端口的最后一塊版圖-打印機(jī)端口,逐漸被USB與Ethernet并吞。低成本簡單2/22/20233串行口常見名稱通用異步傳輸,UART(UniversalAsynchronousReceiver-Transmitter),也可稱為通用異步串行口,就是微控制器里常用的通信方式。RS-232C是一種串行口的通信接口,在RS-232C里,傳輸?shù)臏?zhǔn)位提升,使傳輸距里增加、抗噪聲能力提高,為微型計(jì)算機(jī)里常見的接口。2/22/20234單工及雙工串行式數(shù)據(jù)傳輸里,有單工及雙工之分,單工就是一條線只能有一種用途,例如輸出線就只能發(fā)送數(shù)據(jù)、輸入線就只能接收數(shù)據(jù)。而雙工就是在同一條在線,可接收數(shù)據(jù),也可發(fā)送數(shù)據(jù)。2/22/20235半雙工與全雙工若在系統(tǒng)上,只有一條傳輸線,而在該傳輸線同一個(gè)時(shí)間里,不是進(jìn)行數(shù)據(jù)接收,就是數(shù)據(jù)發(fā)送,稱之為“半雙工”。若在系統(tǒng)上有兩條傳輸線,而這兩條傳輸在線,可同時(shí)進(jìn)行數(shù)據(jù)接收與發(fā)送,稱之為“全雙工”。2/22/20236波特率通常以每秒傳輸多少位(bitpersecond,簡稱bps)表示串行式數(shù)據(jù)傳輸?shù)乃俾?,若每個(gè)傳輸單元為1bit時(shí),又稱為波特率(baudrate)。2/22/202378051的串行發(fā)送數(shù)據(jù)在8051里,若要通過串行口發(fā)送數(shù)據(jù),只要把8位數(shù)據(jù)放入串行緩沖器(SBUF)即可,8051就會(huì)幫我們把這些數(shù)據(jù),一個(gè)位一個(gè)位送出去。2/22/202388051的串行接收數(shù)據(jù)在8051里,若要通過串行口接收數(shù)據(jù),則8051會(huì)自動(dòng)接收串行數(shù)據(jù),數(shù)據(jù)收集在串行緩沖器里,當(dāng)8位數(shù)據(jù)到齊(串行緩沖器滿了),8051就會(huì)中斷,要我們把這筆數(shù)據(jù)提走。2/22/20239串行口的四種工作方式mode0:此方式屬于半雙工同步傳輸,其波特率為系統(tǒng)時(shí)鐘脈沖的12分之1,即fOSC/12,以12MHz的系統(tǒng)為例,則其波特率為1Mbps。mode1或mode3:此方式為可變波特率的異步數(shù)據(jù)傳輸,主要是為了配合所連接系統(tǒng)的時(shí)序,以達(dá)到不同系統(tǒng)的數(shù)據(jù)傳輸。mode2:此方式提供兩種不同波特率的選擇,即fOSC/32或fOSC/64,其中的fOSC為系統(tǒng)時(shí)鐘脈沖,屬于異步數(shù)據(jù)傳輸。2/22/202310mode0接收數(shù)據(jù)2/22/202311mode0發(fā)送數(shù)據(jù)2/22/202312mode1串行數(shù)據(jù)傳輸2/22/202313mode1的數(shù)據(jù)格式2/22/202314mode2的數(shù)據(jù)格式2/22/202315SCON寄存器2/22/202316方式設(shè)置2/22/202317Timer1產(chǎn)生的常用波特率表fOSC波特率11.05921214.74561620SMOD1500x400x300x00---3000xa00x980x800x750x5206000xd00xcc0xc00xbb0xa9012000xe80xe60xe00xde0xd5024000xf40xf30xf00xef0xea04800-0xf30xef0xef-148000xfa-0xf8-0xf5096000xfd-0xfc--09600----0xf51192000xfd-0xfc--138400--0xfe---76800--0xff---2/22/202318Timer2應(yīng)用在波特率產(chǎn)生方式示意圖

2/22/202319Timer2產(chǎn)生的常用波特率表fOSC波特率611.059212161100xf9-0x57--0xee-0x3f3000xfd-0x8f0xfb-0x800xfb-0x1e0xf9-0x7d6000xfe-0xc80xfd-0xc00xfd-0x8f0xfc-0xbf12000xff-0x640xfe-0xe00xfe-0xc80xfe-0x5f24000xff-0xb20xff-0x700xff-0x640xff-0x3048000xff-0xd90xff-0xb80xff-0xb20xff-0x989600-0xff-0xdc0xff-0xd90xff-0xcc19200-0xff-0xee-0xff-0xe638400-0xff-0xf7-0xff-0xf376800-0xff-0xfa--2/22/202320幀錯(cuò)誤檢測示意圖2/22/202321UARTmode1時(shí)序圖2/22/202322UARTmode2/3時(shí)序圖2/22/202323自動(dòng)地址識(shí)別功能由于在mode0下,SM2=1沒有作用,所以無法在mode0下執(zhí)行自動(dòng)地址識(shí)別功能。在mode1時(shí),stopbit取代第九位,當(dāng)接收的地址與自己的地址相符,且stopbit是個(gè)正確的停止位(1),則RI位將自動(dòng)設(shè)置為1。在mode2或mode3時(shí),直接將第九位置入SCON寄存器的RB8位,然后接收stopbit。若將SCON寄存器的SM2位設(shè)置為1,則接收到stopbit,且RB8=1時(shí),將產(chǎn)生中斷。2/22/202324產(chǎn)生自己的地址(givenaddress)0代表不使用1代表使用SADDR值x代表可為任意值2/22/202325SADDR與SADEN設(shè)置范例x代表可為任意值0代表不使用1代表使用SADDR值0代表不使用1代表使用SADDR值0代表不使用1代表使用SADDR值2/22/202326產(chǎn)生廣播地址(broadcastaddress)

OR運(yùn)算2/22/202327主從式處理器結(jié)構(gòu)2/22/202328主處理器→從處理器由處理器A送出目的處理器的地址字節(jié),其中第九位(bit9)為1(即bit9=1),代表該幀數(shù)據(jù)為地址字節(jié)。每個(gè)處理器都可以接收到地址字節(jié)(bit9=1),且會(huì)產(chǎn)生中斷。在中斷子程序里,將接收到的地址字節(jié)與自己的地址相比較。若相符合,則SM2位設(shè)置為1;不相符合,則SM2位設(shè)置為0。處理器A再送出數(shù)據(jù)字節(jié)(bit9=0),而SM2=1的處理器,接收到的是數(shù)據(jù)字節(jié)時(shí),將會(huì)產(chǎn)生中斷子程序里,將讀取所接收到的數(shù)據(jù)字節(jié)。當(dāng)然,SM2=0的處理器,接收到的是數(shù)據(jù)字節(jié)時(shí),將不會(huì)產(chǎn)生中斷。2/22/202329廣播由處理器A送出廣播地址字節(jié),其中第九位(bit9)為1(即bit9=1),代表該幀數(shù)據(jù)為地址字節(jié)。每個(gè)處理器都可以接收到地址字節(jié)(bit9=1),且會(huì)產(chǎn)生中斷。在中斷子程序里,所接收到的廣播地址字節(jié)與自己的地址一定符合,所以SM2位設(shè)置為1。處理器A再送出數(shù)據(jù)字節(jié)(bit9=0),而所有處理器的SM2=1,接收到的是數(shù)據(jù)字節(jié)時(shí),將會(huì)產(chǎn)生中斷子程序里,將讀取所接收到的數(shù)據(jù)字節(jié)。2/22/202330噪聲容限(NoiseMargin)TTLVIL=0.8V、VOL=0.4VVNML=VIL-VOL=0.4VVIH=2V、VOH=3.5VVNMH=VOH-VIH=1.5VCMOSVIL=0.3VDD、VOL0VVNML=VIL-VOL=0.3VDDVIH=0.7VDD、VOHVDD

VNMH=VOH-VIH=0.3VDD2/22/202331MAX232/MAX32322/22/202332MAX3232的電容建議表2/22/202333RS232線路2/22/20233474164引腳圖

2/22/20233574164時(shí)序圖2/22/20233674165引腳圖2/22/20233774165真值表輸 入輸 出shift/loadclockinhibitclockserialinput并行輸入A~Houtout0×××a~hhh100××QhoQho10↑1×QnQn10↑0×QnQn11↑××QhoQho2/22/202338實(shí)例演練8-8-1并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)實(shí)驗(yàn)2/22/202339并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)實(shí)驗(yàn)電路圖2/22/202340流程圖2/22/202341mode0串行輸入實(shí)驗(yàn)(ch08-8-1.c)2/22/202342實(shí)例演練8-8-2串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)實(shí)驗(yàn)2/22/202343串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)實(shí)驗(yàn)電路圖2/22/202344流程圖2/22/202345mode0串行輸出實(shí)驗(yàn)(ch08-8-2.c)2/22/202346實(shí)例演練8-8-3MODE1自傳實(shí)驗(yàn)2/22/202347自傳實(shí)驗(yàn)電路圖2/22/2023488-8-3mode1實(shí)例演練2/22/202349流程圖2/22/202350Mode1實(shí)驗(yàn)(ch08-8-3.c)2/22/202351思考一下!在本實(shí)驗(yàn)里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,而主程序驅(qū)動(dòng)蜂鳴器(P3.7),以產(chǎn)生1kHz的嗶、嗶聲?2/22/202352程序參考(CH08-8-3a.c)-12/22/202353程序參考(CH08-8-3a.c)-22/22/202354思考一下!同前一個(gè)問題,若使用8x52,請改采用Timer2產(chǎn)生約9600bps波特率?T2CON寄存器詳見第七章。2/22/202355程序參考(CH08-8-3b.c)-12/22/202356程序參考(CH08-8-3b.c)-22/22/202357實(shí)例演練8-8-4MODE2實(shí)驗(yàn)2/22/202358流程圖2/22/202359Mode2實(shí)驗(yàn)(ch08-8-4.c)

2/22/202360思考一下!在本實(shí)驗(yàn)里,采用1/32fOSC的波特率,請將波特率修改為1/64fOSC?在本實(shí)驗(yàn)里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,而主程序驅(qū)動(dòng)蜂鳴器(P3.7),以產(chǎn)生1kHz的嗶、嗶聲?(可參考8-8-3節(jié))2/22/202361實(shí)例演練8-8-5MODE3實(shí)驗(yàn)2/22/2023628051互傳實(shí)驗(yàn)(ch08-8-5.c)2/22/202363思考一下!在本實(shí)驗(yàn)里,采用約9600bps的波特率,請將波特率修改為4800bps?在本實(shí)驗(yàn)里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,主程序驅(qū)動(dòng)蜂鳴器(P3.7),以產(chǎn)生1kHz嗶、嗶聲?(可參考8-8-3節(jié))2/22/202364實(shí)例演練8-8-6點(diǎn)對點(diǎn)通信實(shí)驗(yàn)2/22/202365對傳電路圖2/22/2023668051互傳實(shí)驗(yàn)(ch08-8-6.c)

2/22/202367思考一下!1、在本實(shí)驗(yàn)里,兩片采用mode2,請?jiān)嚫囊詍ode1或mode3,重新測試?2、本實(shí)驗(yàn)的通信距離并不長,為了加長通信距離與質(zhì)量,請?jiān)诒緦?shí)驗(yàn)中的兩個(gè)8x51系統(tǒng)里,各增加一個(gè)MAX232/MAX232A/MAX32322電路,如圖8-18所示;再以RS232電纜連接兩個(gè)8x51系統(tǒng),以進(jìn)行相同的實(shí)驗(yàn)。在圖8-18里,隨著所使用IC的不同,其中的電容與接法有些不同,如下:

2/22/202368思考一下!若使用MAX232,則C1~C5全部采用10μF/16V電解電容,而C3的負(fù)腳連接到VCC。若使用MAX232A,則C1~C5全部采用0.1μF陶瓷電容,而C3的負(fù)腳連接到VCC。若使用MAX3232,則C1、C5采用0.1μF陶瓷電容,C2~C4采用0.47μF電解電容,而C3的負(fù)腳連接到GND。MAX232/MAX232A/MAX3232的第11腳連接到8x51的TxD引腳(P3.1)、第12腳連接到8x51的RxD引腳(P3.0)。再通過DB9電纜線*,連接到個(gè)人計(jì)算機(jī)的com1或com2。2/22/202369MAX232/MAX232A/MAX3232

的應(yīng)用電路圖

2/22/202370DB9、DB15的RS232

連接器引腳號(hào)碼與名稱

DB9腳號(hào)DB25腳號(hào)信號(hào)名稱說 明18CD載波信號(hào)檢測(CarrierDetect)23RxD接收(Receive)32

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論