單片機(jī)實(shí)驗(yàn)報(bào)告_第1頁
單片機(jī)實(shí)驗(yàn)報(bào)告_第2頁
單片機(jī)實(shí)驗(yàn)報(bào)告_第3頁
單片機(jī)實(shí)驗(yàn)報(bào)告_第4頁
單片機(jī)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄一、 實(shí)驗(yàn)一··········································1二、 實(shí)驗(yàn)二·····

2、83;····································7三、 實(shí)驗(yàn)三············&#

3、183;····························11四、 實(shí)驗(yàn)四····················

4、·····················15實(shí)驗(yàn)一定時(shí)/計(jì)數(shù)器驗(yàn)證實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康氖煜ざ〞r(shí)/計(jì)數(shù)器T0的特點(diǎn),學(xué)會(huì)合理選擇定時(shí)方式并能根據(jù)具體情況結(jié)合軟件的方式定時(shí)。二、 實(shí)驗(yàn)設(shè)備及器件 IBM PC機(jī) 一臺(tái) PROTEUS 硬件仿真軟件 Keil C51。三、 實(shí)驗(yàn)內(nèi)容用AT89C51單片機(jī)的定時(shí)/計(jì)數(shù)器T0產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)1s產(chǎn)生時(shí)秒計(jì)數(shù)加1;秒計(jì)數(shù)到60時(shí)

5、,自動(dòng)從0開始。四、 實(shí)驗(yàn)要求要求采用Proteus軟件實(shí)現(xiàn)上述實(shí)驗(yàn)。 五、 實(shí)驗(yàn)步驟 1. 打開Proteus ISIS編輯環(huán)境,按照表1-1所列的元件清單添加元件。 元件名稱所屬類所屬子類AT89C51Microprocessor8051 FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneousRESResistorsGeneric7SEG-COM-CAT-GRNOptoelectronics7-Segment DisplaysPULLUPModeling PrimitivesDigitalMiscell

6、aneous表1-1 元件清單元件全部添加后,在Proteus ISIS的編輯區(qū)域中按圖1-1所示的原理圖連接硬件電路。圖1-1 電路原理圖2. 根據(jù)參考程序繪出流程圖,并輔以適當(dāng)?shù)恼f明。流程圖如圖1-2所示:圖1-2 程序流程圖3. 打開KeilVision4,新建Keil項(xiàng)目,選擇AT89C51單片機(jī)作為CPU,將參考程序?qū)氲健癝ource Group 1”中。在“Options for Target”對(duì)話窗口中,選中“Output”選項(xiàng)卡中的“Create HEX File”選項(xiàng)和“Debug”選項(xiàng)卡中的“Use:Proteus VSM Simulator”選項(xiàng)。編譯匯編源程序,改正程

7、序中的錯(cuò)誤。4. 在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,打開“Edit Component”對(duì)話窗口,設(shè)置單片機(jī)晶振頻率為12MHz,在此窗口中的“Program File”欄中,選擇先前用Keil生成的.HEX文件。在Proteus ISIS的菜單欄中選擇“File”“Save Design”選項(xiàng),保存設(shè)計(jì),在Proteus ISIS的菜單欄中,打開“Debug”下拉菜單,在菜單中選中“Use Remote Debug Monitor”選項(xiàng),以支持與Keil的聯(lián)合調(diào)試。5. 在Keil的菜單欄中選擇“Debug”“Start/Stop Debug Session“選

8、項(xiàng),或者直接單擊工具欄中的“Debug”“Start/Stop Debug Session”圖標(biāo),進(jìn)入程序調(diào)試環(huán)境。按“F5”鍵,順序運(yùn)行程序。調(diào)出“Proteus ISIS”界面可以看到7段數(shù)碼管顯示從059s的計(jì)數(shù)值,每個(gè)數(shù)值顯示1s,如圖1-3所示。 圖 1-3 程序運(yùn)行結(jié)果六、 實(shí)驗(yàn)程序SECONDEQU30HCOUNTEQU31HORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVSECOND,#00HMOVCOUNT,#00HMOVDPTR,#TABLECLRAMOVP0,AMOVP2,AMOVTMOD,#00HMOVTH0,#(65536-50000)

