項(xiàng)目四 單片機(jī)串行接口技術(shù)應(yīng)用_第1頁(yè)
項(xiàng)目四 單片機(jī)串行接口技術(shù)應(yīng)用_第2頁(yè)
項(xiàng)目四 單片機(jī)串行接口技術(shù)應(yīng)用_第3頁(yè)
項(xiàng)目四 單片機(jī)串行接口技術(shù)應(yīng)用_第4頁(yè)
項(xiàng)目四 單片機(jī)串行接口技術(shù)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)原理及應(yīng)用文樺項(xiàng)目四單片機(jī)串行接口技術(shù)應(yīng)用任務(wù)導(dǎo)入

計(jì)算機(jī)與外界的信息交換稱為“通信”。通信的基本方式有兩種:并行方式和串行方式。并行通信(即并行數(shù)據(jù)傳送)是指計(jì)算機(jī)與外界進(jìn)行通信(數(shù)據(jù)傳輸)時(shí),一個(gè)數(shù)據(jù)的各位同時(shí)通過(guò)并行輸入/輸出口進(jìn)行傳送,如圖9-1所示。并行通信的優(yōu)點(diǎn)是數(shù)據(jù)傳送速度快,缺點(diǎn)是一個(gè)并行的數(shù)據(jù)有多少位,就需要多少根傳輸線,在數(shù)據(jù)的位數(shù)較多、傳輸距離較遠(yuǎn)時(shí)不太方便。本任務(wù)是利用串行方式實(shí)現(xiàn)單片機(jī)與單片機(jī)之間的數(shù)據(jù)傳輸。圖9-1并行通信方式任務(wù)一

單片機(jī)雙機(jī)通信任務(wù)分析

用單片機(jī)來(lái)組成兩個(gè)最小應(yīng)用系統(tǒng),利用P3.0(RXD)、和P3.1(TXD)分別控制數(shù)據(jù)的發(fā)送和接收。

任務(wù)一

單片機(jī)雙機(jī)通信111111相關(guān)知識(shí):串行通信基本知識(shí)1、串行通信簡(jiǎn)介串行通信是指一個(gè)數(shù)據(jù)的所有位按一定的順序和方式,一位一位地通過(guò)串行輸入/輸出口進(jìn)行傳送,如圖9-2所示。由于串行通信是按數(shù)據(jù)的逐位順序傳送,在進(jìn)行串行通信時(shí),只需一根傳輸線。在傳送的數(shù)據(jù)位數(shù)多且通信距離很長(zhǎng)時(shí),這種傳輸方式的優(yōu)點(diǎn)就顯得很突出了。圖9-2串行通信方式任務(wù)一

單片機(jī)雙機(jī)通信(1)異步通信和同步通信串行通信是將構(gòu)成數(shù)據(jù)或字符的每個(gè)二進(jìn)制碼位,按照一定的順序逐位進(jìn)行傳送,其傳送有兩種基本的通信方式:

1)同步通信方式同步通信的基本特征是發(fā)送與接收保持嚴(yán)格的同步。由于串行傳送是逐位順序進(jìn)行的,為了約定數(shù)據(jù)是由哪一位開(kāi)始傳送,需要設(shè)定同步字符。這種方式速度快,但是硬件復(fù)雜。2)異步通信方式異步通信方式規(guī)定了傳送格式,每個(gè)數(shù)據(jù)均以相同的幀格式傳送。任務(wù)一

單片機(jī)雙機(jī)通信異步通信中一幀數(shù)據(jù)的格式如圖9-3所示,每幀信息由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位組成,幀與幀之間用高電平分隔開(kāi)。圖9-3異步通信中一幀數(shù)據(jù)的格式任務(wù)一

單片機(jī)雙機(jī)通信異步通信的字符幀也叫數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位等4部分組成。

①起始位:位于字符幀開(kāi)頭,只占一位,為邏輯0低電平,用于向接收設(shè)備表示發(fā)送端開(kāi)始發(fā)送一幀信息。

②數(shù)據(jù)位:緊跟起始位之后,用戶根據(jù)情況可取5位、6位、7位或8位,低位在前,高位在后。

