單片機(jī)實(shí)驗(yàn)proteus版(2015)_第1頁(yè)
單片機(jī)實(shí)驗(yàn)proteus版(2015)_第2頁(yè)
單片機(jī)實(shí)驗(yàn)proteus版(2015)_第3頁(yè)
單片機(jī)實(shí)驗(yàn)proteus版(2015)_第4頁(yè)
單片機(jī)實(shí)驗(yàn)proteus版(2015)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書廣東省光電信息實(shí)驗(yàn)教學(xué)示范中心2014-10目 錄預(yù)備知識(shí) 匯編軟件Keil Vision的學(xué)習(xí)5實(shí)驗(yàn)一 匯編語(yǔ)言的應(yīng)用及Keil C編譯環(huán)境15實(shí)驗(yàn)二 Proteus軟件學(xué)習(xí)與流水燈仿真實(shí)驗(yàn)18實(shí)驗(yàn)三 中斷和定時(shí)器實(shí)驗(yàn)22實(shí)驗(yàn)四 數(shù)碼管仿真實(shí)驗(yàn)29實(shí)驗(yàn)五 鍵盤實(shí)驗(yàn)35實(shí)驗(yàn)六 程序燒錄實(shí)驗(yàn)35附錄 實(shí)驗(yàn)報(bào)告書寫模版35預(yù)備知識(shí) 匯編軟件Keil Vision的學(xué)習(xí)Keil Vision軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件之一。Keil Vision提供包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)

2、境Keil Vision將這些部分組合在一起。該軟件具有類似VC風(fēng)格的界面,提供了豐富的工具、命令和窗口,可以使開發(fā)者在程序調(diào)試過(guò)程中隨時(shí)掌握代碼所實(shí)現(xiàn)的功能。1、項(xiàng)目工程的建立打開Keil uVision4的圖標(biāo),出現(xiàn)圖1.0(1) 建立第一個(gè)工程文件在桌面上雙擊Keil uVision4圖標(biāo),啟動(dòng)集成開發(fā)環(huán)境如圖1.1所示,該界面中最上面一行是菜單,菜單下面是各種工具按鈕,左邊的project workspace窗口為項(xiàng)目管理窗口(Project Window),最下面的為輸出窗口(Output Window),中間部分為工作區(qū),通常我們所編的源程序、調(diào)試程序代碼窗口會(huì)出現(xiàn)在這里。圖1.1

3、點(diǎn)擊Project菜單下的New Project命令,在出現(xiàn)的對(duì)話框中輸入項(xiàng)目名,keil工程名可以用漢字的,但為了避免編譯出現(xiàn)亂碼,最好還是不用漢字做工程名或文件名。選擇合適的文件夾下建立新的工程項(xiàng)目,一般不要放在桌面上,實(shí)驗(yàn)室的電腦都帶有自動(dòng)復(fù)原功能,重啟后桌面文件全部丟失,點(diǎn)擊確定按鈕出現(xiàn)如圖1.2所示的Select Device For TargetTarget1對(duì)話框,在Date base下選擇Atmel,點(diǎn)開“+”號(hào),選擇AT89C51器件,點(diǎn)擊確定按鈕。圖1.2(2) 源程序文件的建立使用菜單File-New命令,彈出源程序編輯窗口,輸入程序。點(diǎn)擊File-Save as命令,保

4、存文件為*.ASM。注意匯編語(yǔ)言的后綴是asm,c語(yǔ)言的后綴是c。圖1.3(3)將文件加入到工程項(xiàng)目中 按圖1.3所示點(diǎn)擊Add File to Group Source Group1命令,然后選中*.ASM文件,點(diǎn)擊Add按鈕,將你編寫的源程序*.ASM加入項(xiàng)目中。如圖1.4所示:圖1.4注意:添加完文件后,該對(duì)話框并不消失,等待繼續(xù)加入其它文件,常誤認(rèn)為添加文件不成功,其實(shí)已添加成功,只需點(diǎn)擊Close按鈕關(guān)閉對(duì)話框即可。2、工程的詳細(xì)設(shè)置工程建立好后,要對(duì)工程進(jìn)行進(jìn)一步的設(shè)置,以滿足后續(xù)工作的要求。首先點(diǎn)擊左邊的Project窗口的Target1,然后使用菜單的菜單“Project-Op

5、tion for target target1”出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,其中有8個(gè)頁(yè)面,這里絕大部分設(shè)置取默認(rèn)值就可以了。Target頁(yè)面如圖1.5所示:圖1.5Xtal后面的數(shù)值為晶振頻率值,默認(rèn)值為所選CPU的最高工作頻率,對(duì)AT89C51而言為24MHz,我們常選12MHz值,該值與最后產(chǎn)生的目標(biāo)代碼無(wú)關(guān),僅用于軟件仿真顯示程序執(zhí)行時(shí)間。Memory Model用于設(shè)置RAM的使用情況,設(shè)置為small,Code Rom Size用于設(shè)置ROM的空間,設(shè)置為L(zhǎng)arge:64k,Operation用于選擇操作系統(tǒng),一般不用操作系統(tǒng),選擇None,Use on-chip ROM用于是否進(jìn)使用

6、片內(nèi)的ROM,在此設(shè)置如圖1.5所示。Off Chip Code memory用以確定系統(tǒng)擴(kuò)展ROM的地址范圍,Off Chip xData memory組用于確定系統(tǒng)擴(kuò)展RAM的地址范圍,這些需根據(jù)硬件來(lái)決定。設(shè)置對(duì)話框中的OutPut頁(yè)面,如圖1.6所示,這里也有多個(gè)選項(xiàng),其中Creat Hex file用于聲稱可執(zhí)行代碼文件(可用編程器械如單片機(jī)芯片中執(zhí)行的HEX格式文件)默認(rèn)情況下該項(xiàng)未被選中,如果要寫片做硬件試驗(yàn),就必須選中該項(xiàng),這一點(diǎn)要特別注意。Select Folder for opjects是用于選擇最終生成目標(biāo)文件所在的文件夾,默認(rèn)是與工程文件在同一個(gè)文件夾中,Name of

7、 Executable用于指定最終生成的目標(biāo)文件的名字,默認(rèn)與工程的名字相同。圖1.6Debug頁(yè)面的設(shè)置,如果要進(jìn)行仿真的,選中Use Simulator,就可以進(jìn)行軟件仿真。與試驗(yàn)箱連接時(shí),選擇Use Keil Monitor-51 Driver,setting(設(shè)置)中的設(shè)置為Port只選 COM1-COM4中空閑的, Baudrate選,其它所有頁(yè)面設(shè)置為默認(rèn)選擇即可,設(shè)置完后,按確認(rèn)鍵返回主界面。3、編譯、連接設(shè)置好工程后,即可以進(jìn)行編譯、連接。選擇菜單Project-Build target,對(duì)當(dāng)前工程進(jìn)行連接,如果當(dāng)前文加以修改,會(huì)現(xiàn)對(duì)該文件按進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼,

