《MCS51單片機原理及應(yīng)用》實驗指導書濤_第1頁
《MCS51單片機原理及應(yīng)用》實驗指導書濤_第2頁
《MCS51單片機原理及應(yīng)用》實驗指導書濤_第3頁
《MCS51單片機原理及應(yīng)用》實驗指導書濤_第4頁
《MCS51單片機原理及應(yīng)用》實驗指導書濤_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《MCS-51單片機原理與應(yīng)用》實驗指導書新疆水利水電學校水電機電系2010年9月

前言:任務(wù)與要求一.單片機原理與應(yīng)用實驗的任務(wù)單片機原理與應(yīng)用實驗是單片機原理與應(yīng)用課程的一部分,它的任務(wù)是:1。通過實驗進一步了解和掌握單片機原理的基本概念、單片機應(yīng)用系統(tǒng)的硬件設(shè)計及調(diào)試方法。2.學習和掌握單片機應(yīng)用系統(tǒng)程序設(shè)計基礎(chǔ)。3.提高應(yīng)用計算機的能力及水平,提高邏輯思維及動手能力。二.實驗設(shè)備單片機實驗所使用的設(shè)備由計算機、DP—51PRO單片機綜合仿真試驗儀,其中計算機是軟件開發(fā)平臺,主要完成程序編輯、編譯、下載程序等任務(wù);單片機綜合仿真試驗儀是硬件開發(fā)平臺,是基于80C51單片機的擴展實驗系統(tǒng)。計算機和單片機實驗開發(fā)系統(tǒng)之間是通過RS232串行接口進行通信的。單片機綜合仿真試驗儀RS232串行口單片機綜合仿真試驗儀RS232串行口計算機圖1單片機原理實驗設(shè)備在計算機軟件的控制下可完成單片機基本實驗及綜合設(shè)計性實驗項目。所有的MCS-51單片機原理與應(yīng)用課程實驗都在這套綜合仿真試驗儀上完成。三.實驗要求和成績考核1。遵守實驗室紀律,在實驗室內(nèi)不得隨意走動、大聲喧嘩。2.實驗前,按實驗要求事先復習與實驗有關(guān)的理論知識,明確實驗目的,了解實驗內(nèi)容和方法。在實驗過程中務(wù)必帶上教材和實驗文檔,認真聽講,以調(diào)試為主要目的,注意觀察思考,記錄有關(guān)數(shù)據(jù)和程序,每次實驗成績根據(jù)完成情況給予評分。3。按實驗指導書要求進行接線和操作,經(jīng)檢查和指導老師同意后再通電.小心使用機器,以免出現(xiàn)意外故障,若機器出現(xiàn)硬件故障,可報告并請求老師協(xié)調(diào)維護,勿喧嘩和起哄。4。禁止在實驗室中做與實驗無關(guān)的事情,特別是玩游戲者,一經(jīng)發(fā)現(xiàn)本課程實訓總成績將減10分,發(fā)現(xiàn)兩次實訓總成績按0分處理。5.按規(guī)定時間完成并上交實驗報告。實驗報告字跡要清楚,結(jié)論要明確,并寫出程序流程圖、程序、并分析實驗結(jié)果、完成思考題等.6。實驗后應(yīng)斷電并返回WINDOWS下關(guān)閉計算機,整理實驗臺,恢復到實驗前的情況.第一部分KeilC51軟件使用說明KeilC51軟件是眾多單片機應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編、PLM語言和C語言的程序設(shè)計,界面友好,易學易用。DP-51PRO單片機綜合仿真實驗儀下面介紹KeilC51軟件的使用方法:進入KeilC51后,屏幕如下圖2所示。幾秒鐘后出現(xiàn)編輯界面(圖3所示)。圖2啟動KeilC51時的屏幕圖3進入KeilC51后的編輯界面簡單程序的調(diào)試學習程序設(shè)計語言、學習某種程序軟件,最好的方法是直接操作實踐。下面通過簡單的編程、調(diào)試,引導大家學習KeilC51軟件的基本使用方法和基本的調(diào)試技巧。建立一個新工程單擊Project菜單,在彈出的下拉菜單中選中NewProject選項(圖4)。圖4Project菜單2)然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到D:\C51目錄里,工程文件的名字為C51。圖5所示,然后點擊保存.圖5保存頁面3)這時會彈出一個對話框,要求你選擇單片機的型號,你可以根據(jù)你使用的單片機來選擇,keilc51幾乎支持所有的51核的單片機,我這里還是以大家用的比較多的Atmel的89C51來說明,如圖6所示,選擇AT89C51之后,右邊欄是對這個單片機的基本的說明,然后點擊確定。圖6SelectDevice4)完成上一步驟后,屏幕如圖7所示。圖7建成一個工程后的窗口到現(xiàn)在為止,我們還沒有編寫一句程序,下面開始編寫我們的第一個程序。5)在圖8中,單擊“File"菜單,再在下拉菜單中單擊“New"選項。新建文件后屏幕如圖9所示:圖8Fill菜單建立文件圖9建成一個文件后的窗口此時光標在編輯窗口里閃爍,這時可以鍵入用戶的應(yīng)用程序了,但這里建議首先保存該空白的文件,單擊菜單上的“File”,在下拉菜單中選中“SaveAs”選項單擊,屏幕如下圖所示,在“文件名”欄右側(cè)的編輯框中,鍵入欲使用的文件名,同時,必須鍵入正確的擴展名。注意,如果用C語言編寫程序,則擴展名為(.c);如果用匯編語言編寫程序,則擴展名必須為(.asm)。然后,單擊“保存"按鈕(圖10所示)。圖10保存對話框6)回到編輯界面后,單擊“Target1”前面的“+”號,然后在“SourceGroup1”上單擊右鍵,彈出如下菜單(圖圖11加文件到工程然后單擊“AddFiletoGroup‘SourceGroup1’”屏幕如圖12所示.選中Test。c,然后單擊“Add”屏幕好圖13所示。注意到“SourceGroup1”文件夾中多了一個子項“Text1.c”了嗎?子項的多少與所增加的源程序的多少相同圖12選擇文件圖13加入文件后的窗口7)請輸入?yún)R編語言源程序.在輸入上述程序時,Keilc51會自動識別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。程序輸入完畢后,如圖14所示。圖14輸入源程序后的窗口8)在圖14中,單擊“Project”菜單,再在下拉菜單中單擊“BuiltTarget”選項(或者使用快捷鍵F7),編譯成功后,再單擊“Project”菜單,在下拉菜單中單擊“Start/StopDebugSession”(或者使用快捷鍵Ctrl+F5),屏幕圖15所示圖15Start/StopDebugSession9)調(diào)試程序:在圖15中,單擊“Debug”菜單,在下拉菜單中單擊“Go”選項,(或者使用快捷鍵F5),然后再單擊“Debug”菜單,在下拉菜單中單擊“StopRunning”選項(或者使用快捷鍵Esc);再單擊“View"菜單,再在下拉菜單中單擊“SerialWindows#1”選項,就可以看到程序運行后的結(jié)果,其結(jié)果如圖16圖16程序運行后結(jié)果注意上述操作是純軟件的開發(fā)過程!如何使用程序下載器看一看程序運行的結(jié)果呢?10)單擊“Project"菜單,再在下拉菜單中單擊“”在下圖中,單擊“Output”中單擊“CreateHEXFile”選項,使程序編譯后產(chǎn)生HEX代碼,供下載器軟件使用。把程序下載到AT89S51單片機中。第二部分實驗部分實驗一單片機認識實驗一實驗目的(1)熟悉MCS-51單片機芯片的外部引腳和內(nèi)部結(jié)構(gòu).(2)熟悉單片機實驗系統(tǒng).二實驗設(shè)備及器件PC機、DP-51PRO單片機綜合仿真試驗儀、RS232串行接口三實驗內(nèi)容(1)根據(jù)MCS—51單片機芯片的標識符號認識芯片及引腳.(2)內(nèi)部存儲器單元的數(shù)據(jù)檢查。(3)專用寄存器數(shù)據(jù)的檢查/修改.四實驗要求(1)對照教材認識單片機芯片的引腳及分布,找出P0、P1、P2及P3口對應(yīng)的引腳,并對各引腳的功能進行了解。(2)檢查當前工作寄存器中的數(shù)據(jù)。(3)觀察位尋址區(qū)并說明字節(jié)地址與位地址的區(qū)別。五實驗思考(1)通用寄存器RO—R7分別對應(yīng)RAM區(qū)的哪些地址?(2)程序狀態(tài)字PSW中的各位分別是如何定義的?六完成實驗報告實驗二KeilC51集成開發(fā)環(huán)境的使用練習一實驗目的熟悉KeilC51集成開發(fā)環(huán)境的使用方法。二實驗設(shè)備及器件PC機、DP—51PRO單片機綜合仿真試驗儀、RS232串行接口三實驗內(nèi)容按照Keilцvision運行環(huán)境入門建立工程,并按照以下內(nèi)容建立文件并編譯產(chǎn)生HEX文件.ORG 0000HLJMP MainORG 00F0HMain:MOV R7,#0Loop:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LoopCPL P1.0 ;P1.0取反CPL P1.1 ;P1.1取反CPL P1。2 ;P1。2取反CPL P1。3 ;P1.3取反CPL P1。4 ;P1.4取反CPL P1.5 ;P1.5取反CPL P1.6 ;P1.6取反CPL P1。7 ;P1。7取反SJMP Main;END四實驗要求熟練掌握KeilC51集成開發(fā)環(huán)境的工程建立、編輯與編譯功能。五實驗步驟按照實驗指導書的步驟操作。六實驗思考1.試寫出一條把片內(nèi)RAM50H~59H單元清零的程序。2。試寫出一條把片內(nèi)RAM50H~59H單元寫入01H的程序。七完成實驗報告實驗三

