武漢理工大學(xué)單片機原理及應(yīng)用試驗指導(dǎo)書_第1頁
武漢理工大學(xué)單片機原理及應(yīng)用試驗指導(dǎo)書_第2頁
武漢理工大學(xué)單片機原理及應(yīng)用試驗指導(dǎo)書_第3頁
武漢理工大學(xué)單片機原理及應(yīng)用試驗指導(dǎo)書_第4頁
武漢理工大學(xué)單片機原理及應(yīng)用試驗指導(dǎo)書_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用實驗指導(dǎo)書孫立紅 編黃濤審武漢理工大學(xué)教材中心2012 年 7 月實驗一、熟悉軟件開發(fā)環(huán)境及51單片機資源認識I/O 口的應(yīng)用與編程計算機的應(yīng)用是一個系統(tǒng),這個系統(tǒng)應(yīng)由兩部分組成一一硬件和軟件。硬件是指具體的元器件、電路等,軟件則是指程序和數(shù)據(jù)。如果説硬件是計算機應(yīng)用系統(tǒng)的基礎(chǔ)的話,那么軟件則是計算機應(yīng)用系統(tǒng)的靈魂。計算機原理告訴我們程序和數(shù)據(jù)是被“裝載”在計算機存儲器中的,從某種意義上講,認識一個計算機的存儲器系統(tǒng)是開發(fā)軟件所必須的。為了全面認識51系列單片機的存儲空間,實驗一與實驗二列出四個實訓(xùn)單元。在進行 完四個實訓(xùn)單元后,要求學(xué)生應(yīng)全面了解51系列單片機的程序存儲器(R

2、OM )、片內(nèi)隨機存儲器(片內(nèi)RAM )和片外隨機存儲器(片外 RAM )空間的范圍、用途和使用方法等。1.1認識51系列單片機的程序存儲器(ROM)第一部分教學(xué)要求一、實驗?zāi)康模?. 認識51系列單片機的程序存儲器(ROM )的空間范圍;2. 認識匯編指令編碼在 ROM中存儲形式;3. 掌握指令編碼和指令編碼所在地址的概念;4. 了解51系列單片機的程序存儲器(ROM )固定地址的用途。二、實訓(xùn)平臺1. PC機,臺/人;2. 偉福V3.2版仿真軟件或其它 51系列單片機仿真軟件三、實驗報告內(nèi)容:項目形式成績評定151系列單片機ROM存儲空間描述書面251系列單片機ROM間使用情況觀察填表3總

3、成績教師簽名(注:成績評定等級:優(yōu)、良、中、及格、不及格)第二部分教學(xué)內(nèi)容一、預(yù)備知識1. ROM存儲器ROM(Real 0nly Memory)即只讀存儲器之意,其特點是在計算機正常運行的情況下CPU對ROM存儲器只能進行讀操作且斷電后信息不會丟失,通常用來存儲固定不變的程序和數(shù)據(jù),如引導(dǎo)程序、基本輸入輸出系統(tǒng)程序等。ROM按其性能可分為以下幾類:(1)掩模工藝ROM它是由芯片制造廠根據(jù)ROM要求存儲的信息,制造成固定的半導(dǎo)體掩模版生產(chǎn)的。一旦制出成品后,其存儲的信息只能讀出,不能改變。這種ROMg用于存儲固定不變的程序和 數(shù)據(jù),批量生產(chǎn)時,成本較低。(2)可一次編程PROM允許用戶對 RO

4、MS行一次編程。可擦除的EPROM允許用戶對ROMS行多次編程,即可擦除。按擦除的方法不同, 可分為紫外線擦除的可擦除可編程序只讀存儲器 EPROM(Erasable Programmable Read Only Memory) 和電擦除的電 可擦 除編程序只讀存儲器 EEPROM(Electrically Erasable Programmable Read Only Memory)。Flash存儲器Flash存儲器是在20世紀80年代末逐漸發(fā)展起來的一種新型不揮發(fā)性半導(dǎo)體存儲器, 它結(jié)合了以往EPROMS構(gòu)簡單、密度高和 EEPRO在系統(tǒng)的電可擦除性的一些優(yōu)點,實現(xiàn)了 高密度、低成本和高可

5、靠性。Flash存儲器和傳統(tǒng)存儲器的最大區(qū)別在于它是按塊(Sector)擦除,按位編程,從而實現(xiàn)了快閃擦除的高速度。目前它廣泛應(yīng)用于PCBIOS數(shù)字蜂窩電話、汽車領(lǐng)域和微控制器等許多領(lǐng)域。EPROM EEPROMFlash存儲器需通過專用的編程器將程序和數(shù)據(jù)寫入其中。2. 51系列單片機ROM空間由于5l系列單片機的程序計數(shù)器 PC是16位的,所以能尋址64KB的程序存儲器地址范 圍。允許用戶程序調(diào)用或轉(zhuǎn)向64KB的任何存儲單元。在 5l系列單片機中根據(jù)不同的型號,其程序存儲器的形式也有所不同。例如:8051單片機在芯片內(nèi)部設(shè)置了 4 KB掩模版的ROM8751單片機在芯片內(nèi)部設(shè)置了4 KB的