9、/256MOVTL0,#(65536-50000)MOD 256SETBTR0SETBET0SETBEAMOV IE,#82HLJMP$INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD 256INCCOUNTMOVA,COUNTCJNEA,#20,I2MOVCOUNT,#00HINCSECONDMOVA,SECONDCJNEA,#60,I1MOVSECOND,#00HI1:MOVA,SECONDMOVB,#10HDIVABMOVCA,A+DPTRMOVP0,AMOVA,BMOVCA,A+DPTRMOVP2,AI2:RETITABL

10、E:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND七、 思考題 1. 羅列一下Proteus軟件的能帶給我們的好處,指出一點(diǎn)最能幫助你的地方。 使用Proteus軟件能使我們方便的搭建電路,同時(shí)在沒有元器件的情況下進(jìn)行便于仿真,方便我們?cè)趯⒊绦驅(qū)懭雴纹瑱C(jī)前確認(rèn)運(yùn)行是否正確,同時(shí)可在采購器件之前即可開始開發(fā)產(chǎn)品,而不必等到器件采購?fù)旰蟠罱娐凡胚M(jìn)行程序調(diào)試。2. 用Proteus界面中的播放鍵運(yùn)行仿真與KeilVision4的環(huán)境中聯(lián)調(diào)運(yùn)行它們兩者的區(qū)別在什么地方? 用Proteus界面中的播放鍵運(yùn)行仿真僅可以觀察運(yùn)行結(jié)果,即程序運(yùn)行在硬件表面上的表現(xiàn)

11、。而聯(lián)調(diào)的時(shí)候可以再Keil軟件里查看各寄存器和存儲(chǔ)器的狀況,即硬件的內(nèi)部情況。3. Keil軟件軟件仿真與Proteus的仿真對(duì)比。 使用Proteus仿真可從硬件的角度觀察仿真結(jié)果,使仿真結(jié)果更加形象直觀,使我們可從硬件運(yùn)行狀態(tài)清楚的判斷運(yùn)行結(jié)果是否正確。而在Keil環(huán)境中則是從程序的角度通過觀察程序中數(shù)據(jù)的變化來觀察仿真結(jié)果,需要對(duì)程序運(yùn)行結(jié)果充分了解。八、 實(shí)驗(yàn)總結(jié)及相關(guān)問題通過本次實(shí)驗(yàn)了解了Ptoteus軟件的使用方法,以及在掌握了Keil的使用方法下,學(xué)會(huì)了Proteus與Keil軟件聯(lián)調(diào)的方法。在用Proteus中由于忽略了要在總線處放置網(wǎng)絡(luò)標(biāo)號(hào)導(dǎo)致聯(lián)調(diào)失敗,最后通過觀察發(fā)現(xiàn)數(shù)碼

12、管引腳電平無變化發(fā)現(xiàn)此問題,放置網(wǎng)絡(luò)標(biāo)號(hào)后運(yùn)行仿真時(shí)數(shù)碼管引腳電平發(fā)生變化可是數(shù)碼管卻沒有變亮,經(jīng)過多次檢查接線,未發(fā)現(xiàn)接線錯(cuò)誤后,覺得可能是軟件本身錯(cuò)誤,故將總線及數(shù)碼管周圍硬件線路重新繪制一遍后再次運(yùn)行仿真及可得到圖1-3的結(jié)果。實(shí)驗(yàn)二單片機(jī)I/O口控制實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?利用單片機(jī)的P1 口作IO 口,使同學(xué)學(xué)會(huì)利用P1 口作為輸入和輸出口。 二、 實(shí)驗(yàn)設(shè)備及器件 IBM PC 機(jī) 一臺(tái) DP-51PRO.NET 單片機(jī)仿真器、編程器、實(shí)驗(yàn)儀三合一綜合開發(fā)平臺(tái)一臺(tái) 三、 實(shí)驗(yàn)內(nèi)容 1. 編寫一段程序,用P1 口作為控制端口,使D1 區(qū)的LED 輪流亮。 2. 編寫一段程序,用P1.0P1

