DVCC系列單片機仿真實驗系統(tǒng)簡介_第1頁
DVCC系列單片機仿真實驗系統(tǒng)簡介_第2頁
DVCC系列單片機仿真實驗系統(tǒng)簡介_第3頁
DVCC系列單片機仿真實驗系統(tǒng)簡介_第4頁
DVCC系列單片機仿真實驗系統(tǒng)簡介_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、前言 DVCC系列單片機仿真實驗系統(tǒng)簡介第一部分 MCS51實驗系統(tǒng)安裝與啟動 1。1 MCS51實驗系統(tǒng)安裝與啟動 1. DVCC系列實驗系統(tǒng)在51CPU狀態(tài),各開關(guān)位置如下: a.SK1位15置ON,位610置OFF;位12置ON;全部置ON;全部置OFF; e.臥式KBB置51、96位置,立式KBB1開關(guān)置51、88位置(只對DVCC598JH/JH+);DL4的1、2相連;2. 如果系統(tǒng)用于仿真外接用戶系統(tǒng),將40芯仿真電纜一頭插入系統(tǒng)中J6插座,另一頭插入用戶系統(tǒng)的8051CPU位置,注意插入方向,仿真頭上小紅點表示第一腳,對應(yīng)用戶8051CPU第一腳。3.如使用外接電源,將隨機配備

2、的2芯電源線插頭插入系統(tǒng)J1插座,另一頭紅線接入外置電源的+5V插孔,黑線接入外置電源地插座。上電后,DVCC系列實驗系統(tǒng)上顯示“P.”閃動。如使用內(nèi)置電源,將隨機配備的三相電源先一頭插入實驗系統(tǒng)前側(cè)面三相電源插座中,另一頭插入220V交流電源,確認連接無誤后打開箱體上電源開關(guān)即可。4如果是獨立運行,按DVCC系列用戶手冊進入鍵盤管理監(jiān)控,就能馬上做實驗.如果連上位機工作,必須將隨機配備的D型9芯插頭一端插入DVCC系統(tǒng)J2插座,另一端插入上位機串行口COM1COM2任選。然后按DVCC實驗系統(tǒng)PCDBG鍵,再運行上位機上的DVCC聯(lián)機軟件,雙方建立通信。 1。2 DVCC系列實驗系統(tǒng)實驗調(diào)試

3、有關(guān)說明實驗的一般步驟a. 運行DVCC軟件b. 編寫源程序、匯編排錯、形成正確的源文件.ASM,并生成中間文件.OBJ。c. 編譯、連接,形成最終目標文件.ASM(或.HEX)。d. 裝載最終目標文件到實驗系統(tǒng)的仿真RAM區(qū)。e. 調(diào)試實驗程序,若有錯則重復(fù)bd。實驗過程中的幾點特別說明:a. 本手冊中實驗原理圖上的粗實線部分表示用戶實驗時要用導(dǎo)線連接的。b. 手冊中每個實驗的實驗步驟都是針對我們提供的實驗演示程序編寫的。第一個實驗的實驗步驟很詳盡,望學(xué)生仔細閱讀,以便掌握如何裝載實驗程序、運行實驗程序、觀察實驗結(jié)果。相對來說,第二個實驗以后的實驗步驟較為簡單。實驗過程中實驗結(jié)果的查看a.

4、仿真實驗系統(tǒng)除在連續(xù)運行或和上位機聯(lián)機狀態(tài)下,一般不按總清鍵,只按MON鍵返回監(jiān)控。b. 實驗中某些實驗結(jié)果的查看可采用下列辦法:以單步方式運行后,再進入存貯器、寄存器檢查、修改等狀態(tài),以查看結(jié)果。在合適的地方設(shè)置斷點或結(jié)束地址,全速運行程序,當程序運行到斷點時會自動停下來,再進入存貯器、寄存器檢查、修改等狀態(tài),以查看結(jié)果。開啟有關(guān)變量窗、寄存器窗口,以連續(xù)單步方式運行程序,在窗口中觀察運行結(jié)果。第二部分 鍵盤監(jiān)控命令簡介單片機實驗系統(tǒng)自帶的仿真器鍵盤設(shè)有32個,進口鍵座,定制注塑鍵帽,手感好,接觸可靠,使用壽命長,15只功能鍵均為多功能鍵。顯示部分有6只高亮數(shù)碼顯示器組成。其鍵盤操作、顯示設(shè)

5、置完全一樣。具有良好的兼容性,對用戶來說只要熟悉一種系統(tǒng)的鍵盤操作即可。如有特殊的地方將在下面的論述中以詳細說明。 鍵盤布置R77DPL8DPH9AATVMEMEPRGHDELPRTEXECFVBPR44R55R66BBREGOFSTODRWINSCOMPPCDBGEPRGLR11R22R33PSWC F1 LASTEPMOVMOVESTEPNVBPR00PCHFPCLESPDF2NEXTEPCHEPCOMDARMON上圖中左邊16個為數(shù)字鍵,在鍵上“”下面表示的十六進制數(shù)字0F,用于輸入地址、數(shù)據(jù)或機器語言代碼。對于51CPU而言,“”上面是工作寄存器名或其省略寫法,如DPH表示數(shù)據(jù)寄存器D

6、PTR高8位,DPL表示數(shù)據(jù)指針寄存器DPTR低8位,PCH表示程序指針的高8位。PCL表示程序指針低8位. 表2-1代 號0123456789ABCDEF寄存器名51R0R1R2R3R4R5R6R7DPLDPHABPSWSPPCLPCH圖中右邊16個為功能鍵,在獨立運行模式下輸入操作命令,其通用功能如下:TV/MEM: TV/程序存貯器檢查REG/OFST: 片內(nèi)RAM、寄存器、特殊功能寄存器檢查/偏移量計算ODRW/INS: 外部數(shù)據(jù)存貯器、外部RAM、I/O檢查/插入一字節(jié)EPRGH/DEL: EPROM高速寫入/刪除一字節(jié)F1/LAST: 第一標志鍵/讀上一字節(jié)F2/NEXT: 第二標

