版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 項(xiàng)目任務(wù)書題目: 雙機(jī)間波特率可選的串行通信 33 / 38雙機(jī)間波特率可選的串行通信設(shè)計(jì)與調(diào)試摘 要雙機(jī)通信的實(shí)質(zhì)就是解決兩單片機(jī)串行通信問(wèn)題。針對(duì)于89C51單片機(jī)全雙工異步串行通信口,我們采用單片機(jī)直接交叉互連的串行通信方式??紤]到本設(shè)計(jì)應(yīng)用于短距離傳輸、兩單片機(jī)具有一樣的數(shù)據(jù)格式與電平且為使設(shè)計(jì)簡(jiǎn)單,我們最終決定本系統(tǒng)采用方式一單片機(jī)直接交叉連接的串行通信方式,上位機(jī)發(fā)送的數(shù)據(jù)由串行口TXD端輸出,直接由下位機(jī)的串行口數(shù)據(jù)接收端RXD接收。如果串口通信線路過(guò)長(zhǎng),可考慮采用RS523標(biāo)準(zhǔn),使用MAX232芯片進(jìn)行TTL和RS232的電平轉(zhuǎn)換,以延長(zhǎng)傳輸距離。為了減少波特率誤
2、差,使用11.592MHz的晶振。關(guān)鍵字:51單片機(jī) 串行通信 波特率可選目 錄 一引言1.1課題來(lái)源與意義····································11.2研究現(xiàn)狀與趨勢(shì)···&
3、#183;································1二系統(tǒng)設(shè)計(jì)················&
4、#183;······················22.1概述··························&
5、#183;···················22.2方案比較確定····························
6、83;·········8三電路設(shè)計(jì)與調(diào)試·································93.1設(shè)計(jì)方案····
7、3;··································93.2軟件仿真··············
8、183;························9四總結(jié)························
9、3;·················12 參考文獻(xiàn)·······························
10、83;········13 附錄········································
11、3;····15一 引言1.1課題來(lái)源與意義隨著電子技術(shù)的飛速發(fā)展,單片機(jī)也步如一個(gè)新的時(shí)代,越來(lái)越多的功能各異的單片機(jī)為我們的設(shè)計(jì)提供了許多新的方法與思路。 對(duì)于一些場(chǎng)合,比如:復(fù)雜的后臺(tái)運(yùn)算與通信與高實(shí)時(shí)性前臺(tái)控制系統(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ā)揮著越來(lái)越重要的
12、作用。但在一些相對(duì)復(fù)雜的單片機(jī)應(yīng)用系統(tǒng)中,僅僅一個(gè)單片機(jī)資源是不夠的,往往需要兩個(gè)或多個(gè)單片機(jī)系統(tǒng)協(xié)同工作。這就對(duì)單片機(jī)通信提出了更高要求。1.2研究現(xiàn)狀與趨勢(shì)單片機(jī)之間的通信可以分為兩大類:并行通信和串行通信。串行通信傳輸線少,長(zhǎng)距離傳輸時(shí)成本低,且可以利用數(shù)據(jù)采集方便靈活,成本低廉等優(yōu)點(diǎn),在通信中發(fā)揮著越來(lái)越重要的作用。所以本系統(tǒng)采用串行通信來(lái)實(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)行以上單次過(guò)程的通信方式。與之對(duì)應(yīng)的是并行通信,它在串行
13、端口上通過(guò)一次同時(shí)傳輸若干位元數(shù)據(jù)的方式進(jìn)行通信。一位接一位地順序傳送。這樣一個(gè)字節(jié)的數(shù)據(jù)要分8次由低位到高位按順序一位位地傳送。由此可見(jiàn),串行通信的特點(diǎn)如下:1、節(jié)省傳輸線,這是顯而易見(jiàn)的。尤其是在遠(yuǎn)程通信時(shí),此特點(diǎn)尤為重要。這也是串行通信的主要優(yōu)點(diǎn);2、數(shù)據(jù)傳送效率低。與并行通信比,這也這是顯而易見(jiàn)的。這也是串行通信的主要缺點(diǎn)。 串行通信被用于長(zhǎng)距離通信以與大多數(shù)計(jì)算機(jī)網(wǎng)絡(luò),在這些應(yīng)用場(chǎng)合里,電纜和同步化使并行通信實(shí)際應(yīng)用面臨困難。憑借著其改善的信號(hào)完整性和傳播速度,串行通信總線正在變得越來(lái)越普遍,甚至在短程距離的應(yīng)用中,其優(yōu)越性已經(jīng)開(kāi)始超越并行總線不需要串行化元件等缺點(diǎn)。2.1
14、.2串行通信的分類 (1)異步通信 所謂異步通信,是指數(shù)據(jù)傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的.異步串行通信的特點(diǎn)可以概括為:以字符為單位傳送信息;相鄰兩字符間的間隔是任意長(zhǎng); 接收時(shí)鐘和發(fā)送時(shí)鐘只要相近就可以。異步方式特點(diǎn)簡(jiǎn)單的說(shuō)就是:字符間異步,字符部各位同步。 (2)同步通信 所謂同步通信,是指數(shù)據(jù)傳送是以數(shù)據(jù)塊(一組字符)為單位,字符與字符之間、字符部的位與位之間都同步.同步串行通信的特點(diǎn)可以概括為:以數(shù)據(jù)塊為單位傳送信息;在一個(gè)數(shù)據(jù)塊(信息幀),字符與字符間無(wú)間隔;接收時(shí)鐘與發(fā)送
15、進(jìn)鐘嚴(yán)格同步。2.1.3串行通信技術(shù)標(biāo)準(zhǔn) 2.1.3.1數(shù)據(jù)傳輸率 (1)比特率和波特率:比特率是指每秒傳輸?shù)亩M(jìn)制位數(shù),用bps(bit/s)表示。波特率是指每秒傳輸?shù)姆?hào)數(shù),若每個(gè)符號(hào)所含的信息量為1比特,則波特率等于比特率。在計(jì)算機(jī)中,一個(gè)符號(hào)的含義為高低電平,它們分別代表邏輯“1”和邏輯“0”,所以每個(gè)符號(hào)所含的信息量剛好為1比特,因此在計(jì)算機(jī)通信中,常將比特率稱為波特率,即:1波特(B)=1比特(bit)=1位/秒(1bps)例如:電傳打字機(jī)最快傳輸率為每秒10個(gè)字符/秒,每個(gè)字符包含11個(gè)二進(jìn)制位,則數(shù)據(jù)傳輸率為:11位/字符×10個(gè)字符/秒=110位
16、/秒=110波特(Baud)計(jì)算機(jī)中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可達(dá)56Kbps. (2)位時(shí)間Td:位時(shí)間是指?jìng)魉鸵粋€(gè)二進(jìn)制位所需時(shí)間,用Td 表示。Td = 1/波特率 = 1/B (3)發(fā)送時(shí)鐘和接收時(shí)鐘 在串行通信中,二進(jìn)制數(shù)據(jù)以數(shù)字信號(hào)的信號(hào)形式出現(xiàn),不論是發(fā)送還是接收,都必須有時(shí)鐘信號(hào)對(duì)傳送的數(shù)據(jù)進(jìn)行定位。在TTL標(biāo)準(zhǔn)表示的二進(jìn)制數(shù)中,傳輸線上高電平表示二進(jìn)制1,低電平表示二進(jìn)制0,且每一位持續(xù)時(shí)
17、間是固定的,由發(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í)鐘的周期來(lái)劃分。 2)接收時(shí)鐘 在接收串行數(shù)據(jù)時(shí),接收時(shí)鐘的上升沿對(duì)接收數(shù)據(jù)采樣,進(jìn)行數(shù)據(jù)位檢測(cè),并將其移入接收器的移位寄存器中,最后組成并行數(shù)據(jù)輸出。 2.1.3.2 波特率因子
18、 接收時(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)域,有兩種數(shù)
19、據(jù)通信方式:并行通信和串行通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)化和微機(jī)分級(jí)分布式應(yīng)用系統(tǒng)的發(fā)展,通信的功能越來(lái)越重要。通信是指計(jì)算機(jī)與外界的信息傳輸,既包括計(jì)算機(jī)與計(jì)算機(jī)之間的傳輸,也包括計(jì)算機(jī)與外部設(shè)備,如終端、打印機(jī)和磁盤等設(shè)備之間的傳輸。 串行通信是指 使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(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)源010010018位數(shù)據(jù)線(a)
20、并行通信0100 1 00 1源(b)串行通信終點(diǎn)圖2-1串行通信與并行通信的區(qū)別2.1.5 MCS-51串行接口的基本特點(diǎn)MCS-51單片機(jī)的串行端口有4種基本工作方式,通過(guò)編程設(shè)置,可以使其工作在任一方式,以滿足不同場(chǎng)合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的IO電路;工作方式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在特殊功能寄存器中的字
21、節(jié)地址為99H,該寄存器為發(fā)送和接收所共用。串行端口的波特率可以用程序來(lái)控制。在不同工作方式中,由時(shí)鐘振蕩頻率的分頻值或由定時(shí)器T1的定時(shí)溢出時(shí)間確定,使用十分方便靈活。串口控制寄存器輸入:在(REN)=1時(shí),串行口采樣RXD引腳,當(dāng)采樣到1至O的跳變時(shí),確認(rèn)是串行發(fā)送來(lái)的一幀數(shù)據(jù)的開(kāi)始位0,從而開(kāi)始接收一幀數(shù)據(jù)。只有當(dāng)8位數(shù)據(jù)接收完,并檢測(cè)到高電平停止位后,只有滿足(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
22、為固定波特率的11位UART方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。輸出:發(fā)送的串行數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來(lái)自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ā)送來(lái)的一幀數(shù)據(jù)的開(kāi)始位0,從而開(kāi)始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當(dāng)滿足(RI):0;(SM2)=0或接收到的第9位數(shù)據(jù)為1時(shí),第9位數(shù)據(jù)才
23、進(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的波特率固定為主振頻率的1/12。2>方式2方式2的波特率由PCON中的選擇位SMOD來(lái)決定,可表示為:波特率=2sMoD×fosc64 (2-5)也就是
24、當(dāng)SMOD=1時(shí),波特率為132×fosc,當(dāng)SMOD=0時(shí),波特率為164×fosc。3>方式1和方式3定時(shí)器T1作為波特率發(fā)生器,其公式如下:波特率=2SMOD32×定時(shí)器T1溢出率(2-6)T1溢出率=T1計(jì)數(shù)率產(chǎn)生溢出所需的周期數(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ù)率為外部輸入頻率,此頻率應(yīng)小于Fosc/24。產(chǎn)生溢出所需周期與定時(shí)器T1的工作方式、T1的預(yù)置值有關(guān)。定時(shí)器T1工作于方式O:溢出所需周期數(shù)=8192-X定時(shí)器T1工作于方式1:溢
25、出所需周期數(shù)=65536-X定時(shí)器T1工作于方式2:溢出所需周期數(shù)=256-X因?yàn)榉绞?為自動(dòng)重裝入初值的8位定時(shí)器計(jì)數(shù)器模式,所以用它來(lái)做波特率發(fā)生器最恰當(dāng)。這種方式下,T1的溢出率次秒計(jì)算式可以表示為:T1溢出率=Fsoc12256-X (2-7)2.1.6波特率波特率(Boud Rate)就是在串口通信中每秒能夠發(fā)送的位數(shù)(bits/second)。MCS-51串行端口在四種工作模式下有不同的波特率計(jì)算方法。其中,模式0和模式2波特率計(jì)算很簡(jiǎn)單;模式1和模式3的波特率選擇一樣,故在此僅以工作模式1為例來(lái)說(shuō)明串口通信波特率的選擇。在串行端口工作于模式1,其波特率將由計(jì)時(shí)/計(jì)數(shù)器1來(lái)產(chǎn)生,通
26、常設(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í)鐘誤差會(huì)有很大差別。為了通信的穩(wěn)定,我們應(yīng)該盡量選擇時(shí)鐘誤差最小的頻率進(jìn)行通信。2.1.7A
27、T89C51單片機(jī)的結(jié)構(gòu)和作用 AT89C51是一個(gè)低電壓,低功耗,高性能CMOS 8位單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)含2個(gè)外設(shè)中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口。AT89C51可以按照常規(guī)的方法進(jìn)行編程,也可以在線編程。片含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。2.1.8雙機(jī)通信兩臺(tái)機(jī)器的通信方式可分為單工通信、半雙工通信、雙工通信,他們的通信原理與通信方式為:?jiǎn)喂ねㄐ牛菏侵赶⒅荒軉畏?/p>
28、向傳輸?shù)墓ぷ鞣绞?。單工通信信道是單向信道,發(fā)送端和接收端的身份是固定的,發(fā)送端只能發(fā)送信息,不能接收信息;接收端只能接收信息,不能發(fā)送信息,數(shù)據(jù)信號(hào)僅從一端傳送到另一端,即信息流是單方向的。通信雙方采用單工通信屬于點(diǎn)到點(diǎn)的通信。根據(jù)收發(fā)頻率的異同,單工通信可分為同頻通信和異頻通信。半雙工通信:這種通信方式可以實(shí)現(xiàn)雙向的通信,但不能在兩個(gè)方向上同時(shí)進(jìn)行,必須輪流交替地進(jìn)行。也就是說(shuō),通信信道的每一段都可以是發(fā)送端,也可以是接端。但同一時(shí)刻里,信息只能有一個(gè)傳輸方向。如日常生活中的例子有步話機(jī)通信等。雙工通信:雙工通信是指在同一時(shí)刻信息可以進(jìn)行雙向傳輸,和打一樣,說(shuō)的同時(shí)也能聽(tīng),邊說(shuō)邊聽(tīng)。這種發(fā)射
29、機(jī)和接收機(jī)分別在兩個(gè)不同的頻率上能同時(shí)進(jìn)行工作的雙工機(jī)也稱為異頻雙工機(jī)。雙工機(jī)的特點(diǎn)是使用方便,但線路設(shè)計(jì)較復(fù)雜,價(jià)格也較高。 利用AT89C51芯片、復(fù)位電路、時(shí)鐘電路、開(kāi)關(guān)組、發(fā)光二極管等,使A機(jī)和B機(jī)的波特率可選,完成串行通信。圖2-2 系統(tǒng)框圖2.2 方案的比較確定本設(shè)計(jì)是基于Proteus與 Vision仿真軟件編程來(lái)設(shè)計(jì)方案,選擇合適的編程語(yǔ)言是一個(gè)重序可讀性和可移植性比較差。而C語(yǔ)言雖然執(zhí)行效率沒(méi)有匯編語(yǔ)言高,但語(yǔ)言簡(jiǎn)潔,使用方便,靈活,運(yùn)算方便,表達(dá)類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語(yǔ)句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。所以我們采用C語(yǔ)
30、言編寫了程序。兩個(gè)單片機(jī)間采用串行口方式1進(jìn)行通信。由于距離近可以直接采用輸入輸出直接相連通信。三 電路設(shè)計(jì)與調(diào)試3.1設(shè)計(jì)方案本次設(shè)計(jì),對(duì)于兩片AT89C51,發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過(guò)傳輸線將信號(hào)傳送到接收方。接收方接收后,在LED上顯示接收的信息。軟件部分,通過(guò)通信協(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)打開(kāi)ISIS 7 Professional窗口。在器件選擇按鈕中單擊“P”按鈕,或執(zhí)行菜單命令“庫(kù)”“拾取元件符號(hào)”,添加
31、如下表所示的元件。表3-1元件選擇表單片機(jī)AT89C51 二片晶體CRYSTAL 11.0592MHz 二只瓷片電容CAP 22pF 四只電解電容CAP-ELEC 1uF 二只電阻RES 10K 二只電阻RES 1K 二只開(kāi)關(guān) Button 六個(gè)發(fā)光二極管 LED 八個(gè)圖 3-1AT89C51管腳圖管腳說(shuō)明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸
32、出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖
33、或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將部鎖定為RESET;當(dāng)/EA端保持
34、高電平時(shí),此間部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。 振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。設(shè)計(jì)電路詳見(jiàn)附錄圖附-1。3.2.2程序設(shè)計(jì)主機(jī)程序流程圖:詳見(jiàn)附錄圖附-2。從機(jī)程序流程圖:詳見(jiàn)附錄圖附-3。主機(jī)程序詳見(jiàn)附錄。
35、從機(jī)程序詳見(jiàn)附錄。3.2.3調(diào)試仿真關(guān)于Proteus與Keil的聯(lián)合仿真調(diào)試。需注意Proteus的ISIS中A、B機(jī)的CPU屬性中Program File與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í),在Proteus ISIS的窗口中可看出Proteus也進(jìn)入了程序調(diào)試狀態(tài)。在Keil中點(diǎn)擊“運(yùn)行”快捷按鈕,運(yùn)行程序。調(diào)試成功顯示如圖所示(詳見(jiàn)附錄圖附-4)。四 總結(jié)經(jīng)過(guò)課
36、程設(shè)計(jì),在查閱資料的過(guò)程中,學(xué)習(xí)了基于單片機(jī)的C語(yǔ)言程序設(shè)計(jì),了解了單片機(jī)串行通信的基本知識(shí),對(duì)于以后的學(xué)習(xí)和工作都有很大的益處。在學(xué)習(xí)的過(guò)程中,也遇到了一些困難,比如開(kāi)始的時(shí)候,由于發(fā)送端和接收端的通信協(xié)議沒(méi)有做好,導(dǎo)致數(shù)據(jù)不能正確的傳輸,在解決問(wèn)題的過(guò)程中,對(duì)于通信協(xié)議的實(shí)現(xiàn)有了深刻的認(rèn)識(shí)。 回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合
37、起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。參考文獻(xiàn)1 剛毅,基于Proteus的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)M.:人民郵電,20122毅剛,計(jì)算機(jī)通信技術(shù)M.:航空航天大學(xué),20073朝青,單片機(jī)與PC機(jī)網(wǎng)絡(luò)通信技術(shù)M.:航空航天大學(xué),20074胡洪波,單片機(jī)原理與應(yīng)用實(shí)驗(yàn)教程M.大學(xué),2009附錄主機(jī)程序:master.c#include<reg51.h>sbit key0=P10;sbit key1=P11;sbit key2=P12;sbit key3=P13;unsigned char keyscan() unsigned c
38、har keyscan_num,temp; P1=0xff; temp=P1; if(temp&0xff) if(key0=0) keyscan_num=0;else if(key1=0) keyscan_num=1;else if(key2=0) keyscan_num=2;else if(key3=0) keyscan_num=3;else keyscan_num=1;return keyscan_num; void spi_init1200() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xe8; TL1=0x
39、e8; TR1=1;void spi_init2400() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xf4; TL1=0xf4; TR1=1;void spi_init4800() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xfa; TL1=0xfa; TR1=1;void spi_init9600() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; TR
40、1=1;void spi_send(unsigned char ch) SBUF=ch; while(TI=0); TI=0;void main() unsigned char key_press; while(1) key_press=keyscan();switch(key_press) case 0: spi_init1200();break; case 1: spi_init2400();break; case 2: spi_init4800();break; case 3: spi_init9600();break; default: break;spi_send(0xaa); 從機(jī)
41、程序:slave.c#include<reg51.h>sbit key0=P10;sbit key1=P11;sbit key2=P12;sbit key3=P13;unsigned char keyscan() unsigned char keyscan_num,temp; P1=0xff; temp=P1; if(temp&0xff) if(key0=0) keyscan_num=0;else if(key1=0) keyscan_num=1;else if(key2=0) keyscan_num=2;else if(key3=0) keyscan_num=3;else
42、 keyscan_num=1;return keyscan_num; void spi_init1200() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xe8; TL1=0xe8; TR1=1;void spi_init2400() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xf4; TL1=0xf4; TR1=1;void spi_init4800() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x2
43、0; TH1=0xfa; TL1=0xfa; TR1=1;void spi_init9600() SCON=0x50; PCON=0x80; TI=0; EA=1; ET1=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1;void main() unsigned char key_press; while(1) key_press=keyscan();switch(key_press) case 0: spi_init1200();break; case 1: spi_init2400();break; case 2: spi_init4800();break;
44、 case 3: spi_init9600();break; default: break;while(RI=0); void receive() interrupt 4 RI=0; P2=SBUF;附圖-1 電路圖附圖-2 主機(jī)程序框圖附圖-3 從機(jī)程序框圖附圖-4 運(yùn)行結(jié)果畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作與取得的成果。盡我所知,除文中特別加以標(biāo)注和致的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得與其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)
45、人或集體,均已在文中作了明確的說(shuō)明并表示了意。作 者 簽 名:日 期:指導(dǎo)教師簽名: 日期:使用授權(quán)說(shuō)明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉咳?。作者簽名: 日 期:學(xué)位論文原創(chuàng)性聲明本人重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日注意事項(xiàng)1.設(shè)計(jì)(論文)的容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024簡(jiǎn)單家具維修合同范本
- 2024年加工承攬合同標(biāo)的與質(zhì)量標(biāo)準(zhǔn)
- 2024建筑材料采購(gòu)合同范本下載
- 2024年度公園綠化樹(shù)苗采購(gòu)合同
- 2024年山東濰坊物業(yè)委托管理合同
- 迷霧解說(shuō)課件教學(xué)課件
- 2024年度互聯(lián)網(wǎng)金融產(chǎn)品研發(fā)與推廣合同
- 04版智能家居系統(tǒng)研發(fā)與銷售合同
- 2024年度云服務(wù)提供商合同
- 2024年店鋪投資合作協(xié)議
- 六西格瑪之控制階段詳解
- 《領(lǐng)導(dǎo)梯隊(duì):全面打造領(lǐng)導(dǎo)力驅(qū)動(dòng)型公司》解讀
- 護(hù)理質(zhì)量安全與風(fēng)險(xiǎn)管理的案例分析
- 工程流體力學(xué)課后習(xí)題答案-(杜廣生)
- AI智能客服應(yīng)用實(shí)踐
- 《止吐藥臨床應(yīng)用》課件
- 幕墻工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)企業(yè)安全生產(chǎn)獎(jiǎng)懲制度范本
- 報(bào)價(jià)單模板完
- 30題藥品質(zhì)量檢測(cè)崗位常見(jiàn)面試問(wèn)題含HR問(wèn)題考察點(diǎn)及參考回答
- 《嬰幼兒行為觀察、記錄與評(píng)價(jià)》期末試卷及答案 卷3
評(píng)論
0/150
提交評(píng)論