13、.6 口控制LED,P1.7 控制LED 的亮和滅(P1.7 接按鍵,按下時(shí)LED 亮,不按時(shí)LED 滅) 。 四、 實(shí)驗(yàn)要求 學(xué)會(huì)使用單片機(jī)的P1 口作IO 口,如果有時(shí)間同學(xué)也可以利用P3 口作IO 口來做該實(shí)驗(yàn)。 五、 實(shí)驗(yàn)步驟 1. 用導(dǎo)線把A2 區(qū)的J61 接口與D1 區(qū)的J52 接口相連。原理如圖2-1 所示。 圖2-1 實(shí)驗(yàn)二原理圖2. 先編寫一個(gè)延時(shí)程序。延時(shí)程序見程序1子程序DELAY。 3. 將LED 輪流亮的程序編寫完整并使用TKStudy ICE 調(diào)試運(yùn)行。 LED輪流亮程序見程序1。調(diào)試運(yùn)行結(jié)果:D1區(qū)LED輪流亮。4. 使用導(dǎo)線把A2 區(qū)的J61 接口的P1.0P1

14、.6 與D1 區(qū)的 J52 接口的LED1LED7 相連,另外A2 區(qū)J61 接口的P1.7 與D1 區(qū)的J53 的KEY1 相連。5. 編寫P1.7 控制LED 的程序,并調(diào)試運(yùn)行。(按下K1 看是否全亮)。P1.7 控制LED 的程序見程序2。調(diào)試運(yùn)行結(jié)果:按下P1.7后D1區(qū)LED全滅。6. A2 區(qū)J61 接口的P1.7 與D1 區(qū)的J54 的SW1 相連。然后再使用TKStudy ICE 運(yùn)行程序,查看結(jié)果。 P1.7 控制LED 的程序見程序2。調(diào)試運(yùn)行結(jié)果:按下P1.7后D1區(qū)LED全亮。六、 實(shí)驗(yàn)參考程序 程序1:ORG 0000HLJMP MAINORG 0100HMAIN:

15、MOV A,#0FFHCLRCMAINLOOP:CALLDELAYRLC AMOVP1,ASJMPMAINLOOPDELAY:MOVR7,#0LOOP:MOVR6,#0DJNZR6,$DJNZR6,$DJNZR6,$DJNZR7,LOOPRETEND程序2:ORG000HLJMPMAINORG0100HMAIN:JBP1.7,SETLEDCLRLED:CLRP1.0CLRP1.1CLRP1.2CLRP1.3CLRP1.4CLRP1.5CLRP1.6SJMPMAINSETLED:SETBP1.0SETBP1.1SETBP1.2SETBP1.3SETBP1.4SETBP1.5SETBP1.6SJM

16、PMAINEND七、 實(shí)驗(yàn)思考題 1. 請(qǐng)同學(xué)思考一下,想出幾個(gè)實(shí)現(xiàn)以上功能的編程方法。 程序1可利用單片機(jī)的定時(shí)計(jì)數(shù)器通過選擇定時(shí)計(jì)數(shù)器工作方式和預(yù)置初值設(shè)定延時(shí)時(shí)間,通過定時(shí)計(jì)數(shù)器產(chǎn)生的中斷在中斷程序中對(duì)A進(jìn)行移位后輸出至P1口。程序2可在判斷P1.7高低電平后根據(jù)判斷結(jié)果直接將#80H或#7F直接送P1口而不必逐位進(jìn)行位操作。2. 請(qǐng)同學(xué)再思考一下,第二個(gè)程序中如果使用KEY1作為外部中斷控制LED的亮和滅時(shí),程序應(yīng)如何修改。此時(shí)將KEY1接/INT0口,在主程序中開啟外部中斷設(shè)置外部中斷觸發(fā)方式,通過中斷服務(wù)子程序控制LED亮滅。程序如下所示:ORG000HLJMPMAINORG000

