單片機實驗分析指導(dǎo)書_第1頁
單片機實驗分析指導(dǎo)書_第2頁
單片機實驗分析指導(dǎo)書_第3頁
單片機實驗分析指導(dǎo)書_第4頁
單片機實驗分析指導(dǎo)書_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單 片 機 原 理 與 應(yīng) 用實驗指導(dǎo)書注意:1、做實驗前必須預(yù)習2、帶教材和實驗指導(dǎo)書哈爾濱理工大學自動化學院自動化系實驗儀的使用本實例是仿真INTEL的8031單片機,來循環(huán)點亮 P1 口的發(fā)光二極管(低電平有效)。程序是用匯編 語言來編寫。下面介紹相應(yīng)的操作步驟:-lai x|1、運行桌面 星研集成軟件”,畫面如下:L/ 兀呵邁«« '2)IT) mi fl 號ig-j'r-.-)W*? iri war 卯 VK)-a>DJI WdlG >|_1御'響F 侶I ail 衛(wèi)団I*f IIit tfl訂瓠 ”I|訶11叫川山打 住刪 魁

2、愛lIF1二|1 1| I忌丨IIBBIri - :_ T 例于11 :J HC$£1"3Kellh :LJrronklir: La Intel bl I ArchlliedcH-KCSSe M雖 tD6F 二i Tntel Pfi H 1 fW> ITEUsklne S占 *19aari:E,777 - L:匚筍,丁2、建立源文件 執(zhí)行主菜單?文件?新建,(或者點擊圖標 )打開窗口。ASM文件,使用A51來對它編譯。本選擇存放源文件的目錄,輸入文件名,注意:一定要輸入文件名后綴。對源文件編譯、連接、生成代 碼文件時,系統(tǒng)會根據(jù)不同的擴展名啟動相應(yīng)的編譯軟件。比如:浙

3、建文斗I卽建力目立件I廠 r n Hl -丸件宕:|xuriiuanu asnU于擷亍目錄:# 1 Lr.eTan> HLJUuuan21實例文件名為 xunhuan.asm。窗口如下:Ml 按 確定”即可。然后即出現(xiàn)文件編輯窗口: 輸入源程序,參照實驗一源程序。 II 口 1«|出.I爛I 口1 1闖I二孫| 頤IIi崗I命卜±=11盜I川型Ml “ I JuLJ函 f”1 n mT:jI-J WCSE1_ KollT 二J FranliTin* intel &1 二I A±' cJn 1 lheI-1WC326 MCSl* 二I In+

4、= 1- 1± Taskins 勺6 -1 - :1 iJ : 1 2 JI ®1JI-11 jJl :7 1 111;llL lOftCDC DOHr.JTMTSTARTDlUUtJSTAftt!血T3P.HiJV0tfQFMHSTARTL1亦VPlj ARTAAjCaLLBELAVSJflFSTARTIMtki/:MmC, riOKlTM,如時于吆JTT刃曲1 r眄TF b 0 aDJUZ5 tUJHl UT t£HLiROj DELXYI評匕八勞雀抹單片楓1計借研齊騎倫、皿益£八盤qffiin甲 *磯.J正柱炷樓F;憐科工十豐九* :|-律3硏且無

5、實盼論、»:5EA5W1cJ. dob 一 O Pruoutg,O iraTE:incg這樣一個源文件就建立好了。3. 編譯、連接文件首先選擇一個源文件,然后可以編譯、連接文件了。對文件編譯,如果沒有錯誤,再與庫文件連接,生成代碼文件(DOB、HEX文件)。編譯、連接文件的方法有如下二種: (1)使用主菜單?項目?編 譯、連接或主菜單?項目?重新編譯、連接”。(2)點擊圖標圍屈來編譯、連接”或重新編譯連 接”。編譯、連接過程中產(chǎn)生的信息顯示在信息窗的建立”視中。編譯沒有錯誤的信息如下:莊fe竦譯可:am, 巨花3摟 Z ljrigT an. TLnimanvi.3J-uz. dit