7、志鍵/讀下一字節(jié)STEP/NVBP: 單拍/單拍跟蹤EXEC/FVBP: 連續(xù)執(zhí)行/斷點運行PCDBG/EPRGL: 與上位機通訊調(diào)試/低速固化EPMOV; 固化區(qū)內(nèi)容移入目標RAMEPCH/EPCOM: EPROM查空/EPROM比較PRT: 打印命令COMP: 源程序與目標程序比較MOVE: 程序塊或數(shù)據(jù)塊移動DAR: 反匯編MON: 退出當前操作,返回初態(tài)顯示閃動“P.”RESET: 系統(tǒng)復(fù)位按鈕,無論何時按RESET鍵,都使整個系統(tǒng)復(fù)位,返回初始狀態(tài)閃動“P.”用戶可以通過32個鍵向本機發(fā)出各種操作命令,大多數(shù)鍵均有2個以上功能,本機無上下檔轉(zhuǎn)換鍵,計算機到底進行什么操作,不僅與按壓什

8、么鍵有關(guān),也與當前計算機所處的工作狀態(tài)有關(guān),“工作狀態(tài)”在操作中,是一個重要的概念,下面作有關(guān)介紹。1.單板狀態(tài):在本狀態(tài)時,顯示器的左端顯示提示符,一個閃動的“P.”字符,表示開發(fā)機處于初始化狀態(tài),等待你操作。在計算機接通電源自動復(fù)位時處于單板狀態(tài);按壓RESET復(fù)位鍵后,使本機處于單板狀態(tài);在大多數(shù)情況下,按MON鍵,也可以使本機進入單板狀態(tài)(在后面也稱為待命狀態(tài)0)。待命狀態(tài)0時,可以進行的操作有:* 按壓任一數(shù)字鍵,進入待命狀態(tài)1,待命狀態(tài)1即為數(shù)字鍵可輸入狀態(tài)。* 按壓F1標志鍵,進入仿真2態(tài),仿真2態(tài)就是用戶只是借用實驗系統(tǒng)CPU,其余均在用戶系統(tǒng)上。PC值指向外部用戶程序空間,D

9、PTR指向外部數(shù)據(jù)空間,顯示閃動的“H”;* 按壓F2標志鍵,進入仿真1態(tài),仿真1態(tài)就是用戶借用實驗系統(tǒng)CPU和實驗系統(tǒng)上的仿真程序區(qū)。PC值指向?qū)嶒炏到y(tǒng)用戶程序空間,DPTR指向外部數(shù)據(jù)空間,顯示閃動的“P”;* 按壓PCDBG鍵,進入與上位機通訊、調(diào)試、反匯編,顯示器全暗;* 按壓EXEC鍵,從現(xiàn)行PC地址開始執(zhí)行用戶程序;* 按壓STEP鍵,從現(xiàn)行PC地址開始單拍執(zhí)行用戶程序。2. MEM態(tài):即存貯器讀寫狀態(tài),進入存貯器讀寫狀態(tài)時,前4位顯示器顯示存貯器地址,后2位顯示器顯示該存貯器單元中的內(nèi)容。在待命狀態(tài)下,按壓MEM鍵,或當執(zhí)行用戶程序時遇到斷點、單拍執(zhí)行、EPROM編程寫入出錯等都

10、會使計算機進入該狀態(tài),本狀態(tài)可進入如下操作。* 按壓OFST鍵,進入相對偏移量計算;* 按壓DEL鍵,進入刪除操作,按一下,刪除一字節(jié);* 按壓INS鍵,進入插入操作,按一下,插入一字節(jié);* 按壓LAST鍵,進入上一字節(jié)讀寫操作;* 按壓NEXT鍵,進入下一字節(jié)讀寫操作;* 按壓STEP鍵,以當前顯示器內(nèi)容作為地址,按壓一下,執(zhí)行一條命令,即執(zhí)行用戶程序一步;* 按壓EXEC鍵,以當前顯示器內(nèi)容作為地址,連續(xù)執(zhí)行用戶程序(若要退出,應(yīng)按RESET復(fù)位按鈕);* 按壓MON鍵,返回待命狀態(tài)0(按EXEC鍵后,該命令無效)。3. REG態(tài):即寄存器讀寫狀態(tài),進入該狀態(tài)時,前面1位和2位顯示寄存器地

11、址,后面2位顯示該寄存器中的內(nèi)容。在待命狀態(tài)1,按壓REG鍵,可進入如下操作:對51CPU狀態(tài)如前面鍵入1位地址,進入當前工作寄存器讀寫/檢查狀態(tài);顯示代號07,讀寫當前工作寄存器R0R7;顯示代號8或9,檢查數(shù)據(jù)指針DPTR,8顯示DPL,9顯示DPH;顯示代號A,檢查累加器A的內(nèi)容;顯示代號B,檢查B寄存器的內(nèi)容;顯示代號C,檢查程序狀態(tài)字PSW的內(nèi)容顯示代號D,檢查堆棧指針SP的內(nèi)容,開機復(fù)位后SP為07H;(7) 顯示代號E或F,檢查當前PC值,E顯示PCL,F(xiàn)顯示PCH。如前面鍵入2位地址,進入片內(nèi)寄存器讀寫(包括特殊功能寄存器和通用寄存器)。此時按壓LAST鍵,讀寫上一字節(jié)內(nèi)容;按