基于KeilC51集成開發(fā)環(huán)境的仿真與調(diào)試一.實驗目的

熟悉KeilC51集成開發(fā)環(huán)境調(diào)試功能的使用和DP-51PROC單片機綜合仿真實驗儀的使用.二.實驗設(shè)備及器件

PC機一臺

DP-51PROC單片機綜合仿真實驗儀一臺三.實驗內(nèi)容

按照本書的第2章的2。5節(jié)內(nèi)容進行KeilC51集成開發(fā)環(huán)境的仿真調(diào)試練習.然后按照以下內(nèi)容建立文件并編譯仿真調(diào)試.

ORG8000H

LJMPMain

ORG80F0H

Main:

MOVR7,#0

Loop:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,Loop;延時

CPLP1.0;P1。0取反

CPLP1.1;P1。1取反

CPLP1.2;P1.2取反

CPLP1。3;P1.3取反

CPLP1.4;P1。4取反

CPLP1.5;P1。5取反

CPLP1.6;P1。6取反

CPLP1。7;P1。7取反

SJMPMain;

END四.實驗要求

熟練掌握結(jié)合DP—51PROC單片機綜合仿真實驗儀和KeilC51集成開發(fā)環(huán)境進行仿真調(diào)試。五.實驗步驟

1.用40針排線把DP-51PROC實驗儀上的A1區(qū)J76接口和A2區(qū)J79接口相連,然后使用排線把A2區(qū)的J61接口與D1區(qū)的J52接口相連。如圖3。1所示.圖3.1實驗1原理圖2.對DP-51PROC實驗儀上電,然后按照指導書設(shè)置TKSMonitor51仿真器和使用軟件DPFLASH把MON51監(jiān)控程序下載到TKSMonitor51仿真器。3.關(guān)閉DPFlash軟件。把TKSMonitor51仿真器的工作模式選擇開關(guān)切換到RUN處,然后按一下復位鍵(RST),MON51程序就開始運行了。此時,TKSMonitor51仿真器進入調(diào)試狀態(tài)。4.用戶使用KeilC51集成開發(fā)環(huán)境建立工程、編輯與編譯“實驗內(nèi)容”所列的程序。5.此時用戶就可以按照實驗指導書所講述的方法進行仿真調(diào)試。如果用戶在退出仿真調(diào)試模式后想再次進入仿真調(diào)試,可以先按一下TKSMonitor51仿真器的復位鍵(RST)。用戶可以在仿真調(diào)試環(huán)境下設(shè)置斷點,單步,全速運行等。在調(diào)試過程中用戶可以看見D1區(qū)的LED的亮滅是由用戶程序來控制的.六.實驗預習要求

