P1.0上實(shí)現(xiàn)LED燈閃爍_第1頁(yè)
P1.0上實(shí)現(xiàn)LED燈閃爍_第2頁(yè)
P1.0上實(shí)現(xiàn)LED燈閃爍_第3頁(yè)
P1.0上實(shí)現(xiàn)LED燈閃爍_第4頁(yè)
P1.0上實(shí)現(xiàn)LED燈閃爍_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、子項(xiàng)目一:P1.0上實(shí)現(xiàn)LED燈閃爍目標(biāo):1、通過(guò)一個(gè)簡(jiǎn)單實(shí)例的仿真,掌握單片機(jī)仿真的基本過(guò)程2、了解單片機(jī)C51程序設(shè)計(jì)基礎(chǔ)。3、掌握keilC編譯器的使用。4、掌握proteus仿真軟件進(jìn)行仿真的基本過(guò)程。任務(wù):設(shè)計(jì)一個(gè)單片機(jī)最小應(yīng)用系統(tǒng),并在P1.0上實(shí)現(xiàn)LED燈閃爍任務(wù)分解:1、設(shè)計(jì)原理圖;2、利用proteus繪制原理圖;3、編寫(xiě)程序,并利用KeilC進(jìn)行編譯,生成hex文件;4、利用proteus進(jìn)行仿真調(diào)試。技能拓展:1、proteus軟件使用。2、KeilC編譯器使用3、C51程序設(shè)計(jì)一、原理由于需要實(shí)現(xiàn)的功能比較簡(jiǎn)單,所以單片機(jī)最小系統(tǒng),時(shí)鐘采用內(nèi)部時(shí)鐘,復(fù)位采用上電復(fù)位,在

2、P1.0端口上接一個(gè)發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時(shí)間間隔為0.2秒,電路圖如下圖所示。亠U.27p-I幻-CRYSTAL:1M-U119dCR44-7u1WkLED1LED.-RED.-=;TEXT;=-R1180R-TEXT:=-A11ru.uuuP0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15PI.0P3.0.-RXDPI.1P3.1.-TXDPI.

3、2P3.2J1NT0P1.3P3.3/1NT1PI.4P3.4T0PI.5P3.5JT1PI.6P3.6JWRP1.7P3.7/RD18922_2DAT89C51二、原理圖繪制安裝完P(guān)roteus后,運(yùn)行ISIS7Professional,會(huì)出現(xiàn)以下窗口界面:1、將所需元器件加入到對(duì)象選擇器窗口:本例要用到的元件有:AT89C51、電阻(RES)、電容(CAP)、電解電容(HITEMP)、發(fā)光二極管(LED)、晶振(CRYSTAL)單擊對(duì)象選擇器按鈕,如圖所示彈出“PickDevices頁(yè)面,在“Keywords輸入AT89C51,系統(tǒng)在對(duì)象庫(kù)中進(jìn)行搜索查找,并將搜索結(jié)果顯示在“Results

4、”中,如圖所示。在“Results”欄中的列表項(xiàng)中,雙擊“AT89C51”,則可將“AT89C51”添加至對(duì)象選擇器窗口。然后用同樣的步驟添加其他器件,完成后單擊“0K”按鈕,結(jié)束對(duì)象選擇。最終結(jié)果:經(jīng)過(guò)以上操作,在對(duì)象選擇器窗口中,就有了需要的元器件對(duì)象,單擊,在預(yù)覽窗口中,可見(jiàn)到的實(shí)物圖,如圖所示;此時(shí),在繪圖工具欄中的元器件按鈕處于選中狀態(tài)。2、放置元器件至圖形編輯窗口在對(duì)象選擇器窗口中,選中AT89C51,將鼠標(biāo)置于圖形編輯窗口該對(duì)象的欲放位置、單擊鼠標(biāo)左鍵,該對(duì)象被完成放置。同理,將其他器件放置到圖形編輯窗口中。如圖所示。若對(duì)象位置需要移動(dòng),將鼠標(biāo)移到該對(duì)象上,單擊鼠標(biāo)右鍵,此時(shí)我們

