單片機(jī)實(shí)驗(yàn)指導(dǎo)書_第1頁
單片機(jī)實(shí)驗(yàn)指導(dǎo)書_第2頁
單片機(jī)實(shí)驗(yàn)指導(dǎo)書_第3頁
單片機(jī)實(shí)驗(yàn)指導(dǎo)書_第4頁
單片機(jī)實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)實(shí)驗(yàn)實(shí)驗(yàn)指導(dǎo)書2017年2月單片機(jī)實(shí)驗(yàn)報(bào)告(自動化XX級) 實(shí)驗(yàn)名稱學(xué)生姓名 聯(lián)系方式 學(xué) 號 院 系 工學(xué)院電氣與信息工程系 專 業(yè) 自動化 指導(dǎo)教師 填寫日期 實(shí)驗(yàn)一 數(shù)據(jù)傳送一、實(shí)驗(yàn)?zāi)康?進(jìn)一步熟悉仿真器的使用方法。2練習(xí)設(shè)計(jì)簡單的程序。3掌握8051片內(nèi)RAM和片外RAM的數(shù)據(jù)傳送方法,從而了解這兩部分存貯器的特點(diǎn)。二、實(shí)驗(yàn)內(nèi)容將8051內(nèi)部RAM 40H4FH置初值00H0FH,然后將40H4FH內(nèi)容傳送到外部RAM的4800H480FH,再將4800H480FH傳回內(nèi)部RAM的50H5FH。設(shè)置斷點(diǎn)B1、B2、B3每運(yùn)行到斷點(diǎn)時(shí)檢查相應(yīng)的CPU現(xiàn)場和存貯單元的內(nèi)容。三、實(shí)驗(yàn)準(zhǔn)

2、備1、認(rèn)真閱讀本實(shí)驗(yàn)指導(dǎo)。2、讀懂下面的程序:#include<reg51.h>#include<absacc.h>char data *p40 ,*p50 ;char xdata *p4800;char i, j, k;void main( ) p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i+) *p40=i; p40=p40+1; /B1 p40=0x40;for(j=0;j<16;j+) *p4800=*p40;p40=p40+1;p4800=p4800+1; /B2 p4800=0x4800;for(

3、k=0;k<16;k+) *p50=*p4800;p50=p50+1;p4800=p4800+1; /B3 3、畫出如下要測的數(shù)據(jù)表格:斷點(diǎn)40H4FH4800H480FH50H5FHP40P50P4800B1B2B3四、實(shí)驗(yàn)步驟1、向機(jī)器輸入程序。2、運(yùn)行程序至第一個(gè)斷點(diǎn)B1,檢查40H0FH單元內(nèi)容及指針p40的內(nèi)容。3、運(yùn)行程序至第二個(gè)斷點(diǎn)B2,檢查4800H480FH單元內(nèi)容及指針p40,p4800的內(nèi)容。4、運(yùn)行程序至第三個(gè)斷點(diǎn)B3,檢查50H5FH單元內(nèi)容及累加器及指針p50的內(nèi)容。五、實(shí)驗(yàn)報(bào)告要求1、寫出C語言源程序和對應(yīng)的匯編語言指令及注解的程序清單。2、將測得的數(shù)據(jù)填入

4、表格,并和理論分析的結(jié)果相比較。3、說明8031CPU對內(nèi)部存貯器和外部擴(kuò)展RAM存貯器各有哪些尋址方式?4、如果要讀外部程序存儲器0x4800中的內(nèi)容,該如何訪問?5實(shí)驗(yàn)心得。(必須) 實(shí)驗(yàn)一 并行口一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)了解8051并行口輸入方式和輸出方式的工作原理及編程方法。二、實(shí)驗(yàn)內(nèi)容1、輸出實(shí)驗(yàn)如圖4-1所示。以8031的P2口為輸出口。通過程序控制發(fā)光二極管的亮滅。2、輸入實(shí)驗(yàn)如圖4-1所示。以8031的P1口為輸入口。用開關(guān)向P1.0P1.3輸入不同的狀態(tài),控制P2口P2.4P2.7發(fā)光二極管的亮滅。3、查詢輸入輸出實(shí)驗(yàn)如圖1-1所示。以8051的P1.6或P1.0為輸入位,以P2