認真閱讀KeilC51軟件使用說明。七.實驗思考題(1)如何仿真和調(diào)試C51程序呢?(用戶可以把上面的例子改為C51程序然后再編譯調(diào)試)八.完成實驗報告實驗四單片機I/O口控制實驗一實驗目的利用單片機的P1口作IO品口,學會利用P1口作為輸入和輸出口。二實驗設(shè)備和器件PC機一臺DP—51PRO。NET單片機仿真器,編程器,實驗儀三合一綜合開發(fā)平臺一臺三實驗內(nèi)容(1)編寫程序,用P1口作為控制端口,使D1區(qū)的LED輪流亮.(2)編寫程序,用P1.0~P1.6口控制LED,P1。7控制LED的亮和滅.(P1。7接按鍵,按下時LED亮,不按時LED滅)四實驗要求學會使用單片機的P1口作為IO口.也可以利用P3口完成該實驗。完成實驗報告.五實驗步驟用導線把A2區(qū)的J61接口與D1區(qū)的J52接口相連。先編寫一個延時程序.將LED輪流亮的程序編寫完整并使用TKStudyICE調(diào)試運行.使用導線把A2區(qū)的J61接口的P1.0~P1。6與D1區(qū)的J52接口的LED1~LED7相連,另外A2區(qū)J61接口的P1.7與D1區(qū)的J53的KEY1相連。編寫P1.7控制LED的程序,并調(diào)試運行.(按下K1看是否全亮)A2區(qū)J61接口的P1。7與D1區(qū)的J54的SW1相連.然后再使用TKStudyICE運行程序,查看結(jié)果。實驗原理圖:A B實驗參考程序程序1ORG 0000H LJMP MainORG 0100H Main:MOV A,#0FFHCLR CMainLoop:CALL DelayRLC AMOV P1,ASJMP MainLoopDelay:MOV R7,#0Loop:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LoopRETEND程序2ORG 0000H LJMP MainORG 0100H Main:JB P1。7, SETLEDCLRLED:CLRP1。0CLR P1.1CLR P1.2CLR P1。3CLR P1。4CLR P1.5CLR P1。6SJMP MainSETLED:SETB P1。0SETB P1。1SETB P1.2SETB P1.3SETB P1。4SETB P1.5SETB P1.6SJMP MainEND七程序流程圖程序1 程序2八實驗思考第二個程序中如果使用KEY1作為外部中斷控制LED的亮和滅時,程序應(yīng)如何修改.試用本節(jié)知識,用P1口完成流水燈,左移,右移,閃爍,全亮的程序.九完成實驗報告。實驗五蜂鳴器驅(qū)動實驗一.實驗目的