12、壓NEXT鍵,讀寫下一字節(jié)內(nèi)容。4. ODRW態(tài):即用戶目標系統(tǒng)數(shù)據(jù)存貯器讀寫狀態(tài)。在仿真1狀態(tài),即顯示“P.”狀態(tài)下鍵入4位地址后按ODRW鍵,讀寫的內(nèi)容都是用戶系統(tǒng)中的擴展數(shù)據(jù)存貯器或擴展I/O口,與實驗系統(tǒng)無關(guān)。前面4位顯示用戶目標系統(tǒng)數(shù)據(jù)存貯器地址,后2位顯示存貯器中的內(nèi)容。按壓LAST鍵,讀寫上一字節(jié)內(nèi)容。按壓NEXT鍵,讀寫下一字節(jié)內(nèi)容。按壓MON鍵,返回待命狀態(tài)0。5. 標志態(tài):即F態(tài)在待命狀態(tài)1,再按壓F1鍵,本機便進入標志態(tài),標志態(tài)功能特別強。(1)F1鍵功能:裝入源程序首址,即把當前顯示器內(nèi)容作為源程序首址,裝入本機的約定單元,并顯示閃動“”標志符。(2)F2鍵功能:裝入源

13、程序末址,即把當前顯示器內(nèi)容作為源程序末址,裝入本機的約定單元,并顯示閃動“”標志符。(3) 在“”狀態(tài)下,再鍵入的數(shù),便是目標首址。(4)F標志態(tài)可進入的操作: * 按壓MOVE鍵,進入程序/數(shù)據(jù)塊移動。在“P.”態(tài),本機內(nèi)部0000HFEFFH空間相互傳送。 在“P.”態(tài),本機內(nèi)部0000HFEFFH空間的內(nèi)容移到用戶系統(tǒng)數(shù)據(jù)區(qū),在“H.”態(tài),用戶目標程序區(qū)移到本機仿真RAM區(qū)。 操作如下:源首地址,F(xiàn)1,源末地址,F(xiàn)2,目標首地址,MOVE。 * 按壓COMP鍵,進入程序塊比較,操作步驟如下: 源首址,F(xiàn)1,源末址,F(xiàn)2,目首址,COMP。* 按壓EPRGH鍵,進入EPROM高速固化(適

14、用51、196系統(tǒng)),操作步驟如下:源首址(RAM區(qū)),F(xiàn)1,源末址(RAM區(qū)),F(xiàn)2,目首址(EPROM),EPRGH。* 按壓EPMOV,把固化區(qū)程序搬運到程序區(qū)(適用51、196系統(tǒng)):在“P”態(tài),固化區(qū)內(nèi)容傳向本機內(nèi)0000H-FEFFH空間。* 按壓FVBP鍵,進入斷點運行(適用51、196系統(tǒng)),操作步驟如下: 斷點地址,F(xiàn)1,執(zhí)行首址,F(xiàn)VBP。 2。3 鍵盤監(jiān)控操作命令介紹 2。3.1 復(fù)位命令RESET鍵在任何時刻按壓復(fù)位鍵RESET,都會迫使計算機進入初始狀態(tài)(與通電復(fù)位作用一樣),在RST為高的第二個周期執(zhí)行內(nèi)部復(fù)位,并且在RST變低前每一個周期重復(fù)執(zhí)行內(nèi)部復(fù)位,復(fù)位后:

15、 * 使8155、8255I/O接口芯片復(fù)位 * 使計算機進入待命狀態(tài)0 * 按壓復(fù)位鍵不會改變用戶存貯區(qū)的內(nèi)容,也不會改變CPU片內(nèi)RAM區(qū)的內(nèi)容及外部數(shù)據(jù)區(qū)的內(nèi)容 2。3.2 返回待命狀態(tài)MON鍵 按MON鍵,可迫使計算機進入待命狀態(tài)。通常用MON鍵進行以下操作: * 清除已送入顯示器的數(shù)字;* 退出其他操作狀態(tài)。例如退出存儲器讀寫狀態(tài),寄存器讀寫狀態(tài)等;按MON鍵,不會影響用戶的存貯器、寄存器內(nèi)容。2。3。3 程序存貯器讀寫命令MEM、NEXT、LAST鍵 這一組命令是用來檢查(讀出)或更改(寫入)內(nèi)存單元,因此,通過這些鍵命令的操作,向計算機送入程序和數(shù)據(jù)或從計算機中讀出數(shù)據(jù)。 在“P

16、.”閃動狀態(tài)下,讀出的是仿真程序/數(shù)據(jù)區(qū)的內(nèi)容(在實驗系統(tǒng)上的外部存貯器)。 在“P”狀態(tài)下,讀出的是仿真程序/數(shù)據(jù)區(qū)的內(nèi)容(在實驗系統(tǒng)上的外部存貯器)。 在“H”狀態(tài)下,讀出的是用戶板(目標板)上程序存貯器即EPROM中內(nèi)容。 先按壓MON鍵,使計算機處于待命狀態(tài)0,然后送入4位表示要檢查的程序存儲器地址,再按MEM鍵,讀出該單元的內(nèi)容,計算機便進入存儲器讀寫狀態(tài)。 在程序存貯器讀寫狀態(tài),顯示器的左邊4位數(shù)字是內(nèi)存單元地址,右邊的2位是該單元的內(nèi)容。光標(閃動的數(shù)字)表示等待修改(寫入)的數(shù)字。 程序存貯器讀寫狀態(tài)是鍵盤監(jiān)控的一種重要狀態(tài);這時多數(shù)命令鍵都具有與待命狀態(tài)1不同的功能。 * 請