5、口為輸出,二進(jìn)制計(jì)數(shù)記錄按鍵的次數(shù)。 圖1-1三、編程提示1、輸出實(shí)驗(yàn)程序(1)設(shè)計(jì)一組顯示花樣,編程使得P2口按照設(shè)計(jì)的花樣重復(fù)顯示。(2)為了便于觀察,每一狀態(tài)加入延時(shí)程序。2、輸入實(shí)驗(yàn)程序開關(guān)打開,則輸入為1;開關(guān)閉合,則輸入為0。讀取P1.0 P1.3的狀態(tài),并將它們輸出到P2.4 P2.7,驅(qū)動發(fā)光二極管。所以發(fā)光二極管L1L4的亮滅應(yīng)與開關(guān)P1.0 P1.3的設(shè)置相吻合。3、查詢輸入輸出程序(1)編程計(jì)數(shù)P1.0按鍵次數(shù),按鍵不去抖動。(2)編程計(jì)數(shù)P1.6按鍵次數(shù),按鍵不去抖動。(3)編程計(jì)數(shù)P1.0按鍵次數(shù),按鍵軟件延時(shí)去抖動。觀察(1)、(2)、(3)、的結(jié)果。四、實(shí)驗(yàn)器材

6、計(jì)算機(jī),目標(biāo)系統(tǒng)實(shí)驗(yàn)板五、實(shí)驗(yàn)步驟1、在KEILC中按要求編好程序,編譯,軟件調(diào)試,生成.HEX文件。2、斷開電源,按圖1-1所示,連好開關(guān)及發(fā)光二極管電路。3、下載程序。4、調(diào)試運(yùn)行程序,觀察發(fā)光二極管狀態(tài)。六、實(shí)驗(yàn)報(bào)告要求1、列出各實(shí)驗(yàn)的程序清單。2、記錄實(shí)驗(yàn)現(xiàn)象,并與理論分析結(jié)果相比較。3實(shí)驗(yàn)心得。(必須)4附能說明實(shí)驗(yàn)原理的實(shí)驗(yàn)照片。(必須)實(shí)驗(yàn)三 外部中斷一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)外部中斷的原理及過程。2、掌握單片機(jī)外部中斷程序的設(shè)計(jì)方法。3、掌握單片機(jī)外部中斷時(shí)中斷方式的選擇方法。二、實(shí)驗(yàn)內(nèi)容如下圖所示,P3.2設(shè)為輸入, P2設(shè)為輸出位,連有8個(gè)發(fā)光二極管D1D8。每當(dāng)發(fā)生外部中

7、斷時(shí),發(fā)光二極管以向下流水燈的方式點(diǎn)亮。分別選擇邊沿觸發(fā)外部中斷放是和電平觸發(fā)外部中斷方式兩種。 三、編程提示1、P3口是8位準(zhǔn)雙向口,具有雙重功能:第一功能和P1口一樣,作為輸入輸出口,也有字節(jié)操作和位操作兩種方式,每一位可分別定義為輸入或輸出;第二功能定義如下 :P3.0 RXD 串行輸入口P3.1 TXD 串行輸出口P3.2 INT0 外部中斷0請求輸入線P3.3 INT1 外部中斷1請求輸入線P3.4 T0定時(shí)器/計(jì)數(shù)器T0外部計(jì)數(shù)器脈沖輸入線P3.5 T1定時(shí)器/計(jì)數(shù)器T1外部計(jì)數(shù)器脈沖輸入線P3.6 WR外部數(shù)據(jù)存貯器寫脈沖輸出線P3.7 RD外部數(shù)據(jù)存貯器讀脈沖輸出線2、各中斷服

