雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試-畢業(yè)論文_第1頁
雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試-畢業(yè)論文_第2頁
雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試-畢業(yè)論文_第3頁
雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試-畢業(yè)論文_第4頁
雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試-畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

合肥師范學(xué)院單片機(jī)課程實(shí)驗(yàn)與設(shè)計(jì)(任務(wù)書)一引言1.1課題來源及意義隨著電子技術(shù)的飛速發(fā)展,單片機(jī)也步如一個(gè)新的時(shí)代,越來越多的功能各異的單片機(jī)為我們的設(shè)計(jì)提供了許多新的方法與思路。

對于一些場合,比如:復(fù)雜的后臺運(yùn)算及通信與高實(shí)時(shí)性前臺控制系統(tǒng)、軟件資源消耗大的系統(tǒng)、功能強(qiáng)大的低消耗系統(tǒng)、加密系統(tǒng)等等。如果合理使用多種不同類型的單片機(jī)組合設(shè)計(jì),可以得到極高靈活性與性能價(jià)格比,因此,多種異型單片機(jī)系統(tǒng)設(shè)計(jì)漸漸成為一種新的思路,單片機(jī)技術(shù)作為計(jì)算機(jī)技術(shù)的一個(gè)重要分支,由于單片機(jī)體積小,系統(tǒng)運(yùn)行可靠,數(shù)據(jù)采集方便靈活,成本低廉等優(yōu)點(diǎn),在通信中發(fā)揮著越來越重要的作用。但在一些相對復(fù)雜的單片機(jī)應(yīng)用系統(tǒng)中,僅僅一個(gè)單片機(jī)資源是不夠的,往往需要兩個(gè)或多個(gè)單片機(jī)系統(tǒng)協(xié)同工作。這就對單片機(jī)通信提出了更高要求。1.2研究現(xiàn)狀及趨勢單片機(jī)之間的通信可以分為兩大類:并行通信和串行通信。串行通信傳輸線少,長距離傳輸時(shí)成本低,且可以利用數(shù)據(jù)采集方便靈活,成本低廉等優(yōu)點(diǎn),在通信中發(fā)揮著越來越重要的作用。所以本系統(tǒng)采用串行通信來實(shí)現(xiàn)單片機(jī)之間可靠的,有效的數(shù)據(jù)交換。二系統(tǒng)設(shè)計(jì)2.1概述2.1.1串行通信的特點(diǎn)

在遠(yuǎn)程通信和計(jì)算機(jī)科學(xué)中,串行通信是指在計(jì)算機(jī)總線或其他數(shù)據(jù)通道上,每次傳輸一個(gè)位元數(shù)據(jù),并連續(xù)進(jìn)行以上單次過程的通信方式。與之對應(yīng)的是并行通信,它在串行端口上通過一次同時(shí)傳輸若干位元數(shù)據(jù)的方式進(jìn)行通信。一位接一位地順序傳送。這樣一個(gè)字節(jié)的數(shù)據(jù)要分8次由低位到高位按順序一位位地傳送。由此可見,串行通信的特點(diǎn)如下:1、節(jié)省傳輸線,這是顯而易見的。尤其是在遠(yuǎn)程通信時(shí),此特點(diǎn)尤為重要。這也是串行通信的主要優(yōu)點(diǎn);2、數(shù)據(jù)傳送效率低。與并行通信比,這也這是顯而易見的。這也是串行通信的主要缺點(diǎn)。

串行通信被用于長距離通信以及大多數(shù)計(jì)算機(jī)網(wǎng)絡(luò),在這些應(yīng)用場合里,電纜和同步化使并行通信實(shí)際應(yīng)用面臨困難。憑借著其改善的信號完整性和傳播速度,串行通信總線正在變得越來越普遍,甚至在短程距離的應(yīng)用中,其優(yōu)越性已經(jīng)開始超越并行總線不需要串行化元件等缺點(diǎn)。2.1.2串行通信的分類