③奇偶校驗(yàn)位:位于數(shù)據(jù)位之后,僅占一位,用來(lái)表征串行通信中采用奇校驗(yàn)還是偶校驗(yàn),由用戶決定。

④停止位:位于字符幀最后,為邏輯1高電平。通常可取1位、1.5位或2位,用于向接收端表示一幀字符信息已經(jīng)發(fā)送完,也為發(fā)送下一幀作準(zhǔn)備。任務(wù)一

單片機(jī)雙機(jī)通信在異步通信中,接收與發(fā)送之間必須有兩項(xiàng)規(guī)定:a)幀格式的設(shè)定。即幀的字符長(zhǎng)度、起始位、數(shù)據(jù)位、停止位,以及奇偶校驗(yàn)形式等的設(shè)定。例如,以ASCII碼傳送,7位數(shù)據(jù)位,1位起始位,1位停止位,奇校驗(yàn)方式。這樣,一幀的字符總數(shù)是10位,而一幀的有用信息是7位。b)波特率的設(shè)定。波特率反映了數(shù)據(jù)通信位流的速度,波特率越高,數(shù)據(jù)信息傳送越快。常用的波特率有300、600、1200、2400、4800、9600、19200和38400等。任務(wù)一

單片機(jī)雙機(jī)通信(2).允許的波特率誤差假設(shè)傳遞的數(shù)據(jù)一幀為10位,若發(fā)送和接收的波特率達(dá)到理想的一致,那么接收方對(duì)數(shù)據(jù)的采樣都將發(fā)生在每位數(shù)據(jù)有效時(shí)刻的中點(diǎn)。如果接收一方的波特率比發(fā)送一方大或小5%,那么對(duì)10位一幀的串行數(shù)據(jù),時(shí)鐘脈沖相對(duì)數(shù)據(jù)有效時(shí)刻逐位偏移,當(dāng)接收到第10位時(shí),積累的誤差達(dá)50%,則采樣的數(shù)據(jù)已是第10位數(shù)據(jù)的有效與無(wú)效的臨界狀態(tài),這時(shí)就可能發(fā)生錯(cuò)位,所以5%是10位一幀串行傳送的最大的波特率允許誤差。

(1).波特率:通信線路上傳送的所有位信號(hào)都保持一致的信號(hào)持續(xù)時(shí)間,每一位的寬度都由數(shù)據(jù)傳送速率確定,而傳送速率是以每秒傳送多少個(gè)二進(jìn)制位來(lái)度量的,這個(gè)速率叫波特率,它的單位是位/秒(b/s或bps)。波特率對(duì)于CPU與外部的通信是很重要的。任務(wù)一

單片機(jī)雙機(jī)通信(3)串行通信中數(shù)據(jù)的傳送方向

串行通信制式:?jiǎn)喂?a)、半雙工(b)和全雙工(c)(simplexhalfduplexfullduplex)發(fā)送器A站接收器B站單工通信(a)發(fā)收A站發(fā)收B站發(fā)收A站發(fā)收B站(b)(c)任務(wù)一

單片機(jī)雙機(jī)通信(4)串行通信中的奇偶校驗(yàn)

串行通信的關(guān)鍵不僅是能夠傳送數(shù)據(jù),更重要的是要能正確地傳送;但是串行通信的距離一般較長(zhǎng),線路容易受到干擾,要保證完全不出錯(cuò)不太現(xiàn)實(shí),尤其是一些干擾嚴(yán)重的場(chǎng)合。在單片機(jī)通信中,最為簡(jiǎn)單又應(yīng)用廣泛的就是奇偶校驗(yàn)的方法。任務(wù)一

單片機(jī)雙機(jī)通信122、單片機(jī)的串行接口

89S52單片機(jī)內(nèi)部集成有一個(gè)功能很強(qiáng)的全雙工串行通信口。發(fā)送緩沖器只能寫入而不能讀出,接收緩沖器只能讀出而不能寫入,因而兩個(gè)緩沖器可以共用一個(gè)地址99H。兩個(gè)緩沖器統(tǒng)稱為串行通信特殊功能寄存器SBUF。

任務(wù)一

