![串行口以及串行通信技術(shù)_第1頁(yè)](http://file4.renrendoc.com/view/866ea32644e6b6749c71cc1c2f8fc475/866ea32644e6b6749c71cc1c2f8fc4751.gif)
![串行口以及串行通信技術(shù)_第2頁(yè)](http://file4.renrendoc.com/view/866ea32644e6b6749c71cc1c2f8fc475/866ea32644e6b6749c71cc1c2f8fc4752.gif)
![串行口以及串行通信技術(shù)_第3頁(yè)](http://file4.renrendoc.com/view/866ea32644e6b6749c71cc1c2f8fc475/866ea32644e6b6749c71cc1c2f8fc4753.gif)
![串行口以及串行通信技術(shù)_第4頁(yè)](http://file4.renrendoc.com/view/866ea32644e6b6749c71cc1c2f8fc475/866ea32644e6b6749c71cc1c2f8fc4754.gif)
![串行口以及串行通信技術(shù)_第5頁(yè)](http://file4.renrendoc.com/view/866ea32644e6b6749c71cc1c2f8fc475/866ea32644e6b6749c71cc1c2f8fc4755.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)于串行口及串行通信技術(shù)第1頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四什么是串行通信?串行通信和并行通信 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND并行通信 計(jì)算機(jī)1 GND 計(jì)算機(jī)2 GND發(fā)送接收串行通信并行通信:數(shù)據(jù)的各位同時(shí)傳送;串行通信:數(shù)據(jù)一位一位順序傳送。快、多(數(shù)據(jù)線)、近慢、少、遠(yuǎn)第2頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行通信制式:?jiǎn)喂?a)、半雙工(b)和全雙工(c) (simplex half duplex full duplex)發(fā)送器A站接收器B站單工通信(a)發(fā)收A站發(fā)收B站發(fā)收A站發(fā)收B站(b)(c)第3頁(yè),共74頁(yè),2022年,5月2
2、0日,17點(diǎn)5分,星期四 異步通信,ASYNC (Asynchronous Data Communication):幀格式傳送,信息量不大1個(gè)起始位,058個(gè)數(shù)據(jù)位奇偶校驗(yàn)位12個(gè)停止位,0串行通信的分類:異步(Asynchronous Communication) 同步(Synchronous Communication) 第4頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 同步通信,SYNC(Synchronous Data Communication):嚴(yán)格同步,發(fā)送同步字符,數(shù)據(jù)連續(xù),信息量大,速度較高按數(shù)據(jù)塊傳送把要傳送的字符順序連接起來(lái)數(shù)據(jù)塊前有同步字符,后有檢驗(yàn)字符同步
3、字符可由通信雙方約定,也可采用ASCII碼中規(guī)定的SYNC代碼,即16H。數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)同步字符同步字符1同步字符2同步傳送時(shí),要求用時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端與接收端之間的同步。第5頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四波特率(Band rate)數(shù)據(jù)傳送速率:每秒傳送的二進(jìn)制代碼的位數(shù)。波特率反映了串行通信的速率,也反映了對(duì)于傳輸通道的要求。波特率越高,要求傳輸通道的頻率越寬,一般異步通信的波特率在50b/s19200b/s之間。相互通信的甲乙雙方必須具有相同的波特率,否則無(wú)法成功地完成串行數(shù)據(jù)通信。通信線上傳送的所有位信號(hào)都保持一致的信號(hào)持續(xù)時(shí)間,每一位的信號(hào)持續(xù)時(shí)間都由數(shù)
4、據(jù)傳送速度確定。第6頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四舉例假如在1秒內(nèi),89C51串口把100個(gè)FFH的數(shù)據(jù)發(fā)送出去,問波特率是多少?假若每個(gè)字符是包含一個(gè)起始位、一個(gè)終止位和8個(gè)數(shù)據(jù)位。第7頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四根據(jù)串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號(hào)電平等)不同,形成了多種串行通信的協(xié)議與接口標(biāo)準(zhǔn)。常見的有:通用異步收發(fā)器(UART)本課程介紹的串口通用串行總線(USB)I2C總線CAN總線SPI總線RS-485,RS-232C,RS422A標(biāo)準(zhǔn)等等串行通信的基本特征是數(shù)據(jù)逐位順序進(jìn)行傳送。第8頁(yè),共74頁(yè),
5、2022年,5月20日,17點(diǎn)5分,星期四 串行口及串行通信技術(shù)串行通信基本知識(shí)89C51串口及其應(yīng)用兩個(gè)單片機(jī)之間的通信單片機(jī)與PC機(jī)之間的通信第9頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四概述有一個(gè)可編程全雙工異步串行通信接口(UART) (Universal Asynchronous Receiver/Transmitter )管腳:TXD(P3.1)、RXD(P3.0)可同時(shí)發(fā)送、接收數(shù)據(jù)(Transmit/Receive)有四種工作方式,幀格式有8、10、11位。波特率(Baud rate)可設(shè)置 波特率:每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),也叫比特?cái)?shù),單位為b/s,即位/秒。
6、89C51的串行接口第10頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四圖7-7return第11頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口結(jié)構(gòu) 引腳RXD (P3.0串行數(shù)據(jù)接收端) 引腳TXD (P3.1串行數(shù)據(jù)發(fā)送端) MOV SBUF, A :發(fā)送數(shù)據(jù)到串口引腳 MOV A , SBUF :接收數(shù)據(jù) RI :從串口上接收數(shù)據(jù)到SBUF RI=1 TI :數(shù)據(jù)從SBUF向外發(fā)送完 TI=1第12頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四MCS-51串行接口寄存器SBUF串行口數(shù)據(jù)緩沖器SCON串行口控制寄存器PCON電源及波特率選擇寄存器第13
7、頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式選擇多機(jī)通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位接收中斷標(biāo)志發(fā)送中斷標(biāo)志9FH9EH9DH9CH9BH9AH99H98HSM2置1,多機(jī)通信,用于方式2和方式3D81,地址幀D80,數(shù)據(jù)幀SM2置0,不屬于多機(jī)通信第14頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四SM0 SM1工作方式功能波特率0 0方式08位同步移位寄存器fosc/120 1方式110位UART可變1 0方式211位UARTfosc/64或fosc/321 1方式311位U
8、ART可變串行方式的定義例:設(shè)串行口工作在方式1,允許接收,則指令為: MOV SCON,#01010000B第15頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行通信只用該位,為1時(shí),波特率2;為0時(shí)不變。電源及波特率選擇寄存器PCONSMODGF1GF0PDIDL87H第16頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口四種工作方式應(yīng)用比較方式的選擇由SM1、SM0實(shí)現(xiàn)。工作方式功能說明波特率方式08位同步移位寄存器常用于擴(kuò)展I/O口fosc/12方式110位UART8位數(shù)據(jù)、起始位、結(jié)束位可變(取決于定時(shí)器1溢出率)方式211位UART8位數(shù)據(jù)、起始位0、結(jié)束
9、位1和奇偶校驗(yàn)位fosc/64或fosc/32方式311位UART數(shù)據(jù)、起始、校驗(yàn)、結(jié)束位可變(取決于定時(shí)器1溢出率)波特率的設(shè)定可參見表7.2,實(shí)際無(wú)需計(jì)算。表第17頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四方式0 在方式0下,串行口作同步移位寄存器用,其波特率固定為fosc/12。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。這種方式常用于擴(kuò)展I/O口。方式0用于擴(kuò)展I/O口輸出第18頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四方式0用于擴(kuò)展I/O口輸入第19頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四方式110位的幀
10、格式 串行口為波特率可調(diào)的10位通用異步接口UART。每發(fā)送或接收的一幀信息中,包括1位起始位0,8位數(shù)據(jù)位和1位停止位1。第20頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四方式2 串行口為11位UART,傳送波特率與SMOD有關(guān)。發(fā)送或接收的一幀數(shù)據(jù)中包括1位起始位0,8位數(shù)據(jù)位,1位可編程位(用于奇偶校驗(yàn))和1位停止位1。11位的幀格式第21頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四方式3 方式3為波特率可變的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。第22頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四MCS-51串行口的波特率1.
11、方式0和方式2的波特率是固定的 在方式2中,波特率取決于PCON中的SMOD值: 當(dāng)SMOD=0時(shí),波特率為fosc/64; 當(dāng)SMOD=1時(shí),波特率為fosc/32.即波特率 = 。oscSMODf642 在方式0中,波特率為時(shí)鐘頻率的1/12,即fosc/12,固定不變圖第23頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四2. 方式1和方式3的波特率可變,由定時(shí)器1的溢出率決定波特率/(b/s)fosc/MHzSMOD定時(shí)器1C/模式初始值方式0:1 M方式2:375 k方式1、3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k1101101212
12、1211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=returnRETURN第24頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 解決的方法只有調(diào)整單片機(jī)的時(shí)鐘頻率fosc,通常采用11.0592MHz晶振。常用波特率及其產(chǎn)生條件 常用波特率通常按規(guī)范取1200、2400、4800、9600、,若采用晶振12MHz和6MHz,則計(jì)算得出的T1定時(shí)初值將不是一個(gè)整數(shù),產(chǎn)生波特率誤差而影響串行通信的同步性能。第25頁(yè),共74頁(yè),2022
13、年,5月20日,17點(diǎn)5分,星期四四種工作方式應(yīng)用舉例第26頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口的應(yīng)用編程注意事項(xiàng)設(shè)置串行口工作方式設(shè)置波特率(SMOD,若是方式1、3,設(shè)置TI初值)若串行口接收數(shù)據(jù),REN必須賦值為1TI和RI標(biāo)志,須由軟件清0第9位第27頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口工作方式0 用于擴(kuò)展I/O口,外接74HC164(串入并出)或165(并入串出)。RXD作為數(shù)據(jù)輸入/輸出端,TXD作為同步時(shí)鐘信號(hào),接至?xí)r鐘端。 8位數(shù)據(jù)為1幀,由低位到高位,無(wú)起始位和停止位。 波特率: fosc/12第28頁(yè),共74頁(yè),2022年
14、,5月20日,17點(diǎn)5分,星期四例用89C51串行口外接CD4049或164串入-并出移位寄存器擴(kuò)展8位并行口;8位并行口的每位都接一個(gè)發(fā)光二極管,要求發(fā)光二極管從左到右以一定延遲輪流顯示,并不斷循環(huán)。設(shè)發(fā)光二極管為共陰極接法。如圖所示。89C51 RXD TXD P1.0DATA CD4049CLK STB 第29頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四解:設(shè)數(shù)據(jù)串行發(fā)送采用中斷方式,顯示延遲通過延遲程序DELAY來(lái)實(shí)現(xiàn)。程序清單:ORG 0000H LJMP MAINORG0023HAJMPSBRORG2000HMAIN: MOVSCON, #00H ;串行口方式0初始化M
15、OVA, #80H ;最左一位發(fā)光二極管先亮CLRP1.0 ;關(guān)閉并行輸出MOVSBUF, A ;開始串行輸出LOOP: SJMP$ ;等待中斷SBR:SETBP1.0 ;啟動(dòng)并行輸出ACALL DELAY ;顯示延遲一段時(shí)間CLRTI ;清發(fā)送中斷標(biāo)志RRA ;準(zhǔn)備右移一位顯示CLR P1.0 ;關(guān)閉并行輸出MOVSBUF, A ;再一次串行輸出RETI 第30頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口工作方式110位通用異步串行口UART (Universal Asynchronous Receiver / Transmitter) ,1位起始位、8位數(shù)據(jù)、1位停止位。
16、波特率可調(diào),由定時(shí)器T1的溢出率(定時(shí)時(shí)間)決定。 當(dāng)一幀數(shù)據(jù)接收完畢后,必須同時(shí)滿足以下條件,這次接收才真正有效:REN =1RI=0, SBUF為空SM2=0或SM2=1時(shí),收到停止位為1,收到的數(shù)據(jù)才能裝到SBUF里。 第31頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口工作方式1波特率 (定時(shí)器T1的溢出速率) PCON.7波特率選擇位第32頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四7位ASCII碼+1位奇偶校驗(yàn)位=8A中1的個(gè)數(shù)為奇數(shù),P=1,如果最高位為為P的值,則A的1的個(gè)數(shù)編程偶數(shù),因此,要把P的值取反以后放入ASCII碼最高位,才是奇校驗(yàn)。設(shè)發(fā)送
17、數(shù)據(jù)區(qū)的首地址為20H,接收首地址為40H例 89C51串行口按雙工方式收發(fā)ASCII字符,最高位用作奇校驗(yàn),要求傳送碼率為1200b/s,fosc=11.059MHz。奇偶校驗(yàn)位:數(shù)據(jù)位和奇偶位中1的個(gè)數(shù)偶校驗(yàn):以上1的個(gè)數(shù)為偶數(shù)奇校驗(yàn):以上1的個(gè)數(shù)為奇數(shù)第33頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四MOV TMOD, #20H; MOV TL1, #0E8H;MOV TH1, #0E8H;SETB TR1;MOV SCON, #50H;MOV R0, #20H;MOV R1, #40H;SETBES;SETBEA;LCALLSOUT;SJMP$;T1為模式2時(shí)間常數(shù),見表7
18、-2重裝時(shí)常啟動(dòng)T1串行口方式1,允許接收發(fā)送數(shù)據(jù)區(qū)首址接收數(shù)據(jù)區(qū)首址串行口開中斷CPU開中斷發(fā)送一個(gè)字符等待中斷表ORG0000HLJMP MAINORG0050HMAIN:第34頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四中斷服務(wù)程序ORG0023HLJMP SBR1ORG0100HPUSHACCPUSHPSWJNBRI,SENDLCALLSINSJMP NEXTLCALLSOUTPOPPSWPOPACCRETISBR1:SEND:NEXT:第35頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四發(fā)送子程序CLRTIMOV A,R0MOV C,PCPLCMOV ACC.7
19、,CMOV SBUF,AINC R0RETSOUT:;若奇數(shù)個(gè)1,P1;取要發(fā)送的數(shù)據(jù);A中的ASCII碼為奇校驗(yàn);發(fā)送;修改發(fā)送數(shù)據(jù)區(qū)指針第36頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四接收子程序CLR RIMOV A,SBUFJNB P,ERANL A,#7FHMOV R1,AINC R1RETSIN:;若偶數(shù)個(gè)1,出錯(cuò);讀接收到的數(shù)據(jù);數(shù)據(jù)存入接收區(qū);修改接收數(shù)據(jù)區(qū)指針;若奇數(shù)個(gè)1,ACC.7清0ER:;處理出錯(cuò)程序第37頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口工作方式2和方式3每幀11位:1位起始位,9位數(shù)據(jù)(D8D0),1位停止位;第9位數(shù)據(jù)作為奇
20、偶校驗(yàn)位或地址/數(shù)據(jù)標(biāo)志位;發(fā)送時(shí),第9位(D8)數(shù)據(jù)裝入TB8;-串口自動(dòng)完成MOV A ,DATAMOV TB8, CMOV SBUF, A接收時(shí),第9位(D8)數(shù)據(jù)裝入RB8;D0D7 SBUFD8RB8RI =1多機(jī)通信第38頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四串行口工作方式2和方式3方式2,波特率位fosc/32或fosc/64;方式3,波特率可調(diào),同方式1。第39頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四用第9個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位, 編制串行口方式2的發(fā)送程序。例:設(shè)計(jì)一個(gè)發(fā)送程序,將片內(nèi)RAM 50H5FH中的數(shù)據(jù)串行發(fā)送;串行口設(shè)定為方式2狀態(tài)
21、,TB8作奇偶校驗(yàn)位,采用偶校驗(yàn)。串行口初始化地址指針R0長(zhǎng)度計(jì)數(shù)器R7置初值取數(shù)據(jù)APTB8ASBUFTI =1?0TI,指針R0+1(R7)-1=0?返回YYNN第40頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四程序清單TRT: MOV SCON, #80H ;方式2設(shè)定 MOV PCON, #80H ; 波特率=fosc/32 MOV R0,#50H ;首地址R0 MOV R7, #10H ;數(shù)據(jù)長(zhǎng)度LOOP:MOV A,R0 ;取數(shù)據(jù) MOV C, PSW.0 ;PTB8 MOV TB8, C MOV SBUF, A ;數(shù)據(jù)SBUF,啟動(dòng)發(fā)送WAIT: JBC TI, CO
22、NT ;判斷發(fā)送中斷標(biāo)志 SJMP WAITCONT: INC R0 DJNZ R7, LOOP RET第41頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 串行口及串行通信技術(shù)串行通信基本知識(shí)89C51串口及其應(yīng)用兩個(gè)單片機(jī)之間的通信單片機(jī)與PC機(jī)之間的通信第42頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四兩個(gè)單片機(jī)之間的通信通信協(xié)議:幀格式、校驗(yàn)方式等 波特率第43頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四雙機(jī)通信軟件編程查詢方式 1) 甲機(jī)發(fā)送 編程將甲機(jī)片外1000H101FH單元的數(shù)據(jù)塊從串行口輸出。定義方式2發(fā)送,TB8為奇偶校驗(yàn)位。發(fā)送波特率3
23、75 kb/s,晶振為12 MHz, SMOD=1。第44頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四參考發(fā)送子程序如下: MOV SCON,#80H ;設(shè)置串行口為方式2 MOV PCON,#80H ;SMOD=1 MOV DPTR,#1000H ;設(shè)數(shù)據(jù)塊指針 MOV R7,#20H ;設(shè)數(shù)據(jù)塊長(zhǎng)度 START: MOVX A,DPTR ;取數(shù)據(jù)給A MOV C,P MOV TB8,C ;奇偶位P送給TB8 MOV SBUF,A ;數(shù)據(jù)送SBUF,啟動(dòng)發(fā)送 WAIT: JBC TI,CONT ;判斷一幀是否發(fā)送完。若送完,清TI,取下一個(gè)數(shù)據(jù) AJMP WAIT ;未完等待 C
24、ONT: INC DPTR ;更新數(shù)據(jù)單元 DJNZ R7,START ;循環(huán)發(fā)送至結(jié)束 RET 第45頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四2) 乙機(jī)接收 編程使乙機(jī)接收甲機(jī)發(fā)送過來(lái)的數(shù)據(jù)塊,并存入片內(nèi)50H6FH單元。接收過程要求判斷RB8,若出錯(cuò)置F0標(biāo)志為1,正確則置F0標(biāo)志為0,然后返回。 在進(jìn)行雙機(jī)通信時(shí),兩機(jī)應(yīng)采用相同的工作方式和波特率。第46頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四參考接收子程序如下: MOV SCON,#80H ;設(shè)置串行口為方式2 MOV PCON,#80H ;SMOD=1MOV R0,#50H ;設(shè)置數(shù)據(jù)塊指針MOV R7
25、,#20H ;設(shè)置數(shù)據(jù)塊長(zhǎng)度SETB REN ;啟動(dòng)接收WAIT:JBC RI,READ ;判斷是否接收完一幀。若完,清RI,讀入數(shù)據(jù)AJMP WAIT ;未完等待READ:MOV A,SBUF ;讀入一幀數(shù)據(jù)aJNB PSW.0,PZ ;奇偶位為0則轉(zhuǎn)JNB RB8, ERR ;P=1,RB8=0,則出錯(cuò) SJMP RIGHT ;二者全為1,則正確 PZ: JB RB8, ERR ;P=0,RB8=1,則出錯(cuò)RIGHT: MOV R0, A ;正確,存放數(shù)據(jù)INC R0 ;更新地址指針DJNZ R7, WAIT ;判斷數(shù)據(jù)塊是否接收完CLR PSW.5 ;接收正確,且接收完清F0標(biāo)志RET
26、;返回 ERR: SETB PSW.5 ;出錯(cuò),置F0標(biāo)志為1RET ;返回第47頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四7.3 多個(gè)89C51通信多機(jī)通信步驟:主機(jī)SM20,所有從機(jī)的SM21,以便接收主機(jī)發(fā)來(lái)的地址。主機(jī)發(fā)送地址,其中D81。所有從機(jī)接收主機(jī)發(fā)來(lái)的地址,進(jìn)入中斷服務(wù)程序,并和本機(jī)地址比較,確認(rèn)是否是被尋址從機(jī)。被尋址從機(jī)清除SM2,以便接收數(shù)據(jù),并向主機(jī)發(fā)回從機(jī)地址,供主機(jī)核對(duì)。其他從機(jī)保持SM21,并退出中斷服務(wù)程序。數(shù)據(jù)通信完畢,被尋址從機(jī)SM21,退出中斷服務(wù)程序,等待下次通信。第48頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 串行口及串
27、行通信技術(shù)串行通信基本知識(shí)89C51串口及其應(yīng)用兩個(gè)單片機(jī)之間的通信單片機(jī)與PC機(jī)之間的通信第49頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四PC機(jī)與單片機(jī)通信 PC機(jī)是國(guó)內(nèi)目前使用應(yīng)用最廣泛的微機(jī),在與單片機(jī)串行接口后,可以方便地構(gòu)成主從分布式多機(jī)系統(tǒng)。從機(jī)(單片機(jī))作數(shù)據(jù)采集或?qū)崟r(shí)控制,主機(jī)作數(shù)據(jù)處理或中央管理等。 這種多機(jī)系統(tǒng)在過程控制、儀表生產(chǎn)、生產(chǎn)自動(dòng)化和企業(yè)管理等方面都有廣泛的應(yīng)用。此外微機(jī)和單片機(jī)串行接口后,可以大大方便單片機(jī)的開發(fā)過程。第50頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四7.4 89C51與PC機(jī)通信電氣規(guī)范不一致,TTL與RS232電平轉(zhuǎn)
28、換,1488、148989C51第51頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四采用MAX232芯片接口的PC機(jī)與89C51單片機(jī)串行通信接口電路只需單一的+5V電源即可Tin、Rout-接單片機(jī)Rin、Tout-接PC機(jī) Tin、Tout成對(duì)使用 Rin、Rout成對(duì)使用 T、R是針對(duì)單片機(jī)的動(dòng)作命名的第52頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四PC機(jī)一般使用通用異步接收器/發(fā)送器(8250) 或16c550/作為串行通訊的控制器,使用9針或25針的接插件將串行口的信號(hào)送出。第53頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四一、PC機(jī)串口資源及編程
29、使用方法 PC機(jī)一般有COM1和COM2兩個(gè)串口。 寄存器名稱端口地址復(fù)位后初始值COM1COM2發(fā)送器保持寄存器(TBR)3F8H2F8HXXXXXXXXB接收器數(shù)據(jù)寄存器(RBR)3F8H2F8HXXXXXXXXB波特率因子低位寄存器(DLL)3F8H2F8H00000000B波特率因子高位寄存器(DLH)3F9H2F9H00000001B中斷允許寄存器(IER)3F9H2F9H00000000B中斷標(biāo)識(shí)寄存器(IIR)3FAH2FAH00000000B線路控制寄存器(LCR)3FBH2FBH01100000B調(diào)制解調(diào)器控制寄存器(MCR)3FCH2FCHXXXX0000B線路狀態(tài)寄存器(
30、LSR)3FDH2FDHXXXXXXXXB調(diào)制解調(diào)器狀態(tài)寄存器(MSR)3FEH2FEHXXXXXXXXB8250系列寄存器的定義: 第54頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四使用串口必須先初始化,有以下4個(gè)步驟DLHDLL波特率DLHDLL波特率DLHDLL波特率09H00H5000HC0H60000H18H480006H00H7500H60H120000H10H720004H17H11000H40H180000H0CH960003H59H134.500H3AH200000H06H1920003H00H15000H30H240000H03H3840001H80H30000
31、H20H360000H01H115200例:設(shè)COM1的波特率為9600,則outportb(0 x3fb,0 x80);/*寫線路控制寄存器,訪問波特率因子寄存器*/ outportb(0 x3f8,0 x0c);/*寫入波特率因子低字節(jié)*/ outportb(0 x3f9,0 x00);/*寫入波特率因子高字節(jié)*/ 設(shè)置波特率PC機(jī)串口初始化第55頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 設(shè)置數(shù)據(jù)格式 例:設(shè)數(shù)據(jù)為7位,1位起始位,1位停止位,偶校驗(yàn),則設(shè)置如下:outportb(0 x3fb,0 x1a); 設(shè)置操作方式不允許中斷:outportb(0 x3fc,0 x0
32、3);允許中斷:outportb(0 x3fc,0 x0b);自測(cè)試工作方式,且不允許中斷:outportb(0 x3fc,0 x13); 設(shè)置中斷允許寄存器開放中斷語(yǔ)句:outportb(0 x3f9,0 x0f); PC機(jī)串口初始化第56頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四例1 將PC機(jī)的COM1初始化為9600波特率、7位數(shù)據(jù)、偶校驗(yàn)、1位停止位、不中斷,則初始程序如下:initcom1()outportb(0 x3fb,0 x80); /*寫線路控制寄存器,訪問波特率因子寄存器*/ outportb(0 x3f8,0 x0c); /*寫入波特率因子低字節(jié)*/ out
33、portb(0 x3f9,0 x00); /*寫入波特率因子高字節(jié)*/ outportb(0 x3fb,0 x1a); /*設(shè)數(shù)據(jù)為7位,1位起始 位,1位停止位,偶校驗(yàn)*/ outportb(0 x3fc,0 x03); /*不允許中斷*/PC機(jī)的發(fā)送、接收程序第57頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四例2 PC機(jī)從COM1發(fā)送一個(gè)字符,程序如下:send(char sendchar)Int coms;do/*查詢發(fā)送緩沖器是否空*/coms=inportb(0 x3fd);while(coms!=0 x20);查詢等待com1的線路狀態(tài)寄存器(LSR)的第五位的狀態(tài)是否
34、為1,即發(fā)送保持寄存器是否為空?outportb(0 x3f8,sendchar);第58頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四例3 PC機(jī)從COM1接收一個(gè)字符,程序如下:char receive() char coms,receivechar;waitok:/*查詢接收數(shù)據(jù)是否有效*/coms=inportb(0 x3fd);if(coms&0 x01)=0)goto waitok;receivechar= inportb(0 x3f8);return receivechar;第59頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四二、PC機(jī)與單片機(jī)雙機(jī)通信 PC機(jī)
35、與單片機(jī)構(gòu)成主從式上下位計(jì)算機(jī)系統(tǒng)。 例:從PC機(jī)鍵盤上輸入一個(gè)字符,然后將這個(gè)字符發(fā)送給單片機(jī),單片機(jī)接收到這個(gè)字符后,不做任何處理,又將它發(fā)回給PC機(jī),PC機(jī)將這個(gè)字符顯示在屏幕上。連接電路如下: PC機(jī)RXDTXDMAX232T1OUTR1INT1IN(R1OUTRXDTXDMCS-51約定:波特率:2400b/s信息格式:8位數(shù)據(jù),1位停止位傳送方式:PC機(jī)采用查詢式收發(fā)數(shù)據(jù),單片機(jī)采用中斷式收發(fā)數(shù)據(jù) 由于PC機(jī)是RS-232C電平,單片機(jī)是TTL電平,用MAX232進(jìn)行電平轉(zhuǎn)換。PC機(jī)與單片機(jī)通信設(shè)計(jì)第60頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四 PC機(jī)的通信軟件 #
36、include “stdio.h”main() char c1,c2; int coms;outportb(0 x3fb,0 x80);/*初始化8250*/outportb(0 x3f8,0 x30); outportb(0 x3f9,0 x00);outportb(0 x3fb,0 x03);/*8位數(shù)據(jù),1位停止位*/outportb(0 x3fc,0 x03);c1=getchar();開 始初始化8250有鍵輸入嗎?取鍵盤字符發(fā)送寄存器空否?向單片機(jī)發(fā)送字符接收單片機(jī)發(fā)回的字符接收的數(shù)據(jù)有效碼?顯示發(fā)回的字符NNNYYY結(jié) 束PC機(jī)發(fā)送程序第61頁(yè),共74頁(yè),2022年,5月20日,
37、17點(diǎn)5分,星期四開 始初始化定時(shí)器T1初始化串行口啟動(dòng)定時(shí)器T1開放中斷主程序踏步中斷服務(wù)程序關(guān)中斷清接收中斷標(biāo)志RI保護(hù)現(xiàn)場(chǎng)接收PC機(jī)發(fā)來(lái)的字符將字符發(fā)送回PC機(jī)開中斷,恢復(fù)現(xiàn)場(chǎng)中斷返回MCS-51單片機(jī)通信軟件主程序中斷服務(wù)程序第62頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四主程序:ORG0000HLJMPMAINORG0023HLJMPSERVEMAIN: MOVTMOD,#20H ;初始化T1MOVTH1,#0F3HMOVTL1,#0F3HMOVSCON,#50H;串行口為方式1,REN=1MOVPCON,#80H;SMOD=1SETBTR1SETBEASETBESHE
38、RE: SJMPHERE單片機(jī)接收程序第63頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四中斷服務(wù)程序:SERVE:CLREA;中斷服務(wù)程序CLRRIPUSHPSW;保護(hù)現(xiàn)場(chǎng)PUSHACCMOVA,SBUF;接收PC機(jī)發(fā)來(lái)的字符MOVSBUF,A;將字符回送給PC機(jī)WAIT:JNBTI,WAIT;等待發(fā)送完畢CLRTIPOPACC;恢復(fù)現(xiàn)場(chǎng)POPPSWSETBEARETIEND第64頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四三、PC機(jī)與單片機(jī)通訊多機(jī)通信多機(jī)通信的關(guān)鍵問題:識(shí)別單片機(jī)!給單片機(jī)編號(hào)。怎樣識(shí)別單片機(jī)?起始位D0D1D2D3D4D5D6D7奇偶位停止位起始位
39、D0D1D2D3D4D5D6D7TB8停止位 從PC機(jī)和單片機(jī)幀格式可知:通過軟件編程,使得PC機(jī)在發(fā)送地址(單片機(jī)編號(hào))時(shí),奇偶位為1,發(fā)送數(shù)據(jù)時(shí)為0;單片機(jī)接收時(shí),TB8為1表示收到的地址,為0表示收到的數(shù)據(jù)。 PC機(jī)與單片機(jī)通訊多機(jī)通信第65頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四例:從PC機(jī)的鍵盤上輸入單片機(jī)的編號(hào),要求PC機(jī)與該單片機(jī)進(jìn)行通信測(cè)試,從鍵盤上輸入一個(gè)字符,發(fā)送給某單片機(jī),單片機(jī)受到該字符后,又發(fā)回給PC機(jī),在屏幕上顯示出來(lái)。 由于RS-232C不能實(shí)現(xiàn)多機(jī)通信,故采用RS-422標(biāo)準(zhǔn)。電路如下: PC機(jī)TXDRXD232/422轉(zhuǎn)換器RXDTXDMCS-
40、5175175751741號(hào)RXDTXDMCS-5175175751742號(hào)RXDTXDMCS-517517575174n號(hào)PC機(jī)與單片機(jī)的多機(jī)通信圖中75174是長(zhǎng)線發(fā)送器,它將單端輸入信號(hào)變成差動(dòng)輸出信號(hào),并增強(qiáng)驅(qū)動(dòng)能力。75175是長(zhǎng)線接收器,它將差動(dòng)輸入信號(hào)變成單端輸出信號(hào)。第66頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四什么是差分信號(hào)?一個(gè)差分信號(hào)是用一個(gè)數(shù)值來(lái)表示兩個(gè)物理量之間的差異。一個(gè)差分信號(hào)作用在兩個(gè)導(dǎo)體上,信號(hào)值是兩個(gè)導(dǎo)體間的電壓差。采用差分信號(hào)有什么好處 ?因?yàn)槟阍诳刂苹鶞?zhǔn)電壓,所以能夠很容易地識(shí)別小信號(hào)。 它對(duì)外部電磁干擾(EMI)是高度免疫的。 在一個(gè)單
41、電源系統(tǒng),能夠從容精確地處理雙極信號(hào) 第67頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四開 始初始化8250輸入單片機(jī)編號(hào)發(fā)送單片機(jī)編號(hào)接收單片機(jī)送回的編號(hào)取鍵盤字符編號(hào)一致嗎?向單片機(jī)發(fā)送字符接收單片機(jī)發(fā)回的字符顯示發(fā)回的字符NY結(jié) 束多機(jī)通訊程序設(shè)計(jì)第68頁(yè),共74頁(yè),2022年,5月20日,17點(diǎn)5分,星期四程序清單:#include “stdio.h”main() char c1,c2,n1,n2; int coms; outportb(0 x3fb,0 x80);/*初始化8250*/ outportb(0 x3f8,0 x30); outportb(0 x3f9,0 x00); outportb(0 x3fb,0 x2b);/*8位數(shù)據(jù),1位停止,奇偶校驗(yàn)位為1*/ outportb(0 x3fc,0 x03);/*PC機(jī)處于發(fā)送地址狀態(tài)*/ outportb(0 x3f9,0 x00);/*禁止8250中斷*/ printf(“Please input the number of MCS:n”); scanf(“%c”,&n1);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)浴潔具國(guó)慶節(jié)活動(dòng)方案
- 環(huán)境藝術(shù)設(shè)計(jì)與室內(nèi)設(shè)計(jì)的審美互動(dòng)
- 生產(chǎn)工藝流程中的質(zhì)量控制與安全管理
- 現(xiàn)代服務(wù)業(yè)在商業(yè)地產(chǎn)中的價(jià)值挖掘
- 物流技術(shù)與管理教育的新模式
- Unit 4 Plants around us Lesson 6(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 7《可愛的動(dòng)物》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治一年級(jí)下冊(cè)
- Unit 2 Whats your name (Story time)(說課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)001
- Unit 4 A glimpse of the future 說課稿-2023-2024學(xué)年高二下學(xué)期英語(yǔ)外研版(2019)選擇性必修第三冊(cè)001
- 14文言文二則《兩小兒辯日》說課稿-2023-2024學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)
- 腹腔引流管的護(hù)理常見并發(fā)癥的預(yù)防與處理規(guī)范
- 工地試驗(yàn)室質(zhì)量手冊(cè)
- 信息資源管理(馬費(fèi)成-第三版)復(fù)習(xí)重點(diǎn)
- 郵輪外部市場(chǎng)營(yíng)銷類型
- GB/T 42460-2023信息安全技術(shù)個(gè)人信息去標(biāo)識(shí)化效果評(píng)估指南
- 05G359-3 懸掛運(yùn)輸設(shè)備軌道(適用于一般混凝土梁)
- 工程與倫理課程
- CKDMBD慢性腎臟病礦物質(zhì)及骨代謝異常
- 潮汕英歌舞課件
- 田字格模版內(nèi)容
- 第一章 公共政策分析的基本理論與框架
評(píng)論
0/150
提交評(píng)論