8、如果選擇Rebuild All target files將會(huì)對(duì)當(dāng)前工程中的所有文件重新編譯后再連接確保最終生成的目標(biāo)代碼是最新的。編譯過(guò)程中的信息將出現(xiàn)在輸出窗口中的Build頁(yè)中,如果源程序中有語(yǔ)法錯(cuò)誤,會(huì)報(bào)告錯(cuò)誤,雙擊該行,可以自動(dòng)定位到出錯(cuò)的位置。如果沒(méi)有出錯(cuò),最終會(huì)得到如圖所的結(jié)果,提示已生成.hex的文件。圖1.9 正確編譯、連接后的結(jié)果4、Keil uVision3仿真調(diào)試、在線匯編與斷點(diǎn)設(shè)置知道如何在建立工程文件、源程序以及編譯生成目標(biāo)代碼,這僅僅是語(yǔ)法上沒(méi)有錯(cuò)誤,如果程序在邏輯上出現(xiàn)錯(cuò)誤就必須通過(guò)調(diào)試來(lái)解決,實(shí)際上絕大部分的程序都必須經(jīng)過(guò)反復(fù)調(diào)試殘能得到正確的結(jié)果,調(diào)試是軟件開

9、發(fā)中的一個(gè)重要環(huán)節(jié)。下面著重介紹常用的調(diào)試命令、利用在線匯編設(shè)置斷點(diǎn)進(jìn)行調(diào)試的方法。4.1常用調(diào)試命令、窗口介紹Keil內(nèi)建了一個(gè)仿真CPU用來(lái)模擬執(zhí)行程序,可以在沒(méi)有硬件和仿真機(jī)的情況下進(jìn)行程序的調(diào)試。在對(duì)工程成功匯編、連接后,點(diǎn)擊菜單Debug-Start/Stop Debug Session或者按Ctrl+F5或者點(diǎn)擊工具按鈕即可進(jìn)入調(diào)試狀態(tài)。調(diào)試狀態(tài)和編輯狀態(tài)相比有比較明顯的變化,在Debug菜單中原來(lái)不能使用的命令現(xiàn)在都可以使用了,工具欄中多出了一個(gè)用于運(yùn)行和調(diào)試的工具條。如圖1.7所示:圖1.7該工具條從左到右依次為復(fù)位、運(yùn)行、暫停、單步、過(guò)程單步、執(zhí)行完當(dāng)前子程序、運(yùn)行到當(dāng)前行、

10、下一狀態(tài)、打開跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析等命令。學(xué)習(xí)程序調(diào)試必須先了解全速運(yùn)行和單步運(yùn)行的概念,全速運(yùn)行即一次運(yùn)行完成,可以看見程序運(yùn)行的整體效果,但如果出錯(cuò)則用這種方法很難查找到具體的出錯(cuò)位置,必須借助于單步運(yùn)行工具,單步執(zhí)行是每次執(zhí)行一行即停止,可以看見當(dāng)前程序運(yùn)行的中間狀態(tài),兩種方式都經(jīng)常會(huì)用到。按下F11鍵或使用菜單STEP或相應(yīng)的命令按鈕可以單步執(zhí)行程序,使用STEP OVER或功能鍵F10可以進(jìn)行過(guò)程單步執(zhí)行,進(jìn)入如圖1.8所示的界面,可以看見在源程序窗口的左邊出現(xiàn)一個(gè)黃色的調(diào)試箭頭,每執(zhí)行單步一次,黃色箭頭向下移一行。通過(guò)單步執(zhí)行可以找出一些問(wèn)題所在,

11、但僅僅依靠單步執(zhí)行來(lái)查圖1.8錯(cuò)有時(shí)很困難,甚至有時(shí)效率會(huì)很低,有時(shí)通過(guò)過(guò)程單步執(zhí)行、斷點(diǎn)設(shè)置等幾種方法聯(lián)合調(diào)試來(lái)達(dá)到目的。另外在調(diào)試的過(guò)程中可以隨時(shí)監(jiān)視到各寄存器的狀態(tài),可以查看存儲(chǔ)器的值,還可通過(guò)設(shè)置變量在觀察窗口中觀看變量值的變化。各監(jiān)視窗口如圖1.9所示。 寄存器窗口 Watches、Memory窗口圖1.9在調(diào)試狀態(tài)下,點(diǎn)擊菜單Peripherals,可以打開彈片擊中的資源,包括中斷源、定時(shí)器計(jì)數(shù)器、串口以及P0、P1、P2、P3口的窗口一邊觀察它們的值。如圖1.10所示。圖1.104.2在線匯編技術(shù)在進(jìn)入Keil的調(diào)試環(huán)境后,如果發(fā)現(xiàn)程序有錯(cuò),可以直接修改源程序,但是要使修改后的程

12、序代碼有效,必須先退出調(diào)試環(huán)境,重新編譯連接后在進(jìn)入調(diào)試,但如果只是需要對(duì)某些程序行進(jìn)行測(cè)試,或僅需對(duì)原程序進(jìn)行臨時(shí)的修改,這樣的過(guò)程就顯得有些麻煩,為此Keil軟件提供了在線匯編的能力,將光標(biāo)定位于需要修改的程序行上,用菜單Debug-Inline Assambly即可出現(xiàn)如圖1.10所示的對(duì)話框。圖1.11在Enter New后面的編輯框內(nèi)直接輸入要更改的程序語(yǔ)句,輸入完后鍵入回車將自動(dòng)指向下一條語(yǔ)句,可以繼續(xù)修改,如果不再需要修改,可以點(diǎn)擊右上角的關(guān)閉按鈕關(guān)閉窗口。4.3斷點(diǎn)設(shè)置程序調(diào)試時(shí),一些程序行必須滿足一定的條件才能被執(zhí)行到(如程序中某變量達(dá)到一定的質(zhì)、按鍵被按下、串口接收到數(shù)據(jù)、

13、有中斷產(chǎn)生等),這些條件往往是異步發(fā)生或難以預(yù)先設(shè)定的,這類問(wèn)題使用單步調(diào)試方法是很難調(diào)試的,這時(shí)就要使用到程序調(diào)試中的另一種非常重要的方法斷點(diǎn)設(shè)置。設(shè)置好斷點(diǎn)后可以全速運(yùn)行程序,一旦運(yùn)行遇到斷點(diǎn)就會(huì)停止運(yùn)行,此時(shí)可以觀察有關(guān)變量的值,寄存器的值已確定問(wèn)題所在。設(shè)置/移除斷點(diǎn)的方法是將光標(biāo)定位到需要設(shè)置斷點(diǎn)的程序行,使用菜單Debug-Insert/Remove BreakPoint設(shè)置或移除斷點(diǎn),也可以用鼠標(biāo)在該行雙擊實(shí)現(xiàn)相同的功能;Debug-Enable/Disable BreakPoint是開啟或暫停光標(biāo)所在行的斷點(diǎn)功能;Debug-Disable All BreakPoint暫停所有