17、用戶注意:程序存貯器讀寫狀態(tài)的明顯標志是:顯示6位數(shù)字,光標在第五位或第六位。 在程序存貯器讀寫狀態(tài),使用LAST或NEXT鍵可以讀出上一個或下一個存貯單元的內(nèi)容,同時光標自動移動到第五位。持續(xù)按LAST或NEXT鍵在1秒以上,計算機便開始對內(nèi)存進行向上或向下掃描,依次顯示各單元地址及內(nèi)容,或快速移動到要檢查的單元,從而簡化了操作。 按MON鍵,可使計算機退出存儲器讀寫狀態(tài),返回待命狀態(tài)。2.3.4寄存器讀寫、特殊功能寄存器檢查、片內(nèi)RAM區(qū)讀寫命令REG、NEXT、LAST鍵:寄存器讀寫可以輸入一位地址,亦可以二位地址。輸入一位地址時作為寄存器代號,見表2-1。特殊功能寄存器、片內(nèi)RAM的讀

18、寫輸入二位地址,見表2-2。輸入一位地址時,寄存器讀寫狀態(tài)的標志是:顯示器上顯示3個數(shù)字,左邊第一位數(shù)字代表寄存器的代號,右邊的2位數(shù)字表示該寄存器的內(nèi)容。光標處于顯示器的第5位到第6位之中。若要對寄存器的內(nèi)容進行改寫,可按壓所需的數(shù)字鍵,光標所在處的數(shù)字即被更換,而光標隨即往右移一位。(若到了最右端,又重新回到起始位)。表2-2 代號寄存器代號寄存器00FFCPU片內(nèi)RAMA0P280P0A81E81SPB0P382DPLB81P83DPHD0PSW87PCONE0A88TCONF0B89TMOD8ATL08BTL18CTH08DTH190P198SCON99SBUF特殊功能寄存器檢查狀態(tài)標

19、志是:顯示器上顯示4個數(shù)字,左邊第一位、第二位數(shù)字代表寄存器地址,右邊的2位數(shù)字表示該寄存器的內(nèi)容,中間兩位是空格,光標在第五位或第六位。片內(nèi)RAM區(qū)讀寫狀態(tài)是:顯示器上顯示四個數(shù)字,左邊兩位是RAM區(qū)地址,右邊兩位是該地址的內(nèi)容,中間兩位是空格。光標處于顯示器的第5位或第6位。若要對RAM區(qū)的內(nèi)容進行改寫,可按壓所需的數(shù)字鍵,光標所處的數(shù)字即被更換。按壓NEXT或LAST鍵,可檢查更改下一或上一單元RAM區(qū)(按地址順序排列)的內(nèi)容。持續(xù)按LAST或NEXT鍵的時間在1秒以上時,可實現(xiàn)快速查找。按壓MON鍵,可以從寄存器、RAM區(qū)讀寫狀態(tài)返回待命狀態(tài)0。2.3.5 EPROM檢查、編程寫入命令

20、EPROM、EPCOM、EPRGH、EPRGL鍵(適用于51、196CPU系統(tǒng)) 在仿真實驗儀上,有一EPROM寫入?yún)^(qū),利用實驗系統(tǒng)上可編程I/O接口芯片8255,可對2764、27128實現(xiàn)編程寫入(程序固化)。 對EPROM高速編程寫入步驟如下:把需要固化的EPROM芯片,插在對應(yīng)的EPROM插座上,芯片缺口朝上。固化區(qū)EPROM首地址均為0000H2764EPROM地址為0000H-1FFFH27128EPROM地址為0000H-3FFFH,檢查插座上EPROM是否全部擦干凈(EPROM中的內(nèi)容是否是全FFH0。在待命狀態(tài)0,按壓EPCH鍵,對EPROM進行檢查,在顯示器上出現(xiàn)“P。”字

21、符,即說明EPROM是全FFH,可以對EPROM進行編程(固化程序)。如果在顯示器上出現(xiàn)出錯地址及數(shù)據(jù),即該片在顯示器上的地址單元內(nèi)容不是FFH,則不能進行編程,可再一次擦除(用EPROM擦除器),或調(diào)換一片,用上述方法再進行檢查,直到通過為止。有的EPROM燒壞后,檢查也是全FFH,所以必須能改寫EPROM才是真正好的芯片,也可用電流表串接在VPP電壓中,若靜態(tài)電流大于50mA,說明該芯片已損壞,不能使用。用導(dǎo)線將線路板上(4X8鍵盤左下)VPP插孔和外置電源上的+25V(+12V-+25V可調(diào))插孔相連,根據(jù)經(jīng)驗,EPROM芯片寫入電壓在12V-24V之間,視各芯片電壓而定,有的廠家在芯片

22、上注明PGM(寫入電壓),有的芯片不作說明,目前市場有很多芯片不標明PGM固化電壓,往往使許多用戶上當,燒壞了大量芯片,一般12V芯片中的硅片比21V的芯片小1/2倍。所以你寫EPROM時若沒有把握,電壓可以從低(12V)到高(25V)逐漸試寫。用存貯器讀寫命令,或系統(tǒng)機通訊方式下的裝載命令,將要求寫入EPROM的內(nèi)容送入程序RAM區(qū),如果是拷貝ROM,應(yīng)把原芯片插在EPROM固化區(qū)(在8255旁邊),讀到內(nèi)存中去。讀入方法如下:鍵入EPROM芯片首地址,按F1,再鍵入EPROM芯片末地址(2764末地址為1FFFH、27128末地址為3FFFH),按F2鍵,再鍵入仿真RAM區(qū)首地址(0000

23、H)按EPMOV,待仿真器顯示“P。”讀入結(jié)束。固化操作步驟如下:在顯示器上鍵入源首址再鍵入F1標志鍵再鍵入RAM區(qū)源末址再鍵入F2標志鍵再鍵入目標EPROM首址再鍵入EPRGH鍵則自動進入高速寫入,顯示器上顯示寫入地址及其內(nèi)容,這過程是一邊寫入、一邊校對、一邊顯示。如寫入正確無誤,寫完后顯示器上顯示“P?!?,若有錯,則顯示出錯地址及其內(nèi)容。在編程寫入操作過程中,按RESET鍵,可使計算機中止編程操作而返回待命狀態(tài)0。對EPROM低速編程寫入的步驟如下:操作同用EPRGH鍵的(1)-(5)僅在“f” 步驟上,不按EPRGH,而按EPRGL鍵,則進入低速編程。以固化“8”字循環(huán)為例:1.先把8字

24、循環(huán)程序輸入到用戶區(qū)0000H-0020H中,再按EXEC鍵,應(yīng)有“8”字在LED上循環(huán)顯示。2.把固化的芯片插在對應(yīng)的EPROM插座上。3.VPP中串接50mA電流表,加上符合EPROM芯片要求的固化芯片。4.固化操作:0000(源首址)-F10020(源末地址)-F20000(目標EPROM首地址),再按EPRGH進入固化,正確結(jié)束顯示“P?!薄?.比較操作:0000(EPROM首地址)-F10020(末地址)-F20000(RAM首地址)-EPCOM。進入比較,正確結(jié)束顯示“P?!薄?.關(guān)掉直流穩(wěn)壓電源。7.打開直流穩(wěn)壓電源,把剛固化的內(nèi)容讀到內(nèi)存執(zhí)行,查看固化正確與否,具體操作如下:即

25、:0000 F1 0020 F2 0000 EPMOV。按EPM0V鍵后,即刻把固化區(qū)內(nèi)容讀到0000H為首址內(nèi)存。再按EXEC鍵(0地址可?。瑧?yīng)顯示“8”字循環(huán)。實驗一 鍵盤操作與調(diào)試實驗一、實驗?zāi)康恼莆諉纹瑱C仿真器鍵盤的使用和程序的調(diào)試方法。掌握手工匯編的方法。二、預(yù)習(xí)內(nèi)容1、閱讀關(guān)于單片機仿真器鍵盤操作使用說明。2、了解本實驗的實驗內(nèi)容與實驗步驟。三、實驗內(nèi)容把單片機片外RAM中2000H20FFH地址區(qū)間內(nèi)容置成55H。四、實驗步驟1、手工匯編:把源程序手工匯編譯成機器碼。地址 機器碼 MOV R0,#00H MOV DPTR,#2000H LOOP0: MOV A,#55H MOV