6、EPROM89C52單片機在芯片內(nèi)部設(shè)置了 8 KB的Flash存儲器,而8031單片機在芯片內(nèi)部沒有設(shè)置程序存儲器,需要在單片機外部配置EPROM51系列單片機的EA引腳為訪問內(nèi)部或外部程序存儲器的選擇端。當(dāng)EA引腳接高電平時,CPU將首先訪問內(nèi)部存儲器,當(dāng)指令地址超過內(nèi)部存儲器的最大地址時,自動轉(zhuǎn)向片外 ROM去取指令。當(dāng)EA引腳接低電平時(接地),CPU只能訪問外部程序存儲器。對于8031單片機,由于其內(nèi)部無程序存儲器,故只能采用這種接法。51系列單片機程序存儲器的地址從0000H開始編址。程序存儲器低端的一些地址被固定地用作特定程序的入口地址:0000H0000H:單片機復(fù)位后的程序入

7、口地址;0001H0003H:外部中斷0的中斷服務(wù)程序入口地址;000BH定時器0的中斷服務(wù)程序入口地址;:0013H:外部中斷I的中斷服務(wù)程序入口地址;:001BH定時器1的中斷服務(wù)程序入口地址;0023H:串行端口的中斷服務(wù)程序入口地址;002BH定時器2的中斷服務(wù)程序入口地址。FFFFH編程時,通常在這些入口地址開始的二三個單元中,放人一條轉(zhuǎn)移指令,以使相應(yīng)的服務(wù)與實際分配的程序存儲器區(qū)域中的程序段相對應(yīng)(僅在中斷服務(wù)程序較短時,才可以將中斷服務(wù)程序直接放在相應(yīng)的人口地址開始的幾個單元中)。3. 源程序匯編與程序定位偽指令將匯編語言源程序轉(zhuǎn)換為計算機能執(zhí)行的機器碼形式的目標程序的過程叫匯

8、編。匯編常用的方法有兩種:一是手工匯編,二是利用計算機匯編。手工匯編時,把程序用助記符指令寫出后,通過手工方式查指令編碼表, 逐個把助記符指令翻譯成機器碼,然后把得到的機器碼程序(以十六進制形式)鍵入到單片機開發(fā)機中, 并 進行調(diào)試。由于手工匯編是按絕對地址進行定位的,所以,對于偏移量的計算和程序的修改 有諸多不便。通常只有程序較小或條件所限時才使用。機器匯編是在常用的個人計算機上,使用交叉匯編程序?qū)R編語言源程序轉(zhuǎn)換為計算機能執(zhí)行的機器碼形式的目標程序。匯編工作由計算機自動完成。生成的目標程序由PC機傳到開發(fā)機上,經(jīng)調(diào)試無誤后,再固化到程序存儲器 ROM中o機器匯編與手工匯編相比具有極 大的

9、優(yōu)勢,是匯編工作的首選。本教材選用的偉福仿真軟件就可進行機器匯編。偽指令不是單片機執(zhí)行的指令, 沒有對應(yīng)的機器碼, 僅是用來對匯編過程進行某種控制。 常用的偽指令有:(1) 定位偽指令 ORG 格式: 標號: ORG l6 位地址 功能:規(guī)定程序塊或數(shù)據(jù)塊存放的起始地址。如:ORG 8000HSTART:MOV A, #30H該語句規(guī)定第一條指令從地址8000H單元開始存放。標號 START勺值為8000H。通常,在一段匯編語言源程序的開始,都要設(shè)置一條0R(偽指令來指定該程序在存儲器中存放的起 始位置。若省略O(shè)RG偽指令,則該程序段從 0000H單元開始存放。在一個源程序中,可以多 次使用O

10、RG偽指令,以規(guī)定不同程序段或數(shù)據(jù)段存放的起始地址,但要求16位地址值由小到大依序排列,不允許空間重疊。(2) 匯編結(jié)束偽指令 END 格式: 標號: END 表達式 功能:結(jié)束匯編。匯編程序遇到END偽指令后即結(jié)束匯編。處于END之后的程序,匯編程序不予處理。(3) 字節(jié)數(shù)據(jù)定義偽指令 DB格式: 標號: DB 8 位字節(jié)數(shù)據(jù)表功能: 從標號指定的地址單元開始, 在程序存儲器中定義字節(jié)數(shù)據(jù)。 字節(jié)數(shù)據(jù)表可以是一個 或多個字節(jié)數(shù)據(jù)、 字符串或表達式。 該偽指令將字節(jié)數(shù)據(jù)表中的數(shù)據(jù)按從左到右的順序依次 存放在指定的存儲單元中。一個數(shù)據(jù)占一個存儲單元。二、實訓(xùn)程序ORG 0000H* AJMP B