14、斷點(diǎn);Debug-Kill All BreakPoint清除所有的斷點(diǎn)設(shè)置。這些功能也可以用工具條中相應(yīng)的快捷按鈕進(jìn)行設(shè)置。斷點(diǎn)調(diào)試窗口如圖1.11所示。圖1.12斷點(diǎn)設(shè)置工具條如圖所示。依次為設(shè)置/移除斷點(diǎn)、取消所有斷點(diǎn)、開啟/關(guān)閉斷點(diǎn)、關(guān)閉所有斷點(diǎn)。觀測(cè)和修改存儲(chǔ)器內(nèi)容(2)點(diǎn)擊 命令,可以打開存儲(chǔ)器觀察窗口,在存儲(chǔ)器觀察窗口的Address:欄中輸入D:30H(或 0x30)則顯示片內(nèi) RAM30H 后的內(nèi)容,如圖1-12 所示。如果輸入C:表示顯示代碼存儲(chǔ)器的內(nèi)容,I:表示顯示內(nèi)部間接尋址 RAM 的內(nèi)容,X:表示顯示外部數(shù)據(jù)存儲(chǔ)器中的內(nèi)容。(3)將光標(biāo)移到 SJMP $語(yǔ)句行,點(diǎn)擊

15、命令,在此行設(shè)置斷點(diǎn)。(4)接下來(lái)點(diǎn)擊 命令,運(yùn)行實(shí)驗(yàn)程序,當(dāng)程序遇到斷點(diǎn)后,程序停止運(yùn)行,觀察存儲(chǔ)器中的內(nèi)容,如圖 1-13 所示,驗(yàn)證程序功能。(5)如圖1-12 所示,在命令行中輸入E CHAR D:30H=11H,22H,33H,44H,55H后回車,便可以改變存儲(chǔ)器中多個(gè)單元的內(nèi)容,如圖1-14 所示。圖1-13 運(yùn)行程序后存儲(chǔ)器窗口 圖1-14 修改存儲(chǔ)器內(nèi)容(6)修改存儲(chǔ)器的內(nèi)容的方法還有一個(gè),就是在要修改的單元上點(diǎn)擊鼠標(biāo)右鍵,彈出快捷菜單,如圖1-15 所示,選擇Modify Memory at D:0x35命令來(lái)修改 0x35 單元的內(nèi)容,這樣每次只能修改一個(gè)單元的內(nèi)容。圖1

16、-15 存儲(chǔ)器修改單元注意事項(xiàng)1. 新建項(xiàng)目或源程序的路徑名和文件名不能使用中文,項(xiàng)目和文件不能存放在桌面上。2. 源程序編譯出錯(cuò)時(shí),請(qǐng)先檢查(1) 相應(yīng)程序行中字母o和數(shù)碼0是否用混了。(2) 標(biāo)點(diǎn)符號(hào)(尤其是“,”和“:”)是否是全角字符。4. 不同實(shí)驗(yàn)內(nèi)容的源程序(*.asm)不能加到同一個(gè)項(xiàng)目中,若已經(jīng)加上,請(qǐng)單擊“項(xiàng)目工作區(qū)”中相應(yīng)文件的文件名,再按鼠標(biāo)右鍵,選擇“Remove File ”,確認(rèn)后即可從項(xiàng)目中移除相應(yīng)文件。實(shí)驗(yàn)一 匯編語(yǔ)言的應(yīng)用及Keil C編譯環(huán)境一、實(shí)驗(yàn)?zāi)康氖煜?1指令系統(tǒng),掌握程序設(shè)計(jì)方法。二、實(shí)驗(yàn)內(nèi)容1、通過(guò)執(zhí)行程序中的相關(guān)指令,將有關(guān)數(shù)據(jù)寫入工作寄存器區(qū)、

17、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū)各存儲(chǔ)單元2、編寫并調(diào)試一個(gè)排序子程序,其功能為用冒泡法將內(nèi)存RAM中幾個(gè)單字節(jié)無(wú)符號(hào)的正整數(shù),按從小到大的次序重新排列。三、實(shí)驗(yàn)步驟及參考程序:1、編寫程序,將有關(guān)數(shù)據(jù)寫入工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū)各存儲(chǔ)單元,并參考預(yù)備知識(shí)中有關(guān)內(nèi)容對(duì)程序的執(zhí)行結(jié)果進(jìn)行檢查。參考程序A:工作寄存器區(qū)的數(shù)據(jù)傳送地址機(jī)器碼源程序注釋檢查數(shù)據(jù)ORG 0000H;表示程序從地址0000H存放0000H78 11MOV R0,#11H;將立即數(shù)11H送到寄存器R0中( H)=11H0002H79 22MOV R1,#22H;將立即數(shù)22H送到寄存器R1中

18、( H)=22H0004H7A 33MOV R2,#33H;將立即數(shù)33H送到寄存器R2中( H)=33H0006H7B 44MOV R3,#44H;將立即數(shù)44H送到寄存器R3中( H)=44H0008H75 D0 10 MOV PSW,#10H;使工作寄存器工作于2區(qū)( H)=10H000BH78 55MOV R0,#55H;將立即數(shù)55H送到寄存器R0中( H)=55H000DH79 66 MOV R1,#66H;將立即數(shù)66H送到寄存器R1中( H)=66H000FH7A 77 MOV R2,#77H;將立即數(shù)77H送到寄存器R2中( H)=77H0011H7B 88 MOV R3,#