8、務(wù)程序入口地址:外部中斷0 03H定時(shí)器/計(jì)數(shù)器T1溢出中斷 0BH外部中斷1 13H 定時(shí)器/計(jì)數(shù)器 1BH串行口中斷 23H3、外部中斷的產(chǎn)生條件中斷允許寄存器IE: EAESET1EX1ET0EX0(1)外部中斷源允許中斷(中斷0:EX0=1;中斷1:EX1=1)。(2)CPU開中斷(EA=1)。(3)外部中斷方式CPU發(fā)出中斷申請。4、外部中斷方式的選擇控制TCON:TF1TR1TF0TR0IE1IT1IE0IT0IT0是選擇文字則外部中斷0請求(INT0)邊沿觸發(fā)方式或電平觸發(fā)方式的控制位。前一方式IT0=1,后一方式IT0=0。IT1是選擇外部中斷1請求(INT1)為邊沿觸發(fā)方式或

9、電平觸發(fā)方式的控制位。前一方式IT1=1,后一方式IT1=0。當(dāng)8031復(fù)位后,TCON被清0。5、外部中斷電路負(fù)脈沖作為中斷請求信號時(shí),為了保證中斷的唯一性,必須加上消除開關(guān)抖動的電路或者去抖動延時(shí)程序,保證每次只產(chǎn)生單脈沖,構(gòu)成邊沿觸發(fā)方式外部中斷電路。邊沿觸發(fā)的最大優(yōu)點(diǎn)在于不會丟失中斷。只要中斷請求負(fù)跳變的寬度大于1 個(gè)機(jī)器周期,單片機(jī)就能夠采樣到中斷請求信號,單片機(jī)將采樣到的信號瑣存到中斷請求標(biāo)志寄存器中,硬件自動置IE0為1,即使單片機(jī)暫時(shí)不響應(yīng),這個(gè)標(biāo)志也不會丟失,只有在外部中斷響應(yīng)之后,硬件才將IE0清除。低電平觸發(fā)的外部中斷與邊沿觸發(fā)的外部中斷,其中斷過程基本相似。唯一不同在于

10、中斷請求信號的保持與撤消。在邊沿觸發(fā)中,單片機(jī)TCON寄存器專門有一位作它的請求標(biāo)志,當(dāng)負(fù)跳變后,單片機(jī)將中斷請求標(biāo)志IE1(INT1中斷為IE1,INT0中斷為IE0)自動置1,由IE1請求中斷,在響應(yīng)中斷時(shí),又由單片機(jī)自動清除IE1。但是對于電平觸發(fā)方式,單片機(jī)中沒有專門的請求標(biāo)志,響應(yīng)中斷時(shí)也不能自動清除請求信號。在實(shí)際應(yīng)用中,常常是在單片機(jī)外增加一個(gè)觸發(fā)器作為中斷請求標(biāo)志,當(dāng)中斷請求發(fā)生時(shí)置觸發(fā)器為0,使INT1為低電平,在單片機(jī)響應(yīng)這個(gè)中斷后,利用軟件(占用另一根I/O線,例如P3.1)發(fā)出復(fù)位脈沖,使該觸發(fā)器置1,撤消中斷請求。這種電路使請求中斷的低電平能夠保持足夠的時(shí)間,一直到中

11、斷發(fā)生為止,因而不會丟失中斷請求。低電平的時(shí)間又不致太長,只要進(jìn)入中斷服務(wù)程序,在返回之前,就撤消請求信號,因而也不會產(chǎn)生多余的中斷動作。 四、實(shí)驗(yàn)器材仿真器、目標(biāo)系統(tǒng)實(shí)驗(yàn)板、直流電源五、實(shí)驗(yàn)步驟1、邊沿觸發(fā)式外部中斷0實(shí)驗(yàn)(1) P3.2設(shè)為邊沿觸發(fā)方式,連接外部復(fù)位開關(guān),編程使每次中斷流水燈向下移位一次,中斷程序中不延時(shí)去抖動,觀察結(jié)果。(2)P3.2設(shè)為邊沿觸發(fā)方式,連接外部復(fù)位開關(guān),編程使每次中斷流水燈向下移位一次,中斷程序中采用延時(shí)去抖動,觀察結(jié)果。(3)P3.3設(shè)為邊沿觸發(fā)方式,連接外部RS觸發(fā)器硬件去抖動的開關(guān),編程使每次中斷流水燈向下移位一次,中斷程序中不延時(shí)去抖動,觀察結(jié)果。