單片機(jī)雙機(jī)通信(a)利用TI標(biāo)志控制數(shù)據(jù)發(fā)送(b)利用RI標(biāo)志控制數(shù)據(jù)接收

采用查詢方式進(jìn)行數(shù)據(jù)發(fā)送或接收流程圖任務(wù)一

單片機(jī)雙機(jī)通信(1)控制寄存器SCON(98H)SM0SM1SM2RENTB8RB8TIRI工作方式選擇多機(jī)通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位接收中斷標(biāo)志發(fā)送中斷標(biāo)志9FH9EH9DH9CH9BH9AH99H98H

設(shè)定工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志

JBCRI,rel

89S52的串行口設(shè)有兩個(gè)控制寄存器:串行控制寄存器SCON和波特率選擇特殊功能寄存器PCON。

任務(wù)一

單片機(jī)雙機(jī)通信SM0SM1工作方式功能波特率00方式08位同步移位寄存器fosc/1201方式110位UART可變10方式211位UARTfosc/64或fosc/3211方式311位UART可變例:設(shè)串行口工作在方式1,允許接收,則指令為:

MOVSCON,#01010000B(50H)表9-2串行口工作方式控制任務(wù)一

單片機(jī)雙機(jī)通信串行通信只用該位,為SMOD=1時(shí),波特率×2;SMOD=0時(shí),波特率不變。(2)電源及波特率選擇寄存器PCONSMOD×××GF1GF0PDIDL87H波特率選擇位任務(wù)一

單片機(jī)雙機(jī)通信串行口四種工作方式應(yīng)用比較方式的選擇由SM1、SM0實(shí)現(xiàn)。工作方式功能說(shuō)明波特率方式08位同步移位寄存器常用于擴(kuò)展I/O口fosc/12方式110位UART8位數(shù)據(jù)、起始位、結(jié)束位可變(取決于定時(shí)器1溢出率)方式211位UART8位數(shù)據(jù)、起始位0、結(jié)束位1和奇偶校驗(yàn)位fosc/64或fosc/32方式311位UART數(shù)據(jù)、起始、校驗(yàn)、結(jié)束位可變(取決于定時(shí)器1溢出率)3、串行口工作方式任務(wù)一

單片機(jī)雙機(jī)通信

在方式0下,串行口作同步移位寄存器用,其波特率固定為fosc/12。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。這種方式常用于擴(kuò)展I/O口。(a)方式0擴(kuò)展輸出接口注意:當(dāng)CPU執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令時(shí),產(chǎn)生一個(gè)正脈沖,串行口開(kāi)始把SBUF中的8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳串行輸出,每當(dāng)發(fā)送完8位數(shù)據(jù)后,硬件會(huì)自動(dòng)置TI1,CPU響應(yīng)TI中斷后,必須由用戶用軟件清0。任務(wù)一

單片機(jī)雙機(jī)通信注意:當(dāng)向SCON寄存器寫入控制字(設(shè)置為方式0,并使REN位置1,同時(shí)RI

=

0)時(shí),產(chǎn)生一個(gè)正脈沖,串行口開(kāi)始接收數(shù)據(jù)。每當(dāng)接收完8位數(shù)據(jù)后,硬件會(huì)自動(dòng)置RI為1,CPU響應(yīng)RI中斷后,必須由用戶用軟件清0。(b)方式0擴(kuò)展輸入接口圖9-5串行口工作方式0擴(kuò)展輸入/輸出接口任務(wù)一

單片機(jī)雙機(jī)通信任務(wù)要求、設(shè)置AT89C51的串口工作在方式0,串行口輸出數(shù)據(jù),控制8位發(fā)光二極管進(jìn)行流水燈顯示。任務(wù)一

單片機(jī)雙機(jī)通信#include<reg51.h>unsignedcharcodeTab[2][4]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