19、88H;將立即數(shù)88H送到寄存器R3中( H)=88HSJMP $ END;程序結(jié)束參考程序B:位尋址區(qū)的數(shù)據(jù)傳送地址機(jī)器碼源程序注釋檢查數(shù)據(jù)ORG 0000H;表示程序從地址0000H存放0100H75 20 F0MOV 20H,#0F0H;將字節(jié)地址20H單元中的內(nèi)容置F0H(20H)= 0103HD2 00SETB 00H;將位地址00H單元中的內(nèi)容置1 ( H)=10105HD2 01SETB 01H;將位地址01H單元中的內(nèi)容置1 ( H)=10107HD2 02SETB 02H;將位地址02H單元中的內(nèi)容置1 ( H)=10109HD2 03SETB 03H;將位地址03H單元中的

20、內(nèi)容置1 ( H)=1010BHC2 04CLR 04H;將位地址04H單元中的內(nèi)容置0 ( H)=0010DHC2 05CLR 05H;將位地址05H單元中的內(nèi)容置0 ( H)=0010FHC2 06CLR 06H;將位地址06H單元中的內(nèi)容置0 ( H)=00111HC2 07CLR 07H;將位地址07H單元中的內(nèi)容置0 ( H)=0(20H)= 0113H75 90 FFMOV P1,#0FFH;將字節(jié)地址90H單元中的內(nèi)容置FFH(90H)= 0116HC2 90CLR 90H;將P1.0置0 ( H)=00118HD2 90SETB 90H;將P1.0置1( H)=1011AHC2

21、 91CLR 91H;將P1.1置0 ( H)=0011CHD2 91SETB 91H;將P1.1置1( H)=1SJMP $ END;程序結(jié)束參考程序C:數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū)的數(shù)據(jù)傳送(注意:本程序有兩個(gè)錯(cuò)誤,也是我們編程常出現(xiàn)的小問(wèn)題,請(qǐng)閱讀執(zhí)行debug時(shí)的出錯(cuò)代碼,并參考上面兩個(gè)程序進(jìn)行修改)地址機(jī)器碼源程序注釋檢查數(shù)據(jù)ORG 0200H;表示程序從地址0200H存放0200H75 30 99MOV 30H,#99H;將立即數(shù)99H送到30H中(30H)=(PC)=0203H75 45 AAMOV 45H,#0AAH;將立即數(shù)AAH送到45H中(45H)=(PC)=0206H7

22、5 81 50MOV SP,#50H;將立即數(shù)50H送到堆棧指針SP中( H)=50H(PC)=0209H74 60MOV A,#60H;將立即數(shù)60H送到累加器A中( H)=60H(PC)=020BH75 90 55MOV P1,#55H;將立即數(shù)55H送到P1口中( H)=55H(PC)=020EH75 D0 90 MOV PSW,#90H;使工作寄存器工作于2區(qū)、進(jìn)位位CY置1( H)=90H(PC)=0211H90 12 34MOV DPTR,#1234H;將立即數(shù)1234H送到數(shù)據(jù)指針DPTR中( H)=12H( H)=34H END;程序結(jié)束2、編寫程序,使得存放在50H到5AH單

23、元的數(shù)字按從大到小順序排列。運(yùn)行參考程序,檢查50H到5AH單元是否按從小到大的次序排列,自己修改程序?qū)?0H到5AH單元內(nèi)容改為從小到大排列。參考程序:ORG 0000HLJMP QUEORG 0080HQUE:MOV 50H,#08H MOV 51H,#01HMOV 52H,#07HMOV 53H,#02H MOV 54H,#06HMOV 55H,#09HMOV 56H,#02HMOV 57H,#04HMOV 58H,#08HMOV 59H,#03HMOV 5AH,#05H MOV R3,#50H QUE1:MOV A,R3MOV R0,A ;指針?biāo)蚏0MOV R7,#0AH ;長(zhǎng)度送R7

24、CLR 00H ;清標(biāo)志位MOV A,R0QL2:INC R0MOV R2,ACLR CMOV 22H,R0CJNE A,22H,QL3 ;相等嗎?SETB CQL3:MOV A,R2JC QL1 ;大于交換位置SETB 00HXCH A,R0DEC R0XCH A,R0INC R0 ;大于交換位置QL1:MOV A,R0DJNZ R7,QL2JB 00H,QUE1 ;一次循環(huán)中有交換繼續(xù)LOOP:SJMP LOOP ;無(wú)交換退出END實(shí)驗(yàn)報(bào)告要求:實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)原理、實(shí)驗(yàn)步驟、實(shí)驗(yàn)結(jié)果(填空和自己編寫的程序)思考:在實(shí)驗(yàn)中,沒(méi)有對(duì)單片機(jī)數(shù)據(jù)存儲(chǔ)器進(jìn)行清零操作,試編程對(duì)RAM字節(jié)地址為00H至

25、7FH的單元進(jìn)行清零。實(shí)驗(yàn)二 Proteus軟件學(xué)習(xí)與流水燈仿真實(shí)驗(yàn)2.1.1 Proteus軟件的構(gòu)成Proteus組合了高級(jí)原理布圖、混合模式SPICE仿真、PCB設(shè)計(jì)以及自動(dòng)布線來(lái)實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。Proteus包含了VSM(Virtural System Modelling虛擬系統(tǒng)模型)技術(shù),用戶可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真。Proteus包括Proteus VSM(Proteus虛擬系統(tǒng)模型)和Proteus PCB Design(Proteus印制電路板設(shè)計(jì))兩大部分。Proteus VSM包括智能原理圖輸入系統(tǒng)ISIS(Intelligent

26、Schematic Input System)、帶擴(kuò)展的ProSPICE(Simulation Program With Integrated Circuit Emphasis)混合模型仿真器、動(dòng)態(tài)器件庫(kù)、高級(jí)圖表仿真ASF(Advanced Simulation Feature)和微控制器虛擬系統(tǒng)仿真模型VSM。Proteus PCB Design包括高級(jí)布線編輯軟件ARES(Advanced Rounting and Editing Software)、智能原理圖輸入系統(tǒng)ISIS和高級(jí)圖表仿真ASF。該軟件運(yùn)行于Windows操作系統(tǒng)上,主要特點(diǎn)是:l 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真

27、相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。l 支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:8051/52系列、ARM7(LPC21xx)、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。l 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài)。l 支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB、IAR等軟件。l

28、 具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。2.1.2 Proteus軟件的功能本實(shí)驗(yàn)指導(dǎo)書主要涉及與單片機(jī)課程有關(guān)的軟件設(shè)計(jì)與仿真,故只敘述Proteus VSM的功能。Proteus VSM組合了混合模式的ProSPICE電路仿真、動(dòng)畫器件和微控制器模型,實(shí)現(xiàn)了完整的基于微控制器設(shè)計(jì)的協(xié)同仿真。使在物理原型出來(lái)之前對(duì)這類設(shè)計(jì)的開發(fā)和測(cè)試成為可能。Proteus VSM的各組成部分的功能簡(jiǎn)介如下:一、智能原理圖輸入系統(tǒng)ISIS ISIS是Proteus系統(tǒng)的中心,它遠(yuǎn)不僅是一個(gè)圖表庫(kù)。它既是智能原理圖設(shè)計(jì)、繪制和編輯的環(huán)境,又是數(shù)字電

