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

下載本文檔

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

文檔簡介

單片機(jī)串行口的應(yīng)用2023/4/27例說89S51-C語言8-1第1頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-2本章內(nèi)容

硬件部分:認(rèn)識8x51串行口、串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)IC、并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)IC,以及MAX232系列等。程序與實踐部分:

mode0串行口的接收與發(fā)送、其它工作方式的應(yīng)用、兩個8x51最小系統(tǒng)的互傳應(yīng)用、多處理器通信、RS-232通信等。

第2頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-3串行口的思考串行口一次傳輸一個bit,并行口一次傳輸一個byte,誰快?使用串行口的場合越來越多,使用并行口場合越來越少,為什么?并行口快要被串行口完全取代,而消失了!并行端口的最后一塊版圖-打印機(jī)端口,逐漸被USB與Ethernet并吞。低成本簡單第3頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-4串行口常見名稱通用異步傳輸,UART(UniversalAsynchronousReceiver-Transmitter),也可稱為通用異步串行口,就是微控制器里常用的通信方式。RS-232C是一種串行口的通信接口,在RS-232C里,傳輸?shù)臏?zhǔn)位提升,使傳輸距里增加、抗噪聲能力提高,為微型計算機(jī)里常見的接口。第4頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-5單工及雙工串行式數(shù)據(jù)傳輸里,有單工及雙工之分,單工就是一條線只能有一種用途,例如輸出線就只能發(fā)送數(shù)據(jù)、輸入線就只能接收數(shù)據(jù)。而雙工就是在同一條在線,可接收數(shù)據(jù),也可發(fā)送數(shù)據(jù)。

第5頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-6半雙工與全雙工若在系統(tǒng)上,只有一條傳輸線,而在該傳輸線同一個時間里,不是進(jìn)行數(shù)據(jù)接收,就是數(shù)據(jù)發(fā)送,稱之為“半雙工”。

若在系統(tǒng)上有兩條傳輸線,而這兩條傳輸在線,可同時進(jìn)行數(shù)據(jù)接收與發(fā)送,稱之為“全雙工”。

第6頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-7波特率

通常以每秒傳輸多少位(bitpersecond,簡稱bps)表示串行式數(shù)據(jù)傳輸?shù)乃俾剩裘總€傳輸單元為1bit時,又稱為波特率(baudrate)。

第7頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-88051的串行發(fā)送數(shù)據(jù)在8051里,若要通過串行口發(fā)送數(shù)據(jù),只要把8位數(shù)據(jù)放入串行緩沖器(SBUF)即可,8051就會幫我們把這些數(shù)據(jù),一個位一個位送出去。第8頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-98051的串行接收數(shù)據(jù)在8051里,若要通過串行口接收數(shù)據(jù),則8051會自動接收串行數(shù)據(jù),數(shù)據(jù)收集在串行緩沖器里,當(dāng)8位數(shù)據(jù)到齊(串行緩沖器滿了),8051就會中斷,要我們把這筆數(shù)據(jù)提走。

第9頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-10串行口的四種工作方式

mode0:此方式屬于半雙工同步傳輸,其波特率為系統(tǒng)時鐘脈沖的12分之1,即fOSC/12,以12MHz的系統(tǒng)為例,則其波特率為1Mbps。mode1或mode3:此方式為可變波特率的異步數(shù)據(jù)傳輸,主要是為了配合所連接系統(tǒng)的時序,以達(dá)到不同系統(tǒng)的數(shù)據(jù)傳輸。mode2:此方式提供兩種不同波特率的選擇,即fOSC/32或fOSC/64,其中的fOSC為系統(tǒng)時鐘脈沖,屬于異步數(shù)據(jù)傳輸。第10頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-11mode0接收數(shù)據(jù)

第11頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-12mode0發(fā)送數(shù)據(jù)

第12頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-13mode1串行數(shù)據(jù)傳輸

第13頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-14mode1的數(shù)據(jù)格式

第14頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-15mode2的數(shù)據(jù)格式

第15頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-16SCON寄存器第16頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-17方式設(shè)置第17頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-18Timer1產(chǎn)生的常用波特率表fOSC波特率11.05921214.74561620SMOD1500x400x300x00---3000xa00x980x800x750x5206000xd00xcc0xc00xbb0xa9012000xe80xe60xe00xde0xd5024000xf40xf30xf00xef0xea04800-0xf30xef0xef-148000xfa-0xf8-0xf5096000xfd-0xfc--09600----0xf51192000xfd-0xfc--138400--0xfe---76800--0xff---第18頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-19Timer2應(yīng)用在波特率產(chǎn)生方式示意圖