利用單片機的P1口作IO口,使用戶學會蜂鳴器的使用。

二.實驗設(shè)備及器件

PC機一臺DP-51PROC單片機綜合仿真實驗儀一臺頻率計一臺

三.實驗內(nèi)容

1.編寫一段程序,用P1。3口控制(輸出3K到4K頻率的方波),使B5區(qū)的蜂鳴器發(fā)出嘹亮的響聲。

2。按照例程輸入一段程序,用P1。3口控制,使B5區(qū)的蜂鳴器發(fā)出“生日快樂”的音樂。圖3.3蜂鳴器原理圖

四.實驗步驟

1.使用導線把A2區(qū)的P13與B5區(qū)的BUZZ接線柱相連。

2。先編寫一個延時程序(120~200us)。

3。再編寫一個循環(huán)程序,改變P1.3腳的電平,然后延時。這樣,這個循環(huán)就使P1。3

口輸出一個頻率為2.5KHz-4KHz的方波。在DP—51PROC單片機綜合仿真實驗

儀上運行該程序時,B5區(qū)的蜂鳴器將發(fā)出嘹亮的響聲

4.按以下例程輸入,然后運行,蜂鳴器發(fā)出“生日快樂”的音樂。

五.實驗參考程序

ORG8000H

JMPMAIN

