本文《課程設計實踐報告》由小編精心整理,如本篇文章不符合您的要求,您也可以檢視網站下方的與本文相關的文章。文章來源於本站,文章版權歸本站所有,希望本文對你有所幫助!
實訓任務:
做單一燈的左移右移,八個發光二極體l1-l8分別接在微控制器的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重複迴圈3次。然後左移2次,右移2次,閃爍2次(延時的時間0.2秒)。
一、 實訓目的和要求:
(1) 熟練掌握keil c51整合開發環境的使用方法
(2) 熟悉keil c51整合開發環境除錯功能的使用和dp?微控制器模擬器、程式設計器、實驗儀三合一綜合開發平臺的使用。
(3) 利用微控制器的p1口作io口,學會利用p1口作為輸入和輸出口。
(4) 瞭解掌握微控制器晶片的燒寫方法與步驟。
(5) 學會用微控制器組合語言編寫程式,熟悉掌握常用指令的功能運用。
(6) 掌握利用protel 99 se繪製電路原理圖及pcb圖。
(7) 瞭解pcb板的製作腐蝕過程。
二、實訓器材:
pc機(一臺)
pcb板(一塊)
520ω電阻(八隻)
10k電阻(一隻)
led發光二極體(八隻)
25v 10μf電容(一隻)
微控制器ic座(一塊)
at89c51微控制器晶片(一塊)
熱轉印機(一臺)
dp?微控制器模擬器、程式設計器、實驗儀三合一綜合開發平臺(一臺)
三、實訓步驟:
(1)根據原理圖(下圖所示),用導線把微控制器綜合開發平臺a2區的j61介面與d1區的j52介面相連。
(2)將流水燈程式編寫完整並使用tkstudy ice除錯執行。
(3)使用導線把a2區j61介面的p1口7個口分別與j52介面的八個led相連。
(4)開啟電源,將編寫好的程式運用tkstudy ice進行全速執行,看能否實現任務要求。
(5)觀察執行結果,若能實現功能,則將正確編譯過的hex檔案通過easypro51程式設計器寫入mcu片記憶體儲器,然後將燒寫的晶片a2區的圓孔ic座進行最終實驗結果的演示。
(6)制板。首先利用protel 99 se畫好原理圖,根據原理圖繪製pcb圖,然後將繪製好的pcb佈線圖打印出來,經熱轉印機轉印,將整個佈線圖印至pcb板上,最後將印有佈線圖的pcb板投入裝有三氯化鐵溶液的容器內進行腐蝕,待pcb板上佈線圖外的銅全部後,將其取出,清洗乾淨。
(7)焊接。將所給元器件根據原理圖一一焊至pcb板相應位置。
(8)除錯。先把at89c51晶片插入ic座,再將+5v電源加到製作好的功能板電源介面上,觀察功能演示的整個過程(看能否實現任務功能)。
(流水燈控制器原理圖)
四、流水燈控制器程式的主程式:
org 0000h
sjmp start
org 0030h
start: mov a,#0ffh
mov r0,#1ch
mov r1,#12h
mov r2,#12h
clr c
loop1: acall delay
djnz r0,loop2
sjmp loop4
loop2: mov p1,a
rlc a
jnc loop3
sjmp loop1
loop3: acall delay
mov p1,a
rrc a
jnc loop1
sjmp loop3
loop4: acall delay
djnz r1,loop5
sjmp loop6
loop5: mov p1,a
rrc a
jnc loop4
sjmp loop4
loop6: acall delay
djnz r2,loop7
sjmp zy
loop7: mov p1,a
rlc a
jnc loop6
sjmp loop6
zy: acall delay
mov a,#00h
mov p1,a
acall delay
mov a,#0ffh
mov p1,a
acall delay
mov a,#00h
mov p1,a
acall delay
mov a,#0ffh
mov p1,a
sjmp start
delay: mov r3,#20
dly1: mov r4,#20
dly2: mov r5,#248
djnz r5,$
djnz r4,dly2
djnz r3,dly1
ret
;
end
(pcb佈線圖)
五、實訓體會與自我評價:
本設計成品是以微控制器at89c51晶片為核心部件,實現了單一燈的左移右移重複迴圈3次。然後左移2次,右移2次,閃爍2次(延時0.2秒)的.功能。此次設計在軟體、編寫程式方面花費時間太多我們上網找資料,上圖書館,儘可能多的瞭解流水燈控制的相關知識。通過這一週的綜合實訓(微控制器課程設計),熟練掌握了keil c51整合開發環境的使用方法,瞭解並掌握到微控制器晶片的燒寫方法與步驟,進一步加深了對微控制器常用指令的理解與運用。能夠較熟練的運用protel 99 se繪製電路原理圖及pcb圖,對pcb板的一般製作過程有了一定的瞭解。在實訓過程中,使我得到了一次用專業知識、專業技能分析和解決問題、全面系統的鍛鍊。使我在微控制器的基本原理、微控制器應用系統開發過程,以及在常用程式設計設計思路技巧(特別是組合語言)的掌握方面都能向前邁了一大步。
同時在老師的悉心指導和嚴格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,微控制器領域對我今後進一步學習計算機方面的知識有極大的幫助。使我們認識到課程的重要性,同時也感受到理論與實踐之間的差距,使我們對微控制器系統的應用有了更加深刻的認識。