第19頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-20Timer2產(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--第20頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-21幀錯誤檢測示意圖

第21頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-22UARTmode1時序圖第22頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-23UARTmode2/3時序圖第23頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-24自動地址識別功能

由于在mode0下,SM2=1沒有作用,所以無法在mode0下執(zhí)行自動地址識別功能。在mode1時,stopbit取代第九位,當(dāng)接收的地址與自己的地址相符,且stopbit是個正確的停止位(1),則RI位將自動設(shè)置為1。在mode2或mode3時,直接將第九位置入SCON寄存器的RB8位,然后接收stopbit。若將SCON寄存器的SM2位設(shè)置為1,則接收到stopbit,且RB8=1時,將產(chǎn)生中斷。

第24頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-25產(chǎn)生自己的地址(givenaddress)

0代表不使用1代表使用SADDR值x代表可為任意值第25頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-26SADDR與SADEN設(shè)置范例x代表可為任意值0代表不使用1代表使用SADDR值0代表不使用1代表使用SADDR值0代表不使用1代表使用SADDR值第26頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-27產(chǎn)生廣播地址(broadcastaddress)

OR運(yùn)算第27頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-28主從式處理器結(jié)構(gòu)

第28頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-29主處理器→從處理器

由處理器A送出目的處理器的地址字節(jié),其中第九位(bit9)為1(即bit9=1),代表該幀數(shù)據(jù)為地址字節(jié)。每個處理器都可以接收到地址字節(jié)(bit9=1),且會產(chǎn)生中斷。在中斷子程序里,將接收到的地址字節(jié)與自己的地址相比較。若相符合,則SM2位設(shè)置為1;不相符合,則SM2位設(shè)置為0。處理器A再送出數(shù)據(jù)字節(jié)(bit9=0),而SM2=1的處理器,接收到的是數(shù)據(jù)字節(jié)時,將會產(chǎn)生中斷子程序里,將讀取所接收到的數(shù)據(jù)字節(jié)。當(dāng)然,SM2=0的處理器,接收到的是數(shù)據(jù)字節(jié)時,將不會產(chǎn)生中斷。

第29頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-30廣播

由處理器A送出廣播地址字節(jié),其中第九位(bit9)為1(即bit9=1),代表該幀數(shù)據(jù)為地址字節(jié)。每個處理器都可以接收到地址字節(jié)(bit9=1),且會產(chǎn)生中斷。在中斷子程序里,所接收到的廣播地址字節(jié)與自己的地址一定符合,所以SM2位設(shè)置為1。處理器A再送出數(shù)據(jù)字節(jié)(bit9=0),而所有處理器的SM2=1,接收到的是數(shù)據(jù)字節(jié)時,將會產(chǎn)生中斷子程序里,將讀取所接收到的數(shù)據(jù)字節(jié)。

第30頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-31噪聲容限(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.3VDD第31頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-32MAX232/MAX3232第32頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-33MAX3232的電容建議表第33頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-34RS232線路第34頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-3574164引腳圖

第35頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-3674164時序圖第36頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-3774165引腳圖

第37頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-3874165真值表

輸 入輸 出shift/loadclockinhibitclockserialinput并行輸入A~Houtout0×××a~hhh100××QhoQho10↑1×QnQn10↑0×QnQn11↑××QhoQho第38頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-39實例演練8-8-1并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)實驗第39頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-40并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)實驗電路圖

第40頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-41

流程圖

第41頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-42mode0串行輸入實驗(ch08-8-1.c)第42頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-43實例演練8-8-2串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)實驗第43頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-44串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)實驗電路圖

第44頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-45流程圖

第45頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-46mode0串行輸出實驗(ch08-8-2.c)第46頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-47實例演練8-8-3MODE1自傳實驗第47頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-48自傳實驗電路圖

第48頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-498-8-3mode1實例演練第49頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-50流程圖

第50頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-51Mode1實驗

(ch08-8-3.c)

第51頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-52思考一下!在本實驗里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,而主程序驅(qū)動蜂鳴器(P3.7),以產(chǎn)生1kHz的嗶、嗶聲?

第52頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-53程序參考(CH08-8-3a.c)-1

第53頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-54程序參考(CH08-8-3a.c)-2第54頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-55思考一下!同前一個問題,若使用8x52,請改采用Timer2產(chǎn)生約9600bps波特率?T2CON寄存器詳見第七章。

第55頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-56程序參考(CH08-8-3b.c)-1

第56頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-57程序參考(CH08-8-3b.c)-2第57頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-58實例演練8-8-4MODE2實驗第58頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-59流程圖

第59頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-60Mode2實驗(ch08-8-4.c)

第60頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-61思考一下!在本實驗里,采用1/32fOSC的波特率,請將波特率修改為1/64fOSC?

在本實驗里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,而主程序驅(qū)動蜂鳴器(P3.7),以產(chǎn)生1kHz的嗶、嗶聲?(可參考8-8-3節(jié))

第61頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-62實例演練8-8-5MODE3實驗第62頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-638051互傳實驗(ch08-8-5.c)

第63頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-64思考一下!在本實驗里,采用約9600bps的波特率,請將波特率修改為4800bps?

在本實驗里,采用“查詢”方式,所以程序幾乎不能做其它事!請采用“中斷”方式,主程序驅(qū)動蜂鳴器(P3.7),以產(chǎn)生1kHz嗶、嗶聲?(可參考8-8-3節(jié))

第64頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-65實例演練8-8-6點(diǎn)對點(diǎn)通信實驗第65頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-66對傳電路圖

第66頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-678051互傳實驗(ch08-8-6.c)

第67頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-68思考一下!1、在本實驗里,兩片采用mode2,請試改以mode1或mode3,重新測試?

2、本實驗的通信距離并不長,為了加長通信距離與質(zhì)量,請在本實驗中的兩個8x51系統(tǒng)里,各增加一個MAX232/MAX232A/MAX32322電路,如圖8-18所示;再以RS232電纜連接兩個8x51系統(tǒng),以進(jìn)行相同的實驗。在圖8-18里,隨著所使用IC的不同,其中的電容與接法有些不同,如下:

第68頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-69思考一下!若使用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電纜線*,連接到個人計算機(jī)的com1或com2。第69頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-70MAX232/MAX232A/MAX3232

的應(yīng)用電路圖

第70頁,共80頁,2023年,2月20日,星期一2023/4/27例說89S51-C語言8-71DB9、DB15的RS232

連接器引腳號碼與名稱

DB9腳號DB25腳號信號名稱說 明18CD載波信號檢測(CarrierDetect)23RxD接收(Receive)32TxD發(fā)送(Transmit)420DTR數(shù)據(jù)端準(zhǔn)備妥(DataTerminalReady)57GND接地(Ground)66DSR數(shù)據(jù)設(shè)置準(zhǔn)

溫馨提示

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

評論

0/150

提交評論