按鍵狀態(tài)顯示_第1頁
按鍵狀態(tài)顯示_第2頁
按鍵狀態(tài)顯示_第3頁
按鍵狀態(tài)顯示_第4頁
按鍵狀態(tài)顯示_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課題:K1-K4按鍵控制顯示摘要:單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。本次課程設(shè)計是通過控制P0口的四個LED燈來顯示接在P1口的四個按鍵K1-K4的狀態(tài)。通過繪制原理圖,軟件編程及調(diào)試仿真,面包板組裝實物調(diào)試等一系列任務(wù),掌握單片機知識應用,鞏固單片機的學習課程。關(guān)鍵詞:單片機,領(lǐng)域,原理圖,實物調(diào)試目錄TOC\o"1-5"\h\z\o"CurrentDocument"一、 緒論 1\o"CurrentDocument"1.1、 引言 1\o"CurrentDocument"1.2、 設(shè)計目的 1\o"CurrentDocument"1.3、 設(shè)計步驟工作過程安排 1\o"CurrentDocument"1.4、 課題要求 11.5、 設(shè)計步驟 1二、 硬件設(shè)計 3\o"CurrentDocument"2.1、 系統(tǒng)簡介 3\o"CurrentDocument"2.2、 系統(tǒng)元件統(tǒng)計 3\o"CurrentDocument"2.3、 設(shè)計系統(tǒng)中主要元件簡述 4\o"CurrentDocument"2.3.1、 TC89C52RC單片機的簡介 42.3.2、 發(fā)光二極管LED的簡介 6\o"CurrentDocument"2.4、 設(shè)計系統(tǒng)中主要電路的簡介 62.4.1、 復位電路 62.4.2、 時鐘電路 7\o"CurrentDocument"2.5、 系統(tǒng)結(jié)構(gòu)圖設(shè)計 8\o"CurrentDocument"2.6、 原理圖的設(shè)計 8\o"CurrentDocument"三、 程序的設(shè)計 10\o"CurrentDocument"3.1、 程序流程圖的設(shè)計 10\o"CurrentDocument"3.2、 、程序設(shè)計 103.2.1、 C語言編程 11\o"CurrentDocument"3.2.2、 匯編語言編程 123.2.3、 兩種程序的比較 13\o"CurrentDocument"四、 系統(tǒng)調(diào)試 14\o"CurrentDocument"4.1、 仿真調(diào)試 144.1.1、 匯編語言調(diào)試的步驟和注意事項 144.1.2、 匯編語言調(diào)試效果圖 144.1.3、 C語言調(diào)試步驟 164.2、 、實物調(diào)試 174.3、 調(diào)試中出現(xiàn)的問題以及解決方法 19五、 總結(jié)體會 20參考文獻 21一、緒論1.1、 引言隨著超大規(guī)模集成電路技術(shù)的發(fā)展,單片機微型計算機也隨之有了很大發(fā)展,各種新的單片機成出不窮,并已廣泛地應用到人類生活的各個領(lǐng)域,成為當今科學技術(shù)現(xiàn)代化不可缺少的重要工具。作為當代大學生,我們應該將理論與實踐相結(jié)合。通過本次課程設(shè)計加以應用,從而達到一個對所學知識的應用和鞏固、更進一步的理解。1.2、 設(shè)計目的本次課程設(shè)計其主要目的如下:1) 熟悉匯編語言程序設(shè)計的基本概念和原理;2) 加強自身匯編語言編程能力及單片機知識的實際應用能力;3) 學會使用proteus繪制原理圖和仿真;4) 通過在面包板上組裝電路和調(diào)試效果,進一步深刻了解單片機;5) 加強自己的動手能力。1.3、 工作過程安排根據(jù)時間和要求過程安排如下:1) 第一周:安裝軟件和系統(tǒng),并學會使用軟件,根據(jù)設(shè)計任務(wù),繪制電路原理圖;2) 第二周:編寫匯編語言并進行調(diào)試;3) 第三周:在面包板上組裝電路并進行調(diào)試;4) 第四周:編寫說明書。1.4、 課題要求課題要求如下:1) KI、K2按下對應LED燈DI、D2亮,釋放時DI、D2熄滅;2)K3、K4按下并釋放時對應LED燈D3、D4亮,再次按下K3、D4并釋放時D3、D4熄滅。