12、2、電平觸發(fā)式外部中斷實(shí)驗(yàn)P3.3設(shè)為電平觸發(fā)方式,連接外部RS觸發(fā)器硬件去抖動的開關(guān),編程使每次中斷流水燈向下移位一次,中斷程序中不延時(shí)去抖動,觀察結(jié)果。六、實(shí)驗(yàn)報(bào)告要求1、列出程序清單。說明邊沿觸發(fā)和電平觸發(fā)兩種方式中斷響應(yīng)的原理與區(qū)別。2、說明實(shí)驗(yàn)觀察到的現(xiàn)象,并與理論分析結(jié)果相比較。3實(shí)驗(yàn)心得。(必須)4附能說明實(shí)驗(yàn)原理的實(shí)驗(yàn)照片。(必須)實(shí)驗(yàn)四定時(shí)器/計(jì)數(shù)器一、實(shí)驗(yàn)?zāi)康?、 掌握定時(shí)器的工作原理、工作方式、計(jì)數(shù)與定時(shí)2、 掌握定時(shí)器的使用方法和程序設(shè)計(jì)方法。二、實(shí)驗(yàn)內(nèi)容如圖所示,P1.7接有一個(gè)發(fā)光二極管,利用定時(shí)器控制它亮一秒滅一秒,周而復(fù)始。 圖三、 編程提示1、 MCS51單片

13、機(jī)內(nèi)部有兩個(gè)可編程的定時(shí)器T0和T1,T0由特殊功能寄存取器TL0和TH0構(gòu)成。T1由特殊功能寄存器TL1和TH1構(gòu)成。有四種工作方式,即方式0、1、2、3(方式3僅對T0適用)。每種方式可以用于定時(shí)或計(jì)數(shù)。它們均由控制寄存器TMOD設(shè)定:低4位為T0的控制字,高4位為T1的控制字。M1M0決定工作方式: M1M000時(shí)為方式0,M1M001時(shí)為方式1,M1M010時(shí)為方式2。M1M011時(shí)為方式3。方式0:TL0(TL1)低5位和TH0(TH1)8位構(gòu)成13位計(jì)數(shù)器。TH0(TH1)加1計(jì)數(shù)溢出時(shí)置1溢出中斷標(biāo)志TF0(TF1)。方式1:TL0(TL1)8位和TH0(TH1)8位構(gòu)成16位計(jì)

14、數(shù)器。TH0(TH1)加1計(jì)數(shù)溢出時(shí)置1溢出中斷標(biāo)志TF0(TF1)。方式2:TL0(TL1)作為8位計(jì)數(shù)器,TH0(TH1)作為常數(shù)緩沖器,當(dāng)TL0(TL1)計(jì)數(shù)溢出時(shí),在置1溢出中斷標(biāo)志TF0(TF1)的同時(shí),將TH0(TH1)中的常數(shù)送入TL0(TL1),使TL0(TL1)從初值開始重新計(jì)數(shù),構(gòu)成初始常數(shù)自動裝入的8位計(jì)數(shù)器。方式3:T0分為兩個(gè)獨(dú)立的狀態(tài)8位計(jì)數(shù)器TL0和TH0。TL0占用全部定時(shí)器T0的控制位,即C/ /T、GATE、TR0、TF0等。TH0對機(jī)器周期進(jìn)行計(jì)數(shù),并使用定時(shí)器T1的狀態(tài)控制位,即TR1、TF1等。C/ /T決定計(jì)數(shù)或定時(shí):C/ /T1為計(jì)數(shù)方式,C/ /