6、- D cttotG)” 0 wa :;.&肓±r不丁宜/豊艸1 駁粧1囲廉 .史哺EJi I淨町:g土 a'申冏釘I若有錯誤則出現(xiàn)如下信息框:呂王1 鞭: '罄鷗7 an' xunmCTirjriii-J3nr jet. r:*in_£YHiiijnnaniLndiLi3y dub - L ffm3rll.£)j. D訂口、躍亞"邈電1膜判:Jtk i恂:我*Mff;聲無氈生囂; a吊(匕1有錯誤、警告信息,用鼠標左鍵雙擊錯誤、警告信息或?qū)⒐鈽艘频藉e誤、警告信息上,回車,系統(tǒng)自動打 開對應(yīng)的出錯文件,并定位于出錯行上。這

7、時用戶可以作相應(yīng)的修改,直到編譯、連接文件通過。4 .調(diào)試編譯、連接正確后,可以開始調(diào)試程序。進入調(diào)試狀態(tài)方法有:a)執(zhí)行主菜單?運行?進入調(diào)試狀態(tài)b)點擊工具條的 0進入后的窗口如下:«tt<ii st(y 霑Q 叩 ifi.E) ,»®p «si/' er 1: w爵巴I d| igiB ft '糾I冏履 肋I*亙,I也止-11土:劃“制廊7”CE .如:iARR;:到10AC 0FDp=D no創(chuàng)叵 liJF Xllpe一 IF卜£P6。A FtIEp|M 型J甌 下1嚇冏履 jrtJsr.TtrfF酋.創(chuàng)a 砸向巨

8、障匕 *1. I.剛亡 訂也:UDOl7. WH "MFHPl, h hl好3 V化旳卩麗幗tvuJ丄朽邛和yc£ UI m I迥pn |dTI TUB 也? IWwjFI Hl HTon I IS TE jiji b scflitJlQoiTU W契Jri 阿KtfSHiwnrijFIvt 口川H恂"卯一H 匹山一耶一竺-2rs_IE Ei 43 » flO n ip Dj 31 眾嚇M no占】RBP 4P K niE. jy CCm M 眄M S2 X 2iH 恥舊 S:漠津刼礎(chǔ)宜耙E M訊 頃;W n- d 口用 rt- 2 Zffi甜旳 O 9

9、 t 4 D _H- 7 1-II;.竺 x:l '序竺 叟S J : .Il-Je.i.t- #L£ 1. _$ 匚 G I." i(L,I Ij »nSThTri變耽丨嗎匚pm0J3H口 FT卩F阡叮評PT二1aajQrf FI FF PF IF W FI iift rr Pr PF rr ft ftrp rr P!叩 rr 忡 rr1PPFTFF 卩 rnrprrqFu審1±rF血¥11創(chuàng)藥網(wǎng)m擁rfrTlL&SVi c 'ziEibumliirixuiL tLr*'753169tSJt軌刪:Ji Wit-