11、EGIN ; 轉(zhuǎn)初始化程序段ORG 0003HLJMP PINT0; 轉(zhuǎn)外部中斷 0的中斷服務(wù)程序ORG 0100HBEGIN: SETB EA;初始化程序段SETB EX0SETB PX0SETB IT0MOV R0, #03HMOV A, #0A8HMOV R0, AMOV R1, #20HMOV R2, #31HMOV R0, #00HMOV A, R1MOVX R0, AMOV R0, #03HMOV A, #01HMOVX R0, ACLR AMOVX R0, A*LOOP: SJMP $ORG 2000HPINTO: MOV RO, #00H;外部中斷0的中斷服務(wù)程序INC R1M

12、OV A, R1MOVX R0, AMOV R0, #02HMOV A, #01HMOVX R0, ACLR AMOVX R0, A* DJNZ R2, NEXTCLR EX0SJMP DONENEXT: SETB EX0DONE: RETIEND三、實訓(xùn)將以上實訓(xùn)程序通過偉福 V3.2版仿真軟件(或其它51系列單片機仿真軟件) 輸入到計 算機中,并以*.ASM 文件名保存,然后進行匯編。匯編成功后,通過偉福V3.2版仿真軟件的“窗口(WH數(shù)據(jù)窗口(D) t CODE菜單觀察程序存儲器 (ROM )中的內(nèi)容,理解“地址”、 “指令代碼”的概念,并了解51系列單片機程序存儲器(ROM )空間的分