(1)異步通信

所謂異步通信,是指數(shù)據(jù)傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的.異步串行通信的特點(diǎn)可以概括為:①以字符為單位傳送信息;②相鄰兩字符間的間隔是任意長;

③接收時(shí)鐘和發(fā)送時(shí)鐘只要相近就可以。異步方式特點(diǎn)簡單的說就是:字符間異步,字符內(nèi)部各位同步。

(2)同步通信

所謂同步通信,是指數(shù)據(jù)傳送是以數(shù)據(jù)塊(一組字符)為單位,字符與字符之間、字符內(nèi)部的位與位之間都同步.同步串行通信的特點(diǎn)可以概括為:①以數(shù)據(jù)塊為單位傳送信息;②在一個(gè)數(shù)據(jù)塊(信息幀)內(nèi),字符與字符間無間隔;③接收時(shí)鐘與發(fā)送進(jìn)鐘嚴(yán)格同步。2.1.3串行通信技術(shù)標(biāo)準(zhǔn)

數(shù)據(jù)傳輸率

(1)比特率和波特率:比特率是指每秒傳輸?shù)亩M(jìn)制位數(shù),用bps(bit/s)表示。波特率是指每秒傳輸?shù)姆枖?shù),若每個(gè)符號所含的信息量為1比特,則波特率等于比特率。在計(jì)算機(jī)中,一個(gè)符號的含義為高低電平,它們分別代表邏輯“1”和邏輯“0”,所以每個(gè)符號所含的信息量剛好為1比特,因此在計(jì)算機(jī)通信中,常將比特率稱為波特率,即:1波特(B)=1比特(bit)=1位/秒(1bps)例如:電傳打字機(jī)最快傳輸率為每秒10個(gè)字符/秒,每個(gè)字符包含11個(gè)二進(jìn)制位,則數(shù)據(jù)傳輸率為:11位/字符×10個(gè)字符/秒=110位/秒=110波特(Baud)計(jì)算機(jī)中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可達(dá)56Kbps.

(2)位時(shí)間Td:位時(shí)間是指傳送一個(gè)二進(jìn)制位所需時(shí)間,用Td

表示。Td

=

1/波特率

=

1/B

(3)發(fā)送時(shí)鐘和接收時(shí)鐘

在串行通信中,二進(jìn)制數(shù)據(jù)以數(shù)字信號的信號形式出現(xiàn),不論是發(fā)送還是接收,都必須有時(shí)鐘信號對傳送的數(shù)據(jù)進(jìn)行定位。在TTL標(biāo)準(zhǔn)表示的二進(jìn)制數(shù)中,傳輸線上高電平表示二進(jìn)制1,低電平表示二進(jìn)制0,且每一位持續(xù)時(shí)間是固定的,由發(fā)送時(shí)鐘和接收時(shí)鐘的頻率決定。

1)發(fā)送時(shí)鐘

發(fā)送數(shù)據(jù)時(shí),先將要發(fā)送的數(shù)據(jù)送入移位寄存器,然后在發(fā)送時(shí)鐘的控制下,將該并行數(shù)據(jù)逐位移位輸出。通常是在發(fā)送時(shí)鐘的下降沿將移位寄存器中的數(shù)據(jù)串行輸出,每個(gè)數(shù)據(jù)位的時(shí)間間隔由發(fā)送時(shí)鐘的周期來劃分。

2)接收時(shí)鐘

在接收串行數(shù)據(jù)時(shí),接收時(shí)鐘的上升沿對接收數(shù)據(jù)采樣,進(jìn)行數(shù)據(jù)位檢測,并將其移入接收器的移位寄存器中,最后組成并行數(shù)據(jù)輸出。

波特率因子