26、X DPTR,A INC DPTR INC R0 CJNE R0,#0FFH, LOOP0 LOOP1: SJMP LOOP12、使用0F數(shù)字鍵及有關(guān)控制鍵把機器碼輸入仿真器。按以下步驟進行操作調(diào)試程序,把相應(yīng)的結(jié)果記錄下來。a. 連續(xù)執(zhí)行(按Exec鍵)后,再按RST鍵查以下單元內(nèi)容:(DPTR)=b. 使用中斷設(shè)置鍵在000DH處設(shè)置斷點,連續(xù)執(zhí)行,按MON鍵后查以下單元內(nèi)容:(DPTR)= (A)=(2000H)= (20FFH)=c. 區(qū)分MON與RST鍵的不同的作用和用途:d. 使用MOVE鍵,把0000H0020H的內(nèi)容移到0200H0220H處,查以下單元內(nèi)容:(2000H)=

27、(020FF)=e. 使用STEP鍵,執(zhí)行程序觀察顯示變化。五、思考題(完成實驗報告)1、調(diào)試程序時為什么要“設(shè)置斷點”?2、按“MON”鍵后,原鍵入的程序是否會丟失?實驗二 交叉匯編一、實驗?zāi)康?、通過一具體程序,學(xué)習(xí)和掌握交叉匯編;2、了解和運用單步運用,指定光標處運行、斷點設(shè)置。二、實驗內(nèi)容1、P1口亮燈實驗2、DVCC集成開發(fā)環(huán)境中MCS-51仿真開發(fā)系統(tǒng)的運用。三、實驗步驟1、按圖接好線路2、打開計算機中DVCC仿真實驗程序。4、打開菜單“文件”,選新文件,輸入源程序,并保存之。5、打開“編譯”,選取編譯連接傳送文件。6、打開“動態(tài)調(diào)試”,選取連續(xù)執(zhí)行。7、復(fù)位。8、熟悉單步運行,并

28、觀察各寄存器內(nèi)容。9、在程序中延時部分,運行指定光標處運行。10、熟悉設(shè)置斷點。四、參考程序ORG 0790HSE18:MOV P1, #0FFHL034:MOV A, #0FEHL033:MOV P1,A Lca11 SE19RL A SJMP L033ORG 07A0SE19:MOV R6,#0A0HL036:MOV R7,#0FFHL035:DJNZ R7,L035DJNZ R6,L036RET 實驗三 清零實驗一、實驗?zāi)康恼莆諈R編語言設(shè)計和調(diào)試方法,熟悉鍵盤操作。二、實驗內(nèi)容把7000H70FFH的內(nèi)容清零。開始R0=0000送到7000HDPTR+1,R0+1R0=FF結(jié)束YN三、實

29、驗程序框圖四、實驗步驟1、當DVCC單片機仿真實驗系統(tǒng)獨立工作時 (1) 將固化區(qū)EPROM中實驗程序目標碼傳送到仿真RAM區(qū),操作如下:輸入0后按F1鍵,再輸入0FFF后按F2鍵,再輸入0后按EPMOV稍等,系統(tǒng)返回初始狀態(tài),顯示“P.”。 (2)通過鍵盤輸入實驗程序的起始地址0030H,再按執(zhí)行鍵EXEC,表示連續(xù)運行該程序,稍侯,按RESET鍵退出運行;如果以單步運行程序,則輸入0030后,按SETP鍵,按一次執(zhí)行一條語句,直到執(zhí)行到003CH為止,按MON鍵退出運行;如果以斷點運行程序,則先輸入003CH(斷點地址),再按F1鍵,再輸入0030(起始地址),然后按EXEC鍵執(zhí)行程序,當