29、路、模擬電路和數(shù)/?;旌想娐吩O(shè)計(jì)與仿真的環(huán)境,更是單片機(jī)與外圍設(shè)備的設(shè)計(jì)、仿真和協(xié)同仿真的環(huán)境。ISIS組合有很多易用的功能強(qiáng)大的編輯工具,是單片機(jī)系統(tǒng)的設(shè)計(jì)與仿真的平臺(tái)。其主要特點(diǎn)如下:l 生成出版質(zhì)量的原理圖。 l 風(fēng)格模板允許提供庫(kù)部件的用戶化。 l 鼠標(biāo)驅(qū)動(dòng)和內(nèi)容關(guān)聯(lián)的用戶界面。l 自動(dòng)走線,以及接點(diǎn)的布置和切除。l 參數(shù)表示子電路元件值的層次設(shè)計(jì)。l 包括子電路端口以及總線引腳的總線支持。l 挑選元件或建立新庫(kù)元件可預(yù)覽PCB 封裝。l 完全體現(xiàn)多元器件的同性和異性。l 包括相應(yīng)對(duì)話框用戶化的元件特性的精細(xì)管理。 l 超過(guò)8000元件的大型元件庫(kù),完全適用于仿真模型。l 網(wǎng)表格式:L

30、abcenter SDF、SPICE、Tango、Boardmaker、EEDeginer、Futurenet等。l 電氣規(guī)則檢查以及元件報(bào)告清單。l 可彩色或單色輸出到Windows 打印設(shè)備。l 圖形輸出格式:WMF、BNP、DXF、EPS、HPGL 。二、ProSPICE混合模型仿真器ProSPICE是結(jié)合ISIS原理圖設(shè)計(jì)環(huán)境使用的混合型電路仿真器。它基于工業(yè)標(biāo)準(zhǔn)SPICE3F5(美國(guó)加州Berkeley大學(xué)開發(fā))的模擬內(nèi)核,加上混合型仿真的擴(kuò)展以及交互電路動(dòng)態(tài),提供了開發(fā)和測(cè)試設(shè)計(jì)的強(qiáng)大交互式環(huán)境。ProSPICE使用了Berkeley的源代碼,包含了最新的整合技術(shù)以及原型,保證在數(shù)

31、字結(jié)果方面和生產(chǎn)商SPICE模型的最好兼容性。三、微控制器虛擬系統(tǒng)仿真模型VSMProteus可以仿真51 系列、AVR、PIC、ARM等常用的MCU 及其外圍電路??煞抡娴?1系列單片機(jī)模型如下: l 通用:80C31、80C32、80C51、80C52、80C54、80C58。l Atmel:AT89C51、AT89C52、AT89C55;AT89C51RB2、AT89C51RC2 、AT89C51RD2 (X2 和SPI 沒(méi)有模型) l Philips:P87C51FX、P87C51RX+(如 FA、FB、FC、RA+、RB+、RC+、RD等系列)。通過(guò)51系列單片機(jī)模型可完成以下仿真:

32、 l 全部 8051指令系統(tǒng)。l 所有I/O操作。l 所有片上外設(shè)的各種操作模式。 l 所有中斷模式。l 內(nèi)部產(chǎn)生處理器時(shí)鐘以優(yōu)化經(jīng)濟(jì)結(jié)構(gòu)性能,I/O和其它事件定時(shí)器精確至一個(gè)時(shí)鐘相位。l 程序和外部數(shù)據(jù)存儲(chǔ)器能被仿真為內(nèi)部模型,以提高吞吐量,或仿真為外部模型以驗(yàn)證硬件設(shè)計(jì)。l 提供內(nèi)部一致性代碼檢查功能。 l 完整集成ISIS的源碼級(jí)調(diào)試和源碼管理系統(tǒng)。l 支持集成Keil等第三方編譯器和調(diào)試器。 l 支持的編譯器: Keil C51/Vision 2 、MPLAB和IAR。四、動(dòng)態(tài)器件庫(kù)VSM包含超過(guò)8000種元器件模型: l 標(biāo)準(zhǔn)電子元件:電阻、電容、二極管、晶體管、晶閘管、光耦合器、運(yùn)

33、放、555 定時(shí)器等。l 74 系列TTL和 4000系列 CMOS器件。l 存儲(chǔ)器:ROM、RAM、EEPROM、I2C器件等。l 微控制器支持的器件:如I/O口、USART等。Proteus VSM除上述庫(kù)外,同樣包含大量復(fù)雜的外設(shè)模型,如表1-1所示。表1-1 Proteus VSM 高級(jí)外設(shè)模型虛擬儀器和分析工具交互式虛擬儀器雙通道示波器 24通道邏輯分析儀 計(jì)數(shù)器計(jì)時(shí)器 RS232終端 交流電壓表直流電壓表 交流電流表直流電流表規(guī)程分析儀雙模式(主/從)I2C規(guī)程分析儀 雙模式(主/從)SPI規(guī)程分析儀 交互式電路激勵(lì)工具模擬信號(hào)發(fā)生器可輸出方波、鋸齒波、三角波、正弦波信號(hào)數(shù)字圖形發(fā)

34、生器支持1K的標(biāo)準(zhǔn)8-bit數(shù)據(jù)流 光電顯示模型和驅(qū)動(dòng)模型數(shù)字式LCD模型、圖形LCD模型、LED模型、七段顯示模型、光電驅(qū)動(dòng)模型 、光耦模型 電機(jī)模型和控制器電機(jī)模型(直流、步進(jìn)和伺服電機(jī))、電機(jī)控制器模型 存儲(chǔ)器模型I2C EPROM存儲(chǔ)器模型、靜態(tài)存儲(chǔ)器模型、永久性EPROM模型溫度控制模型溫度計(jì)和溫度自動(dòng)調(diào)節(jié)器模型、溫度傳感器模型、熱電偶模型 計(jì)時(shí)模型實(shí)時(shí)時(shí)鐘模型 I2C/SPI規(guī)程模型I2C外設(shè)、SPI外設(shè)、規(guī)程分析儀 一線規(guī)程模型一線EEPROM模型、一線溫度計(jì)模型、一線開關(guān)模型、一線按鈕模型 RS-232/RS-485/RS-422規(guī)程模型RS232終端模型 、Maxim外設(shè)模型