5、已經(jīng)注意到,該對(duì)象的顏色已變至紅色,表明該對(duì)象已被選中,按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo),將對(duì)象移至新位置后,松開(kāi)鼠標(biāo),完成移動(dòng)操作。3、放置電源和地添加“地”:左鍵選擇模型選擇工具欄中的工圖標(biāo),出現(xiàn):左鍵選擇GROUND,并在原理圖編輯窗口中左擊,這樣“地”就被放置到原理圖編輯窗口中了。同理可以在需要電源的地方添加電源。4、元器件之間的連線Proteus的智能化可以在你想要畫(huà)線的時(shí)候進(jìn)行自動(dòng)檢測(cè)。下面,我們來(lái)操作將電阻R1的右端連接到LED顯示器的A端。當(dāng)鼠標(biāo)的指針靠近R1右端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“X”號(hào),表明找到了R1的連接點(diǎn),單擊鼠標(biāo)左鍵,移動(dòng)鼠標(biāo)(不用拖動(dòng)鼠標(biāo)),將鼠標(biāo)的指針靠

6、近LED顯示器的A端的連接點(diǎn)時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“X”號(hào),表明找到了LED顯示器的連接點(diǎn),同時(shí)屏幕上出現(xiàn)了粉紅色的連接,單擊鼠標(biāo)左鍵,粉紅色的連接線變成了深綠色,同時(shí),線形由直線自動(dòng)變成了90的折線,這是因?yàn)槲覀冞x中了線路自動(dòng)路徑功能。Proteus具有線路自動(dòng)路徑功能(簡(jiǎn)稱WAR),當(dāng)選中兩個(gè)連接點(diǎn)后,WAR將選擇一個(gè)合適的路徑連線。WAR可通過(guò)使用標(biāo)準(zhǔn)工具欄里的“WAR”命令按鈕】來(lái)關(guān)閉或打開(kāi),也可以在菜單欄的“Tools”下找到這個(gè)圖標(biāo)。同理,我們可以完成其它連線。在此過(guò)程的任何時(shí)刻,都可以按ESC鍵或者單擊鼠標(biāo)的右鍵來(lái)放棄畫(huà)線。三、程序設(shè)計(jì)1、延時(shí)程序的設(shè)計(jì)方法作為單片機(jī)的指

7、令的執(zhí)行的時(shí)間是很短,數(shù)量大微秒級(jí),因此,我們要求的閃爍時(shí)間間隔為0.2秒,相對(duì)于微秒來(lái)說(shuō),相差太大,所以我們?cè)趫?zhí)行某一指令時(shí),插入延時(shí)程序,來(lái)達(dá)到我們的要求,但這樣的延時(shí)程序是如何設(shè)計(jì)呢?下面具體介紹其原理:石英晶體為12MHz,因此,1個(gè)機(jī)器周期為1微秒機(jī)器周期微秒MOVR6,#202個(gè)2D1:MOVR7,#2482個(gè)2DJNZR7,$2個(gè)2X248DJNZR6,D12個(gè)2X20=402+2X248=49820X498=10002因此,上面的延時(shí)程序時(shí)間為10.002ms。由以上可知,當(dāng)R6=10、R7=248時(shí),延時(shí)5ms,R6=20、R7=248時(shí),延時(shí)10ms,以此為基本的計(jì)時(shí)單位。

8、如本實(shí)驗(yàn)要求0.2秒=200ms,10msXR5=200ms,則R5=20,延時(shí)子程序如下:DELAY:MOVR5,#20D1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RET2、輸出控制當(dāng)P1.0端口輸出高電平,即P1.0=1時(shí),根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍@時(shí)發(fā)光二極管L1熄滅;當(dāng)P1.0端口輸出低電平,即P1.0=0時(shí),發(fā)光二極管L1亮;我們可以使用SETBP1.0指令使P1.0端口輸出高電平,使用CLRP1.0指令使P1.0端口輸出低電平。3、程序框圖4、匯編源程序ORG0START:CLRP1.0LCALLDELAYSETBP

9、1.0LCALLDELAYLJMPSTARTDELAY:MOVR5,#20;延時(shí)子程序,延時(shí)0.2秒D1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND5、C語(yǔ)言源程序#includesbitL1二P0;voiddelay02s(void)/延時(shí)0.2秒子程序unsignedchari,j,k;for(i=20;i0;i)for(j=20;j0;j)for(k=248;k0;k-);voidmain(void)while(l)L1=0;delay02s();L1=1;delay02s();四、利用KeilC進(jìn)行編譯程序,生成hex文