sbitP20=P2^0;vioddelay(viod){unsignedcharm,n; for(m=0;m<200;m++) for(n=0;n<200;n++);}viodsendchar(unsignedchardat){unsignedchari=10;P20=0;while(i--);P20=1;SBUF=dat;while(!TI);TI=0;}Voidmain(Void){unsignedcharj;SCON=0x00;while(1){for(j=0;j<8;j++){sendchar(Tab[j]);//發(fā)送數(shù)據(jù)送164口顯示delay();//調(diào)用延時(shí)函數(shù) } }任務(wù)一

單片機(jī)雙機(jī)通信任務(wù)要求:設(shè)置AT89C51的串口工作在方式0,接收從74LS165輸出的數(shù)據(jù),并將數(shù)據(jù)送P0口的發(fā)光二極管顯示。(注意165的15腳接地,表示時(shí)鐘允許。)任務(wù)一

單片機(jī)雙機(jī)通信#include<reg51.h>sbitP10=P1^0;Voidmain(Void){EA=1;ES=1;while(1){P10=0;P10=1;

SCON=0x10;REN=1;while(!RI);}}Viodrecive()interrupt4{REN=0;P1=SBUF;RI=0; }任務(wù)一

單片機(jī)雙機(jī)通信

方式1為雙機(jī)串行通信方式,如圖7-9所示。當(dāng)SM0、SM1=01時(shí),串行口設(shè)為方式1的雙機(jī)串行通信。TXD腳和RXD腳分別用于發(fā)送和接收數(shù)據(jù)。任務(wù)一

單片機(jī)雙機(jī)通信

串行口為波特率可調(diào)的10位通用異步接口UART。每發(fā)送或接收的一幀信息中,包括1位起始位0,8位數(shù)據(jù)位和1位停止位1。

方式1輸出-發(fā)送數(shù)據(jù)任務(wù)一

單片機(jī)雙機(jī)通信

方式1輸入-接收數(shù)據(jù)當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將收到的9位數(shù)據(jù)的前8位裝入SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。

接收時(shí),定時(shí)控制信號(hào)有兩種,一種是接收移位時(shí)鐘(RX時(shí)鐘),它的頻率和傳送的波特率相同,另一種是位檢測(cè)器采樣脈沖,頻率是RX時(shí)鐘的16倍。以波特率的16倍速率采樣RXD腳狀態(tài)。接收的值是3次連續(xù)采樣(第7、8、9個(gè)脈沖時(shí)采樣)取兩次相同的值,以確認(rèn)起始位(負(fù)跳變)的開(kāi)始,較好地消除干擾引起的影響。任務(wù)一

單片機(jī)雙機(jī)通信11位的幀格式11位數(shù)據(jù)的異步通信。起始位1位,數(shù)據(jù)9位,停止位1位方式2的波特率固定為晶振頻率的1/64或1/32方式3的波特率由定時(shí)器T1的溢出率決定方式2和方式3任務(wù)一

單片機(jī)雙機(jī)通信AT89S51串行口的波特率1.方式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,固定不變?nèi)蝿?wù)一

單片機(jī)雙機(jī)通信2.方式1和方式3的波特率可變,由定時(shí)器1的溢出率決定波特率/(b/s)fosc/MHzSMOD定時(shí)器1C/模式初始值方式0:1M方式2:375k方式1、3:62.5k19200960048002400

120013750011011012121211.05911.05911.05911.05911.05911.986612×1110000000××000000000××222222221××FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=任務(wù)一

單片機(jī)雙機(jī)通信任務(wù)導(dǎo)入利用串行口可實(shí)現(xiàn)單片機(jī)間的點(diǎn)對(duì)點(diǎn)串行通信、多機(jī)通信以及單片機(jī)與PC機(jī)間的單機(jī)或多機(jī)通信。任務(wù)一