13、布特點。注:本節(jié)實訓(xùn)不要求學(xué)生具體讀懂上述程序的具體功能。具體步驟如下:1.1.2所示-|D| x文件 騙輯 搜索 頂目心 執(zhí)行 夕卜股 窗口 訪直翻迎(1)打開偉福V3.2版仿真軟件,選擇偉福軟件模擬器。如圖住福3.二Q :軟半蟆摑器 也匚:訓(xùn)員電3遼衛(wèi)叭血1沱幫助QD夕關(guān)卻躅翩口 | 1刖口訂&亍|巨I國grc; QOODKDPTR- OOOOHA OCJf FSf; OOHSP: 07M42圖 1.1.2(2)選擇“文件(F) T新建文件(叫”,輸入實訓(xùn)程序。如圖1.1.3所示圖 1.1.3(3)程序輸完后,選擇“文件(F) T另存為(A) ” ,在彈出的對話框中輸入帶有.ASM后綴新文

14、 件名。按“保存”按鈕后,程序就會以帶有 .ASM后綴的文件形式存儲 D或E磁盤上。(注意 此時程序中字符會根據(jù)偉福仿真軟件的設(shè)置變色。)如圖1.1.4 所示帶鑫 V3-ZO ;鈦件律擬我(0031) C;WAEDINUiititled立州曰編徵E 捷案(9 頂引巴找行樸譯心窗=1期估宜黑(Q 科瞅旳L2lrONAMElL_r執(zhí)訂時間;O.OuiCPHR. COODh劣oonPSWl OOHQIGIN: SPC OOOOM圖 1.1.4(4)選擇“項目(巳t編譯(M) ”對源程序進行匯編,如圖1.1.5所示。若無錯,則會在模擬的程序存儲器中形成機器指令代碼。恪垢 V3.ZO :(8031) C

15、:WAVEXBlKUlltilkd文恤)蹄(0耀汞團丨頂目曰執(zhí)昏 外辿加閒口凹仿蜩帑靭FC QOOOMDPTiOOODra ooni QOrl5Fi 07H;l&Uii圖 1.1.5 選擇“窗口 (Wt數(shù)據(jù)窗口(D) CODE,觀察程序存儲器(ROM )中的內(nèi)容。如圖1.1.6 所示圖 1.1.6圖1.1.7是在模擬的程序存儲器中形成的機器指令代碼。藍字部分為地址,黑字部分為指令所在的地址指令代碼。拖動右側(cè)的滾動條可觀察整個程序存儲器空間的內(nèi)容。31)捋票頂目皓bsIdII60311 ICiyWAWriJntitkdl外遷心第口休尊需帝1也指令代碼須嘲氓| M川卜*|劊 固蟲回駁團回列PC.

16、C10CI-IInwitPCiCCOJHDPIRtCOODHAl ODHP5! OOH5Pt MH玻ET何曲恥圖 1.1.71(?疋zJ(6)根據(jù)圖1.1.7窗口數(shù)據(jù),填寫下列表格。(在實驗過程中注意*號指令的指令編碼形成)指令編碼起始地址指令編碼指令助記符0000H21H,00HAJMP 0100H0003H02H,20H,00HLJPM 2000H1.2認識51系列單片機的片內(nèi)隨機存儲器(片內(nèi) RAM )第一部分教學(xué)要求一、實驗?zāi)康?、認識51系列單片機片內(nèi)隨機存儲器(片內(nèi) RAM )的空間范圍;2、認識51系列單片機片內(nèi)隨機存儲器的區(qū)域劃分;3、掌握字節(jié)地址和位地址的概念;4、了解R0R

17、7寄存器與字節(jié)地址的關(guān)系。二、實訓(xùn)平臺1、PC機,臺從;2、偉福V3.2版仿真軟件或其它 51系列單片機仿真軟件、實驗報告內(nèi)容項目形式成績評定1字節(jié)地址和位地址的概念描述書面2單片機片內(nèi)隨機存儲器的空間使用情況觀察填表3總成績教師簽名(注:成績評定等級:優(yōu)、良、中、及格、不及格)第二部分教學(xué)內(nèi)容、預(yù)備知識1. RAM存儲器RAM (Random Access Memory)即隨機訪問存儲器之意,RAM存儲器是一種既可讀又可寫的易失性存儲器,其特點是斷電后所存儲的信息將全部丟失,通常用來暫存運行 的程序和數(shù)據(jù)。但在單片機應(yīng)用系統(tǒng)中RAM存儲器僅被用來暫存運行的數(shù)據(jù)。2.51系列單片機片內(nèi)隨機存儲

18、器的區(qū)域劃分51系列單片機片內(nèi)隨機存儲器根據(jù)型號的不同,其存儲容量為128B或256B。典型芯片的容量為128B,被劃分為工作寄存器區(qū)、位尋址區(qū)和通用RAM區(qū)等三個區(qū)域。如圖1.2.1所示。其中單片機片內(nèi) RAM中,最低的32個字節(jié)又被分成4個工作寄存器組,每組占 8個字節(jié)。即:寄存器0組:地址00H -一 07H;寄存器1組:地址08H -一 0FH;寄存器2組:地址10H -一 17H;寄存器3組:地址18H -1FH。每個工作寄存器組都有8個寄存器,分別稱為:R0, R1,R7。程序運行時,只能有一個工作寄存器組作為當(dāng)前工作寄存器組。當(dāng)前工作寄存器組的選擇是由特殊功能寄存器中的程序狀態(tài)字

19、寄存器PSW的RSI、RS0兩位決定的。可以對這兩位進行編程,以選擇不同的工作寄存器組。工作寄存器組與RSI、RS0的關(guān)系及地址如表 2 l所示。位地址2FH7F7E -2EH訂r& f2DH6EROMOVR1, #11H; 11H=R1MOVR6, #66H ; 66H=R6MOVR7, #77H; 77H=R7MOVRO, O1H; 將 O1 單元中的數(shù)據(jù) =ROMOVR6, O7H; 將 O7 單元中的數(shù)據(jù) =R6SETBRSO; 設(shè)置寄存器組為一組,RS1,RSO=O1MOVRO, OOH ;將 OO 單元中的數(shù)據(jù)=寄存器一組中的ROMOVR1, O1H ;將 O1 單元中的數(shù)據(jù)=寄存

20、器一組中的R1MOVR7, O7H ;將 O7 單元中的數(shù)據(jù)=寄存器一組中的R7SETBRS1; 設(shè)置寄存器組為三組,RS1,RSO=11MOVR6, OOH ;將 OO 單元中的數(shù)據(jù)=寄存器三組中的R6MOVR7, 17H ;將 17 單元中的數(shù)據(jù)=寄存器三組中的R7MOV2OH , #OOH ; O=2OH 單元MOV2FH, #OFFH ; FFH=2FH 單元SETBOOH; 位地址 OOH 置“1” SETBO7H; 位地址 O7H 置“1”CLR78H; 位地址 78H 清“O”CLR7FH; 位地址 7FH 清“O”MOV31H , #31H;31H=31H 單元MOV32H ,

21、 #32H;32H=32H 單元CLRRSO; CLRRS1; 設(shè)置寄存器組為O 組, RS1,RSO=OOPUSH00H;將00單元中的數(shù)據(jù)入棧MOVSP , #30H;重新設(shè)置棧地址為 30HPUSH00H;將00單元中的數(shù)據(jù)入棧PUSH01H;將01單元中的數(shù)據(jù)入棧POP00H;彈出棧頂數(shù)據(jù)至00單元POP01H;彈出棧頂數(shù)據(jù)至01單元AJMP$5三、實訓(xùn)1. 閱讀以上程序,正確理解每一條指令功能。2. 將以上實訓(xùn)用程序通過偉福V3.2版仿真軟件(或其它 51系列單片機仿真軟件)輸入到計算機中,并以*.ASM 文件名保存,然后進行匯編。3. 匯編成功后,分別將光標移至標記所在行,通過偉福

22、V3.2版仿真軟件的“執(zhí)行(R) t設(shè)置/取消斷點Q) ”菜單對標記所在行設(shè)置斷點。如圖1.2.2所示。1012|執(zhí)行 歩卜邀U窗口辿)仿真罰粘助(H)V3.20 :軟件複也署(EAVEEl ntitledhBH口(P)交件(E騙鎧理索全遠執(zhí)行 跟蹤(D 單步 執(zhí)行到光標處QctrkpgF7F4AJMP QEGIMORG 佃BEGIN: HOUCtrl+F2Ctrl+F3自動跟臨/單步(期斷點hidv 跖,時斤HOU R7, #?7110 U FEQ, 81HM 唄 R6, H7IISETB RSOI10U恭加觀靈頂Ctrl+FS設(shè)置j取消斷點迺Ctn+FB10 丫設(shè)置奇存禱組為一組r酮sRS

23、e-01M. 0HH :將0眸元中的數(shù)據(jù)乍寄存器一組中的陽01H ;將”單元中的塌壽存器一組申的跆MOU R1H7, B7H :將酊車元申的藪據(jù)O希隸一雖中的舊DFTR: OOOOHa: oonP5W: 00H5P: 07HOOOOH執(zhí)行時間:, Ous圖 1.2.24. 選擇偉福V3.2版仿真軟件的“執(zhí)行(R) t復(fù)位(E)菜單。使程序從第一條指令開始執(zhí)行。5. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第一個斷點處暫 停。6. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D) t DATA菜單,觀察指令運行結(jié)果。如圖1.2.3和圖1.2.4所示。立

24、件漏掘(E)崔索(” g(P)執(zhí)行外諛0 窗(凹仿真器(幫助執(zhí)行時T可:則U5必A: OOHP5W: OOHSF: D7H椿福 V3.2O:軟件模也器(8031) cAWAVEVBINntitledpc: ooaotiCiPIR: 1000H& 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第二個斷點處暫停。9.通過偉福V3.2版仿真軟件的“窗口 (W) t數(shù)據(jù)窗口(D)t DATA菜單,觀察指令運行結(jié)果。 io填寫下表。體會寄存器與寄存器之間的數(shù)據(jù)傳遞。-寄存器名寄存器的地址寄存器中數(shù)據(jù)R0R611. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R)”菜

25、單,執(zhí)行到第三個斷點處暫 停。12. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D)tDATA菜單,觀察指令運行結(jié) 果。-13. 填寫下表。體會第一組寄存器組與片內(nèi)RAM地址的關(guān)系。寄存器名寄存器的地址寄存器中數(shù)據(jù)R0R1R714. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R)”菜單,執(zhí)行到第四個斷點處暫 停。15. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D) tDATA菜單,觀察指令運行結(jié) 果。16. 填寫下表。體會第三組寄存器組與片內(nèi)RAM地址的關(guān)系。寄存器名寄存器的地址寄存器中數(shù)據(jù)R6R717. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)

26、行(R) ”菜單,執(zhí)行到第五個斷點處暫 停。18. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D) tDATA菜單,觀察指令運行結(jié) 果。19. 填寫下表。體會位尋址空間。RAM字節(jié)地址字節(jié)地址中數(shù)據(jù)20H2FH20. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第六個斷點處暫 停。21. 通過偉福V3.2版仿真軟件的“窗口 (W) t數(shù)據(jù)窗口(D) t DATA菜單,觀察指令運行結(jié) 果。22. 填寫下表。體會位地址與字節(jié)地址的關(guān)系。RAM字節(jié)地址字節(jié)地址中數(shù)據(jù)20H2FH23. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到

27、第七個斷點處暫 停。一一24. 通過偉福V3.2版仿真軟件的“窗口 (Wt數(shù)據(jù)窗口(D)DATA菜單,觀察指令運行結(jié) 果。-25. 填寫下表。RAM字節(jié)地址字節(jié)地址中數(shù)據(jù)31H32H26. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第八個斷點處暫 停。27. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D)tDATA菜單,觀察指令運行結(jié) 果。-28. 填寫下表。體會初始棧區(qū)的位置棧頂?shù)刂窏m斨械臄?shù)據(jù)29. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第九個斷點處暫 停。30. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)