10、 (mw®-IWS訝地站! JUT0儔C3址CEjSfTTft: omuffl,衛(wèi)訓(xùn)HarI卩射0HL4Pl.ft0呼丸皿WCSLL門 LQDK!ajfh!EJIPuLOGkLlUJS吐価屯阿PLJ汕丨nXflom1 pij Ctl© START1 佃:產(chǎn)人列.亍 JrtW 慎円恫7丁5皿呻間在整個圖片中我們可以看到相對應(yīng)的窗口信 息。在工作區(qū)窗"的“CommonRegiste”中我們 可以了解通用寄存器的信息。中間的窗口為源 程序窗口,用戶可在此設(shè)置斷點,設(shè)置光標的 運行處,編輯程序等。寄存器窗我們可以看到 一些常用的寄存器的數(shù)值。存貯窗1、存貯窗2顯示相應(yīng)的內(nèi)

11、部數(shù)據(jù)空間、外部數(shù)據(jù)空間的數(shù) 據(jù),還有變量窗,自動收集變量顯示其中。反 匯編窗顯示對程序反匯編的信息代碼、機器碼。在信息窗的 裝載”視中,顯示裝載的代碼文件, 裝載的字節(jié)數(shù),裝載完畢后,顯示啟始地址,結(jié)束地址。這種船塢化的窗口比通常的窗口顯示的內(nèi)容更多,移動非常方便。用鼠標左鍵點住窗口左邊或 上方的標題條,移動鼠標,將窗口移到您認為合適的位置;將鼠標移到窗口的邊上,鼠標的圖標變成可變 化窗口時的形狀,用鼠標左鍵點住,移動鼠標,變化一個或一組窗口的大小。在調(diào)試過程中,可以根據(jù)您 的需要,在主菜單?查看中打開:寄存器窗、存貯器窗1、2、3、觀察窗、變量窗、反匯編窗。您也可以通過主菜單?輔助?設(shè)置?

12、格式,設(shè)置每一種窗口使用的字體、大小、顏色。移動窗口到您喜歡的 位置、大小。顏色”中選擇某一類,在 前景” 背景”首先在 種類”中選擇一個窗口,然后選擇字體” 大小”在中選擇您喜歡的顏色。E3 (當前可執(zhí)行標志)不會出現(xiàn)在您F4功能鍵,讓 CPU全速運行到 main行,按F7功能鍵,讓CPU“單步進入”,運行到您的任何一個可執(zhí)行后停對于高級語言,在您的程序前有一段庫文件提供的初試化代碼, 的文件行上,如果您使用 C語言,可將光標移到 main函數(shù)上,按 上后停下;如果您使用 PL/M語言 下。您可以使用以下命令調(diào)試您的程序: 曲設(shè)置或清除斷點(功能鍵為F2)在當前光標行上設(shè)置或清除一個斷點 內(nèi)

13、單步進入(功能鍵 F7)單步執(zhí)行當前行或當前指令,可進入函數(shù)或子程序。SUPER ICE16、SUPER ICE51“單步進入”時,不響應(yīng)中斷。匚連續(xù)單步進入(功能鍵 Ctrl + F7)連續(xù)執(zhí)行 單步進入”,用鼠標點擊凰I或按任意鍵后,停止運行。SUPER ICE16、SUPER ICE51“單步進入”時,不響應(yīng)中斷。滬 單步(功能鍵 F8)單步執(zhí)行當前行或當前指令,將函數(shù)或子程序作為一條指令來執(zhí)行。如果當前行中含有函數(shù)、子 程序或發(fā)生中斷,CPU將執(zhí)行完整個函數(shù)、子程序或中斷,停止于當前行或當前指令的下一有代碼的 行上。SUPER ICE16、SUPER ICE51“單步”時,不響應(yīng)中斷。

14、H 連續(xù)單步(功能鍵 Ctrl + F8)連續(xù)執(zhí)行 單步”,用鼠標點擊國I或按任意鍵后,停止運行。SUPER ICE16、SUPER ICE51單步”時,不響應(yīng)中斷。運行到光標行(功能鍵F4)從當前地址開始全速運行用戶程序,碰到光標行、斷點或用鼠標點擊全速斷點(功能鍵 F9)從當前地址開始全速運行用戶程序,碰到斷點或用鼠標點擊 全速運行(功能鍵 Ctrl + F10)從當前地址開始全速運行用戶程序,此時, 即對于MCS51類CPU是從0開始執(zhí)行;對于 點擊同I,停止運行。Bii停止運行珮終止微機與仿真器之間通信(功能鍵注意:欲終止微機與仿真器之間通信,功能鍵 的效果要好。建議用戶多用ESC鍵。

15、在系統(tǒng)運行用戶可以按鍵盤的其他任意鍵停止其運行。5 .調(diào)試的方法及技巧一般來說,用戶的程序或多或少的會有一些邏輯錯誤,我們的仿真器、實驗儀和星研集成軟件可以幫 助用戶很快的定位,很快的查出相應(yīng)的錯誤。一般剛剛寫好的程序,在進入調(diào)試狀態(tài)后,執(zhí)行單步”或者 單步進入”,我們推薦您能記住這些操作的相對應(yīng)的功能鍵,這樣您就在調(diào)試程序的過程中很方便。在調(diào)試狀態(tài)的窗口中我們可以看到很多的窗口,用戶只要熟練地應(yīng)用這些窗口來觀察、分析數(shù)據(jù)就會 很快的調(diào)試好程序,達到事半功倍的效果。比如在剛才的調(diào)試程序中我們多次執(zhí)行單步(F8) ”命令,在工作區(qū)窗口的CommonRegister視中查看通用的寄存器:Sii,停

16、止運行。SIZij,停止運行。按用戶系統(tǒng)的復(fù)位鍵,CPU從頭開始執(zhí)行用戶程序,MCS96、MCS196類CPU是從2080H開始執(zhí)行。用鼠標ESC)。ESC是一個很方便的鍵,它的效果比點擊相應(yīng)的圖標 連續(xù)單步”或者連續(xù)單步進入”時ESC鍵被禁止,這時我們可以觀察到在本程序中所使用的一些寄存器的變化,比如累加器A、P1 口的數(shù)值的變化。我們可以看到 P1 口中的數(shù)值變化為:FEH(11111110B) FDH(11111101B) FBH(11111011B) F7H(11110111B) EFH(11101111B) DFH(11011111B) BFH(10111111B) 7FH(0111

17、 1111B) FEH(1111 1110B)很好的實現(xiàn)了 P1 口循 環(huán)點亮發(fā)光二極管的功能。對于其他的一些寄存器的數(shù)值的觀察我們 也可以用來分析自己的程序。把光標移動到DELAY子程序(具體操作是:用鼠標點擊DELAY ,然后再點擊圖標,即可運行到光標行):±r沁tKLAY LOOPLELA7:nov BOVEL_SaD2H_, ih!5 - olLHOVkV0F=HpH 弩L;DJIC譏1DJIC購 MaylD.ncFjnMsylFfT則0亍二IooonC OOCiF00110013nni5伽 7E7F 7F?F DPPK H例KI0017 1)3?AOQl'3 22M