30、執(zhí)行到003CH時自動停下來,此時按MON鍵退出。 (3) 用存貯器讀寫方法檢查7000H70FFH中的內(nèi)容應(yīng)全是00H。2、當DVCC仿真實驗系統(tǒng)聯(lián)PC機時(1) 在閃動“P.”狀態(tài),按PCDBG鍵;(2) 在PC機處于在Win95/98軟件平臺下,單擊DVCC圖標。(3) 在“系統(tǒng)設(shè)置”選項中設(shè)定仿真模式為內(nèi)程序、內(nèi)數(shù)據(jù)。(4) 根據(jù)屏幕提示進入51/96動態(tài)調(diào)試菜單。(5) 聯(lián)接DVCC實驗系統(tǒng)(Ctrl+H)(6) 裝載目標文件(Ctrl+L)(7) 設(shè)置PC起始地址(8) 從起始地址開始連續(xù)運行程序(F9)或單步(F8)或斷點運行程序(9) 單步、斷點運行完后,在存貯器窗口內(nèi)檢查70

31、00H70FFH中的內(nèi)容是否全為00H五、實驗程序 ORG 0030HCLEAR:MOV R0,#00H MOV DPTR,#7000HCLEAR1: CLR A MOVX DPTR,A INC DPTR INC R0 CJNE R0,#00H,CLEAR1 SJMP CLEAREND思考:假使要把700070FFH中的內(nèi)容改成FF,如何編制程序。 實驗四 拆字實驗一、實驗?zāi)康恼莆諈R編語言設(shè)計和調(diào)試方法。二、實驗內(nèi)容把7000H的內(nèi)容拆開,高位送7001H低位,低位送7002H低位。7001H、7002H高位清零,一般本程序用于把數(shù)據(jù)送顯示緩沖區(qū)時用。三、實驗程序框圖 開始7000內(nèi)容送A高低

32、位交換屏蔽高位后送7001H7000H內(nèi)容送A屏蔽高位后送7002H結(jié)束四、實驗步驟先用存貯器讀寫方法將7000H單元置成34H 用單步、斷點或連續(xù)執(zhí)行程序的方法從起始地址0050H開始運行程序(輸入0050后按STEP為單步,按EXEC為連續(xù))。 按MON鍵或RESET鍵退出。 檢查7001H和7002H單元中的內(nèi)容應(yīng)為03H和04H;五、實驗程序 ORG 0050HCWORD:MOV DPTR,#7000H MOVX A,DPTR MOV B,A SWAP A ANL A,#0FH INC DPTR MOVX DPTR,A INC DPTR MOV A,B ANL A,#0FH MOVX

33、DPTR,ACWORD1: SJMP CWORD1 END六、思考:如何用斷點方法調(diào)試本程序。實驗五 拼字程序 一、實驗?zāi)康倪M一步掌握匯編語言設(shè)計和調(diào)試方法。二、實驗內(nèi)容把7000H、7001H的低位相拼后送入7002H,一般本程序用于把顯示緩沖區(qū)的數(shù)據(jù)取出拼裝成一個字節(jié)。(7000H)送A,屏蔽高位(7001H)送A,屏蔽高位開始交換高低位后送BA和B相或后送7002H結(jié)束三、實驗程序框圖 四、實驗步驟將7000H單元中內(nèi)容置03H,7001H單元中的內(nèi)容置04H用單步或斷點方式從0070H開始運行程序(輸入0070后按STEP鍵為單步運行)。按MON鍵退出。 檢查7002H中的內(nèi)容應(yīng)為34

34、H五、實驗程序 ORG 0070HPWORD:MOV DPTR,#7000H MOVX A,DPTR ANL A,#0FH SWAP A MOV B,A INC DPTR MOVX A,DPTR ANL A,#0FH ORL A,B INC DPTR MOVX DPTR,APWORD1: SJMP PWORD1 END實驗六 脈沖計數(shù)(定時/計數(shù)器實驗)一、實驗?zāi)康氖煜?031定時/計數(shù)功能,掌握定時/計數(shù)初始化編程方法。二、實驗內(nèi)容對定時器0外部輸入的脈沖進行計數(shù),并送顯示器顯示。 三、實驗程序框圖 開始堆棧、定時/計數(shù)初始化開定時器取出TL0、TH0內(nèi)容調(diào)用二轉(zhuǎn)十進制子程序結(jié)果送顯示緩沖器

35、器調(diào)顯示子程序 二進制轉(zhuǎn)十進制子程序0送R4 R5 R616送位計數(shù)器R70送CYR2R3右移一位2(R4R5R6)+CY送R4R5R6(R7)-1送R7 R7=0?結(jié)束 N Y四、實驗步驟T7任一根信號線或單脈沖輸出孔“SP”。用連續(xù)方式從起始地址02A0H開始運行程序(按02A0后按EXEC鍵)。觀察數(shù)碼管顯示的內(nèi)容應(yīng)為脈沖個數(shù)。五、實驗程序 ORG 02A0HCONT:MOV SP,#53H MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0CONT1:MOV R2,TH0 MOV R3,TL0 LCALL CONT2 MOV R0,#79H

36、 MOV A,R6 LCALL PWOR MOV A,R5 LCALL PWOR MOV A,R4 LCALL PWOR LCALL DISP SJMP CONT1CONT2:CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#10HCONT3:CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,C

37、ONT3 RETPWOR:MOV R1,A LCALL PWOR1 MOV A,R1 SWAP APWOR1:ANL A,#0FH MOV R0,A INC R0 RETDISP:SETB 0D4H MOV R1,#7EH MOV R2,#20H MOV R3,#00HDISP1:MOV DPTR,#0FF21H MOV A,R2 MOVX DPTR,A MOV DPTR,#CDATA MOV A,R1 MOVC A,A+DPTR MOV DPTR,#0FF22H MOVX DPTR,ADISP2:DJNZ R3,DISP2 DEC R1 CLR C MOV A,R2 RRC A MOV R2