1.5、設(shè)計步驟根據(jù)課題要求,設(shè)計步驟如下:1) 用PROTUSE軟件繪制電路原理圖;2) 根據(jù)電路原理圖用匯編語言寫出程序;3) 利用PROTUSE軟件進行仿真,并觀察仿真結(jié)果;4) 根據(jù)原理圖在面包板上組裝電路進行調(diào)試;5) 完成實驗報告。工作順序如圖1-1所示:圖1-1、設(shè)計工作流程圖二、硬件設(shè)計2.1、系統(tǒng)簡介K1-K4按鍵控制顯示是由一個單片機的最小系統(tǒng),四個按鍵,4個LED二極管和4個220歐電阻組成。其中,KI、K2分別接在P1.0、P1.1,分別控制LED燈DI、D2的明滅;K3、K4分別接在Pl.2、P1.3,分別控制LED燈D3、D4的明滅。2.2、系統(tǒng)元件統(tǒng)計通過該設(shè)計實現(xiàn)功能分析分析可得到其元件數(shù)量、種類。如表2-1:表2-1元件詳細表序號元件功能備注數(shù)量1STC89C51RC芯片可編程芯片8位單片機1個2LED燈D1?D4顯示按鍵狀態(tài)4個3電阻限流2204個4石英晶振X1產(chǎn)生一定的時鐘信號12M1個5電容C2,C3幫助起振及微調(diào)晶振頻率20pF2個6電阻R1控制復位時間10K1個7電解電容C1上電復位10uF1個8按鍵K1?K4控制復位4個注:所謂復位就是RES端有5個以上的機器周期(不同的單片機不同)維持高電平,所以即使RESET按下,RES端也得不到高電平(=1/200*UCC)。RESET按下就是要C放電,使電源電壓直接加到RES端,所以C與R1取值一般為(10UF,10K)。2.3、設(shè)計系統(tǒng)中主要元件簡述2.3.1、TC89C52RC單片機的簡介STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CM0S8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供咼靈活、超有效的解決方案。具有以下標準功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,內(nèi)置4KBEEPROM,MAX810復位電路,3個16位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至OHz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz。1、TC89C52RC單片機的特性TC89C52單片的一些在設(shè)計中要了解的特性:可帶可帶H串口下載存儲空間2、TC89C52RC單片機的參數(shù)對TC89C51單片機的參數(shù)做一個簡單的介紹增強型8051單片機,6始終/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)5051;工作電壓:5.5V?3.3V(5V單片機)/3.8V?2.0V(3V單片機);工作頻率范圍:0?40MHZ,相當于普通8051的0?80MHZ,實際工作頻率48MHZ;用戶應用程序空間為8K字節(jié);片上集成512字節(jié)RAM;通用I/O口(32個),復位后為:P0/P1/P2/P3是準雙向/弱上拉,P0口是漏極開路輸出,作為總線擴展使用時,不用加上拉電阻,作為I/O用時,需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成;具有EEPROM功能;共3個16位定時器/計時器,即定時器T0、T1、T2;外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中

斷方式喚醒;11工作溫度范圍:-40?+80°C(工業(yè)級)/0?75°C(商業(yè)級);12PDIP封裝。3、STC89C52RC單片機的管腳說明就本次課程設(shè)計中所用到的引腳做個簡單的介紹。VCC:供電電壓GND:接地P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。STC89C52RC單片機的管腳分布如圖2-1:T2/P1.0T2EX/P1.1P1.2P1.3P1.4P1.T2/P1.0T2EX/P1.1P1.2P1.3P1.4P1.5P1.6IP1.7RSTRXD/P3.0'TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3?6:RD/P3?7'XTAL2XTAL1VSS01234T—s911111PDIP—404-321o98_vl3333322215 262524圖2-1、STC89C52引22第5頁21卻圖VCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA ALE/PR0GPSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/AUP2.2/A10P2.1/A9P2.0/A82.3.2、發(fā)光二極管LED的簡介它是半導體二極管的一種,可以把電能轉(zhuǎn)化成光能。發(fā)光二極管與普通二極管一樣是由一個PN結(jié)組成,也具有單向?qū)щ娦?。發(fā)光二極管的兩根引線中較長的一根為正極,應接電源正極。有的發(fā)光二極管的兩根引線一樣長,但管殼上有一凸起的小舌,靠近小舌的引線是正極。與小白熾燈泡和氖燈相比,發(fā)光二極管的特點是:工作電壓很低(有的僅一點幾伏);工作電流很?。ㄓ械膬H零點幾毫安即可發(fā)光);抗沖擊和抗震性能好,可靠性高,壽命長;通過調(diào)制通過的電流強弱可以方便地調(diào)制發(fā)光的強弱。圖2-2是本次課程設(shè)計LED的兩種接線方式:Vcc1K接法二Vcc1K接法二圖2-2、LED接線圖2.4、設(shè)計系統(tǒng)中主要電路的簡介2.4.1、復位電路復位電路,就是利用它把電路恢復到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,當你進行完了一個題目的計算后肯定是要清零的是吧!或者你輸入錯誤,計算失誤時都要進行清零操作。以便回到原始狀態(tài),重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬上進行復位操作;二是在必要時可以由手動操作;三是根據(jù)程序或者電路運行的需要自動地進行。復位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了。再復雜點就有三極管等等配合程序來進行了。下面是兩種復位電路的介紹:1、手動按鈕復位手動按鈕復位需要人為在復位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc

之間接一個按鈕。當人為按下按鈕時,貝I」Vcc的+5V電平就會直接加到RST端。手動按鈕復位的電路如圖2-3所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復位的時間要求。+5VO-nRSTVcc+5VO-nRSTVcc一接地圖2-3、手動按鈕復位2、上電復位上電復位電路如圖2-4所示,只要在RST復位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至luF。上電復位的工作過程是在加電時,復位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間。RST VccGNDV+5V圖2-4、上電復位2.4.2、時鐘電路STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖2-5所示,在RXD和TXD引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.2?12MHz之間選擇,電容值在5?30pF之間選擇,電容值的大小2.5、系統(tǒng)結(jié)構(gòu)圖設(shè)計按鍵設(shè)定部分比較簡單,因為本系統(tǒng)按鍵少,所以在設(shè)計上采用了獨立按鍵方式,程序的編制上也采用了簡單的掃描方式。根據(jù)課題要求和實際材料器件設(shè)計系統(tǒng)結(jié)構(gòu)如圖2-6:圖2-6、K1-K4按鍵控制狀態(tài)顯示系統(tǒng)結(jié)構(gòu)圖2.6、原理圖的設(shè)計根據(jù)課題要求要實現(xiàn)的基本功能、需要的硬件材料和系統(tǒng)結(jié)構(gòu)圖設(shè)計了原理圖。