18、IA ?FOO'IB 叩< rnnv nov 和DJ儒 rjTi/ D.mz RL7 unvHOPR5,(tO2H 砸門F剛R7,O013HR5,0D15H模塊”顯示所有模塊級變量; 自動”自動收集當前可執(zhí)行及前二行中的所有變量、寄存器、內(nèi)部b)在變量窗中, 全局”顯示所有的全局變量; 中的變量;局部”顯示所有當前函數(shù)RAM、外部 RAM。Delay RE廠7DH2EH變量直FT*議停臥樓決人全耳卜ICtJQfJlLTIP£T?JTORG01 D(1HSTART;5EP, flEOHNTV兀斶FPHcuCS7ART1:RLC百MWPlA甌ALLCelTfS.'H

19、PST曲Ii=>B=Lav:H'jV血犧S訂Lbxyl:DeLay?:H:VF屁«0MTVfiVj fiinDJHZFT1CirL ayS;DTJIZaUDJIfiRETEKLRPj Del oyL這時執(zhí)行 連續(xù)單步(Ctrl+F7)"命令,在工作區(qū)窗口的 CommonRegister視中我們可以寄存器 R5, R6, R7的數(shù)據(jù)的連續(xù)的變化。用戶可對此做專門的分析。我們在調(diào)試時,觀察工作區(qū)窗口的Com mon Register視,就會看到盡管有 A,R4的數(shù)值在變化,但是P1的數(shù)值始終沒有變化。這樣我們在調(diào)試時就會發(fā)現(xiàn)問題LJMPSTART應(yīng)改為LJMP L

20、OOP。我們也可以在軟件中查看變量,查看變量有多種方法,RAM、外部RAM上,半秒鐘后,在它們a)鼠標移到文件窗、反匯編窗口中的變量、寄存器、內(nèi)部 的旁邊,會顯示相應(yīng)的值。實驗一跑馬燈實驗一、實驗?zāi)康呐c要求1、 熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的使用方法。2、熟悉MCS51匯編指令,能自己編寫簡單的程序,控制硬件。二、實驗設(shè)備STAR系列實驗儀一套、PC機一臺三、實驗內(nèi)容四、1、 熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的安裝和使用方法。2、 照接線圖編寫程序:使用P1 口控制G6區(qū)的8個指示燈,循環(huán)點亮,瞬間只有一個燈亮。 實驗原理圖51051051051

21、0510510五、實驗步驟1、連線說明:八、510 DO n 510R1DS353VCCS362S42IDS41 DS40IDS39 DS38DS3787R1J8R117A3 區(qū):JP516U421 24T68"910IT121314話16171819刃P1.0VccP1.1P0.0(AD0)P1.2P0.1(AD1)P1.3P0.2(AD2)P1.4P0.3(AD3)P1.5P0.4(AD4)P1.6P0.5(AD5)P1.7P0.6(AD6)RSTP0.7(AD7)(RXD)P3.0EA/V pp(TXD)P3.1ALE/PROG(|N|0)P3.2PSEN(INT1)P3.3P