接收時(shí)鐘和發(fā)送時(shí)鐘與波特率有如下關(guān)系:F=n×B(2-1)這里F是發(fā)送時(shí)鐘或接收時(shí)鐘的頻率;B是數(shù)據(jù)傳輸?shù)牟ㄌ芈?;n稱為波特率因子。設(shè)發(fā)送或接收時(shí)鐘的周期為Tc,頻率為F的位傳輸時(shí)間為Td,則:Tc=1/F(2-2)Td

=1/B(2-3)得到:Tc=T/n(2-4)在實(shí)際串行通信中,波特率因子可以設(shè)定。在異步傳送時(shí),n

=

1,16,64實(shí)際常采n=16,即發(fā)送或接收時(shí)鐘的頻率要比數(shù)據(jù)傳送的波特率高n倍。在同步通信中波特率因子必等于1。2.1.4串行通信與并行通信區(qū)別計(jì)算機(jī)與外界的信息交換稱為通信。在通信領(lǐng)域內(nèi),有兩種數(shù)據(jù)通信方式:并行通信和串行通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)化和微機(jī)分級分布式應(yīng)用系統(tǒng)的發(fā)展,通信的功能越來越重要。通信是指計(jì)算機(jī)與外界的信息傳輸,既包括計(jì)算機(jī)與計(jì)算機(jī)之間的傳輸,也包括計(jì)算機(jī)與外部設(shè)備,如終端、打印機(jī)和磁盤等設(shè)備之間的傳輸。串行通信是指使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。在計(jì)算機(jī)和終端之間的數(shù)據(jù)傳輸通常是靠電纜或信道上的電流或電壓變化實(shí)現(xiàn)的。如果一組數(shù)據(jù)的各數(shù)據(jù)位在多條線上同時(shí)被傳輸,這種傳輸方式稱為并行通信。終點(diǎn)終點(diǎn)源010010018位數(shù)據(jù)線(a)并行通信01001001源(b)串行通信終點(diǎn)圖2-1串行通信與并行通信的區(qū)別2.1.5MCS-51串行接口的基本特點(diǎn)MCS-51\o"就是一個(gè)微型的電腦,麻雀雖小,五臟俱全"單片機(jī)的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同場合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的I/O\o"電流流過的路叫做電路"電路;工作方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2、3除有方式1的功能外,還可以作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。串行端口有兩個(gè)控制寄存器SCON、PCON,用于設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送波特率[每秒傳送的位數(shù)]以及作為中斷標(biāo)志等。串行端口有一個(gè)數(shù)據(jù)寄存器SBUF在特殊功能寄存器中的字節(jié)地址為99H,該寄存器為發(fā)送和接收所共用。串行端口的波特率可以用程序來控制。在不同工作方式中,由時(shí)鐘振蕩\o"頻率"頻率的\o""分頻值或由定時(shí)器T1的定時(shí)溢出時(shí)間確定,使用十分方便靈活。串口控制寄存器輸入:在(REN)=1時(shí),串行口采樣RXD引腳,當(dāng)采樣到1至O的跳變時(shí),確認(rèn)是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。只有當(dāng)8位數(shù)據(jù)接收完,并檢測到高\(yùn)o"電平"電平停止位后,只有滿足①(R1)=0;②(SM2)=0或接收到的第9位數(shù)據(jù)為1時(shí),停止位才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;否則信息丟失。所以在方式1接收時(shí),應(yīng)先用軟件清零RI和SM2標(biāo)志。1.工作方式2

方式2為固定波特率的11位UART方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。輸出:發(fā)送的串行數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來自SCON寄存器的TB8位,用軟件置位或復(fù)位。它可作為多機(jī)通訊中地址/數(shù)據(jù)信息的標(biāo)志位,也可以作為數(shù)據(jù)的奇偶校驗(yàn)位。當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫入SUBF的指令且TI=0時(shí),就啟動(dòng)發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標(biāo)志TI。輸入:在(REN)=1時(shí),串行口采樣RXD引腳,當(dāng)采樣到1至O的跳變時(shí),確認(rèn)是串行發(fā)送來的一幀數(shù)據(jù)的開始位0,從而開始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當(dāng)滿足①(RI):0;②(SM2)=0或接收到的第9位數(shù)據(jù)為1時(shí),第9位數(shù)據(jù)才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志Ri;否則信息丟失。且不置位RI。2.工作方式3方式3為波特率可變的11位UART方式。除波特率外,其余與方式2相同。