ORG800BH

JMPINTT0

ORG8100H

MAIN:

MOVSP,#60H

MOVTMOD,#01H;初始化定時器及器中斷

SETBET0;開定時器0中斷SETBEA

SETBTR0;啟動定時器0

START0:

SETBP1.3

MOV30H,#00H

NEXT:

MOVA,30H

MOVDPTR,#TABLE;從TABLE中讀取數(shù)據(jù)――聲響時間

MOVCA,@A+DPTR

MOVR2,A

JZENDD

ANLA,#0FH

MOVR5,A

MOVA,R2

SWAPA

ANLA,#0FH

JNZSING

CLRTR0

JMPD1

SING:

DECA

MOV22H,A

RLA

MOVDPTR,#TABLE1;從TALBE1中讀取數(shù)據(jù)――聲調(diào)

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

SETBTR0

D1:

CALLDELAY;聲音延時

INC30H

JMPNEXT

ENDD:

CLRTR0

JMPSTART0

INTT0:;定時器0中斷服務(wù)程序

PUSHPSWPUSHACC

MOVTL0,20H

MOVTH0,21H

CPLP1。3

POPACC

POPPSW

RETI

DELAY:;R5的值就是聲響持續(xù)時間

MOVR7,#02

DELAY0:

MOVR4,#187

DELAY1:

MOVR3,#248

DJNZR3,$

DJNZR4,DELAY1

DJNZR7,DELAY0

DJNZR5,DELAY

RET

TABLE:

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H

TABLE1:

DW64260,64400,64524,64580,64684,64777,64820,64898

DW64968,65030,65058,65110,65157,65178,65217;

END

六.實驗思考題