22、2.7(A15)仃 O)P3.4P2.6(A14)仃 1)P3.5P2.5(A13)(WR)P3.6P2.4(A12)(RD)P3.7P2.3(A11)XTAL2P2.2(A10)XTAL1P2.1(A9)GNDP2.0(A8)89C5240盹371363534333213130窈2827坊25岔232221G6 區(qū):JP652、編寫程序或運行參考程序。3、實驗結(jié)果:通過G6區(qū)的LED指示燈(8個指示燈輪流點亮),觀察實驗的輸出結(jié)果是否正確。演示程序ORGLJMP0000HSTARTSTART:ORGMOVSTART1:MOVMOVRLACALLSJMP0100HSP, #60HA,#0FEH

23、P1,AADELAYSTART1DELAY:DELAY1:MOVMOVDJNZDJNZRETR0,#0FFHR1,#0R1,$RO, DELAY1;延時子程序本句循環(huán)END請考慮以下問題?1、運行程序前,打開變量窗;A、SP上一秒2、使用單步進入命令,運行到第六行后,運行過程中變量窗有何變化?將鼠標停留在 后,出現(xiàn)什么?,它與變量窗使用場合的區(qū)別?3、第九行是調(diào)用延時子程序,如何進入延時子程序(使用單步進入命令)?如何將延時子程序一下子運行完畢(使用單步命令;也可以將光標移到下一行,使用運行到光標處命令;)?單步進入命令與單步命令有何區(qū)別?4、運行幾次后,在第十行設(shè)置一個斷點,使用全速斷點命令

24、運行幾次,觀察運行結(jié)果,它與運行到 光標處命令有何區(qū)別?6、1)2)3)4)5)Delay是一個延時子程序,改變延時常數(shù),使用全速運行命令,顯示發(fā)生了什么變化? 觀察寄存器,有哪幾種方法? 在工作區(qū)窗的通用寄存器標簽視中;變量窗鼠標停留在寄存器上觀察窗寄存器窗實驗二 數(shù)據(jù)傳送(RAM ->XRAM)一、實驗?zāi)康氖煜ば茄屑森h(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的使用方法。熟悉MCS51匯編指令,能自己編寫簡單的程序,掌握數(shù)據(jù)傳輸?shù)姆椒?。二、實驗?nèi)容1、 熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的安裝和使用方法。2、編寫程序,實現(xiàn)內(nèi)外部數(shù)據(jù)段的傳送、校驗三、程序框圖數(shù)據(jù)傳

25、送程序框圖四、實驗步驟在內(nèi)部RAM 30H3FH中輸入數(shù)據(jù);使用單步、100FH 中的內(nèi)容。熟悉查看特殊功能寄存器、內(nèi)部數(shù)據(jù)斷點方式調(diào)試程序, 檢測外部數(shù)據(jù) RAM 的 1000H RAM 、外部數(shù)據(jù)空間的各種方法。; 將內(nèi)部 RAMAddress1 開始的 16 個字節(jié)送到較。Address1DATA30HAddress2XDATA1000HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR

26、1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJNZR7,STAR2SJMP$STAR3:SJMPEND$五、程序清單RAM 從 Address2 開始的單元里,再作比;傳送;比較;傳送正確;傳送錯誤請考慮以下問題:1、運行程序前,打開變量窗、二個存貯器窗(一個選擇片內(nèi)數(shù)據(jù);一個選擇片外數(shù)據(jù),起始地址選擇1000H),每個存貯器窗有四個標簽,有何好處?;2、 使用單步進入命令, 運行到第十四行后, 運行過程中變量窗有何變化?將鼠標停留在A、 SP、 R0、

27、DPTR 上一秒后,出現(xiàn)什么? ,它與變量窗使用場合的區(qū)別?3、將光標移到第十四行上,使用運行到光標處命令,觀察運行結(jié)果,體會它與單步進入命令的不同 處。4、在二十行上,設(shè)置一個斷點,使用全速斷點命令運行幾次,觀察運行結(jié)果,它與運行到光標處命 令有何區(qū)別?5 、使用全速運行命令,稍后,點擊工具條上停止運行命令按鈕,當前執(zhí)行箭頭停在哪一行?運行結(jié)果是否正確?它與全速斷點運行命令有何區(qū)別? 觀察寄存器,有哪幾種方法? 在工作區(qū)窗的通用寄存器標簽視中; 觀察窗5 )寄存器窗查看CPU內(nèi)部數(shù)據(jù)RAM、CPU片外數(shù)據(jù)RAM : 存貯器窗2)變量窗鼠標停留在CPU內(nèi)部數(shù)據(jù)RAM、CPU片外數(shù)據(jù)RAM6、1