波特率的選擇

如前所述,在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有一定的約定。在MCS-51串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時(shí)器T1的溢出率控制。1>方式1方式1的波特率固定為主振\o"頻率"頻率的1/12。2>方式2方式2的波特率由PCON中的選擇位SMOD來決定,可表示為:波特率=2sMoD×fosc/64(2-5)也就是當(dāng)SMOD=1時(shí),波特率為1/32×fosc,當(dāng)SMOD=0時(shí),波特率為1/64×fosc。3>方式1和方式3定時(shí)器T1作為波特率發(fā)生器,其公式如下:波特率=2SMOD/32×定時(shí)器T1溢出率(2-6)T1溢出率=T1計(jì)數(shù)率/產(chǎn)生溢出所需的\o"交流電完成一次完整的變化所需要的時(shí)間叫做周期"周期數(shù)(2-7)式中T1計(jì)數(shù)率取決于它工作在定時(shí)器狀態(tài)還是計(jì)數(shù)器狀態(tài)。當(dāng)工作于定時(shí)器狀態(tài)時(shí),T1計(jì)數(shù)率為Fosc/2,當(dāng)工作于計(jì)數(shù)器狀態(tài)時(shí),T1計(jì)數(shù)率為外部輸入\o"頻率"頻率,此頻率應(yīng)小于Fosc/24。產(chǎn)生溢出所需\o"交流電完成一次完整的變化所需要的時(shí)間叫做周期"周期與定時(shí)器T1的工作方式、T1的預(yù)置值有關(guān)。定時(shí)器T1工作于方式O:溢出所需\o"交流電完成一次完整的變化所需要的時(shí)間叫做周期"周期數(shù)=8192-X定時(shí)器T1工作于方式1:溢出所需\o"交流電完成一次完整的變化所需要的時(shí)間叫做周期"周期數(shù)=65536-X定時(shí)器T1工作于方式2:溢出所需\o"交流電完成一次完整的變化所需要的時(shí)間叫做周期"周期數(shù)=256-X因?yàn)榉绞?為自動(dòng)重裝入初值的8位定時(shí)器/計(jì)數(shù)器模式,所以用它來做波特率發(fā)生器最恰當(dāng)。這種方式下,T1的溢出率[次/秒]計(jì)算式可以表示為:T1溢出率=Fsoc/12[256-X](2-7)2.1.6波特率波特率(BoudRate)就是在串口通信中每秒能夠發(fā)送的位數(shù)(bits/second)。MCS-51串行端口在四種工作模式下有不同的波特率計(jì)算方法。其中,模式0和模式2波特率計(jì)算很簡單;模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。

在串行端口工作于模式1,其波特率將由計(jì)時(shí)/計(jì)數(shù)器1來產(chǎn)生,通常設(shè)置定時(shí)器工作于模式2(自動(dòng)再加模式)。在此模式下波特率計(jì)算公式為:

波特率=(1+SMOD)*晶振頻率/(384*(256-TH1))(2-8)

其中,SMOD——寄存器PCON的第7位,稱為波特率倍增位;

TH1——定時(shí)器的重載值。

