




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、關于串行口及串行通信技術第一張,PPT共七十四頁,創(chuàng)作于2022年6月什么是串行通信?串行通信和并行通信 計算機1 GND 計算機2 GND并行通信 計算機1 GND 計算機2 GND發(fā)送接收串行通信并行通信:數(shù)據(jù)的各位同時傳送;串行通信:數(shù)據(jù)一位一位順序傳送???、多(數(shù)據(jù)線)、近慢、少、遠第二張,PPT共七十四頁,創(chuàng)作于2022年6月串行通信制式:單工(a)、半雙工(b)和全雙工(c) (simplex half duplex full duplex)發(fā)送器A站接收器B站單工通信(a)發(fā)收A站發(fā)收B站發(fā)收A站發(fā)收B站(b)(c)第三張,PPT共七十四頁,創(chuàng)作于2022年6月 異步通信,ASY
2、NC (Asynchronous Data Communication):幀格式傳送,信息量不大1個起始位,058個數(shù)據(jù)位奇偶校驗位12個停止位,0串行通信的分類:異步(Asynchronous Communication) 同步(Synchronous Communication) 第四張,PPT共七十四頁,創(chuàng)作于2022年6月 同步通信,SYNC(Synchronous Data Communication):嚴格同步,發(fā)送同步字符,數(shù)據(jù)連續(xù),信息量大,速度較高按數(shù)據(jù)塊傳送把要傳送的字符順序連接起來數(shù)據(jù)塊前有同步字符,后有檢驗字符同步字符可由通信雙方約定,也可采用ASCII碼中規(guī)定的SYN
3、C代碼,即16H。數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)同步字符同步字符1同步字符2同步傳送時,要求用時鐘來實現(xiàn)發(fā)送端與接收端之間的同步。第五張,PPT共七十四頁,創(chuàng)作于2022年6月波特率(Band rate)數(shù)據(jù)傳送速率:每秒傳送的二進制代碼的位數(shù)。波特率反映了串行通信的速率,也反映了對于傳輸通道的要求。波特率越高,要求傳輸通道的頻率越寬,一般異步通信的波特率在50b/s19200b/s之間。相互通信的甲乙雙方必須具有相同的波特率,否則無法成功地完成串行數(shù)據(jù)通信。通信線上傳送的所有位信號都保持一致的信號持續(xù)時間,每一位的信號持續(xù)時間都由數(shù)據(jù)傳送速度確定。第六張,PPT共七十四頁,創(chuàng)作于2022年6月舉例假如
4、在1秒內(nèi),89C51串口把100個FFH的數(shù)據(jù)發(fā)送出去,問波特率是多少?假若每個字符是包含一個起始位、一個終止位和8個數(shù)據(jù)位。第七張,PPT共七十四頁,創(chuàng)作于2022年6月根據(jù)串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平等)不同,形成了多種串行通信的協(xié)議與接口標準。常見的有:通用異步收發(fā)器(UART)本課程介紹的串口通用串行總線(USB)I2C總線CAN總線SPI總線RS-485,RS-232C,RS422A標準等等串行通信的基本特征是數(shù)據(jù)逐位順序進行傳送。第八張,PPT共七十四頁,創(chuàng)作于2022年6月 串行口及串行通信技術串行通信基本知識89C51串口及其應用兩個單片機
5、之間的通信單片機與PC機之間的通信第九張,PPT共七十四頁,創(chuàng)作于2022年6月概述有一個可編程全雙工異步串行通信接口(UART) (Universal Asynchronous Receiver/Transmitter )管腳:TXD(P3.1)、RXD(P3.0)可同時發(fā)送、接收數(shù)據(jù)(Transmit/Receive)有四種工作方式,幀格式有8、10、11位。波特率(Baud rate)可設置 波特率:每秒鐘傳送二進制數(shù)碼的位數(shù),也叫比特數(shù),單位為b/s,即位/秒。89C51的串行接口第十張,PPT共七十四頁,創(chuàng)作于2022年6月圖7-7return第十一張,PPT共七十四頁,創(chuàng)作于202
6、2年6月串行口結(jié)構 引腳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第十二張,PPT共七十四頁,創(chuàng)作于2022年6月MCS-51串行接口寄存器SBUF串行口數(shù)據(jù)緩沖器SCON串行口控制寄存器PCON電源及波特率選擇寄存器第十三張,PPT共七十四頁,創(chuàng)作于2022年6月控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式選擇多機通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的
7、第9位接收中斷標志發(fā)送中斷標志9FH9EH9DH9CH9BH9AH99H98HSM2置1,多機通信,用于方式2和方式3D81,地址幀D80,數(shù)據(jù)幀SM2置0,不屬于多機通信第十四張,PPT共七十四頁,創(chuàng)作于2022年6月SM0 SM1工作方式功能波特率0 0方式08位同步移位寄存器fosc/120 1方式110位UART可變1 0方式211位UARTfosc/64或fosc/321 1方式311位UART可變串行方式的定義例:設串行口工作在方式1,允許接收,則指令為: MOV SCON,#01010000B第十五張,PPT共七十四頁,創(chuàng)作于2022年6月串行通信只用該位,為1時,波特率2;為0
8、時不變。電源及波特率選擇寄存器PCONSMODGF1GF0PDIDL87H第十六張,PPT共七十四頁,創(chuàng)作于2022年6月串行口四種工作方式應用比較方式的選擇由SM1、SM0實現(xiàn)。工作方式功能說明波特率方式08位同步移位寄存器常用于擴展I/O口fosc/12方式110位UART8位數(shù)據(jù)、起始位、結(jié)束位可變(取決于定時器1溢出率)方式211位UART8位數(shù)據(jù)、起始位0、結(jié)束位1和奇偶校驗位fosc/64或fosc/32方式311位UART數(shù)據(jù)、起始、校驗、結(jié)束位可變(取決于定時器1溢出率)波特率的設定可參見表7.2,實際無需計算。表第十七張,PPT共七十四頁,創(chuàng)作于2022年6月方式0 在方式0
9、下,串行口作同步移位寄存器用,其波特率固定為fosc/12。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。這種方式常用于擴展I/O口。方式0用于擴展I/O口輸出第十八張,PPT共七十四頁,創(chuàng)作于2022年6月方式0用于擴展I/O口輸入第十九張,PPT共七十四頁,創(chuàng)作于2022年6月方式110位的幀格式 串行口為波特率可調(diào)的10位通用異步接口UART。每發(fā)送或接收的一幀信息中,包括1位起始位0,8位數(shù)據(jù)位和1位停止位1。第二十張,PPT共七十四頁,創(chuàng)作于2022年6月方式2 串行口為11位UART,傳送波特率與SMOD有關。發(fā)送或接收的一幀數(shù)據(jù)中包括1位起始位0
10、,8位數(shù)據(jù)位,1位可編程位(用于奇偶校驗)和1位停止位1。11位的幀格式第二十一張,PPT共七十四頁,創(chuàng)作于2022年6月方式3 方式3為波特率可變的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。第二十二張,PPT共七十四頁,創(chuàng)作于2022年6月MCS-51串行口的波特率1.方式0和方式2的波特率是固定的 在方式2中,波特率取決于PCON中的SMOD值: 當SMOD=0時,波特率為fosc/64; 當SMOD=1時,波特率為fosc/32.即波特率 = 。oscSMODf642 在方式0中,波特率為時鐘頻率的1/12,即fosc/12,固定不變圖第二十三張,PPT共七十四頁,
11、創(chuàng)作于2022年6月2. 方式1和方式3的波特率可變,由定時器1的溢出率決定波特率/(b/s)fosc/MHzSMOD定時器1C/模式初始值方式0:1 M方式2:375 k方式1、3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k11011012121211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=returnRETURN第二十四張,PPT共七十四頁,創(chuàng)作于2022年6月 解決的方法只有調(diào)整單片機的時鐘頻率f
12、osc,通常采用11.0592MHz晶振。常用波特率及其產(chǎn)生條件 常用波特率通常按規(guī)范取1200、2400、4800、9600、,若采用晶振12MHz和6MHz,則計算得出的T1定時初值將不是一個整數(shù),產(chǎn)生波特率誤差而影響串行通信的同步性能。第二十五張,PPT共七十四頁,創(chuàng)作于2022年6月四種工作方式應用舉例第二十六張,PPT共七十四頁,創(chuàng)作于2022年6月串行口的應用編程注意事項設置串行口工作方式設置波特率(SMOD,若是方式1、3,設置TI初值)若串行口接收數(shù)據(jù),REN必須賦值為1TI和RI標志,須由軟件清0第9位第二十七張,PPT共七十四頁,創(chuàng)作于2022年6月串行口工作方式0 用于擴
13、展I/O口,外接74HC164(串入并出)或165(并入串出)。RXD作為數(shù)據(jù)輸入/輸出端,TXD作為同步時鐘信號,接至時鐘端。 8位數(shù)據(jù)為1幀,由低位到高位,無起始位和停止位。 波特率: fosc/12第二十八張,PPT共七十四頁,創(chuàng)作于2022年6月例用89C51串行口外接CD4049或164串入-并出移位寄存器擴展8位并行口;8位并行口的每位都接一個發(fā)光二極管,要求發(fā)光二極管從左到右以一定延遲輪流顯示,并不斷循環(huán)。設發(fā)光二極管為共陰極接法。如圖所示。89C51 RXD TXD P1.0DATA CD4049CLK STB 第二十九張,PPT共七十四頁,創(chuàng)作于2022年6月解:設數(shù)據(jù)串行發(fā)
14、送采用中斷方式,顯示延遲通過延遲程序DELAY來實現(xiàn)。程序清單:ORG 0000H LJMP MAINORG0023HAJMPSBRORG2000HMAIN: MOVSCON, #00H ;串行口方式0初始化MOVA, #80H ;最左一位發(fā)光二極管先亮CLRP1.0 ;關閉并行輸出MOVSBUF, A ;開始串行輸出LOOP: SJMP$ ;等待中斷SBR:SETBP1.0 ;啟動并行輸出ACALL DELAY ;顯示延遲一段時間CLRTI ;清發(fā)送中斷標志RRA ;準備右移一位顯示CLR P1.0 ;關閉并行輸出MOVSBUF, A ;再一次串行輸出RETI 第三十張,PPT共七十四頁,創(chuàng)
15、作于2022年6月串行口工作方式110位通用異步串行口UART (Universal Asynchronous Receiver / Transmitter) ,1位起始位、8位數(shù)據(jù)、1位停止位。波特率可調(diào),由定時器T1的溢出率(定時時間)決定。 當一幀數(shù)據(jù)接收完畢后,必須同時滿足以下條件,這次接收才真正有效:REN =1RI=0, SBUF為空SM2=0或SM2=1時,收到停止位為1,收到的數(shù)據(jù)才能裝到SBUF里。 第三十一張,PPT共七十四頁,創(chuàng)作于2022年6月串行口工作方式1波特率 (定時器T1的溢出速率) PCON.7波特率選擇位第三十二張,PPT共七十四頁,創(chuàng)作于2022年6月7位
16、ASCII碼+1位奇偶校驗位=8A中1的個數(shù)為奇數(shù),P=1,如果最高位為為P的值,則A的1的個數(shù)編程偶數(shù),因此,要把P的值取反以后放入ASCII碼最高位,才是奇校驗。設發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收首地址為40H例 89C51串行口按雙工方式收發(fā)ASCII字符,最高位用作奇校驗,要求傳送碼率為1200b/s,fosc=11.059MHz。奇偶校驗位:數(shù)據(jù)位和奇偶位中1的個數(shù)偶校驗:以上1的個數(shù)為偶數(shù)奇校驗:以上1的個數(shù)為奇數(shù)第三十三張,PPT共七十四頁,創(chuàng)作于2022年6月MOV TMOD, #20H; MOV TL1, #0E8H;MOV TH1, #0E8H;SETB TR1;MOV S
17、CON, #50H;MOV R0, #20H;MOV R1, #40H;SETBES;SETBEA;LCALLSOUT;SJMP$;T1為模式2時間常數(shù),見表7-2重裝時常啟動T1串行口方式1,允許接收發(fā)送數(shù)據(jù)區(qū)首址接收數(shù)據(jù)區(qū)首址串行口開中斷CPU開中斷發(fā)送一個字符等待中斷表ORG0000HLJMP MAINORG0050HMAIN:第三十四張,PPT共七十四頁,創(chuàng)作于2022年6月中斷服務程序ORG0023HLJMP SBR1ORG0100HPUSHACCPUSHPSWJNBRI,SENDLCALLSINSJMP NEXTLCALLSOUTPOPPSWPOPACCRETISBR1:SEND:
18、NEXT:第三十五張,PPT共七十四頁,創(chuàng)作于2022年6月發(fā)送子程序CLRTIMOV A,R0MOV C,PCPLCMOV ACC.7,CMOV SBUF,AINC R0RETSOUT:;若奇數(shù)個1,P1;取要發(fā)送的數(shù)據(jù);A中的ASCII碼為奇校驗;發(fā)送;修改發(fā)送數(shù)據(jù)區(qū)指針第三十六張,PPT共七十四頁,創(chuàng)作于2022年6月接收子程序CLR RIMOV A,SBUFJNB P,ERANL A,#7FHMOV R1,AINC R1RETSIN:;若偶數(shù)個1,出錯;讀接收到的數(shù)據(jù);數(shù)據(jù)存入接收區(qū);修改接收數(shù)據(jù)區(qū)指針;若奇數(shù)個1,ACC.7清0ER:;處理出錯程序第三十七張,PPT共七十四頁,創(chuàng)作于
19、2022年6月串行口工作方式2和方式3每幀11位:1位起始位,9位數(shù)據(jù)(D8D0),1位停止位;第9位數(shù)據(jù)作為奇偶校驗位或地址/數(shù)據(jù)標志位;發(fā)送時,第9位(D8)數(shù)據(jù)裝入TB8;-串口自動完成MOV A ,DATAMOV TB8, CMOV SBUF, A接收時,第9位(D8)數(shù)據(jù)裝入RB8;D0D7 SBUFD8RB8RI =1多機通信第三十八張,PPT共七十四頁,創(chuàng)作于2022年6月串行口工作方式2和方式3方式2,波特率位fosc/32或fosc/64;方式3,波特率可調(diào),同方式1。第三十九張,PPT共七十四頁,創(chuàng)作于2022年6月用第9個數(shù)據(jù)位作奇偶校驗位, 編制串行口方式2的發(fā)送程序。
20、例:設計一個發(fā)送程序,將片內(nèi)RAM 50H5FH中的數(shù)據(jù)串行發(fā)送;串行口設定為方式2狀態(tài),TB8作奇偶校驗位,采用偶校驗。串行口初始化地址指針R0長度計數(shù)器R7置初值取數(shù)據(jù)APTB8ASBUFTI =1?0TI,指針R0+1(R7)-1=0?返回YYNN第四十張,PPT共七十四頁,創(chuàng)作于2022年6月程序清單TRT: MOV SCON, #80H ;方式2設定 MOV PCON, #80H ; 波特率=fosc/32 MOV R0,#50H ;首地址R0 MOV R7, #10H ;數(shù)據(jù)長度LOOP:MOV A,R0 ;取數(shù)據(jù) MOV C, PSW.0 ;PTB8 MOV TB8, C MOV
21、 SBUF, A ;數(shù)據(jù)SBUF,啟動發(fā)送WAIT: JBC TI, CONT ;判斷發(fā)送中斷標志 SJMP WAITCONT: INC R0 DJNZ R7, LOOP RET第四十一張,PPT共七十四頁,創(chuàng)作于2022年6月 串行口及串行通信技術串行通信基本知識89C51串口及其應用兩個單片機之間的通信單片機與PC機之間的通信第四十二張,PPT共七十四頁,創(chuàng)作于2022年6月兩個單片機之間的通信通信協(xié)議:幀格式、校驗方式等 波特率第四十三張,PPT共七十四頁,創(chuàng)作于2022年6月雙機通信軟件編程查詢方式 1) 甲機發(fā)送 編程將甲機片外1000H101FH單元的數(shù)據(jù)塊從串行口輸出。定義方式2
22、發(fā)送,TB8為奇偶校驗位。發(fā)送波特率375 kb/s,晶振為12 MHz, SMOD=1。第四十四張,PPT共七十四頁,創(chuàng)作于2022年6月參考發(fā)送子程序如下: MOV SCON,#80H ;設置串行口為方式2 MOV PCON,#80H ;SMOD=1 MOV DPTR,#1000H ;設數(shù)據(jù)塊指針 MOV R7,#20H ;設數(shù)據(jù)塊長度 START: MOVX A,DPTR ;取數(shù)據(jù)給A MOV C,P MOV TB8,C ;奇偶位P送給TB8 MOV SBUF,A ;數(shù)據(jù)送SBUF,啟動發(fā)送 WAIT: JBC TI,CONT ;判斷一幀是否發(fā)送完。若送完,清TI,取下一個數(shù)據(jù) AJMP
23、 WAIT ;未完等待 CONT: INC DPTR ;更新數(shù)據(jù)單元 DJNZ R7,START ;循環(huán)發(fā)送至結(jié)束 RET 第四十五張,PPT共七十四頁,創(chuàng)作于2022年6月2) 乙機接收 編程使乙機接收甲機發(fā)送過來的數(shù)據(jù)塊,并存入片內(nèi)50H6FH單元。接收過程要求判斷RB8,若出錯置F0標志為1,正確則置F0標志為0,然后返回。 在進行雙機通信時,兩機應采用相同的工作方式和波特率。第四十六張,PPT共七十四頁,創(chuàng)作于2022年6月參考接收子程序如下: MOV SCON,#80H ;設置串行口為方式2 MOV PCON,#80H ;SMOD=1MOV R0,#50H ;設置數(shù)據(jù)塊指針MOV R
24、7,#20H ;設置數(shù)據(jù)塊長度SETB REN ;啟動接收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,則出錯 SJMP RIGHT ;二者全為1,則正確 PZ: JB RB8, ERR ;P=0,RB8=1,則出錯RIGHT: MOV R0, A ;正確,存放數(shù)據(jù)INC R0 ;更新地址指針DJNZ R7, WAIT ;判斷數(shù)據(jù)塊是否接收完CLR PSW.5 ;接收正確,且接收完清F0標志RET
25、 ;返回 ERR: SETB PSW.5 ;出錯,置F0標志為1RET ;返回第四十七張,PPT共七十四頁,創(chuàng)作于2022年6月7.3 多個89C51通信多機通信步驟:主機SM20,所有從機的SM21,以便接收主機發(fā)來的地址。主機發(fā)送地址,其中D81。所有從機接收主機發(fā)來的地址,進入中斷服務程序,并和本機地址比較,確認是否是被尋址從機。被尋址從機清除SM2,以便接收數(shù)據(jù),并向主機發(fā)回從機地址,供主機核對。其他從機保持SM21,并退出中斷服務程序。數(shù)據(jù)通信完畢,被尋址從機SM21,退出中斷服務程序,等待下次通信。第四十八張,PPT共七十四頁,創(chuàng)作于2022年6月 串行口及串行通信技術串行通信基本
26、知識89C51串口及其應用兩個單片機之間的通信單片機與PC機之間的通信第四十九張,PPT共七十四頁,創(chuàng)作于2022年6月PC機與單片機通信 PC機是國內(nèi)目前使用應用最廣泛的微機,在與單片機串行接口后,可以方便地構成主從分布式多機系統(tǒng)。從機(單片機)作數(shù)據(jù)采集或?qū)崟r控制,主機作數(shù)據(jù)處理或中央管理等。 這種多機系統(tǒng)在過程控制、儀表生產(chǎn)、生產(chǎn)自動化和企業(yè)管理等方面都有廣泛的應用。此外微機和單片機串行接口后,可以大大方便單片機的開發(fā)過程。第五十張,PPT共七十四頁,創(chuàng)作于2022年6月7.4 89C51與PC機通信電氣規(guī)范不一致,TTL與RS232電平轉(zhuǎn)換,1488、148989C51第五十一張,PP
27、T共七十四頁,創(chuàng)作于2022年6月采用MAX232芯片接口的PC機與89C51單片機串行通信接口電路只需單一的+5V電源即可Tin、Rout-接單片機Rin、Tout-接PC機 Tin、Tout成對使用 Rin、Rout成對使用 T、R是針對單片機的動作命名的第五十二張,PPT共七十四頁,創(chuàng)作于2022年6月PC機一般使用通用異步接收器/發(fā)送器(8250) 或16c550/作為串行通訊的控制器,使用9針或25針的接插件將串行口的信號送出。第五十三張,PPT共七十四頁,創(chuàng)作于2022年6月一、PC機串口資源及編程使用方法 PC機一般有COM1和COM2兩個串口。 寄存器名稱端口地址復位后初始值C
28、OM1COM2發(fā)送器保持寄存器(TBR)3F8H2F8HXXXXXXXXB接收器數(shù)據(jù)寄存器(RBR)3F8H2F8HXXXXXXXXB波特率因子低位寄存器(DLL)3F8H2F8H00000000B波特率因子高位寄存器(DLH)3F9H2F9H00000001B中斷允許寄存器(IER)3F9H2F9H00000000B中斷標識寄存器(IIR)3FAH2FAH00000000B線路控制寄存器(LCR)3FBH2FBH01100000B調(diào)制解調(diào)器控制寄存器(MCR)3FCH2FCHXXXX0000B線路狀態(tài)寄存器(LSR)3FDH2FDHXXXXXXXXB調(diào)制解調(diào)器狀態(tài)寄存器(MSR)3FEH2F
29、EHXXXXXXXXB8250系列寄存器的定義: 第五十四張,PPT共七十四頁,創(chuàng)作于2022年6月使用串口必須先初始化,有以下4個步驟DLHDLL波特率DLHDLL波特率DLHDLL波特率09H00H5000HC0H60000H18H480006H00H7500H60H120000H10H720004H17H11000H40H180000H0CH960003H59H134.500H3AH200000H06H1920003H00H15000H30H240000H03H3840001H80H30000H20H360000H01H115200例:設COM1的波特率為9600,則outportb(0
30、 x3fb,0 x80);/*寫線路控制寄存器,訪問波特率因子寄存器*/ outportb(0 x3f8,0 x0c);/*寫入波特率因子低字節(jié)*/ outportb(0 x3f9,0 x00);/*寫入波特率因子高字節(jié)*/ 設置波特率PC機串口初始化第五十五張,PPT共七十四頁,創(chuàng)作于2022年6月 設置數(shù)據(jù)格式 例:設數(shù)據(jù)為7位,1位起始位,1位停止位,偶校驗,則設置如下:outportb(0 x3fb,0 x1a); 設置操作方式不允許中斷:outportb(0 x3fc,0 x03);允許中斷:outportb(0 x3fc,0 x0b);自測試工作方式,且不允許中斷:outportb
31、(0 x3fc,0 x13); 設置中斷允許寄存器開放中斷語句:outportb(0 x3f9,0 x0f); PC機串口初始化第五十六張,PPT共七十四頁,創(chuàng)作于2022年6月例1 將PC機的COM1初始化為9600波特率、7位數(shù)據(jù)、偶校驗、1位停止位、不中斷,則初始程序如下:initcom1()outportb(0 x3fb,0 x80); /*寫線路控制寄存器,訪問波特率因子寄存器*/ outportb(0 x3f8,0 x0c); /*寫入波特率因子低字節(jié)*/ outportb(0 x3f9,0 x00); /*寫入波特率因子高字節(jié)*/ outportb(0 x3fb,0 x1a);
32、/*設數(shù)據(jù)為7位,1位起始 位,1位停止位,偶校驗*/ outportb(0 x3fc,0 x03); /*不允許中斷*/PC機的發(fā)送、接收程序第五十七張,PPT共七十四頁,創(chuàng)作于2022年6月例2 PC機從COM1發(fā)送一個字符,程序如下:send(char sendchar)Int coms;do/*查詢發(fā)送緩沖器是否空*/coms=inportb(0 x3fd);while(coms!=0 x20);查詢等待com1的線路狀態(tài)寄存器(LSR)的第五位的狀態(tài)是否為1,即發(fā)送保持寄存器是否為空?outportb(0 x3f8,sendchar);第五十八張,PPT共七十四頁,創(chuàng)作于2022年6
33、月例3 PC機從COM1接收一個字符,程序如下: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;第五十九張,PPT共七十四頁,創(chuàng)作于2022年6月二、PC機與單片機雙機通信 PC機與單片機構成主從式上下位計算機系統(tǒng)。 例:從PC機鍵盤上輸入一個字符,然后將這個字符發(fā)送給單片機,單片機接收到這個字符后,不做任何處理,又將它發(fā)回給PC機,
34、PC機將這個字符顯示在屏幕上。連接電路如下: PC機RXDTXDMAX232T1OUTR1INT1IN(R1OUTRXDTXDMCS-51約定:波特率:2400b/s信息格式:8位數(shù)據(jù),1位停止位傳送方式:PC機采用查詢式收發(fā)數(shù)據(jù),單片機采用中斷式收發(fā)數(shù)據(jù) 由于PC機是RS-232C電平,單片機是TTL電平,用MAX232進行電平轉(zhuǎn)換。PC機與單片機通信設計第六十張,PPT共七十四頁,創(chuàng)作于2022年6月 PC機的通信軟件 #include “stdio.h”main() char c1,c2; int coms;outportb(0 x3fb,0 x80);/*初始化8250*/outpor
35、tb(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ā)送寄存器空否?向單片機發(fā)送字符接收單片機發(fā)回的字符接收的數(shù)據(jù)有效碼?顯示發(fā)回的字符NNNYYY結(jié) 束PC機發(fā)送程序第六十一張,PPT共七十四頁,創(chuàng)作于2022年6月開 始初始化定時器T1初始化串行口啟動定時器T1開放中斷主程序踏步中斷服務程序關中斷清接收中斷標志RI保護現(xiàn)場接收PC機發(fā)來的字符將字符發(fā)送回PC機開中斷,恢復現(xiàn)場
36、中斷返回MCS-51單片機通信軟件主程序中斷服務程序第六十二張,PPT共七十四頁,創(chuàng)作于2022年6月主程序:ORG0000HLJMPMAINORG0023HLJMPSERVEMAIN: MOVTMOD,#20H ;初始化T1MOVTH1,#0F3HMOVTL1,#0F3HMOVSCON,#50H;串行口為方式1,REN=1MOVPCON,#80H;SMOD=1SETBTR1SETBEASETBESHERE: SJMPHERE單片機接收程序第六十三張,PPT共七十四頁,創(chuàng)作于2022年6月中斷服務程序:SERVE:CLREA;中斷服務程序CLRRIPUSHPSW;保護現(xiàn)場PUSHACCMOVA
37、,SBUF;接收PC機發(fā)來的字符MOVSBUF,A;將字符回送給PC機WAIT:JNBTI,WAIT;等待發(fā)送完畢CLRTIPOPACC;恢復現(xiàn)場POPPSWSETBEARETIEND第六十四張,PPT共七十四頁,創(chuàng)作于2022年6月三、PC機與單片機通訊多機通信多機通信的關鍵問題:識別單片機!給單片機編號。怎樣識別單片機?起始位D0D1D2D3D4D5D6D7奇偶位停止位起始位D0D1D2D3D4D5D6D7TB8停止位 從PC機和單片機幀格式可知:通過軟件編程,使得PC機在發(fā)送地址(單片機編號)時,奇偶位為1,發(fā)送數(shù)據(jù)時為0;單片機接收時,TB8為1表示收到的地址,為0表示收到的數(shù)據(jù)。 P
38、C機與單片機通訊多機通信第六十五張,PPT共七十四頁,創(chuàng)作于2022年6月例:從PC機的鍵盤上輸入單片機的編號,要求PC機與該單片機進行通信測試,從鍵盤上輸入一個字符,發(fā)送給某單片機,單片機受到該字符后,又發(fā)回給PC機,在屏幕上顯示出來。 由于RS-232C不能實現(xiàn)多機通信,故采用RS-422標準。電路如下: PC機TXDRXD232/422轉(zhuǎn)換器RXDTXDMCS-5175175751741號RXDTXDMCS-5175175751742號RXDTXDMCS-517517575174n號PC機與單片機的多機通信圖中75174是長線發(fā)送器,它將單端輸入信號變成差動輸出信號,并增強驅(qū)動能力。75
39、175是長線接收器,它將差動輸入信號變成單端輸出信號。第六十六張,PPT共七十四頁,創(chuàng)作于2022年6月什么是差分信號?一個差分信號是用一個數(shù)值來表示兩個物理量之間的差異。一個差分信號作用在兩個導體上,信號值是兩個導體間的電壓差。采用差分信號有什么好處 ?因為你在控制基準電壓,所以能夠很容易地識別小信號。 它對外部電磁干擾(EMI)是高度免疫的。 在一個單電源系統(tǒng),能夠從容精確地處理雙極信號 第六十七張,PPT共七十四頁,創(chuàng)作于2022年6月開 始初始化8250輸入單片機編號發(fā)送單片機編號接收單片機送回的編號取鍵盤字符編號一致嗎?向單片機發(fā)送字符接收單片機發(fā)回的字符顯示發(fā)回的字符NY結(jié) 束多機
40、通訊程序設計第六十八張,PPT共七十四頁,創(chuàng)作于2022年6月程序清單:#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位停止,奇偶校驗位為1*/ outportb(0 x3fc,0 x03);/*PC機處于發(fā)送地址狀態(tài)*/ outportb(0 x3f9,0 x00);/*禁止8250中斷*/ printf(“Please input the number of MCS:n”); scanf(“%c”,&n1); do/*查詢發(fā)送移
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西生態(tài)工程職業(yè)技術學院《嵌入式綜合實訓》2023-2024學年第二學期期末試卷
- 保定學院《3S技術在風景園林中的應用》2023-2024學年第一學期期末試卷
- 廣西生態(tài)工程職業(yè)技術學院《第二外語4》2023-2024學年第二學期期末試卷
- 預防接種程序
- 防踩踏安全課件
- 金工安全規(guī)范
- 非暴力溝通在臨床的應用
- 譚談交通安全知識
- 2024入團考試題庫含答案
- 2024秋季新教材七年級語文上冊第三單元教案設計(含寫作課)
- 2025年公共衛(wèi)生相關試題及答案
- 2025年陜西省咸陽市秦都區(qū)啟迪中學九年級中考一模數(shù)學試題(原卷版+解析版)
- 嘉德委托拍賣合同范本
- 2025年合肥經(jīng)濟技術職業(yè)學院單招職業(yè)技能測試題庫含答案
- 2025年河南應用技術職業(yè)學院單招職業(yè)技能測試題庫新版
- 2025年上半年黑龍江鶴崗市興山區(qū)招聘事業(yè)單位人員5人重點基礎提升(共500題)附帶答案詳解-1
- 區(qū)域臨床檢驗中心
- 2024年版人民醫(yī)院新院建設施工合作合同一
- 基于大數(shù)據(jù)的拉薩旅游業(yè)市場分析
- 術后疼痛病人中醫(yī)護理
- 布局經(jīng)營-繪畫構圖基礎 課件-2024-2025學年高中美術人美版(2019)選擇性必修1 繪畫
評論
0/150
提交評論