28、)4)7、1)3)2)變量窗3)鼠標停留在寄存器上。的地址、R0、DPTR上。六、思考題當數(shù)據(jù)傳輸錯誤時,點亮2個發(fā)光二極管。改編程序,使得當數(shù)據(jù)傳輸正確時,點亮1個發(fā)光二極管。實驗三繼電器控制實驗一、實驗?zāi)康呐c要求掌握使用繼電器控制外設(shè)的基本方法和編程。二、實驗設(shè)備STAR系列實驗儀一套、PC機一臺。三、實驗內(nèi)容1、預(yù)備知識自動化控制設(shè)備中,存在一個電子與電氣電路的互連問題,一方面,電子電路需要控制電氣電路的執(zhí) 行元件,如:電動機、電磁鐵、電燈等;一方面又要為電子電路提供良好的電隔離,以保護電子電路和人 身安全,減少干擾源。繼電器就起這個橋梁作用。2K7損壞,可以用其他開關(guān)。2、 實驗過程1

29、四、使用G6區(qū)的K7撥動開關(guān),通過繼電器控制直流電機轉(zhuǎn)動、停止。如果 實驗原理圖D4CTRL(F1)O-直流電機©rr87r毛UT1R8106, IHRS2H-S-DC5VCLOSE1 5O- - QgCOM1 VCCCUT2 2OOCOM2CLOSE2K1R70470Q5 18 85505-1 4R83j-4O- - -O P1-02K CTRL五、E3 區(qū):CtrlA3 區(qū):P 1.0E3 區(qū):COM1C1 區(qū): VCCE3 區(qū): CUT1F1 區(qū):CtrlA3 區(qū):P 1.7G6 區(qū):K7B實驗步驟1、連線說明:2、運行程序,G6區(qū)的K7撥動開關(guān),控制繼電器動作。P1.0為低電

30、平時,繼電器動作。ORGLJMP0000HSTARTORG0100HSTART:MOVSP,#60HKeyH:JBP1.7,$;P 1.7為1時,等待。CALLDelay; P1.7 為 0,延時去抖JBP1.7,KeyH;再次確認。為 0 則向下運行CLRP1.0;繼電器上電,電機轉(zhuǎn)動KeyL:JNBP1.7,$;P1.7為0,等待CALLDelay;P 1.7為1時,延時去抖JNBP1.7,KeyL;再次確認為是否 0。否則向下運行SETBP1.0; 繼電器停電,電機停轉(zhuǎn)SJMPKeyHDelay:MOVR6,#20H;延時子程序MOVR7,#0Delay1:DJNZR7,$DJNZR6,

31、Delay1RETEND六、演示程序七、思考題改編程序,使電機每次運行時間不超過 1 秒。實驗四中斷 、定時器系統(tǒng)、實驗?zāi)康模?、掌握定時 /計數(shù)器、中斷初始化程序的設(shè)計。2、掌握使用定時 /計數(shù)器的方式 1、方式 2 的編程方法3、掌握中斷的編程方法。二、實驗硬件電路:三、實驗內(nèi)容:1、外部中斷IN TO應(yīng)用:硬件電路如上圖,其中IN TO輸入部分是 B2區(qū)的R-S觸發(fā)器(硬件去抖動),B2區(qū)的S4是中斷申請按鍵。P1 口設(shè)置跑馬燈,要求IN TO每申請一次中斷,即開關(guān)S4撥動一次,跑馬燈循環(huán)點亮一次。連線說明:B2區(qū):單脈沖-A3 區(qū):P3.2A3 區(qū):JP51G6 區(qū):JP65參考程序如

32、下:ORG0SJMPMAINORG0003H;外部中斷0入口地址SJMPLOOP;跳轉(zhuǎn)到中斷服務(wù)程序 LOOPMAIN: SETBEA;開放總中斷SETBEX0;開放外部中斷0SETBIT0;開放定時器0中斷HERE: SJMPHERE;在此等待LOOP: MOVP1,#0FEH;外中斷0中斷服務(wù)程序。點亮一個燈MOVTMOD,#10H;定時器1設(shè)為方式1計時MOVTL1,#00H;設(shè)初值,定時器做為延時MOVTH1,#00HMOVR2,#08H;為點亮8個燈計數(shù)SETBTR1;定時器啟動L:MOVC,TF1;溢出標志送入CJNCLCLRTF1MOVA,P1RLAMOVP1,ADJNZR2,L