15、T0為定時(shí)方式。計(jì)數(shù)方式:采用外部引腳(T0為P3.4,T1為P3.5)的輸入脈沖作為計(jì)數(shù)脈沖,當(dāng)T0(或T1)輸入發(fā)生高到低的負(fù)跳變時(shí),計(jì)數(shù)器加1。定時(shí)方式:每個(gè)機(jī)器周期計(jì)數(shù)器加1,由于每個(gè)機(jī)器周期12個(gè)振蕩周期,所以直數(shù)的速率是振蕩頻率的1/12,從計(jì)數(shù)值便可求得計(jì)數(shù)的時(shí)間,所以稱為定時(shí)方式。設(shè)振蕩頻率為6MHZ,則機(jī)器周期T12/f=12/6=2us。2、 1秒的定時(shí)由定時(shí)器T0和T1聯(lián)合完成。使T0工作在定時(shí)方式,T1工作在計(jì)數(shù)方式。將T0的定時(shí)時(shí)間定為100ms,當(dāng)定時(shí)時(shí)間到后,P1.0輸出反相加到T1腳(P3.5)。P1.0初始化為1,第一個(gè)100ms時(shí)間到時(shí),將P1.0取反變?yōu)?

16、,使加在T1的脈沖為正,第二個(gè)100ms時(shí)間到時(shí),又將P1.0取反變?yōu)?,使加在T1的脈沖為負(fù)。被T1計(jì)數(shù),所以需要T0定時(shí)兩次才構(gòu)成T1的一個(gè)完整的計(jì)數(shù)脈沖。設(shè)T1計(jì)數(shù)5次,就能完成1秒的定時(shí)。(100ms+100ms)*51000ms=1s。3、 定時(shí)/計(jì)數(shù)初值的計(jì)算:設(shè)T0工作在方式1,則有(216-X)*2s100ms,得X3CB0H,所以TH03CH,TL0B0H。而T1工作在方式2,則有(28-5)FBH,所以TH1FBH,TL1FBH。4、 定時(shí)器/計(jì)數(shù)器的啟動:TR0(TR1)是定時(shí)器T0(定時(shí)器T1)的運(yùn)行控制位。當(dāng)GATE(TMOD.3)為0時(shí),TR0為1時(shí)允許T0計(jì)數(shù),T

17、R0為0時(shí)禁止T0計(jì)數(shù)。同樣,當(dāng)GATE(TMOD.7)為0時(shí),TR1為1時(shí)允許T1計(jì)數(shù),TR1為0時(shí)禁止T1計(jì)數(shù)。由軟件置位或復(fù)位。5、 定時(shí)器可工作在非中斷狀態(tài),也可工作在中斷狀態(tài)。工作在非中斷狀態(tài)時(shí),每當(dāng)定時(shí)時(shí)間(或計(jì)數(shù))到置1溢出中斷申請標(biāo)志位TF0或TF1。在中斷狀態(tài)下,當(dāng)滿足定時(shí)器中斷條件時(shí),每當(dāng)定時(shí)時(shí)間(或計(jì)數(shù))到自動進(jìn)入定時(shí)器中斷服務(wù)程序。本實(shí)驗(yàn)程序工作在非中斷狀態(tài)。四、 實(shí)驗(yàn)器材 仿真器、目標(biāo)系統(tǒng)實(shí)驗(yàn)板、直流電源五、 實(shí)驗(yàn)步驟1、編寫程序,并譯成機(jī)器碼。2、斷開電源,按圖接好電路。3、向機(jī)器輸入程序。4、運(yùn)行程序,觀察發(fā)光二極管的亮滅情況。使用電子秒表測量發(fā)光二極管亮滅的時(shí)間