第8頁原理圖有兩個部分組成:單片機最小系統(tǒng)、LED控制電路。單片機最小系統(tǒng)包括單片機、5V電源、晶振電路、復位電路。LED控制電路包括四盞LED燈、四個220Q電阻。電路原理圖具體如圖2-7:U1AT89C519341310k10uF-2L-2Z二_2±二二二二—' 22pFi—iU1AT89C519341310k10uF-2L-2Z二_2±二二二二—' 22pFi—iX1C-2工II.22pFC34XTAL1XTAL2RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7PSENP2.0/A8P2.1/A9P2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13F'1.0P2.6/A14P2.7/A15P3.0/RXDP1.1P3.1JTXDF'1.2P3.2/1NT0PI.3P3.3/1NT1F'1.4P3.4.'T0PI.5P3.5/T1F'1.6P3.6/WRP1.7P3.7/RD18圖2-7、電路原理圖三、程序的設(shè)計3.1、程序流程圖的設(shè)計根據(jù)一系列的資料和課題的要求,我認為我這個課題程序的設(shè)計思路是:單片機以2ms到5ms的周期,對所有開關(guān)進行掃描,單片機掃描到各個開關(guān)的狀態(tài)以后,進行保存,然后得到每一個開關(guān)的前一狀態(tài)和當前狀態(tài),再根據(jù)具體的邏輯要求,讓LED亮或者滅。根據(jù)這個思路我設(shè)計了程序流程圖如圖3-1:圖3T、程序流程圖3.2、、程序設(shè)計根據(jù)程序流程圖以及原理圖各個引腳布置進行程序設(shè)計。3.2.1、C語言編程下面是C語言編程及部分注釋:#include〈reg51.h〉#defineucharunsignedchar#defineuintunsignedintsbitLED1=PO'O;對開關(guān)和燈與對應的觸角進行定義sbitLED2=P0'l;sbitLED3=P0"2;sbitLED4=P0'3;sbitK1=P「O;sbitK2二P「l;sbitK3=P「2;sbitK4=P「3;//延時voidDelayMS(uintx);這是一個延時函數(shù),延時毫秒級{uchari;while(x—)for(i=0;i〈120;i++);}//主程序voidmain(){P0=0xff;51單片機為準雙向口,讀入前先寫1P1=0xff;while(1){LED1=K1;K1、K2按下時對應燈亮,松開則滅LED2=K2;if(K3==0){while(K3==0);等待按鍵釋放LED3=~LED3;燈取反,實現(xiàn)按一次鍵亮再按一次滅依次反復}if(K4==0);同K3{while(K4==0);LED4=~LED4;}DelayMS(lO);延時十毫秒,和去抖動}}3.2.2、匯編語言編程對所有開關(guān)進行掃描,單片機掃描到各個開關(guān)的狀態(tài)以后,進行保存,然后得到每一個開關(guān)的前一狀態(tài)和當前狀態(tài),再根據(jù)具體的邏輯要求,讓LED亮或者滅。根據(jù)以上思路進行匯編語言編程。ORG0000HK3:CALLK12 ;處理KI、K2JBPl.2,K4;K3沒有按鍵,轉(zhuǎn)移CALLDELAY;延時JBP1.2,K4;消抖JNBP1.2,$ ;等待釋放CPL20H.2 ;狀態(tài)翻轉(zhuǎn)MOVC,20H.2MOVP0.2,C;輸出K4:JBP1.3,K3;同K3CALLDELAYJBP1.3,K3JNBP1.3,$CPL20H.3MOVC,20H.3MOVP0.3,CK12:MOV C,P1.0MOV P0.0,CMOV C,P1.1MOV P0.1,CRETDELAY:CALLK12DJNZR7,DELAYRETEND3.2.3、兩種程序的比較這兩種程序各有各的優(yōu)缺點,他們的指令集,尋址方式不同,相當于兩個機器各有各的操作方式,匯編語言是低級語言,在編寫程序的時候會把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)?nèi)存和CPU里的通用寄存器直接操縱。不同的計算機系列會有不同的匯編語言而C語言是高級語言,可以實現(xiàn)跨平臺。表3-1是兩種程序的比較。表3-1程序比較表匯編語言C語言容量175個字節(jié)269個字節(jié)復雜程度復雜簡單編程思想直接掃描各個開關(guān)狀態(tài)對K3、K4按鍵取反功能LED顯示開關(guān)狀態(tài)開關(guān)控制LED燈的亮或滅查閱單片機課程可知,JBP1.3K3占用三個字節(jié),CPL20H.2占用占用一個字節(jié),以此類計算得出匯編語言占用175個字節(jié)。C語言占用字節(jié)是根據(jù)不同變量、不同函數(shù)所占字節(jié)不同全體相加得來共占用269個字節(jié)。四、系統(tǒng)調(diào)試本次課程設(shè)計老師要求使用Proteus仿真軟件進行繪制原理圖和進行仿真實驗。4.1、 仿真調(diào)試本次課程設(shè)計仿真調(diào)試采用的是Proteus軟件和Keil軟件。4.1.1、 匯編語言調(diào)試的步驟和注意事項下面是仿真調(diào)試的步驟和一些易出錯的注意事項:因為Proteus軟件中自帶的匯編編譯器都是使用命令行命令進行編譯。在菜單Source-〉Definecodegenerationtools打開的對話框中,有一項參數(shù)是 CommandLine,對于代碼:%1/INCLUDES:C:\ProgramFiles\LabcenterElectronics\Proteus7Professional\T00LS\ASEM51,其中%1代表的是源代碼,/INCLUDES:后面跟著的是包含路徑,該路徑下的*.mcu文件即是通常的SFR定義文件。其實這一參數(shù)并不需要設(shè)置,通常我們的CommandLine參數(shù)設(shè)置為%1即可。這個/INCLUDES:的路徑參數(shù)設(shè)置也是有問題的。因為它的中間包含了空格,ASEM51匯編器會把它認為是幾個參數(shù),因而會出現(xiàn)toomanyparameters的錯誤。同樣的道理,如果你的匯編程序存儲的路徑或文件名中包含了空格或一些其它有可能使用命令行出現(xiàn)錯誤的字符,編譯時也會出現(xiàn)錯誤。另外需要注意的是ASER5不支持$符號,即不能使用類似JMP$的命令。文件名不能太長。4.1.2、 匯編語言調(diào)試效果圖下面是具體的操作步驟:首先繪制所需要的電路圖,編輯好源文件以后,在Proteus軟件中編譯;鏈接并生成工程代碼(.HEX文件);然后將生成的源代碼裝入上面電路圖里面的單片機中;最后進行仿真調(diào)試。圖4-1為部分步驟:添加HEX文件,圖3-2為仿真初始狀態(tài),圖4-2、圖4-3是調(diào)試效果圖。U1D1okHI>XTAL1PO.OAADOpn1/arHllrl AR2__■■■ ■22Q????? ?AEditComponentExcludefromSimulationExcludefromPCBLayout|~Attachhierarchymodule|—Hidecommonpins圖4-1、添加HEX文件當按鍵K3、K4按下并釋放時,LED燈D3、D4亮,如圖4-2。_r一;PF222一pFCT22口丄?1M_r一;PF222一pFCT22口丄?1MX-12okPO.O/ADO>XTAL1P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5RSTP0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10ALEEAP2.4/A12JP2.6/A14P2.7/A15P1.0P1.1PJ.U/raUP3.1/TXDP1.2P3.2/1NT0HI.JP1.4PJ.JflN11P3.4.'T0P1.5P3.5JT1P1.6P3.6/WRP1.7P3.7/RDATS9C51R4圖4-2、K3、K4按下并釋放時,LED燈的狀態(tài)當KI、K2按鍵按下時,LED燈DI、D2亮,如圖4-3。C1-i-22p舌工?1MX12-HokU1>XTAL1XTAL2RSTF'SENALEEAPI.0P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3PU.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0^RXDPI.1PI.2PI.4PI.5PI.6393837??D1---■(S)R2-220--R4F'3.1/TXDP3.2/1NTCTP3.3/1NT1P3.4.-T0P3.5O1_P3.6/WR"P3.7/RD圖4-3、KI、K2按鍵按下時,LED燈的狀態(tài)4.1.3、C語言調(diào)試步驟下面是C語言調(diào)試的一些步驟,其中部分步驟如圖4-4、4-5所示。進入KeilC程序,新建一個工程,并為該工程選擇一個合適的CPU(如AT89C51),加入源程序。注意:KeilC的工程文件一定要與Proteus的圖形文件放在同一個文件夾內(nèi)。點擊工具欄的“optionfortarget”按鈕,或者單擊“Project菜單—OptionsforTarget”選項。在彈出的窗口中,點擊“Debug”按鈕。然后在出現(xiàn)的對話框里在右欄上部的下拉菜單里選中“ProteusVSMMonitor—51Driver”。并且還要點擊一下“Use”前面的小圓點,表明選中該項。如果不是在同一臺電腦上進行仿真,則需要設(shè)置通信接口:點擊旁邊的“etting”按鈕,在彈出的窗口中“Host”后面添上另一臺電腦的IP地址,在“Port”后面添加“8000”。設(shè)置好后點擊“OK”按鈕即可。進入Proteus的ISIS,鼠標左鍵點擊菜單“Debug”,選中“useromotedebugermonitor”項。打開與KeilC的工程文件所對應的圖形文件。最后,將KeilC中的工程編譯,進入調(diào)試狀態(tài),再看看Proteus,已經(jīng)發(fā)生變化了。這時再執(zhí)行KeilC中的程序,Proteus已經(jīng)在進行仿真了。下面是C語言調(diào)試的部分步驟如圖4-4、圖4-5。BlFiles審]BlFiles審]也1Bocks圖4-4、C語言調(diào)試HEX文件生成VU±UHid±111}{c|Fl=0xzz;