33、RETIEND;TF1不等于1,未溢出,循環(huán)等待;溢出,清除標志,以便下次判斷;A內(nèi)容循環(huán)左移,準備點亮下個;循環(huán)點亮8燈實現(xiàn)每隔1秒鐘發(fā)光二極管循環(huán)閃亮,單片機的晶振為11.0592MHZ。具體做A3 區(qū):P3.0A3 區(qū):P3.5A3 區(qū):JP51G6 區(qū):JP652、用定時器串聯(lián)方式,法是:使T0工作于定時方式1(產(chǎn)生71mS定時),使T1工作計數(shù)(計數(shù)14次,約為1秒),每次T0溢出 后從P3.0( RXD ) 口給P3.5(T1) 口發(fā)送一個負脈沖,當 T1溢出時控制P1 口的發(fā)光二極管閃亮。 T0、 T1的溢出,采用查詢方式。連線說明:ORG0000HSJMPMAINORG0030

34、HMAIN:MOVP1,#0FEHMOVTMOD,#51HL0:MOVTL1,#0F2HMOVTH1,#0FFHSETBTR1L1:MOVTL0,#00HMOVTH0,#00HSETBTR0L2:MOVC,TF0JNCL2CLRTF0CLRP 3.0NOPNOPCPLP 3.0MOVC,TF1JNCL1CLRTF1MOVA, P1RLAMOVP 1,ASJMPL0END參考程序如下:;點亮一個燈;定時器0設(shè)為1方式定時器,定時器 1設(shè)為計數(shù);初值F2H到溢出值100H,計數(shù)值為14.;啟動定時器1;機器周期Tcy=12/11.0592=1.085.最大計時為;216*1.085=71106us

35、=71.1ms四、預(yù)習要求:1、 閱讀教科書中有關(guān)中斷、定時器/計數(shù)器的內(nèi)容、熟悉定時器 /計數(shù)器的基本結(jié)構(gòu)和工作過程。2、計算定時器/計數(shù)器時間常數(shù)。3、寫出預(yù)習報告五、思考題:1、 對于實驗內(nèi)容2用定時器串聯(lián)方式的延時方法,若T0、T1的溢出采用中斷方法,程序應(yīng)如何修改。2、若改變延時時間,程序應(yīng)如何修改。實驗五 PWM電壓轉(zhuǎn)換實驗一、實驗?zāi)康?、了解PWM電壓轉(zhuǎn)換原理2、掌握單片機控制的 PWM電壓轉(zhuǎn)換二、實驗設(shè)備STAR系列實驗儀一套、PC機一臺三、實驗內(nèi)容PWM電壓轉(zhuǎn)換原理:將一定頻率的輸入信號轉(zhuǎn)換為直流電;通過調(diào)節(jié)輸入信號占空比調(diào)節(jié)輸出的直流電電壓,輸出電壓隨著占空比增大而減小 實

36、驗過程輸入15kHZ左右的方波,經(jīng)LM358進行PWM電壓轉(zhuǎn)換,輸出直流電,驅(qū)動直流電機 通過按鍵調(diào)整占空比來改變PWM輸出電壓,直流電機的轉(zhuǎn)速會隨之變化1、(1)2、四、實驗原理圖五、12直流電機CTRL(F1)-0-COUT1 1直流由機E2 區(qū):INA3區(qū):P1.2,方波輸入E2 區(qū):OUTE2 區(qū):IN1E2 區(qū): OUT1F1區(qū):CTRL ,直流電機電源輸入A3 區(qū):JP51G6 區(qū):JP74實驗步驟1、連線說明:2、通過G6區(qū)的1、2鍵調(diào)整占空比來改變 PWM輸出電壓,直流電機的轉(zhuǎn)速會隨之變化: 1號鍵減少占空比;2號鍵增加占空比六、演示程序INBITP1.2;PWM 方波輸入PW

37、M_LOWDATA30H;低電平時間PWM_HIGHDATA31H;高電平時間 ,控制頻率在 15kHZ 左右periodsEQU0E0H;周期 64usORG0000HLJMPSTARTORG000BHLJMPiTIMER0ORG0100HSTART:MOVSP,#60HMOVPWM_LOW,#periodsMOVPWM_HIGH,#periodsMOVTH0,#periodsMOVTL0,#periodsMOVTMOD,#02H;T0 設(shè)為定時器, 方式 2 自動重裝SETBEA;開中斷SETBET0;開定時器中斷SETBTR0;啟動定時器 0START1:ACALLScanKeyJNZK