35、 ADC/DAC轉(zhuǎn)換模型模/數(shù)轉(zhuǎn)換模型 、數(shù)/模轉(zhuǎn)換模型 電源管理模型正電源標(biāo)準(zhǔn)儀、負(fù)電源標(biāo)準(zhǔn)儀 、混合電源標(biāo)準(zhǔn)儀 脈寬控制模型全橋脈寬放大器 、半橋脈寬放大器、脈寬調(diào)節(jié)器 拉普拉斯轉(zhuǎn)換模型操作模型、一階模型、二階模型、過(guò)程控制 、線性模型、非線性模型 熱離子管模型二極管模型、五極真空管模型、四極管模型、三極管模型 變換器模型壓力傳感器模型 五、高級(jí)圖表仿真ASF基于圖形化的仿真是傳統(tǒng)的SPICE仿真,包括以下特點(diǎn):l 標(biāo)準(zhǔn)SPICE分析包括:模擬瞬態(tài)、數(shù)字瞬態(tài)、混合模式瞬態(tài)、頻率、傅里葉、噪聲、失真、轉(zhuǎn)換曲線、直流特性、交流特性和工作點(diǎn)。l 圖形顯示模擬、數(shù)字和總線數(shù)據(jù),頻譜顯示增益和相位。

36、l 音頻分析可形成波形或在聲卡上播放。l 交互仿真后,捕捉結(jié)果到圖形上,并進(jìn)行交互的分析。l 數(shù)字信號(hào)一致性分析,后面會(huì)詳細(xì)介紹該工具。l 探針?biāo)^測(cè)點(diǎn)的電壓或電流可以用數(shù)字標(biāo)示出來(lái)。l 使用圖形的圖標(biāo)可以精確度量。l 以CSV格式將仿真結(jié)果輸出給其它軟件,如EXECL。Proteus做為單片機(jī)與嵌入式系統(tǒng)仿真與開發(fā)平臺(tái),支持外圍數(shù)電模電與微控制器的協(xié)同仿真,真正實(shí)現(xiàn)了虛擬物理原型功能。在目標(biāo)板還沒(méi)有投產(chǎn)前,就可以對(duì)設(shè)計(jì)的硬件系統(tǒng)的功能、合理性和性能指標(biāo)進(jìn)行充分調(diào)整,并可以在沒(méi)有物理目標(biāo)板的情況下,進(jìn)行相應(yīng)軟件的開發(fā)和調(diào)試,進(jìn)行完全的虛擬開發(fā),明顯提高企業(yè)的開發(fā)效率,降低開發(fā)風(fēng)險(xiǎn)。無(wú)論是51

37、系列、AVR、還是PIC 系列,他們各有各的特點(diǎn),學(xué)習(xí)者也是逐年增加,但是在學(xué)習(xí)開發(fā)過(guò)程中,我們往往在確定方案后做試驗(yàn)的開支比較大,尤其是對(duì)于一些學(xué)生或者初學(xué)者這就可能成為他們學(xué)習(xí)的障礙。使用Proteus 軟件可大大節(jié)省時(shí)間和開發(fā)費(fèi),在校學(xué)生只要配備一臺(tái)電腦就可以在宿舍用Proteus構(gòu)建成單片機(jī)與嵌入式系統(tǒng)仿真與設(shè)計(jì)實(shí)驗(yàn)室,同時(shí)也是數(shù)電模電仿真實(shí)驗(yàn)室。2. 2 Proteus軟件仿真系統(tǒng)的使用方法單片機(jī)的軟件設(shè)計(jì)與仿真主要在智能原理圖輸入系統(tǒng)ISIS中進(jìn)行,本書只介紹ISIS的使用,并以Proteus 7.1SP2 Professional(漢化版)版本為平臺(tái)。雙擊桌面上的ISIS 7 P

38、rofessional圖標(biāo)或者單擊屏幕左下方的“開始”“程序”“Proteus 7 Professional” “ISIS 7 Professional”,進(jìn)入Proteus ISIS集成環(huán)境,如圖1-1所示。菜單欄標(biāo)題欄命令工具欄狀態(tài)欄仿真工具欄編輯區(qū)器件選擇按鈕對(duì)象選擇器窗口預(yù)覽窗口方向工具欄模式選擇工具欄庫(kù)管理按鈕標(biāo)簽圖1-1 ISIS窗口2.2.1 ISIS窗口簡(jiǎn)介一、菜單欄菜單欄中的每項(xiàng)都有下一級(jí)菜單,許多命令左方的圖標(biāo)表明該命令在工具欄中有相應(yīng)的按鈕,有部分命令的右方標(biāo)有該命令的快捷鍵。二、編輯區(qū)編輯區(qū)用來(lái)繪制原理圖。藍(lán)色方框內(nèi)為可編輯區(qū),元件要放到可編輯區(qū)的里面。這個(gè)窗口沒(méi)有滾動(dòng)

39、條,可用預(yù)覽窗口來(lái)改變?cè)韴D的可視范圍。 三、工具欄工具欄分為命令工具欄、模式選擇工具欄、方向工具欄和仿真工具欄四類。許多操作既可通過(guò)菜單欄有可通過(guò)工具欄來(lái)執(zhí)行,一般來(lái)說(shuō)使用工具欄要方便快捷。常用命令的名稱和功能說(shuō)明如下:1、命令工具欄l 文件操作按鈕 新建設(shè)計(jì)在默認(rèn)的模板上新建一個(gè)設(shè)計(jì)文件。 加載設(shè)計(jì)裝載一個(gè)新的設(shè)計(jì)文件。 保存設(shè)計(jì)保存當(dāng)前設(shè)計(jì)文件。 導(dǎo)入將一個(gè)局部文件導(dǎo)入ISIS中。 導(dǎo)出將當(dāng)前對(duì)象導(dǎo)出為一個(gè)局部文件。 打印打印當(dāng)前設(shè)計(jì)文件。 設(shè)置區(qū)域打印選中的區(qū)域。l 顯示操作按鈕 刷新屏幕 網(wǎng)格顯示/不顯示網(wǎng)格點(diǎn)。 原點(diǎn)顯示/不顯示原點(diǎn)。 平移使可編輯區(qū)充滿整個(gè)編輯區(qū)。 放大放大可編輯