(1)請用戶思考一下,如何通過程序來編寫出音樂。實驗六P1口實驗一.實驗目的1.學習P1口的使用方法.2.學習延時子程序的編寫和使用。3.學習單片機實驗系統(tǒng)的使用方法和程序的調(diào)試方法二.實驗設(shè)備及器材配置1.單片機實驗開發(fā)系統(tǒng).2.計算機。3.導線.三.實驗內(nèi)容分別完成單片機P1口做輸出口、既做輸入又做輸出口的實驗任務(wù)。1.P1口做輸出口,接八只發(fā)光二極管,編寫程序,使其循環(huán)點亮。2。P1口低四位接四只發(fā)光二極管L1-L4,P1口高四位接開關(guān)K1-K4,編寫程序,將開關(guān)的狀態(tài)在發(fā)光二極管上顯示出來。四.實驗原理說明P1口為準雙向口,P1口的每一位都能獨立地定義為輸出線或輸入線,作為輸入的口線,必須向鎖存器相應(yīng)位寫入“1”,該位才能作為輸入。8031中所有口鎖存器在復位時均置為“1”,如果后來往口鎖存器寫入過“0”,再作為輸入時,需要向口鎖存器對應(yīng)位寫入“1”。延時程序的編寫可以用兩種方法,一種是用定時器來實現(xiàn),一種使用指令循環(huán)來實現(xiàn).在系統(tǒng)時間允許的情況下可以采用后一種方法。如果系統(tǒng)晶振為6.144MHz,則一個機器周期為12/6.144μs即1/0。512μs?,F(xiàn)要編寫一個延時0.1s的程序,可以大致寫出如下:MOVR7,#200DE1:MOVR6,#XDE2:DJNZR6,DE2DJNZR7,DE1上面MOV、DJNZ指令均為兩個機器周期,所以執(zhí)行一條指令需要1/0。256us,現(xiàn)求出X值:指令3指令2指令4指令1計算出X=126,代入上式可知實際延時約為0.100004s。五.連線方法及實驗電路題目1:8031的P1.0—P1.7分別接發(fā)光二極管L1—L8,硬件原理圖如圖1-1所示.題目2:P1口的P1。0—P1。3接L1—L4,P1口的P1。4—P1。7接K1-K4,硬件原理圖如圖1-2所示。圖1—1題目1硬件原理圖圖1—2題目2硬件原理圖六.思考題及實驗報告要求1.思考題(1)。試說明51系列單片機4個I/O口在使用上的分工和操作上的特點.(2)。修改程序,使發(fā)光二極管閃亮移位方向改變。2。實驗報告要求(1).給出自行設(shè)計的程序清單、程序流程圖。(2)。 總結(jié)實驗過程中調(diào)試所遇到的問題和解決方法,寫出編程調(diào)試的經(jīng)驗和體會。實驗一、Keil軟件認識實驗一、實驗目的:

1、掌握運用Keil軟件進行匯編語言程序的匯編、連接、調(diào)試的方法;

2、掌握仿真實驗板的應(yīng)用方法;

3、學習MCS-51匯編語言程序的編寫.

二、實驗內(nèi)容:

1、學習KeiluVision2和仿真實驗板ledkey的使用方法,編寫并運行流水燈實驗,詳細內(nèi)容請見《51單片機數(shù)字實驗室的應(yīng)用》一文.

2、試編寫程序,把片內(nèi)RAM的30H~7FH單元清零.運用KeiluVision2調(diào)試程序,采用單步調(diào)試的方法(快捷鍵F11),觀察Regs窗口中各寄存器值的變化情況.

參考程序:

ORG0000H

CLEAR:MOVR0,#30H;30H送R0寄存器

MOVR6,#4FH;4FH送R6寄存器(計數(shù))

CLR1:MOVA,#00H;00送累加器A

MOV@R0,A;00送到30H—7FH單元

INCR0;R0加1

DJNZR6,CLR1;不到4F個字節(jié)再清

WAIT:LJMPWAIT

END

3、試編寫程序:用數(shù)據(jù)傳送指令將片內(nèi)RAM的50H~5FH單元中的內(nèi)容置成00H~0FH,然后將其中的內(nèi)容傳送到片外RAM的1000H~100FH單元中,最后再將片外RAM的1000H~100FH單元中的內(nèi)容傳回片內(nèi)RAM的60H~6FH單元中。運用KeiluVision2調(diào)試程序,采用單步調(diào)試的方法(快捷鍵F11),觀察Regs窗口中各寄存器值的變化情況.

參考程序:

ORG0000H

MAIN:MOVR0,#50H

MOVR7,#10H

MOVA,#00H

A1:MOV@R0,A

INCA

INCR0

DJNZR7,A1

MOVR0,#50H

MOVDPTR,#1000H

MOVR7,#10H

A2:MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,A2

MOVR0,#60H

MOVDPTR,#1000H

MOVR7,#10H

A3:MOVXA,@DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR7,A3

HERE:AJMPHERE

END

4、思考題:試編寫程序:求N的平方(0≤N≤9),并將結(jié)果送RAM的30H單元中