18、大約是多少。六、 實(shí)驗(yàn)報(bào)告要求1、列出程序清單。2、回答以下問題:(1) 定時(shí)器T0和T1各有哪幾種工作方式?工作原理如何?怎樣設(shè)定工作方式?(2) 計(jì)數(shù)和定時(shí)有什么區(qū)別?怎樣選擇和設(shè)定計(jì)數(shù)或定時(shí)?(3) 計(jì)數(shù)或定時(shí)的初始值怎樣計(jì)算與裝入?(4) 怎樣啟動定時(shí)器?3、 請寫出定時(shí)器T0在下述幾個(gè)問題的應(yīng)用程序:(1) 方式0的應(yīng)用:使T0產(chǎn)生1ms的定時(shí),并使P1.0輸出周期為2ms的方波。設(shè)晶振頻率6MHZ。(2) 方式1的應(yīng)用:題目同上。(3) 方式3的應(yīng)用:使T0產(chǎn)生200s的定時(shí),并使P1.0和P1.1分別產(chǎn)生400s和800s的方波。要求采用中斷控制方式。設(shè)晶振頻率12MHZ。4實(shí)驗(yàn)

19、心得。(必須)5附能說明實(shí)驗(yàn)原理的實(shí)驗(yàn)照片。(必須)實(shí)驗(yàn)五 秒表設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握數(shù)碼管動態(tài)掃描顯示的原理及過程。2、掌握單片機(jī)定時(shí)/計(jì)數(shù)中斷程序的設(shè)計(jì)方法。3、掌握單片機(jī)定時(shí)計(jì)數(shù)器去按鍵抖動的原理及編程方法。二、實(shí)驗(yàn)內(nèi)容如下圖所示,設(shè)計(jì)一個(gè)秒表,顯示格式為X-XX-X,例如1-56-7表示1分56.7秒,即以1/10秒的速度運(yùn)行。要求:用按鍵P3.2,P3.3控制秒表的運(yùn)行方式,可以選擇下面控制方式中的一種(1) 當(dāng)按下P3.2,時(shí)間清零,松開后不控制;當(dāng)按下P3.3,時(shí)間停止,松開后繼續(xù)計(jì)時(shí)(2) 復(fù)位鍵P3.2清零時(shí)間,P3.3每按一次按鍵切換一次計(jì)時(shí)/停止?fàn)顟B(tài)三、實(shí)驗(yàn)器材仿真器、

20、目標(biāo)系統(tǒng)實(shí)驗(yàn)板、直流電源四、實(shí)驗(yàn)步驟1、按照電路圖連接好系統(tǒng)實(shí)驗(yàn)板電路 2,按要求編寫程序,下載調(diào)試五、實(shí)驗(yàn)報(bào)告要求1、列出程序清單。2、說明實(shí)驗(yàn)觀察到的現(xiàn)象,并分析結(jié)果。3、總結(jié)秒表實(shí)驗(yàn)中的知識點(diǎn),自我評價(jià)知識掌握情況。4實(shí)驗(yàn)心得。(必須)5附能說明實(shí)驗(yàn)原理的實(shí)驗(yàn)照片。(必須)實(shí)驗(yàn)六 串行通訊實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1掌握單片機(jī)串行口工作方式; 2掌握雙機(jī)通訊的接口電路設(shè)計(jì)及程序設(shè)計(jì)。 二、實(shí)驗(yàn)設(shè)備 1. PC機(jī);2單片機(jī)最小系統(tǒng)教學(xué)實(shí)驗(yàn)?zāi)K; 3. 數(shù)碼管顯示模塊三、實(shí)驗(yàn)內(nèi)容 1雙機(jī)通信由兩套單片機(jī)試驗(yàn)裝置(兩個(gè)實(shí)驗(yàn)小組)共同完成該實(shí)驗(yàn)。我們U1為甲機(jī),U2為乙機(jī)。甲機(jī)發(fā)送本機(jī)(學(xué)生本人)學(xué)號