10、件KeilC51軟件是眾多單片機(jī)應(yīng)用開(kāi)發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM語(yǔ)言和C語(yǔ)言的程序設(shè)計(jì),界面友好,易學(xué)易用。下面介紹KeilC51軟件的使用方法進(jìn)入KeilC51后,出現(xiàn)編輯界面如下:進(jìn)入KeilC51后的編輯界面簡(jiǎn)單程序的調(diào)試學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言、學(xué)習(xí)某種程序軟件,最好的方法是直接操作實(shí)踐。下面通過(guò)簡(jiǎn)單的編程、調(diào)試,引導(dǎo)大家學(xué)習(xí)KeilC51軟件的基本使用方法和基本的調(diào)試技巧。1)建立一個(gè)新工程單擊Project菜單,在彈出的下拉菜單中選中NewProject選項(xiàng)2)然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到C51目錄里,工程文件的名字為C51如下

11、圖所示,然后點(diǎn)擊保存.3)這時(shí)會(huì)彈出一個(gè)對(duì)話框,要求你選擇單片機(jī)的型號(hào),你可以根據(jù)你使用的單片機(jī)來(lái)選擇,keilc51幾乎支持所有的51核的單片機(jī),我這里還是以大家用的比較多的Atmel的89C51來(lái)說(shuō)明,如下圖所示,選擇89C51之后,右邊欄是對(duì)這個(gè)單片機(jī)的基本的說(shuō)明,然后點(diǎn)擊確定.4)完成上一步驟后,屏幕如下圖所示下面開(kāi)始編寫(xiě)我們的第一個(gè)程序。5)在下圖中,單擊“File”菜單,再在下拉菜單中單擊“New”選項(xiàng)新建文件后屏幕如下圖所示此時(shí)光標(biāo)在編輯窗口里閃爍,這時(shí)可以鍵入用戶的應(yīng)用程序了,但筆者建議首先保存該空白的文件,單擊菜單上的“File”,在下拉菜單中選中“SaveAs”選項(xiàng)單擊,屏

12、幕如下圖所示,在“文件名”欄右側(cè)的編輯框中,鍵入欲使用的文件名,同時(shí),必須鍵入正確的擴(kuò)展名。注意,如果用C語(yǔ)言編寫(xiě)程序,則擴(kuò)展名為(.c);如果用匯編語(yǔ)言編寫(xiě)程序,則擴(kuò)展名必須為(.asm)。然后,單擊“保存”按鈕。6)回到編輯界面后,單擊“Target1”前面的“+”號(hào),然后在“SourceGroup1”上單擊右鍵,彈出如下菜單然后單擊“AddFiletoGroupSourceGroup1”屏幕如下圖所示選中Test.c,然后單擊“Add”屏幕好下圖所示注意到“SourceGroup1”文件夾中多了一個(gè)子項(xiàng)“Textl.c”了嗎?子項(xiàng)的多少與所增加的源程序的多少相同。7)輸入C語(yǔ)言源程序:在

13、輸入上述程序時(shí),Keilc51會(huì)自動(dòng)識(shí)別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會(huì)使用戶少犯錯(cuò)誤,有利于提高編程效率。程序輸入完畢后,如下圖所示:8)在上圖中,單擊“Project菜單,再在下拉菜單中單擊“BuiltTarget選項(xiàng)(或者使用快捷鍵F7),編譯成功后,再單擊“Project”菜單,在下拉菜單中單擊“Start/StopDebugSession(或者使用快捷鍵Ctrl+F5),屏幕如下所示:9)調(diào)試程序:在上圖中,單擊“Debug”菜單,在下拉菜單中單擊“Go”選項(xiàng),(或者使用快捷鍵F5),然后再單擊“Debug”菜單,在下拉菜單中單擊“StopRunning選項(xiàng)(或者使用快捷鍵Esc);再單擊“View”菜單,再在下拉菜單中單擊“SerialWindows#1”選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果,其結(jié)果如下圖所示:至此,我們?cè)贙eilC51上做了一個(gè)完整工程的全過(guò)程。但這只是純軟件的開(kāi)發(fā)過(guò)程,如何使用

溫馨提示

  • 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)論