38、,A JNZ DISP1 MOV A,#0FFH MOV DPTR,#0FF22H MOVX DPTR,A CLR 0D4H RETCDATA:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH END六、思考: 修改程序使顯示器上止可顯示到999999個脈沖個數(shù)。 實驗七 P3.3口輸入 P1口輸出一、實驗?zāi)康?掌握P3口、P1口簡單使用。 學(xué)習(xí)延時程序的編寫和使用。二、實驗內(nèi)容P3.3口做輸入口,外接一脈沖,每輸入一個脈沖,P1口按十六進制加一。2. P

39、1口做輸出口,編寫程序,使P1口接的8個發(fā)光二極管L1L8按16進制加一方式點亮發(fā)光二極管。三、實驗說明 1. P1口是準雙向口,它作為輸出口時與一般的雙向口使用方法相同,由準雙向口結(jié)構(gòu)可知:當P1口作為輸入口時,必須先對它置高電平,使內(nèi)部MOS管截止,因內(nèi)部上拉電阻是20K40K,故不會對外部輸入產(chǎn)生影響。若不先對它置高,且原來是低電平,則MOS管導(dǎo)通,讀入的數(shù)據(jù)是不正確的。 延時子程序的延時計算問題。對于延時程序 DELAY :MOV R6, #00H DELAY1:MOV R7, #80H DJNZ R7, $ DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需用兩個機器

40、周期,而一個機器周期時間長度為12/ 6.0MHZ,所以該段指令執(zhí)行時間為:(80+1)256+1)2(12NNYR6設(shè)初值FFHR7設(shè)初值FFHR7-1=0否?R6-1=0否返回Y四、實驗程序框圖 延時子程序: P3.3真的為高嗎?P3.3為低嗎?開 始延 時延 時A+1送P1口循 環(huán)NNNYYY 主程序:五、實驗原理圖六、實驗程序 ORG 0540hHA1S: MOV A,#00HHA1S1:JB P3.3,HA1S1 MOV R2,#10H LCALL DELAY JB P3.3,HA1S1HA1S2: JNB P3.3,HA1S2 MOV R2,#10H LCALL DELAY JNB

41、 P3.3,HA1S2 INC A PUSH ACC CPL A MOV P1,A POP ACC AJMP HA1S1DELAY:PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END 七、實驗步驟L8。從起始地址0540H開始連續(xù)運行程序(輸入0540后按EXEC鍵)。開關(guān)K1每撥動一次,L1L8發(fā)光二極管按16進制方式加一點亮。 實驗八 中斷實驗一、實驗?zāi)康?、學(xué)習(xí)和掌

42、握中斷系統(tǒng)初始化編程;2、理解中斷處理全過程及中斷服務(wù)程序的設(shè)計方法;學(xué)習(xí)外部中斷的使用方法,進一步掌握計數(shù)器/定時器中斷系統(tǒng)的初始化編程。二、實驗內(nèi)容1、外部中斷的使用(1)用8031單片機的P1口中的PP作為輸入口,聯(lián)接到實驗板開關(guān)K1K4的插孔中;用P1.4P作為輸出口,聯(lián)接到發(fā)光二極管L1L4的插孔中;(2)選擇外部中斷INT0,采用邊沿觸發(fā)方式;(3)每按一次開關(guān),產(chǎn)生一個負脈沖,送到8031單片機的INT0端,作為中斷請求信號。8031每次響應(yīng)一次中斷請求,就從開關(guān)處讀入數(shù)據(jù),取反后送發(fā)光二極管顯示,其流程圖如下:主 程 序?qū)ν獠恐袛?開中斷INT0為邊沿觸發(fā)方式等 待8031開中

43、斷2、定時器/計數(shù)器中斷工作方式實驗(1)用8031單片機的P1口中的PP作為輸出口,連接到發(fā)光二極管LED0LED7的插孔中;(2)把外部觸發(fā)脈沖接到T0(P)引腳;(3)利用計數(shù)器0以中斷方式,對外部開關(guān)動作5次后,只使P1。0端口的發(fā)光二極管燈亮,第2個5次后,只使P1。1端口的發(fā)光二極管燈亮依次第8個5次后,重新上述顯示。三、實驗步驟關(guān)掉電源,按圖在實驗板上進行接線,接線完成后要認真檢查,保證接線的正確可靠,才能通電;2、把編寫好的程序(1)送入開發(fā)機內(nèi),調(diào)試并執(zhí)行程序按開關(guān)鍵K后,進入中斷服務(wù)程序,觀察輸入開關(guān)K0K3和發(fā)光二極管LED0LED3的情況,然后再按搬動開關(guān)K0K3觀察發(fā)

44、光二極管LED0LED3的情況,如果開關(guān)鍵K往回搬后,再觀察發(fā)光二極管LED0LED3的情況。3、關(guān)掉電源后,修改電路為下一個實驗進行接線。接線完成后要認真檢查,保證接線的正確可靠后,通電;把編寫好的程序(2)送入開發(fā)機內(nèi),調(diào)試并執(zhí)行程序按開關(guān)鍵K五次后,進入中斷服務(wù)程序,觀察發(fā)光二極管LED0LED3的情況,然后再接動開關(guān)K五次后,再觀察發(fā)光二極管LED0LED3的情況。關(guān)掉電源后,拆除線路。四、預(yù)習(xí)要求1、認真閱讀教材第二章中有關(guān)中斷和定時器計數(shù)器待內(nèi)容;2、參照教材編寫實驗中所需要的源程序。五、實驗報告及要求1、整理好程序和實驗結(jié)果;2、定出完整的實驗報告;3、總結(jié)中斷編程方法。六、參考