40、區(qū),也可通過(guò)中鍵放大。 縮小縮小可編輯區(qū),也可通過(guò)中鍵放大。 全部顯示使可編輯區(qū)充滿整個(gè)編輯區(qū)。 放大到區(qū)域放大選中的區(qū)域充滿整個(gè)編輯區(qū)。l 編輯操作按鈕 撤銷撤銷最后的操作。 重做恢復(fù)最后的操作。 剪切剪切選中的對(duì)象。 復(fù)制復(fù)制選中的對(duì)象到剪貼板。 粘貼從剪貼板粘貼。 塊復(fù)制復(fù)制選中的塊對(duì)象到剪貼板。 塊移動(dòng)移動(dòng)選中的塊對(duì)象。 塊旋轉(zhuǎn)旋轉(zhuǎn)選中的塊對(duì)象。 塊刪除刪除選中的塊對(duì)象。 選擇元件/符號(hào)從元器件庫(kù)中選取元件。 制作器件將原理圖符號(hào)封裝成元件。 器件封裝工具定義PCB封裝。 分解打散選中的元件成原始組件。l 設(shè)計(jì)操作按鈕 實(shí)時(shí)Snap(捕捉) 搜索并標(biāo)記 屬性分配工具 設(shè)計(jì)管理器 添加一

41、張圖紙 移除一張圖紙 電氣規(guī)則檢查 網(wǎng)表到AREA(2)模式選擇工具欄l 主模式選擇按鈕 用于即時(shí)編輯元件參數(shù) (先單擊該按鈕再單擊要修改的元件) 元件選擇元器件(默認(rèn)選擇)。 點(diǎn)放置連接點(diǎn)(電線的交點(diǎn))。 網(wǎng)路標(biāo)號(hào)放置電線標(biāo)簽(總線標(biāo)記時(shí)用)。 文本放置文本。 總線用于繪制總線。 子電路用于放置子電路。l 工具箱 終端有VCC、地、輸出、輸入等接口終端。 器件引腳用于繪制各種引腳。 仿真圖表用于各種分析(如Frequency、Analogue)。 錄音機(jī) 信號(hào)發(fā)生器 電壓探針圖表仿真分析時(shí)用。 電流探針圖表仿真分析時(shí)用。 虛擬儀表有示波器、邏輯分析儀等。l 2D繪圖按鈕 畫各種直線 畫各種方

42、框 畫各種圓 畫各種圓弧 畫各種多邊形 畫各種文本 畫符號(hào) 畫原點(diǎn)(3)方向工具欄 右旋轉(zhuǎn):旋轉(zhuǎn)角度只能是90的整數(shù)倍。 水平翻轉(zhuǎn):完成水平翻轉(zhuǎn)。 左旋轉(zhuǎn):旋轉(zhuǎn)角度只能是90的整數(shù)倍。 垂直翻轉(zhuǎn):完成垂直翻轉(zhuǎn)。(4)仿真工具欄 運(yùn)行 單步運(yùn)行 暫停 停止四、預(yù)覽窗口預(yù)覽窗口可顯示如下內(nèi)容:l 當(dāng)在對(duì)象選擇器窗口中單擊某一個(gè)元器件時(shí),該元器件會(huì)顯示在預(yù)覽窗口。此時(shí)可通過(guò)方向工具欄中的按鈕對(duì)該元器件進(jìn)行旋轉(zhuǎn)和翻轉(zhuǎn)操作。l 當(dāng)鼠標(biāo)指針在編輯區(qū)窗口操作時(shí),預(yù)覽窗口會(huì)顯示可編輯區(qū)的縮略圖,并顯示一個(gè)綠色方框,綠色方框內(nèi)的內(nèi)容就是當(dāng)前編輯區(qū)窗口中顯示的可編輯區(qū)的內(nèi)容。l 當(dāng)單擊預(yù)覽窗口的綠色方框后,移動(dòng)鼠

43、標(biāo)可改變綠色方框的位置,從而改變可編輯區(qū)的可視區(qū)域,再次單擊預(yù)覽窗口的綠色方框退出移動(dòng)綠色方框。 五、對(duì)象選擇器窗口對(duì)象選擇器用來(lái)選擇繪圖用各類元器件、儀器等,可執(zhí)行以下操作:l 當(dāng)單擊模式選擇工具欄某一按鈕時(shí),標(biāo)簽顯示對(duì)象選擇器窗口所列對(duì)象的類型。l 當(dāng)單擊器件選擇按鈕“P”時(shí),可從打開的“Pick Devices”對(duì)話框中選取元器件。Proteus有30多個(gè)元器件庫(kù),選取元器件對(duì)話框如圖1-2所示。l 當(dāng)單擊庫(kù)管理按鈕“L” 時(shí),可從打開的“Devices Libraries Manager”對(duì)話框中整理元器件庫(kù)。用戶器件庫(kù)USERDVC可由用戶自己添加元器件,也可單擊建庫(kù)按鈕“Creat

44、e Library”建立自己的庫(kù)。元器件名稱元器件描述所屬庫(kù)元器件列表關(guān)鍵字類別子類別生產(chǎn)廠家元器件預(yù)覽元器件封裝元器件PCB預(yù)覽圖1-2 選取元器件對(duì)話框2.2.2 單片機(jī)應(yīng)用系統(tǒng)的Proteus設(shè)計(jì)與仿真步驟一、Proteus使用中的操作步驟Proteus設(shè)計(jì)與仿真以ISIS為平臺(tái),用于單片機(jī)應(yīng)用系統(tǒng)的開發(fā),主要可分為三大步驟。1. Proteus電路設(shè)計(jì)該步驟主要包括電路設(shè)計(jì)、選取元器件、接插件、連接電路和電氣檢測(cè)等。繪制原理圖要在可編輯區(qū)的藍(lán)色方框內(nèi)完成。具體步驟如下:(1)新建設(shè)計(jì)文件:?jiǎn)螕簟拔募薄靶陆ㄔO(shè)計(jì)”,在彈出的“Create New Deign”對(duì)話框中選擇模板后單擊“OK

45、”。(2)設(shè)置圖紙尺寸:?jiǎn)螕簟跋到y(tǒng)”“設(shè)置圖紙尺寸”,在彈出的“Sheet Size Configueration”對(duì)話框中選擇圖紙尺寸或自定義尺寸后單擊“OK”。(3)保存設(shè)計(jì)文件:?jiǎn)螕簟拔募薄氨4嬖O(shè)計(jì)”,在彈出的“Save ISIS Design File”對(duì)話框中指定文件夾、輸入文件名并選擇保存類型為“Design File”后單擊“保存”。(4)選取元器件:?jiǎn)螕裟J竭x擇工具欄“元件”按鈕,單擊器件選擇按鈕“P”,在彈出的 “Pick Devices”( 選取元器件)對(duì)話框的“Keywords”(關(guān)鍵字)欄中輸入元器件名稱(也可以是分類、小類、屬性值),與關(guān)鍵字匹配的元器件顯示在元器件