38、ey1Key0:MOVA,PWM_HIGH; 減少占空比CJNEA,#0FBH,Key0_1SJMPSTART1;大于這個值,對定時中斷已反應(yīng)不過來Key0_1:INCPWM_HIGHDECPWM_LOWSJMPSTART1Key1:MOVA,PWM_LOW;增加占空比CJNEA,#0FBH,Key1_1SJMPSTART1;大于這個值,對定時中斷已反應(yīng)不過來Key1_1:INCPWM_LOWDECPWM_HIGHSJMPSTART1iTIMER0:JBCIN,iTIMER0_1;若 IN 為 1,跳轉(zhuǎn)并將 IN 清零。MOVTL0,PWM_HIGH;加載高電平時間SETBIN;置為高電平RE

39、TIiTIMER0_1:MOVTL0,PWM_LOW;加載低電平時間NOPRETIScanKey:JNBP1.0, ScanKey1;若 P1.0 電平為 0, 1鍵按下,JBP1.1, ScanKeyScanKey1:ACALLDelay20msACALLDelay20msJNBP1.0, ScanKey2JBP1.1, ScanKeyMOVA,#1SJMPScanKey3ScanKey2:CLRAScanKey3:JNBP1.0,$JNBP1.1,$RETDelay20ms:MOVR6,#10Delay1:MOVR7,#100DJNZR7,$DJNZR6,Delay1RETEND七、實驗擴

40、展及思考改變 PWM 的輸入頻率,;若 P1.1 電平為 0,2 鍵按下;消抖動;2 鍵按下, A 置為 1;1 鍵按下, A 置為 0使用示波器觀看 LM358的輸出,由此加深對 PWM 電壓轉(zhuǎn)換的了解。實驗六 8155 輸入、輸出、 SRAM 實驗一、實驗?zāi)康呐c要求了解 8155 的內(nèi)部資源與結(jié)構(gòu);了解 8155 與單片機的接口邏輯;熟悉對 8155 的初始化編程、輸入和 輸出程序的設(shè)計方法、 8155定時器 /計數(shù)器的使用方法。認真預(yù)習,做好實驗前的準備工作,填寫實驗報告 、實驗設(shè)備STAR 系列實驗儀一套、 PC 機一臺 三、實驗內(nèi)容1、編寫程序:從 8155 的 PB 口將 G6 區(qū)

41、的 8 位開關(guān)讀入,寫入 8155 的內(nèi)部 RAM ,再讀出后,寫入 PA 口,顯示于 LED 指示燈上。2、連接線路,驗證 8155 的功能,熟悉它的使用方法。四、實驗原理圖五、實驗步驟1、連線說明:COM_8155XDATA0F100H;控制/狀態(tài)寄存器PA_8155XDATA0F101H;PA 口地址PB_8155XDATA0F102H;PB 口地址RAM_8155XDATA0F000H;8155內(nèi)部 RAM 00單元地址ORG0000HLJMPSTARORG0100HSTAR:MOVSP ,#60H;堆棧MOVDP TR,#COM_8155;控制口地址MOVA,#1;PA為基本輸出,P

42、B為基本輸入MOVXDP TR,ASTAR1:MOVDP TR,# PB_8155;從PB 口獲得輸入值(撥碼盤輸入)MOVXA,D PTRMOVDP TR,#RAM_8155;存入8155內(nèi)部RAM里MOVXDP TR,ALED指示燈上。B4 區(qū):CS、IO/MA3 區(qū): CS1、A8B4 區(qū):JP76( PA 口)G6 區(qū):JP65B4 區(qū):JP75( PB 口)G6 區(qū):JP80G6區(qū)的開關(guān)狀態(tài)反應(yīng)在 G6區(qū)的2、測試實驗結(jié)果:六、演示程序七、實驗擴展及思考1、例子程序中只展示了 8155有興趣讀者可以自己編寫程序,通過實驗七并行AD實驗(數(shù)字電壓表實驗)MOVA,#0FFH;消除輸入結(jié)果MOVXA,D PTR;重新從8155相同地址取數(shù)MOVDP TR,# PA_8155MOVXDP TR,A;輸出送顯示(八個發(fā)光二極管)SJMPSTAR1END的輸入輸出和讀

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論