在選擇波特率的時(shí)候需要考慮兩點(diǎn):首先,系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運(yùn)作特點(diǎn),確定通信的頻率范圍。然后考慮通信時(shí)鐘誤差。使用同一晶振頻率在選擇不同的通信速率時(shí)通信時(shí)鐘誤差會有很大差別。為了通信的穩(wěn)定,我們應(yīng)該盡量選擇時(shí)鐘誤差最小的頻率進(jìn)行通信。2.1.7AT89C51單片機(jī)的結(jié)構(gòu)和作用AT89C51是一個(gè)低電壓,低功耗,高性能CMOS8位單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外設(shè)中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口。AT89C51可以按照常規(guī)的方法進(jìn)行編程,也可以在線編程。片內(nèi)含4kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。2.1.8雙機(jī)通信兩臺機(jī)器的通信方式可分為單工通信、半雙工通信、雙工通信,他們的通信原理及通信方式為:單工通信:是指消息只能單方向傳輸?shù)墓ぷ鞣绞?。單工通信信道是單向信道,發(fā)送端和接收端的身份是固定的,發(fā)送端只能發(fā)送信息,不能接收信息;接收端只能接收信息,不能發(fā)送信息,數(shù)據(jù)信號僅從一端傳送到另一端,即信息流是單方向的。通信雙方采用單工通信屬于點(diǎn)到點(diǎn)的通信。根據(jù)收發(fā)頻率的異同,單工通信可分為同頻通信和異頻通信。半雙工通信:這種通信方式可以實(shí)現(xiàn)雙向的通信,但不能在兩個(gè)方向上同時(shí)進(jìn)行,必須輪流交替地進(jìn)行。也就是說,通信信道的每一段都可以是發(fā)送端,也可以是接端。但同一時(shí)刻里,信息只能有一個(gè)傳輸方向。如日常生活中的例子有步話機(jī)通信等。雙工通信:雙工通信是指在同一時(shí)刻信息可以進(jìn)行雙向傳輸,和打電話一樣,說的同時(shí)也能聽,邊說邊聽。這種發(fā)射機(jī)和接收機(jī)分別在兩個(gè)不同的頻率上能同時(shí)進(jìn)行工作的雙工機(jī)也稱為異頻雙工機(jī)。雙工機(jī)的特點(diǎn)是使用方便,但線路設(shè)計(jì)較復(fù)雜,價(jià)格也較高。