21、后8位給乙機(jī),乙機(jī)接收該8位數(shù)據(jù),并顯示在8位數(shù)碼管上。 電路如圖1所示。 要求串行通信方式為方式1,波特率為2400bit/s,不加倍,單片機(jī)外部晶振頻率為11.0592M。圖1 雙機(jī)通信原理示意圖附加要求:乙機(jī)接收完畢后,將本機(jī)(乙機(jī))的學(xué)號后8位發(fā)送回甲機(jī),甲機(jī)顯示在數(shù)碼管上。2.單片機(jī)與PC機(jī)通信單片機(jī)向PC機(jī)發(fā)送數(shù)據(jù)。單片機(jī)向PC機(jī)重復(fù)發(fā)送本機(jī)(學(xué)生本人)學(xué)號,發(fā)送波特率為1200,采用方式1,單片機(jī)外部晶振頻率為11.0592M。四、實(shí)驗(yàn)原理 41 串行通訊的方式 在串行通訊中,有兩種基本的通訊方式:異步通訊,同步通訊。 異步串行通訊規(guī)定了字符數(shù)據(jù)的傳送格式,既每個(gè)數(shù)據(jù)以相同的幀格

22、式發(fā)送。每個(gè)幀信息由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位組成。本實(shí)驗(yàn)主要學(xué)習(xí)異步通訊的實(shí)現(xiàn)方法。 在異步通訊中,每一個(gè)字符要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,以至占用了時(shí)間。所以在數(shù)據(jù)塊傳送時(shí),為了提高通訊速度,常去掉這些標(biāo)志,而采用同步通訊。同步通訊不像異步通訊那樣,靠起始位在每個(gè)字符數(shù)據(jù)開始時(shí)發(fā)送和接受同步。而是通過同步字符在每個(gè)數(shù)據(jù)塊傳送開始時(shí)使收/發(fā)雙方同步。 按照通訊方式,又可將數(shù)據(jù)傳輸線路分成三種:單工方式、半雙工方式、全雙工方式。(1)單工方式在單工方式下,通訊線的一端聯(lián)接發(fā)送器,另一端聯(lián)接接收器,它們形成單向聯(lián)接,只允許數(shù)據(jù)按照一個(gè)固定的方向傳送。(2)半雙工方式在半雙工

23、方式下,系統(tǒng)中的每個(gè)通訊設(shè)備都由一個(gè)發(fā)送器和一個(gè)接收器組成,通過收發(fā)開關(guān)接到通訊線路上,如圖33-1所示。在這種方式中,數(shù)據(jù)能從A站送到B站,也能從B站傳送到A站,但是不能同時(shí)在二個(gè)方向上傳送,即每次只能一個(gè)站發(fā)送,另一個(gè)站接收。圖2 半雙工通訊方式圖33-1中的收發(fā)開關(guān)并不是實(shí)際的物理開關(guān),而是由軟件控制的電子開關(guān),由通訊線兩端的半雙工通訊協(xié)議進(jìn)行功能切換。(3)全雙工(Fullduplex)方式雖然半雙工方式比單工方式靈活,但它的效率依然較低。從發(fā)送方式切換到接收方式所需的時(shí)間一般大約為數(shù)毫秒,這么長的時(shí)間延遲在對時(shí)間較敏感的交互式應(yīng)用(例如遠(yuǎn)程檢測監(jiān)視控制系統(tǒng))中是無法容忍的。重復(fù)線路切

24、換所引起的延遲積累,正是半雙工通信協(xié)議效率不高的主要原因。半雙工的這種缺點(diǎn)是可以避免的,而且方法很簡單,即采用信道劃分技術(shù)。在圖33-2的全雙工連接中,不是交替發(fā)送和接收,而是可同時(shí)發(fā)送和接收。全雙工通訊系統(tǒng)的每一端都包含發(fā)送器和接收器,數(shù)據(jù)可同時(shí)在兩個(gè)方向上傳送。圖3 全雙工通訊方式42單片機(jī)串行口工作方式在靜態(tài)數(shù)碼管顯示實(shí)驗(yàn)中,我們熟悉了單片機(jī)串口工作方式0;單片機(jī)串口還具有有3種工作方式。如下表所示:這3種工作方式,均用于串行異步通訊。在異步串行通訊的一個(gè)字節(jié)的傳送中,必須包括了起始位(0)和停止位(1)。除此之外,方式1具有8位(1個(gè)字節(jié))的數(shù)據(jù)位(低位在先),方式2、3則除這8位之外