單片機(jī)雙機(jī)通信AT89S51串行口的輸入、輸出均為TTL電平。抗干擾性差,傳輸距離短,傳輸速率低。為提高串行通信的可靠性,增大串行通信的距離和提高傳輸速率,都采用標(biāo)準(zhǔn)串行接口,如RS-232、RS-422A、RS-485等。4、計(jì)算機(jī)串行接口(1)RS-232接口RS-232接口(ANSI/EIA232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)。可用于許多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí)也可以接工業(yè)儀器儀表。用于驅(qū)動(dòng)和連線的改進(jìn),實(shí)際應(yīng)用中RS232的傳輸長(zhǎng)度或者速度常常超過(guò)標(biāo)準(zhǔn)的值。RS-232只限于PC串口和設(shè)備間點(diǎn)對(duì)點(diǎn)的通信。RS232串口通信最遠(yuǎn)距離不大于15m,傳輸速率最大為20Kb/s。(2)RS-422接口RS-422(EIA422-A標(biāo)準(zhǔn))是Apple的Macintosh計(jì)算機(jī)的串口連接標(biāo)準(zhǔn)。RS-422使用差分信號(hào),RS232使用非平衡參考地的信號(hào)。差分傳輸使用兩根線發(fā)送和接收信號(hào),對(duì)比RS-232,它能更好的抗噪聲和有更遠(yuǎn)的傳輸距離。在工業(yè)環(huán)境中更好的抗噪性和更遠(yuǎn)的傳輸距離是一個(gè)很大的優(yōu)點(diǎn)。(3)RS-485接口

RS485(EIA485標(biāo)準(zhǔn))是RS422的改進(jìn),因?yàn)樗黾恿嗽O(shè)備的個(gè)數(shù),從10個(gè)增加到32個(gè),同時(shí)定義了在最大設(shè)備個(gè)數(shù)情況下的電氣特性,以保證足夠的信號(hào)電壓。有了多個(gè)設(shè)備的能力,你可以使用一個(gè)單個(gè)RS422口建立設(shè)備網(wǎng)絡(luò)。出色抗噪和多設(shè)備能力,在工業(yè)應(yīng)用中建立連向PC機(jī)的分布式設(shè)備網(wǎng)絡(luò)、其他數(shù)據(jù)收集控制器、HMI或者其他操作時(shí),串行連接會(huì)選擇RS-485。任務(wù)一

單片機(jī)雙機(jī)通信RS-232電平或者說(shuō)串口電平,有的甚至說(shuō)計(jì)算機(jī)電平,所有的這些說(shuō)法,指得都是計(jì)算機(jī)9針串口(RS232)得電平,采用負(fù)邏輯,-15v~-3v代表1+3v~+15v代表0TTL:Transistor-TransistorLogic三極管結(jié)構(gòu)。

Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V。任務(wù)一

單片機(jī)雙機(jī)通信

美國(guó)電子工業(yè)協(xié)會(huì)(EIA)公布的一種異步通信標(biāo)準(zhǔn).RS232C標(biāo)準(zhǔn)是:●設(shè)備之間通信的距離不大于15米●最大傳輸速率20kbps●在TxD和RxD上,采用負(fù)邏輯:TTL

“1”(MARK)——-5V~-15V ≥2.4V

“0”(SPACE)——+5V~+15V ≤0.4V在RTS、CTS、DSR、DTR和DCD等控制線上:

信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V

信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)=-3V~-15V●不帶負(fù)載時(shí)輸出電平:-25V~+25V●輸出短路電流:<0.5A●最大負(fù)載電容:2500pF33任務(wù)一

單片機(jī)雙機(jī)通信3.接口電路:這種電平與邏輯的轉(zhuǎn)換是用專門的集成電路芯片來(lái)完成的.6、MAX232芯片

MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。

圖9-7MAX232引腳圖內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳、12腳、11腳、14腳為第一數(shù)據(jù)通道。8腳、9腳、10腳、7腳為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。

任務(wù)一

單片機(jī)雙機(jī)通信35方式1主要用于點(diǎn)對(duì)點(diǎn)(兩機(jī))通信接線關(guān)系:主機(jī)TXD、RXD分別與外設(shè)RXD、TXD相接;兩機(jī)共地任務(wù)一

單片機(jī)雙機(jī)通信(b)遠(yuǎn)距離傳輸PC機(jī)和單個(gè)單片機(jī)的通信(常用)VCCRSTXTAL1XTAL2TxD/P3.1(11)RxD/P3.0(10)89C51C1C2T1IN(11)R1OUT(12)R1IN(13)T1OUT(14)V-(6)V+(2)Vcc(16)C3C4C5GNDGND(15)C1=C2=C3=C4=C5=1μFMAX23215PC機(jī)COM1或COM212RxD3TxD46789+5V+5VC1+(1)C1-(3)C2+(4)C2-(5)3738

