基本操作 閃爍燈 流水燈[特制材料]_第1頁
基本操作 閃爍燈 流水燈[特制材料]_第2頁
基本操作 閃爍燈 流水燈[特制材料]_第3頁
基本操作 閃爍燈 流水燈[特制材料]_第4頁
基本操作 閃爍燈 流水燈[特制材料]_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)一:硬件,軟件介紹以及閃爍燈和流水燈一實(shí)驗(yàn)?zāi)康?.認(rèn)識(shí)單片機(jī)以及外圍硬件。 2.掌握KEIL軟件的基本操作。3.掌握單片機(jī)編程的一般流程。二實(shí)驗(yàn)內(nèi)容1.認(rèn)識(shí)單片機(jī)開發(fā)板上的硬件,串口以及usb轉(zhuǎn)串口線。2.使用keil軟件建立工程并編寫閃爍燈程序,下載到開發(fā)板上進(jìn)行驗(yàn)證。3.改寫閃爍燈程序,進(jìn)一步熟悉操作。3.編寫流水燈程序并下載到開發(fā)板上進(jìn)行驗(yàn)證。三實(shí)驗(yàn)設(shè)備電腦,單片機(jī)開發(fā)板,串口線,usb轉(zhuǎn)串口線。四硬件介紹1.51單片機(jī)介紹圖1-1 開發(fā)板的硬件資源圖1-1為本實(shí)驗(yàn)中用到的單片機(jī)開發(fā)板,該開發(fā)板包含了較多的硬件資源。這里主要介紹一下主芯片stc89c52,其它大部分硬件在以后相應(yīng)的實(shí)

2、驗(yàn)中再做介紹。上圖中間最大的那個(gè)黑色長方塊就是單片機(jī),使用單片機(jī)就可以控制開發(fā)板上其他的硬件,此單片機(jī)全名為STC89C52RC,其中STC代表生產(chǎn)該單片機(jī)的廠家,8代表單片機(jī)是8051內(nèi)核,9代表內(nèi)部有EEPROM存儲(chǔ)器,C表示該器件是CMOS產(chǎn)品,5是固定不變的數(shù)字,2表示單片機(jī)內(nèi)部含有8KB的程序存儲(chǔ)空間(如果是1表示4KB,如果是3表示12KB,以此類推。),RC表示內(nèi)部的隨機(jī)存儲(chǔ)器RAM大小為512B。除了這些文字還有標(biāo)明單片機(jī)的最大接入頻率,產(chǎn)品級(jí)別,封裝形式,生產(chǎn)日期,以及生產(chǎn)工藝的文字,這里就不一一說明。2.串口線以及usb轉(zhuǎn)串口線的介紹圖1-2 串口線串口線如圖1-2所示,串

3、口線主要用來給單片機(jī)下載程序以及串口通訊時(shí)使用,其結(jié)構(gòu)以及通訊方式將在串口通訊實(shí)驗(yàn)時(shí)介紹,開始只拿串口下載程序使用。一般的臺(tái)式機(jī)都會(huì)有串口,將串口線一段插在臺(tái)式機(jī)上一段插在單片機(jī)上,接上電源就可以給單片機(jī)下載程序。但是很多時(shí)候使用的是筆記本,筆記本上很少有串口,所以就需要使用usb轉(zhuǎn)串口線,如圖1-3所示。圖1-3 usb轉(zhuǎn)串口線usb轉(zhuǎn)串口線將usb接口通過芯片和程序虛擬出一個(gè)串口來進(jìn)行電腦與單片機(jī)的通訊,所以使用時(shí)還需給筆記本安裝驅(qū)動(dòng),芯片一般為PL2303或者HL340,根據(jù)usb轉(zhuǎn)串口使用的芯片不同安裝不同的驅(qū)動(dòng)。3.led燈的硬件電路圖1-4 led燈的電路如圖所示,8個(gè)led燈的陽