17、3H;中斷服務(wù)程序LJMPSETLEDMAIN:MOVSP,#40HSETBET0;開外部中斷CLRIT0;設(shè)置為電平觸發(fā)SETBEACLRLED:CLRP1.0CLRP1.1CLRP1.2CLRP1.3CLRP1.4CLRP1.5CLRP1.6SJMPCLRLEDSETLED:SETBP1.0SETBP1.1SETBP1.2SETBP1.3SETBP1.4SETBP1.5SETBP1.6RETIEND八、 實(shí)驗(yàn)總結(jié)及相關(guān)問題通過本次實(shí)驗(yàn)掌握了使用TKStudy ICE進(jìn)行硬件仿真調(diào)試的方法,在設(shè)置仿真器驅(qū)動(dòng)程序聲明時(shí)對(duì)C:Keil目錄下的Tools.ini文件添加描述時(shí),由于添加的路徑錯(cuò)誤導(dǎo)

18、致無法進(jìn)行硬件仿真調(diào)試,修改為正確路徑后方可在DEBUG窗口中的Use選項(xiàng)中找到對(duì)應(yīng)的選項(xiàng)。使用TKStudy ICE進(jìn)行硬件仿真調(diào)試相比本學(xué)期的電子系統(tǒng)設(shè)計(jì)中用到的調(diào)試方法更快捷,使用更方便。與此同時(shí),通過本次實(shí)驗(yàn)對(duì)單片機(jī)的I/O控制有了更深入的了接,同時(shí)加深入對(duì)單片機(jī)I/O編程的理解。實(shí)驗(yàn)三串轉(zhuǎn)并I/O口實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?熟悉并掌握串轉(zhuǎn)并的I/O口擴(kuò)展方法。 二、 實(shí)驗(yàn)設(shè)備及器件 IBM PC機(jī) 一臺(tái) DP-51PRO.NET單片機(jī)仿真器、編程器、實(shí)驗(yàn)儀三合一綜合開發(fā)平臺(tái) 一臺(tái) 三、 實(shí)驗(yàn)內(nèi)容 1. 寫程序,通過單片機(jī)的P1口控制74HC164的串行輸入端口,實(shí)現(xiàn)串并轉(zhuǎn)換。 2. 驗(yàn)證串

19、并轉(zhuǎn)換數(shù)據(jù)的正確性。 四、 實(shí)驗(yàn)要求 熟悉串并轉(zhuǎn)換芯片的工作原理,學(xué)會(huì)使用串并轉(zhuǎn)換芯片擴(kuò)展單片機(jī)的I/O口資源。表3-1 74HC164真值表五、 實(shí)驗(yàn)步驟 1 短接C5區(qū)JP10接口,將C5區(qū)J43接口與A2區(qū)J61接口的P10P13對(duì)應(yīng)相連 (CLK對(duì)P10等等)。如圖3-1所示。 圖3-1 實(shí)驗(yàn)三原理圖2 運(yùn)行編寫好的軟件程序,完成一次串并轉(zhuǎn)換。 實(shí)驗(yàn)程序見實(shí)驗(yàn)參考程序。2 使用C2區(qū)的邏輯筆或D1區(qū)的J52接口(LED指示燈)測(cè)試并行輸出數(shù)據(jù)Q0Q7數(shù)據(jù)的正確性。 調(diào)試運(yùn)行結(jié)果:通過觀察LED的亮滅情況可判斷完成一次串并轉(zhuǎn)換,且轉(zhuǎn)換結(jié)果正確無誤。六、 實(shí)驗(yàn)參考程序 CLKEQUP1.0