28、據(jù)窗口(D) tDATA菜單,觀察指令運行結(jié) 果。31. 填寫下表。體會修改后棧區(qū)的位置棧頂?shù)刂窏m斨械臄?shù)據(jù)00H單元中的數(shù)據(jù)01H單元中的數(shù)據(jù)32. 通過偉福V3.2版仿真軟件的“執(zhí)行(R) t全速執(zhí)行(R) ”菜單,執(zhí)行到第十個斷點處暫 停。33. 通過偉福V3.2版仿真軟件的“窗口 (W)t數(shù)據(jù)窗口(D) tDATA菜單,觀察指令運行結(jié) 果。34. 填寫下表。體會利用堆棧進行數(shù)據(jù)傳遞00H單元中的數(shù)據(jù)01H單元中的數(shù)據(jù)實驗二、51單片機資源認識及51單片機編程設(shè)計中斷方式的編程應(yīng)用2.1認識51系列單片機的片內(nèi)特殊功能寄存器 第一部分教學(xué)要求一、實驗?zāi)康?、認識51系列單片機片內(nèi)特殊功能

29、寄存器的地址空間范圍;2、掌握51系列單片機片內(nèi)特殊功能寄存器的字節(jié)地址;3、掌握51系列單片機片內(nèi)特殊功能寄存器的位地址。4、了解51系列單片機片內(nèi)特殊功能寄存器的用途;二、實訓(xùn)平臺1、PC機,臺從;2、偉福V3.2版仿真軟件或其它 51系列單片機仿真軟件三、實驗報告內(nèi)容項目形式成績評定1常用單片機特殊功能寄存器的功能描述書面2單片機片內(nèi)隨機存儲器的空間使用情況觀察填表3總成績教師簽名(注:成績評定等級:優(yōu)、良、中、及格、不及格)第二部分教學(xué)內(nèi)容一、預(yù)備知識1、51系列單片機片內(nèi)特殊功能寄存器(SFR)的地址空間是與片內(nèi)隨機存儲器統(tǒng)一編址的,其地址空間范圍是 80HFFH。如圖1.3.1所示