RELAY=1;

while(1)

Lt…Buildtarget1Target11compilingTextCR.C...linking...ProgramSize:data=9.0xdata=0Gode=59creatinghexfilefrom1136911...圖粋皆語言調(diào)試完成42、實物調(diào)試根據(jù)原理圖與單片機引腳圖,將實物在面包板上進行布線組裝。組裝結(jié)果如圖4-6、圖4-7所示:

第17頁

K1按下時DI亮,其狀態(tài)如圖4-6所示:■i1B■*■??*畳D1燈亮K1按圖4-6、——K3按下并釋放時D3亮其狀態(tài)如圖4-7所示■K1按下時DI亮,其狀態(tài)如圖4-6所示:■i1B■*■??*畳D1燈亮K1按圖4-6、——K3按下并釋放時D3亮其狀態(tài)如圖4-7所示■亠!"■I■?■rlD3亮K3按下并釋放圖4-7、i18第頁>總%■*44.3、調(diào)試中出現(xiàn)的問題以及解決方法本次課程設(shè)計是對我自己動手能力和學習到的理論知識的一種考驗。在實物調(diào)試以及之前步驟中出現(xiàn)過好多問題,在老師指導下,我們一次次找到癥結(jié),最終成功完成實物調(diào)試。下面我來簡述幾個我的課程設(shè)計中的問題:課程設(shè)計開始時,對于Proteus軟件沒有任何概念,對于這個不熟悉的軟件束手無策,第一步的原理圖都無法完成。然后我們就開始查資料和網(wǎng)上教程就這樣一步步完成了原理圖和仿真調(diào)

溫馨提示

  • 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

提交評論