46、列表(Results)中。雙擊選中的元器件,便將所選元器件加入到對(duì)象選擇器窗口。同樣方法選取其他元器件,單擊“OK”完成元器件選取。(5)設(shè)置網(wǎng)格:?jiǎn)螕簟安榭础薄熬W(wǎng)格”,網(wǎng)格顯示;再次單擊,網(wǎng)格不顯示(也可單擊命令工具欄的“網(wǎng)格”按鈕)。單擊“查看”“Snap xxth”(或Snap x.xin),改變網(wǎng)格單位。(6)放置元器件:?jiǎn)螕魧?duì)象選擇器窗口的元器件,該元器件名背景變?yōu)樗{(lán)色,預(yù)覽窗口顯示該元器件;將鼠標(biāo)指針移到編輯區(qū)某一位置,單擊一次就可放置一個(gè)元器件。(7)編輯元器件:右擊(或單擊)編輯區(qū)的元器件,該元器件變?yōu)榧t色表明被選中,鼠標(biāo)指針?lè)诺奖贿x中的元器件上,按住左鍵拖動(dòng),將鼠標(biāo)移到編輯區(qū)

47、某一位置松開,即完成元器件的移動(dòng)。鼠標(biāo)指針?lè)诺奖贿x中的元器件上右擊,單擊彈出的快捷菜單中的方向工具命令可實(shí)現(xiàn)元器件的旋轉(zhuǎn)和翻轉(zhuǎn)。右擊編輯區(qū)中被選中的元器件,可刪除該元器件。(8)放置終端:?jiǎn)螕裟J竭x擇工具欄“終端”按鈕,單擊對(duì)象選擇器窗口的終端(如POWER為電源、GROUND為地),該終端名背景變?yōu)樗{(lán)色,預(yù)覽窗口顯示該終端;將鼠標(biāo)指針移到編輯區(qū)某一位置,單擊一次就可放置一個(gè)終端。(9)連線:?jiǎn)螕裘罟ぞ邫凇皩?shí)時(shí)Snap(捕捉)”按鈕,實(shí)時(shí)捕捉有效,當(dāng)鼠標(biāo)指針接近引腳末端時(shí),該處會(huì)自動(dòng)出現(xiàn)一個(gè)小方框“”,表明可以自動(dòng)連接到該點(diǎn),2. Proteus源程序設(shè)計(jì)與編譯該步驟主要包括源程序設(shè)計(jì)、編輯

48、、匯編編譯、生成目標(biāo)代碼文件(HEX格式)。3. Proteus仿真該步驟主要包括加載目標(biāo)代碼文件、仿真。4常用的操作要點(diǎn) 左鍵放置元件;右鍵選擇元件;雙擊右鍵刪除元件;右鍵拖選多個(gè)元件。 先右鍵后左鍵編輯元件屬性;先右鍵后左鍵拖動(dòng)可移動(dòng)元件。 連線用左鍵;刪除用右鍵;先右擊連線再左鍵拖動(dòng)可改連接線。 中鍵縮放原理圖。 使用的Proteus軟件版本不一樣,操作上會(huì)有點(diǎn)差異,較新的版本在保留原有操作方法的基礎(chǔ)上會(huì)有一些擴(kuò)展二、Proteus使用中的注意事項(xiàng)1. 設(shè)置代碼產(chǎn)生工具第一次使用該軟件時(shí),要設(shè)置代碼產(chǎn)生工具。單擊“源文件”“定義代碼產(chǎn)生工具”,在彈出的“Add/Remove Code G

49、eneration Tools”對(duì)話框中,單擊“Code Generation Tool”欄下拉列表框按鈕,選擇“ASEM51”(51匯編器);在“Make Rules”欄和“Debug Data Extraction”欄按表1-3所示進(jìn)行設(shè)置,單擊“OK”。圖1-3 定義代碼產(chǎn)生工具對(duì)話框2. 編譯出錯(cuò)信息(1)常見編譯出錯(cuò)信息一Processing .KeildzText1.LST. 源程序名ASEM51 .KeildzText1.LST /INCLUDES:C:Program FilesLabcenter ElectronicsProteus 7 ProfessionalTOOLSASE

50、M51 源程序路徑Invalid keyboard code specified MCS-51 Family Cross Assembler ASEM-51 V1.2 匯編器 too many parameters: 7 usage: ASEM /INCLUDES:p /DEFINE:s:v:t /COLUMNS ERROR: ASEM.EXE reported error code (2L). Extracting debug data from .KeildzText1.LST. 從列表提取調(diào)試數(shù)據(jù)Processed 15 lines. 處理行數(shù) 15行Build FAILED with

51、1 error(s). 代碼建立失敗原因:命令參數(shù)不正確。解決辦法:?jiǎn)螕簟霸次募薄岸x代碼產(chǎn)生工具”,在彈出的“Add/Remove Code Generation Tools”對(duì)話框中,刪除“Command Line”欄中的內(nèi)容,重新輸入“%1,%2,%3”。(2)常見編譯出錯(cuò)信息二MAIN為未定義符號(hào)(應(yīng)檢查標(biāo)號(hào)為MAIN的指令)“:”為非法字符(應(yīng)改為英文輸入法下的“:”)“,”為非法字符(應(yīng)改為英文輸入法下的“,”)L2為未定義符號(hào)(應(yīng)檢查標(biāo)號(hào)為L(zhǎng)2的指令)第2行 未定義符號(hào)第6行 非法字符圖1-4 源程序編譯窗口單擊“源文件”“構(gòu)建所有”(編譯源程序),彈出源程序編譯窗口如圖1-4所示。若編譯不出錯(cuò),則自動(dòng)生成目標(biāo)代碼文件(HEX格式);若編譯出錯(cuò),根據(jù)提示修改源程序并保存,直至編譯成功。原因:圖1-4中有未定義符號(hào)(symbol not defined)和非法字符(illegal character)。解決辦法:根據(jù)源程序編譯窗口提示的信息修改源程序并保存,然后重新編譯。提示:程序輸入要在英文輸入法下進(jìn)行,否則會(huì)造成編譯出錯(cuò)。3. 8051 CPU Source Code源代碼調(diào)試窗口信息使用Proteus自帶匯編器(如ASEM51),它將產(chǎn)生SDI文件。當(dāng)單步調(diào)試程序時(shí),源代碼窗口將出現(xiàn)SDI文件。8051 CPU Source Co

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論