通信線路要采用平衡雙絞線。平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100kbit/s速率以下,才可能使用規(guī)定的最長(zhǎng)電纜。只有在很短的距離下才能獲得最大傳輸速率。一般100m長(zhǎng)雙絞線最大傳輸速率僅為1Mbit/s。圖9-19,RS-485以雙向、半雙工的方式來(lái)實(shí)現(xiàn)雙機(jī)通信。在AT89S51單片機(jī)系統(tǒng)發(fā)送或接收數(shù)據(jù)前,應(yīng)先將SN75176的發(fā)送門或接收門打開(kāi),當(dāng)P1.0=1時(shí),發(fā)送門打開(kāi),接收門關(guān)閉;當(dāng)P1.0=0時(shí),接收門打開(kāi),發(fā)送門關(guān)閉。任務(wù)一

單片機(jī)雙機(jī)通信9.5.2串行通信設(shè)計(jì)需要考慮的問(wèn)題單片機(jī)的串行通信接口設(shè)計(jì)時(shí),需考慮如下問(wèn)題。(1)首先確定通信雙方的數(shù)據(jù)傳輸速率。(2)由數(shù)據(jù)傳輸速率確定采用的串行通信接口標(biāo)準(zhǔn)。(3)在通信接口標(biāo)準(zhǔn)允許的范圍內(nèi)確定通信的波特率。為減小波特率的誤差,通常選用11.0592MHz的晶振頻率。(4)根據(jù)任務(wù)需要,確定收發(fā)雙方使用的通信協(xié)議。(5)通信線的選擇,這是要考慮的一個(gè)很重要的因素。通信線一般選用雙絞線較好,并根據(jù)傳輸?shù)木嚯x選擇纖芯的直徑。如果空間的干擾較多,還要選擇帶有屏蔽層的雙絞線。(6)通信協(xié)議確定后,進(jìn)行通信軟件編程,請(qǐng)見(jiàn)下面介紹。40任務(wù)一

單片機(jī)雙機(jī)通信設(shè)計(jì)任務(wù):采用雙機(jī)串行通信,其中甲機(jī)發(fā)送數(shù)據(jù),乙機(jī)接收數(shù)據(jù),兩機(jī)fosc約為12MHz,波特率為2.4k,串口方式1。甲機(jī)循環(huán)發(fā)送數(shù)字0~F,乙機(jī)接收后返回接收值。若發(fā)送值與返回值相等,繼續(xù)發(fā)送下一數(shù)字,否則重復(fù)發(fā)送當(dāng)前數(shù)字。采用查詢法檢查收發(fā)是否完成。發(fā)送值和接收值分別顯示在雙方LED數(shù)碼管上;任務(wù)一

單片機(jī)雙機(jī)通信數(shù)碼管(7SEG-BCD)

——帶譯碼電路可直接輸入數(shù)據(jù)0~F,所以,在仿真時(shí)是很方便的,不用再加譯碼器。也沒(méi)有共陽(yáng)共陰之分,可以顯示16個(gè)字符,即1-9,A-F,見(jiàn)下圖。但是要顯示的數(shù)字位數(shù)多了就不方便了,不能實(shí)現(xiàn)動(dòng)態(tài)掃描顯示。)這種數(shù)碼管只有在proteus里才有的,其實(shí)是一個(gè)仿真元件,沒(méi)有實(shí)物的??梢钥闯伤鼉?nèi)部集成了碼譯碼器,任務(wù)一

單片機(jī)雙機(jī)通信硬件原理圖如圖軟件設(shè)計(jì)流程圖如圖任務(wù)一

單片機(jī)雙機(jī)通信實(shí)例參考程序任務(wù)一

單片機(jī)雙機(jī)通信實(shí)例參考程序任務(wù)一單片機(jī)雙機(jī)通信實(shí)例運(yùn)行效果任務(wù)一