實驗一熟悉實驗系統(tǒng)及51指令練習一.實驗要求本實驗包含三個程序:1.指定存儲器中某塊的起始地址和長度,要求能將其內(nèi)容清零。2.將給定的一個二進制數(shù)轉(zhuǎn)換成二十進制(BCD)碼。3.給出一個十六進制數(shù),將其轉(zhuǎn)換成ASCⅡ碼值。二.實驗目的1.熟練運用Keil開發(fā)軟件調(diào)試匯編語言程序.2.掌握存儲器讀寫方法。3.掌握簡單的數(shù)值轉(zhuǎn)換算法。4.了解十六進制數(shù)和ASCⅡ值的區(qū)別。三.實驗說明1.首先進入Keil開發(fā)環(huán)境,輸入相應(yīng)的程序,編譯后運行,查看結(jié)果是否正確。2.程序1學生可以了解單片機讀寫存儲器的讀寫方法,同時也可以了解單片機編程、調(diào)試方法,如何將存儲器塊的內(nèi)容置成某固定值(例全填充為0FFH)?請修改程序,完成此操作。3.程序2是計算機中數(shù)值的各種表達方法,這是計算機的基礎(chǔ).掌握各種數(shù)制之間的轉(zhuǎn)換是一種基本功,有興趣的同學可以試試將BCD碼轉(zhuǎn)換成二進制碼。4.程序3主要讓是使學生了解數(shù)值的BCD碼和ASCⅡ碼的區(qū)別,利用查表功能可快速地進行數(shù)值轉(zhuǎn)換,進一步了解數(shù)值的各種表達方式。要求獨立編程,程序不能完全相同。上機調(diào)試通過方可獲得成績,否則按不及格處理,實驗報告的填寫,字跡清晰、條理分明、不準抄襲、雷同!要求獨立思考,獨立撰寫!實驗三MCS-51內(nèi)部接口實驗一.實驗要求本實驗包含三部分內(nèi)容:(一)P1口輸入、輸出實驗1.p1口做輸出口,接八只發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點亮。2.P1口既做輸入又做輸出,將兩個開關(guān)的狀態(tài)在四個發(fā)光二極管上顯示出來。(二)外部中斷實驗用單次脈沖申請中斷,在中斷處理程序中對輸出信號進行反轉(zhuǎn)。(三)定時器實驗用8031內(nèi)部定時器,每0.1秒鐘T1溢出中斷一次。P1口的P1.0~P1。7分別接發(fā)光二極管的L1~L8。要求編寫程序模擬一循環(huán)彩燈。二.實驗目的1.掌握p1口的使用方法和延時子程序的編寫及使用。2.進一步學習多分支結(jié)構(gòu)程序的編程方法.3.學習外部中斷技術(shù)的基本使用及中斷處理程序的編程方法.4.學習8031內(nèi)部計數(shù)器的使用和編程方法,掌握中斷處理程序的編寫方法.三.實驗說明(一)P1口輸入、輸出實驗1.連線:P1。0~P1.7接發(fā)光二極管L1~L8(見圖23)P1口為準雙向口,P1口的每一位都能獨立地定義為輸入位或輸出位。作為輸入位時,必須向鎖存器相應(yīng)位寫入“1",該位才能作為輸入.為使發(fā)光二極管循環(huán)點亮,需要有一定的延時,現(xiàn)常用的有兩種方法,一是用定時器中斷來實現(xiàn),一是用指令循環(huán)來實現(xiàn)。在系統(tǒng)時間允許的情況下可以采用后一種方法.本實驗系統(tǒng)晶振為6。144MHZ,則一個機器周期為12÷6.144us即1÷0。512us?,F(xiàn)要寫一個延時0.1s的程序,可大致寫出如下:MOVR7,#X(1)DEL1:MOVR6,#200(2)DEL2:DJNZR6,DEL2(3)DJNZR7,DEL1(4)RET上面MOV、DJNZ指令均需兩個機器周期,所以每執(zhí)行一條指令需要1÷0.256us,現(xiàn)求出X值:1÷0.256+X(1÷0.256+200×1÷0。256+1÷0.256)=0.1×10?指令(1)指令(2)指令(3)指令(4)所需時間所需時間所需時間所需時間X=(0.1××10?-1÷0.256)/(1÷0。256+200×1÷0.256+1÷0.256)=127D=7FH經(jīng)計算得X=127。代入上式可知實際延時時間約為0。100215s,已經(jīng)很精確了。實驗一、清零程序(2學時)1、實驗目的掌握匯編語言設(shè)計和調(diào)試方法,熟悉鍵盤操作2、實驗內(nèi)容把7000H~70FF的內(nèi)容清零3、思考如何將3500~35FF單元內(nèi)容清零實驗二、數(shù)據(jù)傳送子程序(2學時)1、實驗目的掌握RAM中的數(shù)據(jù)操作2、實驗內(nèi)容把(R2、R3)源RAM區(qū)內(nèi)的(R6、R7)字節(jié)數(shù)據(jù),傳送到(R4、R5)目的RAM區(qū)3、思考如何將(40H、50H)源RAM區(qū)內(nèi)的(20H、30H)字節(jié)數(shù)據(jù),傳送到(10H、60H)目的RAM區(qū)實驗三、數(shù)據(jù)排序?qū)嶒灒?學時)1、實驗目的熟悉8051指令系統(tǒng),掌握程序設(shè)計方法2、實驗內(nèi)容編寫并調(diào)試一個排序子程序,將內(nèi)存RAM中幾個單元字節(jié)無符號的正整數(shù),按從大到小的次序重新排列3、思考如何編寫并調(diào)試一個排序子程序,將內(nèi)存RAM中幾個單元字節(jié)無符號的正整數(shù),按從小到大的次序重新排列實驗四、多分支程序設(shè)計(2學時)1、實驗目的掌握匯編語言的編程2、實驗內(nèi)容編寫散轉(zhuǎn)程序,根據(jù)8032片內(nèi)20H中的內(nèi)容(00或01或02或03)進行散轉(zhuǎn)實驗五、定時器/計數(shù)器8253A的應(yīng)用(3學時)1、實驗目的(1)、學會8253A芯片和微機接口原理和方法(2)、掌握8253A定時器/計數(shù)器的工作方式和編程原理2、實驗內(nèi)容8253A的0通道工作在方式3產(chǎn)生方波3、實驗步驟①用插針把8253的CLK0插孔和分頻輸出端T2插孔相連②8253的GATE0插孔和+5V插孔相連③8253的片選信號8253CS和譯碼輸出端Y4相連④KBB撥在左邊OFF位置⑤用排線將SIO區(qū)的D0—D7連到BUS2區(qū)XD0—XD7⑥在“P.。。。。"狀態(tài)下,從起始地址08C0H開始連續(xù)運行程序,用示波器測8253的0通道輸出端OUTO,應(yīng)有方波產(chǎn)生.實驗六、P3。3輸入、P1口輸出(3學時)1、實驗目的(1)、掌握P3口、P1口簡單使用。(2)、學習延時程序的編寫和使用.2、實驗內(nèi)容(1)、P3.3口做輸入口,外接一脈沖,每輸入一個脈沖,P1口按十六進制加一。(2)、P1口做輸出口,編寫程序,使P1口接的8個發(fā)光二極管L1—L8按16進制加一方式點亮發(fā)光二極管。3、實驗說明(1)、P1口是準雙向口,它作為輸出口時與一般的雙向口使用方法相同,由準雙向口結(jié)構(gòu)可知:當P1口作為輸入口時,必須先對它置高電平,使內(nèi)部MOS管截止,因內(nèi)部上拉電阻是20KΩ-40KΩ,故不會對外部輸入產(chǎn)生影響.若不先對它置高,且原來是低電平,則MOS管導通,讀入的數(shù)據(jù)是不正確的。(2)、延時子程序的延時計算問題。對于延時程序

溫馨提示

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

提交評論