30、。FFH7FH通用RAM區(qū)30H位地址區(qū)I2QH1FHI工作寄存器區(qū)IODH圖 2.1.13. 51系列單片機根據(jù)芯片型號的不同,其片內(nèi)特殊功能寄存器的數(shù)量有所不同。以典型芯片8031為例,片內(nèi)特殊功能寄存器有 21個。它們離散地分布在80HFFH地址(字節(jié)地址)空間上。值得注意的是:那些分布在字節(jié)地址能被8整除的(即16進制的地址碼尾數(shù)為 0或8的)單元的特殊功能寄存器不但有字節(jié)地址而且還具有位地址,其位地址的空間范圍也是80HFFH,但不連續(xù)編址。編址的原則是具有位地址的特殊功能寄存器,其字節(jié)地址亦是特殊功能寄存器第 0位的位地址。例如:作為特殊功能寄存器之一的累加器 A,字節(jié)地址為 E0

31、H,則累加器 A第0位的位地址也是 E0H,累加器A第0位至第7位的位地址是 E0H E7H。 見表 2.1.1。3 51系列單片機片內(nèi)的特殊功能寄存器有著特殊的地位。從某種意義上講使用51 系列單片機就是使用單片機片內(nèi)的特殊功能寄存器,因此,正確地理解和使用51 系列單片機片內(nèi)的特殊功能寄存器對使用 51 系列單片機而言是具有決定性作用的。51 系列單片機片內(nèi)的特殊功能寄存器幾乎包括了在微型計算機原理中敘述的所有基本 功能單元。這些基本功能單元是:計算、尋址、計算機及程序狀態(tài)、并行和串行I/O 操作、定時 /計數(shù)器操作和中斷控制等。簡單羅列如下:累加器A , 8位。它是8051單片機中最繁忙

32、的寄存器,用于向 ALU提供操作數(shù),許多運 算的結(jié)果也存放在累加器中。 B寄存器,8位。主要用于乘、除法運算。也可以作為RAM的一個單元使用。 PSW是程序狀態(tài)字寄存器,8位。起標志寄存器的作用。其中CY是進位、借位標志,有進位、借位時 CY=1 ,否則 CY=0 ;AC 是輔助進位、借位標志 (高四位與低四位間的進位、 借位 ),有輔助進位、 借位時 AC=1 ,否則 AC=0 ;FO 是用戶標志位,由用戶自己定義; RSl、 RS0 為工作寄存器組選擇位; OV 為溢出標志位,有溢出時 OV=l ,否則 OV=0 ;P 是奇偶標 志位,運算結(jié)果中有奇數(shù)個“1”時P=l,否則P=0。 SP棧

33、指針寄存器,8位。用于指示當(dāng)前棧頂?shù)刂贰2僮髯裱昂筮M先出”的原則。入棧操作時,SP先加1,數(shù)據(jù)再壓人SP指向的單元。出棧操作時, 先將SP指向的單元的數(shù)據(jù)彈 出,然后,SP再減1,這時SP指向的單元是新的棧頂。 DPTR是16位的數(shù)據(jù)指針寄存器。它由兩個8位的寄存器DPH和DPL組成,用來存放16位的地址,采用間接尋址或變址尋址方式可對片外的RAM或 ROM作 64KB范圍的數(shù)據(jù)進行操作。 P0、P1、P2、P3是4個并行I / O端口寄存器。通過對這幾個寄存器的讀/寫,可以實現(xiàn) 數(shù)據(jù)從相應(yīng)端口的并行輸入輸出。 SBUF是串行端口數(shù)據(jù)緩沖器,通過SBUF可以實現(xiàn)全雙工串行數(shù)據(jù)通信。 SCO