單片機(jī)雙機(jī)通信任務(wù)導(dǎo)入多個(gè)單片機(jī)可利用串行口進(jìn)行多機(jī)通信,經(jīng)常采用如圖7-16所示的主從式結(jié)構(gòu)。系統(tǒng)中有1個(gè)主機(jī)(單片機(jī)或其他有串行接口的微機(jī))和多個(gè)單片機(jī)組成的從機(jī)系統(tǒng)。主機(jī)的RXD與所有從機(jī)的TXD端相連,TXD與所有從機(jī)的RXD端相連。從機(jī)地址分別為01H、02H和03H。任務(wù)二

多機(jī)通信設(shè)計(jì)任務(wù)分析主從式是指多機(jī)系統(tǒng)中,只有一個(gè)主機(jī),其余全是從機(jī)。主機(jī)發(fā)送的信息可以被所有從機(jī)接收,任何一個(gè)從機(jī)發(fā)送的信息,只能由主機(jī)接收。從機(jī)和從機(jī)之間不能進(jìn)行直接通信,只能經(jīng)主機(jī)才能實(shí)現(xiàn)。任務(wù)二

多機(jī)通信設(shè)計(jì)多機(jī)通信的工作原理: 要保證主機(jī)與所選擇的從機(jī)通信,須保證串口有識(shí)別功能。SCON中的SM2位就是為滿足這一條件設(shè)置的多機(jī)通信控制位。其工作原理是在串行口以方式2(或方式3)接收時(shí),若SM2

=

1,則表示進(jìn)行多機(jī)通信,可能有以下兩種情況:任務(wù)二

多機(jī)通信設(shè)計(jì)多機(jī)通信原理:(a)所有從機(jī)都先使自己的SM2=1,而主機(jī)在發(fā)送的地址幀信息時(shí)先使TB8=1。這樣,所有從機(jī)都能產(chǎn)生接收中斷請(qǐng)求,并收到主機(jī)發(fā)來(lái)的地址信息;(b)各從機(jī)將主機(jī)發(fā)來(lái)的地址與本機(jī)地址編號(hào)相比較。若與本機(jī)相符(即命中),則該從機(jī)使自己的SM2=0,其余從機(jī)仍舊保持SM2=1;(c)主機(jī)接著發(fā)送TB8=0的數(shù)據(jù)幀信息。此時(shí)只有命中機(jī)(SM2=0)有中斷請(qǐng)求,其它從機(jī)均無(wú)響應(yīng)。SM2=1時(shí),若RB8=1,SBUF滿→置位RISM2=1時(shí),若RB8=0,SBUF滿→不置位RISM2=0時(shí),任意RB8值,SBUF滿→置位RI——所有叢機(jī)——非命中叢機(jī)——命中叢機(jī)任務(wù)二

多機(jī)通信設(shè)計(jì)實(shí)例、

K1、K2為1#、2#叢機(jī)的激發(fā)鍵,每按1次主機(jī)向相應(yīng)從機(jī)順序發(fā)送1位0~F間的字符(可用虛擬終端TERMINAL觀察)。命中從機(jī)收到地址幀后使相應(yīng)LED狀態(tài)反轉(zhuǎn)1次,收到數(shù)據(jù)幀后顯示在共陽(yáng)型數(shù)碼管上。晶振為11.0592MHz。要求采用串口通信方式3,波特率9600bps,發(fā)送編程采用查詢法,接收編程采用中斷法。任務(wù)二

多機(jī)通信設(shè)計(jì)TERMINAL——用于觀察串行通信數(shù)據(jù)的虛擬儀器,使用時(shí)只需將其TXD和RXD端分別與單片機(jī)RXD和TXD相連。通過(guò)屬性窗口進(jìn)行參數(shù)設(shè)置。

任務(wù)二

多機(jī)通信設(shè)計(jì)主機(jī)程序設(shè)計(jì):任務(wù)二

多機(jī)通信設(shè)計(jì)子機(jī)程序設(shè)計(jì)任務(wù)二

多機(jī)通信設(shè)計(jì)實(shí)例參考程序任務(wù)二

多機(jī)通信設(shè)計(jì)任務(wù)二

多機(jī)通信設(shè)計(jì)任務(wù)二

多機(jī)通信設(shè)計(jì)實(shí)例運(yùn)行效果任務(wù)二

多機(jī)通信設(shè)計(jì)①串行口通信控制的主要寄存器是SCO

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論