單片機(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頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單 片 機(jī) 原 理 與 應(yīng) 用實(shí)驗(yàn)指導(dǎo)書注意:1、做實(shí)驗(yàn)前必須預(yù)習(xí)2、帶教材和實(shí)驗(yàn)指導(dǎo)書哈爾濱理工大學(xué)自動(dòng)化學(xué)院自動(dòng)化系實(shí)驗(yàn)儀的使用本實(shí)例是仿真INTEL的8031單片機(jī),來循環(huán)點(diǎn)亮 P1 口的發(fā)光二極管(低電平有效)。程序是用匯編 語言來編寫。下面介紹相應(yīng)的操作步驟:-lai x|1、運(yùn)行桌面 星研集成軟件”,畫面如下:L/ 兀呵邁«« '2)IT) mi fl 號(hào)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í)行主菜單?文件?新建,(或者點(diǎn)擊圖標(biāo) )打開窗口。ASM文件,使用A51來對它編譯。本選擇存放源文件的目錄,輸入文件名,注意:一定要輸入文件名后綴。對源文件編譯、連接、生成代 碼文件時(shí),系統(tǒng)會(huì)根據(jù)不同的擴(kuò)展名啟動(dòng)相應(yīng)的編譯軟件。比如:浙

3、建文斗I卽建力目立件I廠 r n Hl -丸件宕:|xuriiuanu asnU于擷亍目錄:# 1 Lr.eTan> HLJUuuan21實(shí)例文件名為 xunhuan.asm。窗口如下:Ml 按 確定”即可。然后即出現(xiàn)文件編輯窗口: 輸入源程序,參照實(shí)驗(yà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,如時(shí)于吆JTT刃曲1 r眄TF b 0 aDJUZ5 tUJHl UT t£HLiROj DELXYI評匕八勞雀抹單片楓1計(jì)借研齊騎倫、皿益£八盤qffiin甲 *磯.J正柱炷樓F;憐科工十豐九* :|-律3硏且無

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

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

7、時(shí)用戶可以作相應(yīng)的修改,直到編譯、連接文件通過。4 .調(diào)試編譯、連接正確后,可以開始調(diào)試程序。進(jìn)入調(diào)試狀態(tài)方法有:a)執(zhí)行主菜單?運(yùn)行?進(jìn)入調(diào)試狀態(tài)b)點(diǎn)擊工具條的 0進(jìn)入后的窗口如下:«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皿呻間在整個(gè)圖片中我們可以看到相對應(yīng)的窗口信 息。在工作區(qū)窗"的“CommonRegiste”中我們 可以了解通用寄存器的信息。中間的窗口為源 程序窗口,用戶可在此設(shè)置斷點(diǎn),設(shè)置光標(biāo)的 運(yùn)行處,編輯程序等。寄存器窗我們可以看到 一些常用的寄存器的數(shù)值。存貯窗1、存貯窗2顯示相應(yīng)的內(nèi)

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

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

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

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

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