20、DINA EQU P1.1DINB EQUP1.2CLR164EQU P1.3ORG0000HLJMPMAINORG0100HMAIN:MOV SP,#60HNOPCLRCLKSETBDINBCLRCLR164SETBCLR164MOVA,#0FFHMOVR4,#08HSLCHG:RLC AMOV DINA,CSETB CLKNOPCLR CLKNOPDJNZ R4,SLCHGSJMP $END七、 實(shí)驗(yàn)思考題 參考圖3-2電路圖,嘗試編寫軟件程序,實(shí)現(xiàn)8位LED流水燈的控制。圖3.2 實(shí)驗(yàn)原理圖可利用單片機(jī)的定時(shí)計(jì)數(shù)器通過選擇定時(shí)計(jì)數(shù)器工作方式和預(yù)置初值設(shè)定延時(shí)時(shí)間,通過定時(shí)計(jì)數(shù)器產(chǎn)生的中斷

21、在中斷程序中對(duì)A進(jìn)行移位。程序如下所示:CLKEQU P1.0DINA EQU P1.1DINB EQU P1.2CLR164EQU P1.3ORG0000HLJMPMAINORG000BH;定時(shí)器0中斷服務(wù)程序LJMPSLCHGMAIN:MOV SP,#60HNOPCLRCLKSETBDINBCLRCLR164SETBCLR164MOVA,#0FFHMOVTMOD,#01H;定時(shí)器0工作方式1MOVTH0,#18H;送2ms時(shí)間常數(shù)MOVTL0,#0FCHSETBTR0;開中斷SETBET0SETBEASJMP$SLCHG:MOVTH0,#18HMOVTL0,#0FCHRLC AMOV DI

22、NA,CSETB CLKNOPCLR CLKRETIEND八、 實(shí)驗(yàn)總結(jié)及相關(guān)問題由于具有之前實(shí)驗(yàn)的基礎(chǔ)所以本實(shí)驗(yàn)基本沒碰到什么問題,調(diào)試運(yùn)行都符合實(shí)驗(yàn)要求,通過本次實(shí)驗(yàn)對(duì)串并轉(zhuǎn)化程序的編寫有了一定了解,通過編寫流水燈程序加深了對(duì)單片機(jī)串并口的了解。實(shí)驗(yàn)四繼電器控制實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?加深理解繼電器的工作原理和特點(diǎn),掌握利用單片機(jī)的IO口控制繼電器的一般方法。 二、 實(shí)驗(yàn)設(shè)備及器件 IBM PC機(jī) 一臺(tái) DP-51PRO.NET單片機(jī)仿真器、編程器、實(shí)驗(yàn)儀三合一綜合開發(fā)平臺(tái) 一臺(tái) 三、 實(shí)驗(yàn)內(nèi)容 1. 利用D1區(qū)的撥動(dòng)開關(guān)和LED,學(xué)習(xí)繼電器的工作原理和特點(diǎn)。 2. 編寫一段程序,用P1.0口

23、控制繼電器,繼電器控制LED的亮和滅,(COM與CLOSE連通時(shí),一盞LED亮;不連通時(shí)該LED滅。COM與OPEN連通時(shí),另一盞LED亮,不通時(shí)該LED滅)。 四、 實(shí)驗(yàn)要求 學(xué)會(huì)繼電器的使用和利用單片機(jī)的IO口控制繼電器的方法。 五、 實(shí)驗(yàn)步驟 圖4-1 繼電器驅(qū)動(dòng)控制電路圖1. 用短路帽短接JP7,使用導(dǎo)線把D1區(qū)J54接口的SW1與C7區(qū)J9接口的KJ(任意一根針)相連接。 2. 使用導(dǎo)線把D1區(qū)J52接口的LED1、LED2與C7區(qū)J103接口的OPEN1,CLOSE1分別相連,另外C7區(qū)J103接口的COM1接地(GND)。 3. 接好線后,同學(xué)可以撥動(dòng)D1區(qū)的SW1撥動(dòng)開關(guān),觀察現(xiàn)象(撥到1時(shí)LED2亮,撥到0時(shí)LED1亮),并得出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論