34、N是串行端口控制寄存器,用于控制和設(shè)置串行數(shù)據(jù)通信。 PCON是串行通信波特率倍增寄存器,用于設(shè)置串行數(shù)據(jù)通信的波特率。 THO TL0是定時/計數(shù)器 TO的兩個8位計數(shù)初值寄存器,可以構(gòu)成16位的計數(shù)器,其中,TH0存放高8位,TL0存放低8位。 TH1、TL1 是定時/計數(shù)器 T1 的兩個 8 位計數(shù)初值寄存器,可以構(gòu)成 16 位的計數(shù)器,其 中, TH1 存放高 8 位, TL1 存放低 8 位。 TMOD是定時/計數(shù)器的工作模式寄存器,用于設(shè)置定時/計數(shù)器的工作模式 TCON是定時/計數(shù)器的控制寄存器,用于控制定時/計數(shù)器和中斷的操作。 IE 是中斷允許控制寄存器 , 用于允許 / 屏

35、蔽中斷源的中斷請求。 IP 是中斷優(yōu)先級控制寄存器,用于設(shè)置中斷源的中斷優(yōu)先級。表 2.1.1字節(jié)埔址uF7HF6HF5HF4HF5HF2HF1HFOHFOHAESHE4HE3HE2HE1HBOHEfiHrswD6HD5HD4HD3HmiIJDI-IDOHCYACFflKS)RSOovFIPBCHHBHBAHBOHB8HESHIF/PSPT1FXIproPXOF3ES7H1AHHSHMHB3H也HBIHHOH創(chuàng)HF3.bP3.5PIPX3P3.2P3hIP3.0IEAFHAEHADHACHAAHASHAHA&HEA/IESETlEX)emEXOA7HA6HAJHA4HA3HA2HAIMAPRA