4、極通過排阻接到了電源上,陰極接到了74hc573鎖存器的輸出口,輸入口與單片機(jī)的P1口連接,鎖存器的鎖存口L與單片機(jī)的P2.5連接。鎖存器的功能如圖1-5所示。圖1-5 鎖存器功能表如上圖,為使能端口,低電平有效。L為鎖存口,當(dāng)鎖存口L為高時(shí),輸入和輸出口的狀態(tài)一致,當(dāng)L為低時(shí)鎖存上一個(gè)L為高時(shí)的狀態(tài)。4.建立第一個(gè)工程首先,在桌面新建一個(gè)文件夾,然后打開keil軟件,顯示如圖1-6。圖1-6 打開keil然后,單擊菜單欄的project,在彈出的子菜單中點(diǎn)擊new uvision project,在彈出的對(duì)話框中給工程命名(這里命名為閃爍燈或者其他)并將工程保存在剛才新建的文件夾之中。如圖1

5、-7。圖1-7點(diǎn)擊保存,會(huì)彈出選擇單片機(jī)的對(duì)話框,選擇STC89C52RC,單擊OK,如圖1-8。然后會(huì)彈出一個(gè)對(duì)話框問你是否添加啟動(dòng)代碼,單擊 是(Y)。圖1-8下來,單擊菜單欄的file在子菜單中單擊new,此時(shí)會(huì)生成一個(gè)文本輸入框text1,然后單擊filesave,將該文件保存為 閃爍燈,如圖1-9.圖1-9在軟件左側(cè)project窗口中打開文件夾target,在子文件夾中右鍵單擊source group 1,在彈出的菜單中單擊add files to group source group 1,在彈出的對(duì)話框中選擇剛才保存好的 流水燈.c 點(diǎn)擊add,然后點(diǎn)擊close關(guān)閉對(duì)話框。如圖

6、1-10,1-11所示。圖1-10圖1-11這樣,一個(gè)工程就建立好了,如圖1-12,接下來就是在閃爍燈.c中編寫程序了。圖1-12 建立工程完畢5.閃爍燈程序的編寫要想使led燈產(chǎn)生一明一暗的閃爍效果,根據(jù)電路圖1-4,可以將鎖存器的鎖存端L置高電平,然后通過編程使片機(jī)的P1口每隔一段時(shí)間為高電平一段時(shí)間為低電平,而led燈的陽極接電源所以當(dāng)P1口為低電平時(shí)led燈亮,P1為高電平時(shí)led燈滅。如圖1-13.圖1-13 P1口的狀態(tài)在閃爍燈.c中輸入程序如圖1-14,(/以及后面的文字是注釋,用來解釋程序可以不輸)。圖1-14首先介紹頭文件,reg52.h文件定義了stc89c52單片機(jī)內(nèi)部的

7、寄存器,為了使用方便將16進(jìn)制地址的寄存器定義成了各種名稱,例如P1,P2等。sbit diola=P25; sbit是位定義,意思是說之后的diola對(duì)應(yīng)于單片機(jī)的P2.5腳,要注意的是,這里的P25中間的是異或的意思,是一個(gè)運(yùn)算,不能直接使用。所以當(dāng)使用單片機(jī)的一個(gè)引腳必須要對(duì)其重新定義。下來是延時(shí)函數(shù),延時(shí)函數(shù)主要是為了是單片機(jī)的引腳保持一種狀態(tài)一段時(shí)間,執(zhí)行一次for循環(huán)大概使用1us,這里的兩重for循環(huán)大概為0.5s。值得說明的是,每當(dāng)單片機(jī)開始運(yùn)行程序的時(shí)候是直接從主函數(shù)里運(yùn)行的。diola=1;是將鎖存器設(shè)置為非鎖存狀態(tài),這樣輸入輸出就會(huì)保持一致。下來進(jìn)入while(1)死循環(huán)

8、,進(jìn)入死循環(huán)的好處是防止重復(fù)運(yùn)行不必要的程序(diola=1這句話執(zhí)行一遍就夠了)。接下來就是讓led燈產(chǎn)生明暗變化,首先給P1賦值0xff,使得P1的8個(gè)引腳都為高電平,此時(shí)燈是滅的狀態(tài),保持0.5s左右,給P1賦值0,這樣8個(gè)引腳都變成了低電平,此時(shí),led燈導(dǎo)通發(fā)光,延時(shí)保持一段時(shí)間后再運(yùn)行P1=0xff; 讓led燈熄滅,就這樣一直運(yùn)行下去,是8個(gè)led燈產(chǎn)生了閃爍燈的效果。6.編譯程序,并將程序下載到單片機(jī)開發(fā)板上運(yùn)行程序編寫完后,點(diǎn)擊編譯按鈕如圖1-15中被圈起的按鈕。圖1-15如果程序沒有錯(cuò)誤,那么會(huì)在窗口下方的build output窗口顯示如圖1-16.圖1-16如果出現(xiàn)錯(cuò)誤