16、止運(yùn)行。SIZij,停止運(yùn)行。按用戶系統(tǒng)的復(fù)位鍵,CPU從頭開始執(zhí)行用戶程序,MCS96、MCS196類CPU是從2080H開始執(zhí)行。用鼠標(biāo)ESC)。ESC是一個(gè)很方便的鍵,它的效果比點(diǎn)擊相應(yīng)的圖標(biāo) 連續(xù)單步”或者連續(xù)單步進(jìn)入”時(shí)ESC鍵被禁止,這時(shí)我們可以觀察到在本程序中所使用的一些寄存器的變化,比如累加器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)很好的實(shí)現(xiàn)了 P1 口循 環(huán)點(diǎn)亮發(fā)光二極管的功能。對于其他的一些寄存器的數(shù)值的觀察我們 也可以用來分析自己的程序。把光標(biāo)移動(dòng)到DELAY子程序(具體操作是:用鼠標(biāo)點(diǎn)擊DELAY ,然后再點(diǎn)擊圖標(biāo),即可運(yùn)行到光標(biāo)行):±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模塊”顯示所有模塊級(jí)變量; 自動(dòng)”自動(dòng)收集當(dāng)前可執(zhí)行及前二行中的所有變量、寄存器、內(nèi)部b)在變量窗中, 全局”顯示所有的全局變量; 中的變量;局部”顯示所有當(dāng)前函數(shù)RAM、外部 RAM。Delay RE廠7DH2EH變量直FT*議停臥樓決人全耳卜ICtJQfJlLTIP£T?JTORG01 D(1HSTART;5EP, flEOHNTV兀斶FPHcuCS7ART1:RLC百M(fèi)WPlA甌ALLCelTfS.'H

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

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

21、0510510五、實(shí)驗(yàn)步驟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、編寫程序或運(yùn)行參考程序。3、實(shí)驗(yàn)結(jié)果:通過G6區(qū)的LED指示燈(8個(gè)指示燈輪流點(diǎn)亮),觀察實(shí)驗(yàn)的輸出結(jié)果是否正確。演示程序ORGLJMP0000HSTARTSTART:ORGMOVSTART1:MOVMOVRLACALLSJMP0100HSP, #60HA,#0FEH

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

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

25、送程序框圖四、實(shí)驗(yàn)步驟在內(nèi)部RAM 30H3FH中輸入數(shù)據(jù);使用單步、100FH 中的內(nèi)容。熟悉查看特殊功能寄存器、內(nèi)部數(shù)據(jù)斷點(diǎn)方式調(diào)試程序, 檢測外部數(shù)據(jù) RAM 的 1000H RAM 、外部數(shù)據(jù)空間的各種方法。; 將內(nèi)部 RAMAddress1 開始的 16 個(gè)字節(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 開始的單元里,再作比;傳送;比較;傳送正確;傳送錯(cuò)誤請考慮以下問題:1、運(yùn)行程序前,打開變量窗、二個(gè)存貯器窗(一個(gè)選擇片內(nèi)數(shù)據(jù);一個(gè)選擇片外數(shù)據(jù),起始地址選擇1000H),每個(gè)存貯器窗有四個(gè)標(biāo)簽,有何好處?;2、 使用單步進(jìn)入命令, 運(yùn)行到第十四行后, 運(yùn)行過程中變量窗有何變化?將鼠標(biāo)停留在A、 SP、 R0、

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

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

29、四、使用G6區(qū)的K7撥動(dòng)開關(guān),通過繼電器控制直流電機(jī)轉(zhuǎn)動(dòng)、停止。如果 實(shí)驗(yàn)原理圖D4CTRL(F1)O-直流電機(jī)©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實(shí)驗(yàn)步驟1、連線說明:2、運(yùn)行程序,G6區(qū)的K7撥動(dòng)開關(guān),控制繼電器動(dòng)作。P1.0為低電

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

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

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

33、RETIEND;TF1不等于1,未溢出,循環(huán)等待;溢出,清除標(biāo)志,以便下次判斷;A內(nèi)容循環(huán)左移,準(zhǔn)備點(diǎn)亮下個(gè);循環(huán)點(diǎn)亮8燈實(shí)現(xiàn)每隔1秒鐘發(fā)光二極管循環(huán)閃亮,單片機(jī)的晶振為11.0592MHZ。具體做A3 區(qū):P3.0A3 區(qū):P3.5A3 區(qū):JP51G6 區(qū):JP652、用定時(shí)器串聯(lián)方式,法是:使T0工作于定時(shí)方式1(產(chǎn)生71mS定時(shí)),使T1工作計(jì)數(shù)(計(jì)數(shù)14次,約為1秒),每次T0溢出 后從P3.0( RXD ) 口給P3.5(T1) 口發(fā)送一個(gè)負(fù)脈沖,當(dāng) T1溢出時(shí)控制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參考程序如下:;點(diǎn)亮一個(gè)燈;定時(shí)器0設(shè)為1方式定時(shí)器,定時(shí)器 1設(shè)為計(jì)數(shù);初值F2H到溢出值100H,計(jì)數(shù)值為14.;啟動(dòng)定時(shí)器1;機(jī)器周期Tcy=12/11.0592=1.085.最大計(jì)時(shí)為;216*1.085=71106us

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

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

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

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

39、TIiTIMER0_1:MOVTL0,PWM_LOW;加載低電平時(shí)間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七、實(shí)驗(yàn)擴(kuò)

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

41、的 8 位開關(guān)讀入,寫入 8155 的內(nèi)部 RAM ,再讀出后,寫入 PA 口,顯示于 LED 指示燈上。2、連接線路,驗(yàn)證 8155 的功能,熟悉它的使用方法。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟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、測試實(shí)驗(yàn)結(jié)果:六、演示程序七、實(shí)驗(yàn)擴(kuò)展及思考1、例子程序中只展示了 8155有興趣讀者可以自己編寫程序,通過實(shí)驗(yàn)七并行AD實(shí)驗(yàn)(數(shù)字電壓表實(shí)驗(yàn))MOVA,#0FFH;消除輸入結(jié)果MOVXA,D PTR;重新從8155相同地址取數(shù)MOVDP TR,# PA_8155MOVXDP TR,A;輸出送顯示(八個(gè)發(fā)光二極管)SJMPSTAR1END的輸入輸出和讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論