25、,還具有一個(gè)可編程的第9位,這個(gè)第9位編程通常被編程為奇偶校驗(yàn)位。我們將在下一個(gè)實(shí)驗(yàn)中用到它。串口工作方式在特殊寄存器SCON中設(shè)置。其中的SM0和SM1位確定了串口工作方式。要使通訊雙方能夠通訊成功,必須具有相同的串口工作模式;REN為允許接收位,本實(shí)驗(yàn)中因?yàn)殡p方都要進(jìn)行接收,因此REN也都應(yīng)設(shè)為1。TB8和RB8這里暫不涉及。利用以下語句來設(shè)置SCON:MOV SCON, #50H43 波特率的設(shè)置在異步串口通訊中,一個(gè)很重要的工作就是進(jìn)行串口波特率的設(shè)置。波特率是指串口通訊中每秒傳送的位數(shù),單位為BPS,它反映了串行口通訊的速度;同時(shí),通訊雙方的速度必須一致,才能夠順利進(jìn)行通訊。在串口工

26、作方式1、3中,傳送波特率都是可變的。單片機(jī)內(nèi)部通過定時(shí)器T1來提供發(fā)送與接收緩存器的內(nèi)部移位時(shí)鐘。也就是說,要確定串行通訊的波特率,必須對T1進(jìn)行相關(guān)設(shè)置。51單片機(jī)系統(tǒng)對此時(shí)T1的設(shè)置有以下固定的規(guī)定:()必須工作在定時(shí)器狀態(tài);()必須工作在“8位自動重載”工作模式;這必須在特殊寄存器TMOD中進(jìn)行設(shè)置。關(guān)于TMOD的詳細(xì)內(nèi)容,我們在實(shí)驗(yàn)十七已經(jīng)講過??梢岳靡韵抡Z句來設(shè)置TMOD:MOV TMOD, #20H除了對TMOD的設(shè)置外,還必須設(shè)置定時(shí)器T1的定時(shí)值,也就是保存在TH1中的8位重載值。這直接影響到波特率的大小:它通過以下公式進(jìn)行計(jì)算:其中的SMOD為特殊寄存器PCON的最高位。

27、當(dāng)它置1時(shí),可以將波特率增大1倍。在雙機(jī)通訊中,只要雙方的波特率一致就能夠完成通訊了;但是,在標(biāo)準(zhǔn)的異步通訊協(xié)議中,只有幾種波特是適用的。例如1200bps,2400bps,4800bps,9600bps等等。而通過這個(gè)公式可以看出,并不是所有的晶振頻率都能夠得到準(zhǔn)確的上述波特率。比如采用12MHz晶振,代入公式進(jìn)行運(yùn)算,就無法得到4800bps的準(zhǔn)確波特率(TH1必須為小數(shù)了)。在這種情況下,過去人們都使用軟件補(bǔ)償?shù)姆椒ǎM量得到準(zhǔn)確的波特率;而現(xiàn)在,市場上有很多通訊專用的晶振,例如3.6864MHz、11.0592MHz的晶振,都能夠直接得到準(zhǔn)確的波特率。因此在進(jìn)行本實(shí)驗(yàn)時(shí),必須使用通訊專用晶振(如果使用仿真器,則設(shè)置為使用仿真頭的外接晶振,并將11.0592M的晶振插入仿真頭。當(dāng)波特率已經(jīng)確定,就可以反向推導(dǎo)出TH1的取自大小,例如,在本次實(shí)驗(yàn)中,我們要求波特率為4800bps,在晶振采用11.0592MHz的情況下,推出TH10F4H。五、實(shí)驗(yàn)步驟 1參考圖1并進(jìn)行電路設(shè)計(jì),畫出電

溫馨提示

  • 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

提交評論