9、,檢查并修改程序,重新編譯,編譯成功后就要輸出hex文件,hex文件是直接下載到單片機(jī)中的程序文件,它是由keil軟件根據(jù)剛才編好的程序生成的單片機(jī)可以識(shí)別的16進(jìn)制文件。點(diǎn)擊target options如圖1-17中被圈起的圖標(biāo)。圖1-17再打開的對(duì)話框中選擇output選項(xiàng)卡,將creat hex file前勾起,如圖1-18。圖1-18點(diǎn)擊OK,然后再次點(diǎn)擊編譯按鈕,重新編譯程序,顯示編譯成功后,就會(huì)在工程所在的文件夾中生成一個(gè)閃爍燈.hex的文件。接下來就是下載程序到單片機(jī),首先用串口線將電腦與開發(fā)板連接,然后用usb線把電腦與開發(fā)板連接(usb線主要是提供電源)。按下開關(guān)電源指示燈亮

10、說明沒有問題,再次按下開關(guān)關(guān)掉電源。打開stc-isp軟件(),在mcu type中選擇STC89C52RC,然后點(diǎn)擊打開程序文件按鈕,找到剛才生成的閃爍燈.hex文件,選擇合適的串口(comx不同的電腦串口不一樣),然后點(diǎn)擊download/下載,如圖1-19.圖1-19如圖1-19,當(dāng)出現(xiàn)握手連接時(shí),打開單片機(jī)開發(fā)板的電源,程序就會(huì)下載到單片機(jī)里面,下載完后程序就會(huì)自動(dòng)運(yùn)行,觀察程序運(yùn)行狀態(tài)。7.修改程序,讓閃爍燈產(chǎn)生不同的閃爍效果,這里列舉兩例。(1)改變延時(shí)時(shí)間將程序中delay函數(shù)中的時(shí)間減小,將500改成200,如圖1-20.圖1-20重新編譯程序,生成hex文件,重復(fù)剛才的操作將

11、程序下載到單片機(jī)當(dāng)中,會(huì)發(fā)現(xiàn)閃爍的頻率變快了。(2)改變閃爍燈樣式將程序中對(duì)P1的賦值改變,如圖1-21.圖1-21重復(fù)編譯,下載步驟,發(fā)現(xiàn)8個(gè)led燈前四個(gè)與后四個(gè)交替閃爍。8.流水燈的產(chǎn)生流水燈的原理與閃爍燈類似,只不過是讓8個(gè)led燈順序的點(diǎn)亮。將閃爍燈的程序刪掉,輸入以下程序,如圖1-22.圖1-22這個(gè)程序的原理是,先給P1口賦值0x01,這樣就會(huì)使第一個(gè)燈滅,剩下七個(gè)燈亮,接下來進(jìn)入while(1)死循環(huán),先延時(shí)一段時(shí)間,然后對(duì)P1的數(shù)據(jù)左移,最后一位補(bǔ)零,這樣P1的數(shù)據(jù)變成了0x02,然后判斷P1是否為零,條件不滿足,重新執(zhí)行延時(shí)函數(shù),再左移,P1等于0x04,當(dāng)P1左移變成0x00時(shí),燈全亮,if條件滿足,執(zhí)行P1=0x01,然后再延時(shí),左移,就這樣就產(chǎn)生了流水燈。編譯下載程序,觀察實(shí)際狀態(tài)。9.使用循環(huán)移動(dòng)產(chǎn)生流水燈上面的流水燈比較容易理解,但是一個(gè)燈滅其他燈亮,不太好看,這里使用循環(huán)移動(dòng)產(chǎn)生流水燈,程序更簡單。這個(gè)程序需要用到庫函數(shù)intrins.h中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論