45、程序ORG 0000HAJMP MAINORG 0003HAJMP EXTRORG 0050HMAIN: SETB IT0 SETB EX0 SETB EAWAIT: AJMP WAITEXTR: MOV A,#0FHMOV P1, AMOV A, P1CPL AORL A,#0F0HSWAP AMOV P1, ARETI(2)利用計數(shù)器0以中斷方式,對外部開關(guān)動作5次只使P1。0端口的發(fā)光二極管燈亮,第二個5次只使P端口的發(fā)光二極管燈亮,依次第8個5次后,重新上述顯示。ORG 0000HSTART AJMP MAIN ORG 000BHAJMP C0NTRALORG 0050HMAIN: M

46、OV 30H ,#01HMOV TMOD,#05HMOV TL0, # 0FFHMOV TL0,#0FBHMOV P1, #0FFHSETB EASETB ET0SETB TR0WAIT: SJMP WAITORG 0100HC0NTRAL: MOV TH0 ,#0FFHMOV TL0 ,#0FBHMOV A,30HRL AMOV 30H,AMOV P1,A RETI 實驗九 A/D 轉(zhuǎn)換實驗一、實驗?zāi)康?1.掌握A/ D轉(zhuǎn)換與單片機的接口方法。 2.了解A/ D芯片0809轉(zhuǎn)換性能及編程方法。 3.通過實驗了解單片機如何進行數(shù)據(jù)采集。二、實驗內(nèi)容 利用實驗儀上的0809做A/ D轉(zhuǎn)換實驗,實

47、驗儀上的W1電位器提供模擬量輸入。編制程序,將模擬量轉(zhuǎn)換成數(shù)字量,通過二位七段數(shù)碼管顯示器顯示。三、實驗說明A/ D轉(zhuǎn)換器大致分有三類:一是雙積分A/ D轉(zhuǎn)換器,優(yōu)點是精度高,抗干擾性好,價格便宜,但速度慢;二是逐次逼近式A/ D轉(zhuǎn)換器,精度、速度、價格適中;三是并行A/ D轉(zhuǎn)換器,速度快,價格也昂貴。實驗用ADC0809屬第二類,是8位A/ D轉(zhuǎn)換器。每采集一次一般需100s。由于ADC0809 A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束后會自動產(chǎn)生EOC信號(高電平有效),取反后將其與8031的INT0相連,可以用中斷方式讀取A/ D轉(zhuǎn)換結(jié)果。四、實驗接線圖五、實驗程序框圖開 始0809初始化初始顯示00080

48、9通道0采樣數(shù)碼管顯示采樣值六、實驗程序ORG 06D0HSTART: MOV A,#00H MOV DPTR,#9000H MOVX DPTR,A MOV A,#00H MOV SBUF,A MOVX A,DPTR DISP: MOV R0,A ANL A,#0FH LP: MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A MOV R7,#0FH H55S: DJNZ R7,H55S MOV A,R0 SWAP A ANL A,#0FH MOVC A,A+DPTR MOV SBUF,A MOV R7,#0FHH55S1:DJNZ R7,H55S1 LCALL DE

49、LAY AJMP STARTTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh DELAY:MOV R6,#0FFh DELY2:MOV R7,#0FFh DELY1:DJNZ R7,DELY1 DJNZ R6,DELY2 RETEND七、實驗步驟把A/D區(qū)0809的0通道IN0用插針線接至W1的中心抽頭V01插孔(05V)。0809的CLK插孔與分頻輸出端T4相連。3. 將W2的輸入VIN接+12V插孔,+12V插孔再連到外置電源的+12上(電源內(nèi)置時,該線已連好)。調(diào)節(jié)W2,使

50、VREF端為+5V。 4. 將A/D區(qū)的VREF連到W2的輸出VREF端。(如果精度要求不高的話,A/D區(qū)的VREF直接連到VCC插孔,這樣步驟可以去掉)。EXIC1上插上74LS02芯片,將有關(guān)線路按圖連好。 將A/D區(qū)D0D7用排線與BUS2區(qū)XD0XD7相連。BUS3區(qū)P3.0插孔連到數(shù)碼管顯示區(qū)DATA插孔。 BUS3區(qū)P3.1插孔連到數(shù)碼管顯示區(qū)CLK插孔。單脈沖發(fā)生/SP插孔連到數(shù)碼管顯示區(qū)CLR插孔。 10. 按實驗系統(tǒng)上的F2鍵,仿真實驗儀進入仿真狀態(tài)(內(nèi)程序,外數(shù)據(jù)),顯示器顯示“P”。11. 以連續(xù)方式從起始地址06D0運行程序,在數(shù)碼管上顯示當前采集的電壓值轉(zhuǎn)換后的數(shù)字量,調(diào)節(jié)W1數(shù)碼管顯示將隨著電壓變化而相應(yīng)變化,典型值為0V80H,5VFFH。實驗十 D/A轉(zhuǎn)換實驗?zāi)康牧私釪/A轉(zhuǎn)換與單片機的接口方法。2.了解D/A轉(zhuǎn)換芯片0832的性能及編程方法。了解單片機系統(tǒng)中擴展D/A轉(zhuǎn)換芯片的基本方法。實驗內(nèi)容 利用0832輸出一個從-5V開始逐漸升到0V再逐漸升至5V,再從5V逐漸降至0V,再降至-5V的鋸齒波電壓。實驗接線圖實驗程序框圖YNYN開始設(shè)置數(shù)字量初值數(shù)字量初值送0832啟動D/A數(shù)字量加1數(shù)字量是否為”FF”?數(shù)字量送0832啟動D/A數(shù)字量

溫馨提示

  • 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

提交評論