36、OHl.TP2 &P2.5P2.4P2.3n,2P2 JP2.0SBUFd99HSCON9FHgtH9DH9CH9BH99H軸H98HSMO8M1RRNTFWT)RSPJrmWHMHMH92H91H如H50HFl,7Pl.6PLSPl.4Pl.3Pl.?P1.1P1.0TbUSDHTHOSCHTLIBBHTID_fl AHTMODGATEC/TMlMOGA1ECjTMl刖HTOONdHIMEEI-:HLHJKCH8UHHAHB9HS8H那11THTRITFVTKOIEIITlTEOrroPCONSMODt/*GFlGFXPDDLS7H1PHS5HDPLSPR1HPCMilKillM4H83H駅

37、HEIM呦11).7ra.6POdP0-AMOV0E0H,#0F0H;FOH=EOH 單元SETB0E0H;將位地址E0H置1CLR0E7H;將位地址E7H清零CLRC;清進位位ADDA, #0FFH;(A)+FFH=AADDCA, #00H;(A)+00H+CY=ASETB0EAH;將位地址EAH 置 1MOVP1, #0FH;0FH=P1SETBP1.7;將位地址97H 置 1CLRP1.0;將位地址90H清零MOVDPL, #00HMOVDPH, #20H;DPTR=2000HMOVTL0, #00HMOVTH0, #10H;TH0TL0=1000HAJMP$三、實訓(xùn)4. 閱讀以上程序,

38、正確理解每一條指令功能。5. 將以上實訓(xùn)用程序通過偉福V3.2版仿真軟件(或其它 51系列單片機仿真軟件)輸入到計算機中,并以*.ASM 文件名保存,然后進行匯編。3. 選擇偉福V3.2版仿真軟件的“執(zhí)行(R) t復(fù)位(E)菜單。使程序從第一條指令開始執(zhí)行。4. 選擇偉福V3.2版仿真軟件的“執(zhí)行(R) t單步(S)菜單或按F8鍵,如圖1.3.2所示。單 步執(zhí)行實訓(xùn)用程序。圖 2.1.25. 選擇偉福V3.2版仿真軟件的“窗口 (W)tCPU窗口菜單,如圖2.1.3所示。并根據(jù)表1.3.1,填表下列表格。啻h I曰日aD.6DO00P2FCOK寄存器名住DFTR- OQOOHFFFFFFFFP

39、OFl0000值5佰0000I _d 上IOCUWmSHDMEFFFFORGGFVW情福羽.如:軟件模擬器031f3E) C:nATOSBINURtitledAJMP BEGINQRGF喝口OO03H FFOOSCH.3;OF=fi:FflH=EOH;將位地址 J將位地址;清逬位位OOdOH 013 00092H FFFFO907H FF0009H FF盹MH FFOQ0BH F數(shù)據(jù)窗口 ) 跟蹤窗口 d) 邏輯分祈宙口 X)疊排窗口 A,并注意PSW中的值的變化原因ADDCA, #00HA中的值=注意累加器 A的值的變 化SETB0EAH位地址EAH所在的字節(jié)地址=了解位地址 EAH被置1

40、的意義MOVP1, #0FHP1的字節(jié)地址=P1中的值=通過P1的并行輸出操作SETBP1.7P1.7的位地址=P1中的值=了解P1.7與P1的關(guān)系, 常用的位控輸出方式CLRP1.0P1.0的位地址=P1中的值=了解P1.0與P1的關(guān)系, 常用的位控輸出方式MOVDPL, #00HDPL的字節(jié)地址=DPL中的值=MOVDPH, #20HDPL中的值=DPTR中的值=掌握DPTR的形成MOVTL0, #00HTL0的字節(jié)地址=TL0中的值=MOVTH0, #10HTH0中的值=T0中的值=掌握T0的形成2.2認識51系列單片機的片外數(shù)據(jù)存儲器(片外 RAM )及全部存儲空間訪問 第一部分教學(xué)要

41、求一、目的要求1、認識51系列單片機的片外數(shù)據(jù)存儲器(片外 RAM )的地址空間范圍;2、認識51系列單片機的片外數(shù)據(jù)存儲器的用途;3、掌握51系列單片機全部存儲空間(ROM、片外RAM和片內(nèi)RAM )的訪問方法。二、實訓(xùn)平臺4、PC機,臺從;5、偉福V3.2版仿真軟件或其它 51系列單片機仿真軟件、實驗報告內(nèi)容項目形式成績評定151系列單片機全部存儲空間描述書面2單片機三類存儲器空間的使用情況觀察填表3總成績教師簽名(注:成績評定等級:優(yōu)、良、中、及格、不及格)第二部分教學(xué)內(nèi)容一、預(yù)備知識1. 片外RAM存儲器由于51系列單片機片外的地址總線為16位,所以能尋址的片外 RAM空間為64K。與

42、片內(nèi)的RAM存儲器一樣,片外RAM存儲器也是一種既可讀又可寫的易失性存儲器, 故片外RAM存儲器通常被用來暫存程序運行時所采集的數(shù)據(jù)。2. 51系列單片機三類存儲器空間51系列單片機的存儲器空間按訪問途徑分,可分為三類( ROM、片內(nèi)RAM和片外 RAM )。如圖1.4.1所示。這三類存儲器空間在使用上有著明確地分工,ROM用來存儲程序和數(shù)據(jù)表,由于 ROM存儲器需使用專用的編程器進行寫入,并且是非易失性的, 所以人們形象地稱寫入 ROM中的程序和數(shù)據(jù)為固化。片內(nèi)RAM存儲器的使用最為豐富,除了有非常重要的特殊功能寄存器外,還有工作寄存器組、堆棧、位地址和用戶數(shù) 據(jù)緩存等用途。片外 RAM存儲

43、器的用途最為單一,僅被用作暫存程序運行時所采集的 數(shù)據(jù),通常I/O接口會占用一些片外 RAM存儲器的地址(這部分內(nèi)容將在后面的章節(jié) 介紹)。圖 2.2.13. 51系列單片機三類存儲器空間的訪問(存/取)從圖2.2.1上我們可以看到三類存儲器空間的地址都是從0開始編址的,這就意味著這三類存儲器的地址空間是重疊的(ROM與片外RAM完全重疊,片內(nèi) RAM存儲器與片外RAM存儲器和ROM的低端重疊)。從微機原理上講,地址是 CPU用來選擇 訪問對象的(每一個地址即為一個對象),并且在任一時刻 CPU的訪問對象必須是唯一 的。由于三類存儲器的地址空間是重疊的,單靠地址無法唯一選擇訪問對象。所以在51系列單片機中了采用地址+控制信號的方法來選擇訪問對象,具體做法是: 對三類存儲器地址空間的訪問分別用三種不同的控制信號+地址進行,這樣即使地址編碼相同,但由于控制信號的不同,所以CPU也能唯一選擇訪問對象。4. 控制信號與指令微機原理告訴我們,控制信號的產(chǎn)生是指令被譯碼的結(jié)果,那么不同的控制信號就是不同的指令被譯碼的結(jié)果。在51系列單片機中,讀 ROM是PSEN信號有效、讀片外RAM是RD信號有效,而寫片外RAM則是WR信號有效。訪問三類存儲器空間地址的 指令(舉例)及單片機引腳信號見表2.2.1。表 2.2.1訪問對象指令PS

溫馨提示

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

評論

0/150

提交評論