利用AT89C51芯片、復(fù)位電路、時(shí)鐘電路、開關(guān)組、發(fā)光二極管等,使A機(jī)和B機(jī)的波特率可選,完成串行通信。圖2-2系統(tǒng)框圖2.2方案的比較確定本設(shè)計(jì)是基于Proteus與μVision仿真軟件編程來設(shè)計(jì)方案,選擇合適的編程語言是一個(gè)重序可讀性和可移植性比較差。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運(yùn)算方便,表達(dá)類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。所以我們采用C語言編寫了程序。兩個(gè)單片機(jī)間采用串行口方式1進(jìn)行通信。由于距離近可以直接采用輸入輸出直接相連通信。三電路設(shè)計(jì)與調(diào)試3.1設(shè)計(jì)方案本次設(shè)計(jì),對于兩片AT89C51,發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過傳輸線將信號傳送到接收方。接收方接收后,在LED上顯示接收的信息。軟件部分,通過通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)先送0xaa給從機(jī),當(dāng)從機(jī)接收到0xaa后,向主機(jī)反饋,主機(jī)收到反饋后停止發(fā)送數(shù)據(jù)給從機(jī)。從機(jī)收到正確數(shù)據(jù)后送到LED顯示。3.2軟件仿真3.2.1電路設(shè)計(jì)在桌面上雙擊圖標(biāo)打開ISIS7Professional窗口。在器件選擇按鈕中單擊“P”按鈕,或執(zhí)行菜單命令“庫”→“拾取元件/符號”,添加如下表所示的元件。表3-1元件選擇表單片機(jī)AT89C51二片晶體CRYSTAL11.0592MHz二只瓷片電容CAP22pF四只電解電容CAP-ELEC1uF二只電阻RES10K二只電阻RES1K二只開關(guān)Button六個(gè)發(fā)光二極管LED八個(gè)圖3-1AT89C51管腳圖管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。設(shè)計(jì)電路詳見附錄圖附-1。3.2.2程序設(shè)計(jì)主機(jī)程序流程圖:詳見附錄圖附-2。從機(jī)程序流程圖:詳見附錄圖附-3。主機(jī)程序詳見附錄。從機(jī)程序詳見附錄。3.2.3調(diào)試仿真關(guān)于Proteus與Keil的聯(lián)合仿真調(diào)試。需注意Proteus的ISIS中A、B機(jī)的CPU屬性中ProgramFile與Keil的μVision4中的路徑和文件名要一致。啟動(dòng)Proteus的ISIS,并將其放在屏幕的右上角(可將原理圖放大到合適大?。?;再啟動(dòng)Keil的μVision4,并將其放在屏幕的左下角。在Keil中執(zhí)行菜單命令“調(diào)試”→“啟動(dòng)/停止調(diào)試”,進(jìn)入Keil調(diào)試環(huán)境。同時(shí),在ProteusISIS的窗口中可看出Proteus也進(jìn)入了程序調(diào)試狀態(tài)。在Keil中點(diǎn)擊“運(yùn)行”快捷按鈕,運(yùn)行程序。調(diào)試成功顯示如圖所示(詳見附錄圖附-4)。四總結(jié)經(jīng)過課程設(shè)計(jì),在查閱資料的過程中,學(xué)習(xí)了基于單片機(jī)的C語言程序設(shè)計(jì),了解了單片機(jī)串行通信的基本知識,對于以后的學(xué)習(xí)和工作都有很大的益處。在學(xué)習(xí)的過程中,也遇到了一些困難,比如開始的時(shí)候,由于發(fā)送端和接收端的通信協(xié)議沒有做好,導(dǎo)致數(shù)據(jù)不能正確的傳輸,在解決問題的過程中,對于通信協(xié)議的實(shí)現(xiàn)有了深刻的認(rèn)識?;仡櫰鸫苏n程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。參考文獻(xiàn)[1]張剛毅,基于Proteus的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:人民郵電出版社,2012[2]韓毅剛,計(jì)算機(jī)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007[3]李朝青,單片機(jī)與PC機(jī)網(wǎng)絡(luò)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007[4]胡洪波,單片機(jī)原理與應(yīng)用實(shí)驗(yàn)教程[M].湘潭大學(xué)出版社,2009附錄主機(jī)程序:master.c#include<reg51.h>sbitkey0=P1^0;sbitkey1=P1^1;sbitkey2=P1^2;sbitkey3=P1^3;unsignedcharkeyscan() {unsignedcharkeyscan_num,temp;P1=0xff;temp=P1;if(~(temp&0xff)){if(key0==0) { keyscan_num=0; } elseif(key1==0) { keyscan_num=1; } elseif(key2==0) { keyscan_num=2; } elseif(key3==0) { keyscan_num=3; } else { keyscan_num=1; } returnkeyscan_num;}}voidspi_init1200(){SCON=0x50;PCON=0x80;TI=0;EA=1;ET1=1;TMOD=0x20;TH1=0xe8;TL1=0xe8;TR1=1;}voidspi_init2400(){SCON=0x50;PCON=0x80;TI=0;EA=1;ET1=1;TMOD=0x20;TH1=0xf4;TL1=0xf4;TR1=1;}voidspi_init4800(){SCON=0x50;PCON=0x80;TI=0;EA=1;ET1=1;TMOD=0x20;TH1=0xfa;TL1=0xfa;TR1=1;}voidspi_init9600(){SCON=0x50;PCON=0x80;TI=0;EA=1;ET1=1;TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;}voidspi_send(unsignedcharch){SBUF=ch;while(TI==0);TI=0;}voidmain(){unsignedcharkey_press;while(1){key_press=keyscan(); switch(key_press) { case0: spi_init1200(); break; case1: spi_init2400(); break; case2: spi_init4800(); break; case3: spi_init9600(); break; default: break; } spi_send(0xaa);}}從機(jī)程序:slave.c#include<reg51.h>sbitkey0=P1^

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論