




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機原理與應(yīng)用課程實驗備課筆記實驗指導(dǎo)教師:郝昕玉前言一、微機原理與應(yīng)用課程內(nèi)容提要本課程主要介紹MCS-51單片機的原理及應(yīng)用,內(nèi)容包括:MCS-51單片機的基本組成,指令系統(tǒng)和程序設(shè)計的方法,片內(nèi)各種功能部件的設(shè)置及應(yīng)用,并行、串行接口擴展芯片及存儲器系統(tǒng)的擴展,單片機應(yīng)用。二、實驗的地位、作用和目的本門課是一門實踐性很強的課程,對實驗環(huán)節(jié)必須充分予以重視。通過實驗,培養(yǎng)學(xué)生的動手能力,加深對課堂所學(xué)知識的理解,掌握單片機原理及其實際應(yīng)用。通過實驗達到:1、加深了解單片機的硬件結(jié)構(gòu),熟悉單片機實驗系統(tǒng);、了解簡單的單片機應(yīng)用系統(tǒng)結(jié)構(gòu);、熟悉單片機控制系統(tǒng)開發(fā)過程及有關(guān)硬件及軟件的使用方法。
2、2、學(xué)會使用匯編軟件進行程序的設(shè)計、調(diào)試及運行方法。三、實驗課程任務(wù)、教學(xué)方法及學(xué)時分配任務(wù):通過實驗,使同學(xué)們掌握單片機系統(tǒng)的組成情況,能夠使用匯編語言編制程序,了解單片機的外部擴展。教學(xué)方法:1、匯編語言源程序上機調(diào)試時,啟發(fā)、引導(dǎo)學(xué)生自己解決調(diào)試過程中的問題,這樣可提高學(xué)生的編程能力。2、硬件實驗組成電路時,指導(dǎo)學(xué)生掌握組成電路的原則。學(xué)時分配:1、單片機最小系統(tǒng)的熟悉 2學(xué)時2、分支程序,查表程序編寫調(diào)試實驗 2學(xué)時3、多字節(jié)、多進制加減運算實驗 2學(xué)時4、數(shù)碼管動態(tài)掃描顯示實驗 2學(xué)時實驗一、單片機最小系統(tǒng)的熟悉一、實驗?zāi)康脑谶M行其他實驗之前,先熟悉實驗裝置的核心模塊單片機最小系統(tǒng)模
3、塊。掌握該實驗?zāi)K的電路原理和接口的使用方法。1掌握單片機振蕩器時鐘電路及CPU工作時序;掌握復(fù)位狀態(tài)及復(fù)位電路原理;掌握單片機各引腳功能及通用I/O口的使用;掌握單片機基本指令的使用。2掌握IDE集成開發(fā)環(huán)境,仿真器等開發(fā)工具的使用。二、實驗中實驗設(shè)備的介紹(一) 認識單片機現(xiàn)場演示單片機芯片,對以下內(nèi)容作簡要介紹(紹主要內(nèi)容,大部分內(nèi)容由學(xué)生提前預(yù)習(xí)自學(xué)),加深學(xué)生對單片機結(jié)構(gòu)的了解。1 AT89C51引腳說明我們以常用的單片機芯片AT89C51為教學(xué)實例,首先對其引腳進行簡要介紹:u P0.0P0.7:P0口的8位雙向三態(tài)I/O口線;u P1.0P1.7:P1口的8位準雙向口線;u P2
4、.0P2.7:P2口的8位準雙向口線;u P3.0P3.7:P3口的8位具有雙重功能的準雙向口線;u -ALE:地址鎖存控制信號。u -PSEN:外部程序存儲器讀選通信號,讀外部ROM時PSEN低電平有效。u -EA:訪問程序存儲器控制信號,當(dāng)EA為低電平時,對ROM的讀操作限制在外部程序存儲器;當(dāng)EA為高電平時,則對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。 AT89C51引腳圖及邏輯符號圖u RST 復(fù)位信號,復(fù)位信號延續(xù)2個機器周期以上高電平時即為有效,用以完成單片機的復(fù)位初始化操作。u XTAL1 和 XTAL2 外接晶體引線端,當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于
5、外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。u Vss 地線。u Vcc +5V電源。P3口線的第二功能見表1-1,這些特殊功能我們將在以后的實驗中進行學(xué)習(xí)。表1-1 P3口線的第二功能口線第二功能信 號 名 稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請P3.3INT1外部中斷1申請P3.4T0定時器/計數(shù)器0計數(shù)輸入P3.5T1定時器/計數(shù)器1計數(shù)輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀通2 振蕩電路、時鐘電路和CPU時序(1)振蕩電路、時鐘電路。如圖1- 2所示,外部時鐘振蕩電路由晶體振蕩器和電容C1、C2構(gòu)成并
6、聯(lián)諧振電路,連接在XTAL1、XTAL2腳兩端。對外部C1、C2的取值雖然沒有嚴格的要求,但電容的大小會影響到振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性。C1、C2通常取值C1=C2=30PF左右;8051的晶振最高振蕩頻率為12M,AT89C51的外部晶振最高頻率可到24M。在單片機最小系統(tǒng)板上已經(jīng)提供了晶振電路,在使用該電路時,應(yīng)加上跳線帽,并插入合適的晶振。圖1-2片內(nèi)振蕩器等效電路和外接元件AT89C51也可以采用外部時鐘方式,外部時鐘從XTAL1腳輸入,XTAL2腳浮空。可以采用我們板子上提供的外部時鐘源作為單片機外部時鐘輸入。(2)CPU時序晶振(或外部時鐘)的振蕩頻率的確定,
7、就確定了CPU的工作時序。這里介紹幾個重要的時序概念,我們在以后的實驗中還會經(jīng)常涉及到: 振蕩周期:是指為單片機提供定時信號的振蕩器的周期。 時鐘周期:振蕩周期的兩倍,前部分通常用來完成算術(shù)邏輯操作;后部分完成內(nèi)部寄存器和寄存器間的傳輸。 機器周期:在8051單片機中,一個機器周期由12個振蕩周期組成。 指令周期:是指執(zhí)行一條指令所占用的全部時間。一個指令周期通常含有14個機器周期。機器周期和指令周期是兩個很重要的衡量單片機工作速度的值。若外接12MHz晶振時,8051的四個周期的值為:振蕩周期=1/12us;時鐘周期=1/6us;機器周期=1us;指令周期=14us。在一些應(yīng)用中,傳統(tǒng)的80
8、51的速度顯得有些慢,因此,當(dāng)前很多采用8051內(nèi)核的新型單片機采用了加速處理器結(jié)構(gòu),使機器周期提高到振蕩周期的6倍、4倍等等,RISC(精簡指令集)的采用,更讓單片機在單個時鐘周期完成一條指令,使得單片機在處理速度上得到大大提高。3 復(fù)位狀態(tài)和復(fù)位電路設(shè)計(1)復(fù)位狀態(tài)在8051單片機中,只要在單片機的RST引腳上出現(xiàn)2個機器周期以上的高電平,單片機就實現(xiàn)了復(fù)位。單片機在復(fù)位后,從0000H地址開始執(zhí)行指令。復(fù)位以后單片機的P0P3口輸出高電平,且處于輸入狀態(tài),SP(堆棧寄存器棧頂指針)的值為07H(因此,往往需要重新賦值,其余特殊功能寄存器和PC(程序計數(shù)器)都被清為0。復(fù)位不影響內(nèi)部RA
9、M的狀態(tài)。(2)復(fù)位電路單片機可靠的復(fù)位是保證單片機正常運行的關(guān)鍵因素。因此,在設(shè)計復(fù)位電路時,通常要使RST引腳保持10ms以上的高電平。當(dāng)RST從高電平變?yōu)榈碗娖街?,單片機就從0000H地址開始執(zhí)行程序。8051單片機通常都采用上電自動復(fù)位和開關(guān)復(fù)位兩種方式。實際使用中,有些外圍芯片也需要復(fù)位,如8255等。這些復(fù)位端的復(fù)位電平要求與單片機的復(fù)位要求一致時,可以把它們連起來。在最小系統(tǒng)板上,提供了一個通用的復(fù)位電路,在使用該板之前,必須將該電路與單片機聯(lián)結(jié)起來。另外,還可以采用主板上的微處理器監(jiān)控模塊來控制復(fù)位腳,以便更加可靠地管理單片機的工作。 4 存儲器、特殊功能寄存器及位地址51單
10、片機的存儲器包括5個部分:程序存儲器、內(nèi)部數(shù)據(jù)存儲器、特殊功能寄存器、位地址空間、外部數(shù)據(jù)存儲器。位地址空間、特殊功能寄存器包括在內(nèi)部數(shù)據(jù)存儲器內(nèi)。51單片機的內(nèi)部數(shù)據(jù)存儲器一般只有128字節(jié)或256字節(jié),當(dāng)空間不夠用時也就需要擴展外部數(shù)據(jù)存儲器(參見實驗十三)。有些單片機不具有內(nèi)部程序存儲器,例如8031,這時就需要擴展外部程序存儲器(參見實驗十四)。在單片機系統(tǒng)中,程序存儲器和外部數(shù)據(jù)存儲器的編址獨立,各可尋址64K字節(jié)空間。兩者在電路上,可以通過PSEN信號線區(qū)別開來。特殊功能寄存器是非常重要的部分,我們通過對特殊功能寄存器的設(shè)置和讀寫來完成單片機的大部分工作。限于篇幅,這里不對其內(nèi)容進
11、行羅列,請查閱有關(guān)書籍。5 51系列單片機內(nèi)部資源概覽表芯片種類片內(nèi)存儲器中斷源定時/計數(shù)器串行口耗電制造工藝ROM/EPROMRAM80514K128521125mAHMOS80528K256631100mAHMOS以上列出的是Intel8051、8051的主要資源配置?,F(xiàn)在,由于8位51單片機的廣泛使用,各個芯片生產(chǎn)廠商推出了具有自身特色的采用51內(nèi)核的單片機,它們在這些基本資源的基礎(chǔ)上進行了進一步的裁減或增強。二、介紹單片機仿真器(偉福S51、仿真頭POD-H8X5X),燒錄器(西爾特Superpro 680);現(xiàn)場演示偉福S51、仿真頭POD-H8X5X,介紹其功能、各部分的用途及有關(guān)
12、線的聯(lián)接方法。 。PODH8X5X / PODH591 仿真頭PODH8X5X 可以從外部引入仿真電源,來仿真2.7V5.5V用戶電壓,當(dāng)用戶需要仿真低電壓時,將“電源選擇跳線”接成“外部電源接入”方式即可。仿真頭的低電壓由用戶板提供。注意:當(dāng)用戶想仿真低電壓時,仿真頭上的仿真CPU必須能工作于低電壓狀態(tài)。(詳見PODH8X5X 使用說明)仿真器與PODH8X5X 仿真頭連接圖 仿真器仿真器使用9 針串行口,與PC 機用兩頭為孔的串行電纜連接。對于一些只有USB 口而沒有串口的計算機,可以使用USB轉(zhuǎn)串口電纜將USB 轉(zhuǎn)成串行口。仿真器外形示意圖K51L/K51T/K51S 51 系列專用型仿
13、真器本實驗用S51型三、介紹實驗用匯編軟件及其的使用方法現(xiàn)場用大屏幕示操作并講解(介紹主要內(nèi)容,大部分內(nèi)容由學(xué)生提前預(yù)習(xí)自學(xué))。本實驗使用威福軟件。打開桌面上的圖標(biāo),顯示如下畫面:8文件(F)文件| 打開文件打開用戶程序,進行編輯。如果文件已經(jīng)在項目中,可以在項目窗口中雙擊相應(yīng)文件名打開文件.文件| 保存文件保存用戶程序。用戶在修改程序后,如果進行編譯,則在編譯前,系統(tǒng)會自動將修改過的文件存盤.文件| 新建文件建立一個新的用戶程序, 在存盤的時候,系統(tǒng)會要求用戶輸入文件名.文件| 另存為將用戶程序存成另外一個文件, 原來的文件內(nèi)容不會改變文件| 重新打開在重新打開的下拉菜單中有最近打開過的文件
14、及項目,選擇相應(yīng)的文件名或項目名就可以重新打開文件或項目。仿真器設(shè)置包括仿真器類型,仿真頭(POD)類型,CPU 類型,顯示格式和產(chǎn)生的目標(biāo)文件類型可以用以下幾種方法設(shè)置仿真器.o 在項目窗口中雙擊第一行,將打開仿真器設(shè)置窗口,對仿真器進行設(shè)置.o 按鼠標(biāo)右鍵,在彈出菜單中選擇仿真器設(shè)置.o 主菜單仿真器|仿真器設(shè)置.加入模塊文件o 按鼠標(biāo)右鍵,在彈出菜單中選擇加入模塊文件o 主菜單項目|加入模塊文件加入包含文件o 按鼠標(biāo)右鍵,在彈出菜單中選擇加入包含文件o 主菜單項目|加入包含文件用戶可以將以前單文件方式仿真轉(zhuǎn)為WINDOWS 下的項目方式進行仿真1.主菜單文件|新建項目,在新建項目時,前一
15、個項目自動關(guān)閉.2.加入模塊文件時,選擇要調(diào)試的程序文件名,將文件加入項目.3.將項目存盤.4.編譯,運行,調(diào)試項目.文件| 保存項目將用戶項目存盤。用戶在編譯項目時,自動存盤。注意:當(dāng)用項目仿真時,系統(tǒng)要求項目文件,模塊文件,包含文件在同一個目錄(文件夾)下.文件| 新建項目當(dāng)用戶開始新的任務(wù)時,應(yīng)新建一個項目,在項目中,設(shè)置所用仿真器類型,POD類型,加入用戶程序(模塊)。文件| 關(guān)閉項目關(guān)閉當(dāng)前項目,如果用戶不想用項目方式調(diào)試單個程序,就要先關(guān)閉當(dāng)前項目。文件| 項目另存為將項目換名存盤,此方法只是將項目用另一個名字,而不會將項目中的模塊和包含文件換成另一個名字存盤.如果想將整個項目及模
16、塊存到另一個地方,請用復(fù)制項目方法.文件| 復(fù)制項目復(fù)制項目,用戶可以將項目中的所有模塊(用戶程序)備份到另一個地方。在多模塊項目中,用復(fù)制項目功能,可以避免用戶因為少復(fù)制某些模塊,而造成項目編譯不能通過.方便用戶對程序進行管理.文件| 調(diào)入目標(biāo)文件裝入用戶已編譯好目標(biāo)文件。系統(tǒng)支持兩種目標(biāo)文件格式:BIN,HEX 格式地址選擇一般為缺省地址(由編譯器定).如果想在當(dāng)前項目已編譯好的二進制代碼中插入一段其它代碼,可以去掉”缺省地址”前的選擇.然后填入開始插入的地址和結(jié)束地址。用調(diào)入目標(biāo)文件的方法,可以調(diào)試已有的二進制代碼程序.而不需要源程序.直接調(diào)入目標(biāo)文件進行仿真的方法是:1.關(guān)閉項目。2.
17、在新建的項目中,設(shè)置仿真器類型,仿真頭類型,CPU 類型.3.調(diào)入目標(biāo)文件.(不要用加入模塊方式,而是直接調(diào)入文件)4.打開CPU 窗口,在CPU 窗口中就可以看見目標(biāo)文件反匯編生成的程序.5.程序停在與CPU 相關(guān)的地址上(51 系列停在0000H處,96系列停在2080H)6.這樣就可以單步或全速調(diào)試程序了.目標(biāo)文件可以存成兩種格式:二進制格式(BIN):由編譯器生成的二進制文件,也就是程序的機器碼英特爾格式(HEX):由英特爾定義的一種格式,用ASCII 碼來存儲編譯器生成的二進制代碼,這種格式包括地址,數(shù)據(jù)和校驗地址選擇一般為缺省地址(由編譯器定).如果想要存盤的目標(biāo)文件是由“調(diào)入目標(biāo)
18、文件”方式裝入,而不是由系統(tǒng)編譯產(chǎn)生的代碼,并已經(jīng)修改,最好指定它的開始地址和結(jié)束地址,因為代碼不是編譯系統(tǒng)產(chǎn)生的.系統(tǒng)不知道文件有多長,無法指定開始和結(jié)束地址。自己指定地址的方法是: 去掉缺省地址前的選擇勾.然后填入開始插入的地址和結(jié)束地址。文件| 反匯編將可執(zhí)行的代碼反匯編成匯編語言程序。(詳見偉福反匯編功能的使用方法)文件| 打印打印用戶程序。文件| 退出退出系統(tǒng),如果在退出以前有修改過的文件沒有存盤,系統(tǒng)將會提示是否把文件存盤.(2)編輯(E)編輯| 撤消鍵入取消上一次操作編輯| 重復(fù)鍵入恢復(fù)被取消的操作編輯| 剪切刪除選定的正文,刪除的內(nèi)容被送到剪貼板上編輯| 復(fù)制將選定的內(nèi)容,復(fù)制
19、到剪貼板上編輯| 粘帖將剪貼板的內(nèi)容插入光標(biāo)位置編輯| 全選選定當(dāng)前窗口所有內(nèi)容。 8(3)搜索(S)搜索| 查找在當(dāng)前窗口中查找符號,字串。可以指定區(qū)分大小寫方式,全字匹配方式,可以向上向下查找。搜索| 在文件中查找可以在指定的一批文件中查找某個關(guān)鍵字。搜索| 替換在當(dāng)前窗口查找相應(yīng)文字,并替換成指定的文字,可以指定區(qū)分大小寫方式和全字匹配方式查找,可以在指定處替換,也可以全部替換。搜索| 查找下一個查找文字符號下一次出現(xiàn)的地方搜索| 項目中查找在項目所有模塊(文件)中查找符號,字串。在項目所包含的文比較多時,用此方法可以很方便地查到字串在什么地方出現(xiàn)。搜索| 轉(zhuǎn)到指定行將光標(biāo)轉(zhuǎn)到程序的某一
20、行。搜索| 轉(zhuǎn)到指定地址/標(biāo)號將光標(biāo)轉(zhuǎn)到指定地址或標(biāo)號所在的位置。搜索| 轉(zhuǎn)到當(dāng)前PC 所在行將光標(biāo)轉(zhuǎn)到PC 所在的程序位置。8項目(P)項目| 編譯編譯當(dāng)前窗口的程序。如有錯誤,系統(tǒng)將會指出錯誤所在的位置。項目| 全部編譯全部編譯項目中所有的模塊(程序文件),包含文件。如有錯誤系統(tǒng)會指出錯誤所在位置。項目| 裝入OMF 文件建好項目后,無須編譯,直接裝入在其它環(huán)境中編譯好的調(diào)試信息,在偉福環(huán)境中調(diào)試。項目| 加入模塊文件在當(dāng)前項目中添加一個模塊。項目| 加入包含文件在當(dāng)前項目中添加一個包含文件 8(4)執(zhí)行(R)執(zhí)行| 全速執(zhí)行運行程序執(zhí)行| 跟蹤跟蹤程序執(zhí)行的每步,觀察程序運行狀態(tài)。執(zhí)行|
21、 單步單步執(zhí)行程序,與跟蹤不同的是,跟蹤可以跟蹤到函數(shù)或過程的內(nèi)部,而單步執(zhí)行則不跟蹤到程序內(nèi)部。執(zhí)行| 執(zhí)行到光標(biāo)處程序從當(dāng)前PC 位置,全速執(zhí)行到光標(biāo)所在的行。如果光標(biāo)所在行沒有可執(zhí)行代碼。則提示“這行沒有代碼”執(zhí)行| 暫停暫停正在全速執(zhí)行的程序。執(zhí)行| 復(fù)位終止調(diào)試過程,程序?qū)⒈粡?fù)位。如果程序正在全速執(zhí)行,則應(yīng)先停止。執(zhí)行| 設(shè)置PC將程序指針PC,設(shè)置到光標(biāo)所在行。程序?qū)墓鈽?biāo)所在行開始執(zhí)行。執(zhí)行| 自動單步跟蹤/單步模仿用戶連續(xù)按F7 或F8 單步執(zhí)行程序。執(zhí)行| 編輯觀察項觀察變量或表達式的值,可以將需要檢查和修改的值或表達式放到觀察窗口里以便檢查和修改。(圖:觀察項對話框)察內(nèi)容
22、,也就是按地址順序顯示變量值,與變量類型無關(guān)求值: 對表達式求值,并按顯示格式顯示在窗口內(nèi).加入觀察:將表達式加入觀察窗口中,以便隨時察看.編輯觀察:當(dāng)修改過窗口內(nèi)容后,按此鍵后,替代觀察窗口中的原觀察項,如果選擇加入觀察,則會在觀察窗口中另加一個變量的觀察項,以兩種格式觀察一個變量.取消: 關(guān)閉編輯觀察項窗口執(zhí)行| 設(shè)置/取消斷點將光標(biāo)所在行設(shè)為斷點,如果該行原來已為斷點,則取消該斷點。所有斷點通過斷點窗口進行管理。四種方法可以在光標(biāo)處設(shè)置斷點1.將光標(biāo)移到編輯窗口內(nèi),行左邊的空白處,光標(biāo)變成“手指圓”箭頭,單擊鼠標(biāo)左鍵, 可以設(shè)置/取消斷點.2.使用Ctrl-F8 快捷鍵,可以在光標(biāo)所在行
23、設(shè)置/取消斷點3.右擊鼠標(biāo), 彈出菜單,選擇設(shè)置/取消斷點,4.主菜單執(zhí)行/設(shè)置取消斷點,也可以用Alt-R / B 菜單快捷設(shè)置取消斷點執(zhí)行| 清除全部斷點清除程序中所有的斷點。讓程序全速執(zhí)行8(5)窗口(W)窗口| 刷新刷新打開的所有窗口,及窗口里的數(shù)據(jù)。窗口| 項目窗口打開項目窗口,以便在項目中加入模塊或包含文件。(圖:項目窗口)窗口| 信息窗口顯示系統(tǒng)編譯輸出的信息。如果程序有錯,會以圖標(biāo)形式指出,窗口| 觀察窗口項目編譯正確后,可以在觀察窗口中看到當(dāng)前項目中的所有模塊,及各模塊中的所在過程和函數(shù),及各個過程函數(shù)中的各個變量,結(jié)構(gòu)。如果能充分利用觀察窗口的強大功能,可以加快你開發(fā)速度。
24、窗口| CPU 窗口 反匯編窗口的彈出菜單執(zhí)行到光標(biāo)處:使程序從當(dāng)前PC 值,全速執(zhí)行到光標(biāo)所在行,用這種方法可以在調(diào)試程序時,跳過一些不必要的指令.將程序停到所要求的位置上.轉(zhuǎn)到指定地址/標(biāo)號:將光標(biāo)跳到某個地址或標(biāo)號所在位置,以便察看相應(yīng)的程序,或使用“執(zhí)行到光標(biāo)處”功能,也可以設(shè)置斷點, ,將程序全速執(zhí)行到相應(yīng)位置.轉(zhuǎn)到當(dāng)前PC所在行:將光標(biāo)跳到PC所在行,由于在檢查程序時,可能會將PC所在行移出當(dāng)前窗口,用這種方法可找回PC 所在行.取消/設(shè)置斷點:在光標(biāo)所在行,設(shè)置斷點,使程序全速執(zhí)行到此處.若此行已是斷點,再次點擊將取消該斷點.寄存器窗口的彈出菜單加入觀察: 將當(dāng)前寄存器放入觀察窗
25、口,以方便隨時察看.修 改: 修改當(dāng)前寄存器值.在程序執(zhí)行時,可以用這種方法,把寄存器值改為你所指定的值,從而觀察程序在此值時運行的結(jié)果.窗口| 數(shù)據(jù)窗口數(shù)據(jù)窗口根據(jù)選擇的CPU 類型不同,名稱有所不同。51 系列有以下四種數(shù)據(jù)窗口DATA 內(nèi)部數(shù)據(jù)窗口 CODE 程序數(shù)據(jù)窗口XDATA 外部數(shù)據(jù)窗口 PDATA 外部數(shù)據(jù)窗口(頁方式) BIT 窗口以51系列為例說明數(shù)據(jù)窗口的操作方法,其它CPU 類型的數(shù)據(jù)窗口基本相同 內(nèi)部數(shù)據(jù)窗口在內(nèi)部數(shù)據(jù)窗口中可以看到CPU 內(nèi)部的數(shù)據(jù)值,紅色的為上一步執(zhí)行過程中,改變過的值,窗口狀態(tài)欄中為選中數(shù)據(jù)的地址,可以在選中的數(shù)據(jù)上直接修改數(shù)據(jù)的十六進制值,也可
26、以用彈出菜單的修改功能,修改選中的數(shù)據(jù)值。彈出菜單:修改:修改選中數(shù)據(jù)的值,可以輸入十進制,十六進制,二進制的值,與直接修改不同的是,用這種方法可以輸入多種格式數(shù)據(jù),而直接修改只能輸入十六進制數(shù)據(jù)。46(十進制),2EH(十六進制),00101110B(二進制)都是有效的數(shù)據(jù)格式,轉(zhuǎn)到指定地址/標(biāo)號:將數(shù)據(jù)地址直接轉(zhuǎn)到指定的地址和標(biāo)號所在的位置。生成數(shù)據(jù)源碼:將窗口中某段數(shù)據(jù)轉(zhuǎn)換成源程序方式的數(shù)據(jù),可以貼到你的源程中。塊操作:對窗口中的數(shù)據(jù)塊進行填充、移動、寫文件、讀入等操作。顯示為:選擇不同的數(shù)據(jù)類型顯示數(shù)據(jù)內(nèi)容,可以是字節(jié)方式(BYTE),也可以是字方式(WORD,兩字節(jié)),可以是長整型(
27、LONGINT,四字節(jié)),也可以是實數(shù)型(REAL,四字節(jié))。這里是選擇整個窗口的顯示方式,如果想指定個別數(shù)據(jù)的顯示方式,可以用主菜單執(zhí)行|編輯觀察項功能,選擇所要選擇的顯示類型。(參見編輯觀察項窗口)顯示列數(shù):將窗口中數(shù)據(jù)以4 列、8 列、16 列方式顯示。適應(yīng)不同需要。程序數(shù)據(jù)窗口顯示的是編譯后程序碼,狀態(tài)欄顯示的是選中數(shù)據(jù)的地址,可以對在選中數(shù)據(jù)上直接修改程序數(shù)據(jù)的十六進制值,也可以對程序數(shù)據(jù)進行塊填充,塊移動操作,也可以讀入一段二進制代碼插入程序數(shù)據(jù)中,也可以將程序數(shù)據(jù)中的某段代碼寫文件中. 彈出菜單修改:修改選中數(shù)據(jù)的值,可以輸入十進制,十六進制,二進制的值,與直接修改不同的是,用這
28、種方法可以輸入多種格式數(shù)據(jù),而直接修改只能輸入十六進制數(shù)據(jù)。46(十進制),2EH(十六進制),00101110B(二進制)都是有效的數(shù)據(jù)格式.生成數(shù)據(jù)源碼:將窗口中某段數(shù)據(jù)轉(zhuǎn)換成源程序方式的數(shù)據(jù),可以貼到你的源程序中。塊操作: 對程序數(shù)據(jù)以塊的方式進行操作.在窗口中按往左鍵拖動,可以選擇塊。塊填充:將選中的塊內(nèi)數(shù)據(jù)值,填充為指定值.塊移動:將選中的塊移動到指定地址.讀文件:讀入二進制代碼文件,插入的指定的地址內(nèi).(參見調(diào)入目標(biāo)文件功能)寫文件:將程序數(shù)據(jù)指定地址的一段代碼寫入文件.(參見保存目標(biāo)文件功能)顯示為:選擇不同的數(shù)據(jù)類型顯示數(shù)據(jù)內(nèi)容,可以是字節(jié)方式(BYTE),也可以是字方式(WO
29、RD,兩字節(jié)),可以是長整型(LONGINT,四字節(jié)),也可以是實數(shù)型(REAL,四字節(jié))。這里是選擇整個窗口的顯示方式.窗口| 斷點窗口通過斷點窗口可以管理項目內(nèi)的斷點。可以在斷點窗口中直觀地看到斷點的行號,內(nèi)容,可以通過斷點迅速定位程序所在的位置。窗口| 書簽窗口通過書簽窗口可以管理項目內(nèi)的書簽,在項目中迅速定位程序位置。窗口| 跟蹤窗口顯示跟蹤器捕捉到的程序執(zhí)行的軌跡,其中可以看到幀號,時標(biāo),反匯編程序,對應(yīng)的源程序和程序所在的文件名。通過它,可以清楚地看到程序執(zhí)行時,各端口輸出的波形,迅速地幫助你找出硬件和軟件中設(shè)計錯誤。窗口| 工具條通過工具條,可以打開/關(guān)閉菜單上的各功能的快捷按鈕
30、。窗口| 排列窗口對打開的程序窗口進行管理。可疊排、堅排、橫排、最小化源程序窗口。(6)外設(shè)(L)外設(shè)| 端口設(shè)置或觀察當(dāng)前端口的狀態(tài)。外設(shè)| 定時器/計數(shù)器0定義或觀察定時器/計數(shù)器0,通過定義定時器/計數(shù)器的工作方式,自動生成相應(yīng)的匯編/C 語言??梢浴皬?fù)制/粘貼”到你的程序中。外設(shè)| 定時器/計數(shù)器1定義或觀察定時器/計數(shù)器1,通過定義定時器/計數(shù)器的工作方式,自動生成相應(yīng)的匯編/C 語言??梢浴皬?fù)制/粘貼”到你的程序中。外設(shè)| 定時器/計數(shù)器2定義或觀察定時器/計數(shù)器2,通過定義定時器/計數(shù)器的工作方式,自動生成相應(yīng)的匯編/C語言。可以“復(fù)制/粘貼”到你的程序中。外設(shè)| 串行口定義或觀
31、察串行口的工作方式,可以觀察串行口的工作方式是否正確,也可以定義串口的工作方式,自動生成串口初始化程序。(串口的波特率的時鐘為仿真器設(shè)置中“使用偉福軟件模擬器”的晶體頻率,見“仿真頭設(shè)置”)外設(shè)| 中斷管理或觀察中斷源,也可以輔助生成中斷初始化程序。(7)仿真器(O)仿真器| 仿真器設(shè)置語言設(shè)置設(shè)置項目編譯語言的路徑,命令行選項。編譯器路徑:指明本系統(tǒng)匯編器,編譯器所在位置,系統(tǒng)缺省51 系列編譯器在C:COMP51文件夾下,缺省96系列編譯器在C:COMP96文件夾下.本系統(tǒng)使用的編譯器為第三方軟件,你應(yīng)從其它途徑獲得.ASM 命令行:若使用英特爾匯編器,則需要加上所需的命令行參數(shù)。若使用偉
32、福匯編器,則需要選擇是否使用偉福預(yù)定義的符號.在偉福匯編器中已經(jīng)把51/96 使用的一些常用符號,寄存器名定義為相應(yīng)的值.如果你使用偉福匯編器,就可以直接使用這些符號.如果你自己已經(jīng)定義了這些符號,又想使用偉福匯編器,就將“使用偉福預(yù)定義符號”前面的選擇去掉.C 命令行: 項目中若有C 語言程序,系統(tǒng)進行編譯時,使用此行參數(shù)對C程序進行編譯.PL/M 命令行:項目中若有PL/M 語言程序,系統(tǒng)編譯時,就使用此行參數(shù)對程序進行編譯.LINK 命令行:系統(tǒng)對目標(biāo)文件鏈接時,使用此參數(shù)鏈接.注: 除非你對命令行參數(shù)非常了解,并且確實需要修改這些參數(shù),一般情況下,不需要修改系統(tǒng)給出的缺省參數(shù).以免系統(tǒng)
33、不能正常編譯.編譯器選擇: 選擇使用偉福匯編器,還是英特爾匯編器,系統(tǒng)對C 語言程序和PL/M 語言編譯是采用第三方編譯器. 一般情況下,如果用戶項目中都是匯編語言程序,沒有C 語言和PL/M 語言,選擇偉福匯編器. 如果用戶項目中含有C 語言,PL/M 語言,或者匯編語言是用英特爾格式編寫的,就選擇英特爾匯編器.缺省顯示格式:指定觀察變量顯示的方式,一般為混合十/十六進制.命令行的缺省如右圖。右是HT-PICC 語言,C命令行的缺省如下圖。 目標(biāo)文件設(shè)置選擇仿真頭: 框內(nèi)為相應(yīng)仿真器能支持的仿真頭類型,選擇所使用的仿真頭.選擇CPU: 框內(nèi)為選擇的仿真器和仿真頭能等進行仿真支持的CPU.使用
34、偉福軟件模擬器:使用偉福軟件模擬器,可以在完全脫離硬件仿真器情況下,對軟件進行模擬執(zhí)行. 如果使用硬件仿真器,請不要選擇使用偉福軟件.晶體頻率: 在使用偉福軟件模擬功能時, 用來計算在軟件模擬環(huán)境下程序執(zhí)行時間。在外設(shè)中串行口的波特率也是依據(jù)此頻率計算出的。仿真頭設(shè)置: 可以設(shè)置該仿真頭的特殊功能。包括仿真空間,看門狗,加密位等等.仿真頭(POD)類型不同,設(shè)置內(nèi)容有所不同. (見仿真頭設(shè)置)如果按照以上方式,定義好后,系統(tǒng)已經(jīng)將控制字寫入2018H 及201AH(MC/MD)單元,即使用戶在程序中自己定義控制字,系統(tǒng)并不采用,而是用此對話框設(shè)置為準,所以用戶在仿真時和生成目標(biāo)代碼時,請用此對
35、話框設(shè)置196系列的控制字.8幫助(H)幫助| 關(guān)于幫助| CHINESE選擇中文或英文顯示方式,適應(yīng)不同操作系統(tǒng)的需要。幫助| 安裝MPASM輔助用戶安裝Microchip 的匯編器。將偉福BIN文件夾下的MPASM復(fù)制到指定的文件夾里。六、快速入門1建立你的新程序選擇菜單文件| 新建文件功能出現(xiàn)一個文件名為NONAME1 的源程序窗口,在此窗口中輸入以下程序ORG 0MOV A,#0MOV P1,#0 Loop:INC P1CALL DelaySJMP LOOPDelay:MOV R2,#3MOV R1,#0MOV R2,#0DLP:DJNZ R0,DLPDJNZ R1,DLPDJNZ R
36、2,DLPRETEND輸出程序后的窗口如圖,現(xiàn)在要做的是將此文件存盤。2保存你的程序選擇菜單文件| 保存文件或文件| 另存為功能給出文件所要保存的位置,例如:C:WAVE6000SAMPLES 文件夾,再給出文件名MY1.ASM。保存文件。3建立新的項目新建項目會自動分三步走。A) 加入模塊文件。在加入模塊文件的對話框中選擇剛才保存的文件MY1.ASM,按打開鍵。如果你是多模塊項目,可以同時選擇多個文件再打開。B) 加入包含文件。在加入包含文件對話框中,選擇所要加入的包含文件(可多選)。如果沒有包含文件,按取消鍵。C) 保存項目。在保存項目對話框中輸入項目名稱。MY1 無須加后綴。軟件會自動將
37、后綴設(shè)成“.PRJ”。按保存鍵將項目存在與你的源程序相同的文件夾下。4設(shè)置項目選擇菜單設(shè)置| 仿真器設(shè)置功能或按“仿真器設(shè)置”快捷圖標(biāo)或雙擊項目窗口的第一行來打開“仿真器設(shè)置”對話框在“仿真器”欄中,選擇仿真器類型和配置的仿真頭以及所要仿真的單片機。在“語言”欄中,“編譯器選擇”根據(jù)本例的程序選擇為“偉福匯編器”。如果你的程序是C 語言或INTEL格式的匯編語言,可根據(jù)你安裝的Keil 編譯器版本選擇“Keil C (V4或更低)”還是“Keil C (V5或更高)”。按“好”鍵確定。當(dāng)仿真器設(shè)置好后,可再次保存項目。5編譯你的程序選擇菜單項目| 編譯功能或按編譯快捷圖標(biāo)或F9 鍵,編譯你的項
38、目。在編譯過程中,如果有錯可以在信息窗口中顯示出來,雙擊錯誤信息,可以在源程序中定位所在行。糾正錯誤后,再次編譯直到?jīng)]有錯誤。在編譯之前,軟件會自動將項目和程序存盤。在編譯沒有錯誤后,就可調(diào)試程序了,首先我們來單步跟蹤調(diào)試程序。6單步調(diào)試程序選擇執(zhí)行| 跟蹤功能或按跟蹤快捷圖標(biāo)或按F7 鍵進行單步跟蹤調(diào)試程序7連接硬件仿真按照說明書,將仿真器通過串行電纜連接計算機上,將仿真頭接到仿真器,檢查接線否有誤,確信沒有接錯后,接上電源,打開仿真器的電源開關(guān)。參見第4 步,設(shè)置項目,在“仿真器”和“通信設(shè)置”欄的下方有“使用偉福軟件模擬器”的選擇項。將其前面框內(nèi)的勾去掉。在通信設(shè)置中選擇正確的串行口。按
39、“好”確認。如果仿真器和仿真頭設(shè)置正確,并且硬件連接沒有錯誤,就會出現(xiàn)如圖的“硬件仿真”的對話框,并顯示仿真器、仿真頭的型號如果用戶已經(jīng)有寫好的程序,可以從第3步“新建項目”開始,將你的程序加入項目,就能以項目方式仿真了。如果用戶不想以項目方式仿真,則要先關(guān)閉項目,再打開你的程序,并且要正確設(shè)置仿真器、仿真頭,然后再編譯、調(diào)試程序。到此為止,你已經(jīng)學(xué)會使用偉福的仿真環(huán)境了。在使用過程中,你會逐步提高自己的技能。偉福仿真器的更多功能可參考本說明書的其它部分。四、介紹實驗用的儀器MPC100B -I型實驗箱及主要的各功能模塊及其用途。(單片機最小系統(tǒng)實驗?zāi)K,鍵盤實驗?zāi)K,發(fā)光二極管陣列實驗?zāi)K)
40、介紹實驗用的儀器MPC100B -I型實驗箱的各功能模塊及其用途。整個單片機實驗系統(tǒng)由實驗箱、功能擴展模塊、單片機專用開發(fā)工具等組成。以下主要介紹實驗箱的組成。實驗箱主要包括:單片機最小系統(tǒng)、基礎(chǔ)板。1)單片機最小系統(tǒng)最小系統(tǒng)板是本實驗裝置的核心模塊,它提供了51單片機的一個最小工作系統(tǒng),并充分地擴展了單片機總線和I/O口以便于與其他模塊的電路連接。最小系統(tǒng)板包括的外圍電路有:時鐘電路、復(fù)位電路、P0口鎖存電路、撥碼開關(guān)電路。最小系統(tǒng)板上擴展的I/O口,包括P0、P1、P2、P3口的每個管腳獨立都引出,作為數(shù)據(jù)總線(P0口),地址總線低8位(P0口經(jīng)鎖存后的輸出),地址總線高8位用8針的雙排插
41、針座引出;控制總線(WR, RD, ALE等)獨立引出。由于最小系統(tǒng)板的獨立式可更換設(shè)計,使得本實驗裝置可通過改變這個最小系統(tǒng)板來進行不同家族單片機的實驗教學(xué),如PIC,96家族單片機等,非常靈活和方便。2)基礎(chǔ)板基礎(chǔ)板是實驗裝置的實驗基礎(chǔ),共由21個模塊組成,本課程實驗實驗使用到發(fā)光二極管陣列模塊;鍵盤模塊(獨立式與矩陣式兩用鍵盤);動態(tài)數(shù)碼管掃描顯示模塊;時鐘源模塊;電源模塊(±12V/±5V)等。五介紹仿真頭、仿真器、機、MPC100B -I型實驗箱的聯(lián)接方法現(xiàn)場演示。三、提出實驗要求1連接實驗電路,編寫簡易單片機匯編程序達到下述工作要求:以任意兩個獨立式按鍵作為輸入
42、,當(dāng)?shù)谝绘I按下時,點亮第一行發(fā)光二極管;當(dāng)?shù)诙I按下時,點亮第二行發(fā)光二極管。2將編寫的程序調(diào)入仿真器中,在IDE集成開發(fā)環(huán)境中進行調(diào)試;3在IDE中產(chǎn)生機器碼文件,用燒錄器燒錄到單片機芯片中,插在板子上觀察工作情況。四、實驗原理()原理圖中的發(fā)光二極管使用實驗箱中的發(fā)光二極管陣弄模塊,陣列模塊如左圖所示:該模塊每行為8個發(fā)光二極管,共4行。每行與底部的8針排線座相對應(yīng)。第一行發(fā)光二極管與從左數(shù)第一個插座對應(yīng),第二行發(fā)光二極管與左數(shù)第二個插座對應(yīng)。插座的每個引腳與發(fā)光管陰極相連,也就是說,當(dāng)對應(yīng)腳為低電平時,發(fā)光二極管點亮。(2)原理圖中的按鍵開關(guān)使用實驗箱中的鍵盤陣列模塊:鍵盤模塊是“獨立式
43、”和“矩陣式”兩用鍵盤。使用之前,必須連接鍵盤模塊右下角的VCC和GND,為模塊提供電源。模塊右邊的S0S15鎖緊孔,是獨立式鍵盤接口,分別對應(yīng)著實驗儀器上健盤模塊中的鍵S0S15。當(dāng)某個鍵按下時,對應(yīng)的接口將被拉低。五、實驗步驟1、連接單片機與復(fù)位電路、時鐘源(晶振電路或外部時鐘源),選擇幾組I/O口,用導(dǎo)線分別連接發(fā)光二極管陣列、及鍵盤。2、編寫程序若實驗在實驗開出前已學(xué)過指令及程序設(shè)計、單片機的接口,則指導(dǎo)學(xué)生預(yù)先編寫程序,若學(xué)生未學(xué)習(xí)指令及程序設(shè)計前開出,可提供以下示例程序供學(xué)生調(diào)試。假設(shè)P1.0,P1.1口分別連接兩個鍵,P0口連接第一行發(fā)光二極管,P2口連接第二行發(fā)光二極管,參看電
44、路圖13。程序?qū)嵗缦拢?ORG 0000HSTART: MOV P1,0FFHMOV A,P1MOV 40H,A;暫存于40HACALL DL10MS;去抖延時MOV A,P1CJNE A,40H,PASSCJNE A,#0FEH,LAMP1;第一鍵?MOV P2,#0FFHMOV P0,#00H ;點亮第一行發(fā)光二極管PASS: LCALL DL10MS ;延時AJMP STARTLAMP1: CJNE A,#0FDH,PASS;第二鍵? MOV P0,#0FFHMOV P2,#00HAJMP PASS;延時子程序:DL10MS: MOV R7,#08hLOOP1: MOV R6,#0F9
45、HLOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETEND實驗一用程序(修改后的)ORG 0000HSTART: MOV P3,#0FFHMOV A, P3MOV 40H,A;暫存于40HACALL DL10MS;去抖延時MOV A,P3CJNE A,40H,LAMP0AJMP PASSLAMP0: CJNE A,#0FEH,LAMP1;第一鍵?MOV P1,#0FCH ;點亮白色發(fā)光二極管 PASS: LCALL DL10MS ;延時AJMP STARTLAMP1: CJNE A,#0FDH,LAMP2;第二鍵?MOV P1,#0F3H ;點亮黃色發(fā)
46、光二極管 AJMP PASSLAMP2: CJNE A,#0FCH,LAMP3;第三鍵?MOV P1,#0CFH ;點亮綠色發(fā)光二極管 AJMP PASSLAMP3: CJNE A,#0FBH,PASS;第四鍵?MOV P1,#3FH ;點亮紅色發(fā)光二極管 AJMP PASS;延時子程序:DL10MS: MOV R7,#08hLOOP1: MOV R6,#0F9HLOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETEND在IDE集成開發(fā)環(huán)境中編寫單片機程序,進行程序編譯,排除所有的錯誤,直到編譯完全成功。3、正確連接仿真器與PC機、仿真頭與目標(biāo)板、仿真器
47、電源。正確連接目標(biāo)板電源。在仿真環(huán)境下運行程序,觀察程序運行結(jié)果,程序運行正確后,輸出機器代碼文件。4、正確連接燒錄器和PC機、燒錄器電源。把單片機芯片放入燒片機芯片座(注意放置位置),夾緊;打開燒錄器驅(qū)動軟件,把文件被固化到單片機中。5、除去目標(biāo)板電源,將單片機取下,插入目標(biāo)板插座中,注意對齊1腳。正確連接目標(biāo)板電源。觀察程序運行情況。六、在實驗過程中及時解答學(xué)生提出的有關(guān)問題,視實驗情況對學(xué)生提問,啟發(fā)學(xué)生思考、操作并作有關(guān)記錄。1、說明單片機的各個引腳的功能及作用,比較P0,P3腳的異同?2、時鐘周期、機器周期的關(guān)系是什么?3、單片機的開發(fā)工具和開發(fā)過程了解了嗎?等七、實驗結(jié)束后對實驗報
48、告撰寫提出要求1 填寫準確實驗名稱、實驗時間、實驗指導(dǎo)教師姓名。2 具體內(nèi)容:實驗?zāi)康?、實驗設(shè)備、實驗要求、實驗原理、實驗步驟。3、畫出實驗原理圖。4、給出單片機程序程序清單。、對實驗操作的情況、實驗中觀察到的現(xiàn)象、實驗的結(jié)果進行分析與討論實驗二 分支程序,查表程序編寫實驗一、實驗?zāi)康?掌握跳轉(zhuǎn)指令2掌握子程序調(diào)用指令3掌握查表程序運用二、實驗設(shè)備單片機IDE集成開發(fā)軟件實驗前指導(dǎo)復(fù)習(xí)匯編軟件的使用方法。(在仿真環(huán)境下調(diào)試,不連仿真器)三、實驗要求驗證“實驗原理”一節(jié)中給出的實例程序,熟悉各種跳轉(zhuǎn)指令、子程序調(diào)用指令,以及查表程序編寫方法。四、實驗原理作為軟件實驗,可以在沒有硬件及仿真儀的情況
49、下,利用集成開發(fā)環(huán)境進行。1跳轉(zhuǎn)指令控制轉(zhuǎn)移的指令包括無條件轉(zhuǎn)移指令和有條件跳轉(zhuǎn)指令。(1)長跳轉(zhuǎn)指令LJMP addr16長跳轉(zhuǎn),把16位(2個字節(jié))的地址送入PC中。2絕對轉(zhuǎn)移指令A(yù)JMP addr11在存儲空間2kB內(nèi)轉(zhuǎn)移。與PC當(dāng)前值高5位共同組成16位目標(biāo)地址。(3)短跳轉(zhuǎn)指令SJMP rel8位補碼表示的地址??梢栽?128到127之間跳轉(zhuǎn)。(4)間接跳轉(zhuǎn)指令JMP A+DPTR這是一條很有用的散轉(zhuǎn)指令。跳轉(zhuǎn)地址在程序運行時動態(tài)決定。(5)累加器判零轉(zhuǎn)移指令JZ rel,JNZ rel,JZ rel,累加器為0轉(zhuǎn)移,JNZ rel,累加器不為0轉(zhuǎn)移。(6)比較轉(zhuǎn)移指令,CJNE &
50、lt;目的字節(jié)>,<源字節(jié)>,rel。CJNE A,#data,relCJNE A,direct,relCJNE Ri,#data,relCJNE Rn,#data,rel(8)循環(huán)轉(zhuǎn)移指令DJNZ Rn,rel。首先Rn減1,然后判斷是否是零,不是則跳轉(zhuǎn)。DJNZ direct , rel。首先直接地址中的數(shù)據(jù)減1,然后判斷是否是零,不是則跳轉(zhuǎn)。(9)位控制轉(zhuǎn)移指令JC rel,若Cy=1,則(PC)<-(PC)+2+rel 若Cy=0,則(PC)<-(PC)+2JNC rel若Cy=0,則(PC)<-(PC)+2+rel 若Cy=1,則(PC)<-
51、(PC)+2JB bit,rel; 若(bit)=1,則(PC)<-(PC)+3+rel 若(bit)=0,則(PC)<-(PC)+3JNB bit,rel若(bit)=0,則(PC)<-(PC)+3+rel 若(bit)=1,則(PC)<-(PC)+3JBC bit,rel; 若(bit)=1,則(PC)<-(PC)+3 若(bit)=0,則(PC)<-(PC)+3+rel,(bit)ß02子程序調(diào)用和返回指令。把重復(fù)使用的程序段編寫為一個子程序,通過主程序調(diào)用它。這樣不斷減少編程工作量,而且減少程序所占存儲空間。1)長調(diào)用指令LCALL addr16 ; (PC)ß(PC)+3(SP)ß(SP)+1, (SP)ß(PC)70(SP)ß(SP)+1, (SP)ß(PC)158(PC)ßaddr16除了PC要斷點保護,注意其他寄存器不能沖突。2)絕對調(diào)用指令A(yù)CALL addr11 ; (PC)ß(PC)+2(SP)ß(SP)+1, (SP)ß(PC)70(SP)ß(SP)+1, (SP)ß(PC)158(PC)ßaddr113)返回指令RET:子程序返回指令,RETI:中斷程序返回指
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023版煙草專賣執(zhí)法人員資格考試題庫含答案
- 2025秋湘教版(2024)七年級上冊地理課件 5.1 天氣與天氣預(yù)報
- 2025年國際旅游管理與服務(wù)考試試題及答案
- 早產(chǎn)兒肚子的護理
- 2025年公共健康領(lǐng)域的考試試卷及答案
- 2025年公共關(guān)系管理資格考試試卷及答案展示
- 2025年工業(yè)機器人技術(shù)與應(yīng)用考試題及答案
- 化纖企業(yè)安全培訓(xùn)
- 山東省濟寧市2025屆英語七下期末達標(biāo)檢測試題含答案
- 2025年大學(xué)英語六級考試試卷及答案
- 酒店用火用電安全管理制度
- 模具機加工管理制度
- 區(qū)畜牧局十五五總結(jié)及十五五規(guī)劃
- 2025年普通高等學(xué)校招生全國統(tǒng)一考試(全國I卷英語)及答案
- 銀行支行安全防范教育培訓(xùn)制度
- 艾梅乙考試試題及答案
- T/CECS 10363-2024薄壁不銹鋼管件用法蘭及法蘭接頭
- DB31/T 1096-2018醫(yī)院日間手術(shù)管理規(guī)范
- 2025年MySQL數(shù)據(jù)庫編程試題及答案
- C++冒泡排序?qū)崿F(xiàn)試題及答案
- DB32-T 5119-2025 鋰離子電池工廠生產(chǎn)安全技術(shù)規(guī)范
評論
0/150
提交評論