單片機課程學習總結(jié)報告
單片機課程學習總結(jié)
班級09微電子學號姓名
這學期我們選擇了單片機這門課,從第一節(jié)課開始,我們就感覺到了這門課與其他的課有一些不同。單片機課程不僅是學習書本的內(nèi)容,也需要從實驗中掌握知識。這門課程確實讓我們受到了很多的啟發(fā),并學到了很多的知識。
學習單片機,要掌握單片機指令系統(tǒng)中匯編語言各種基本語句的意義及匯編語言程序設計的基本知識和方法,以及單片機與其他設備相連接的輸入輸出中斷等接口技術(shù)。使我們從硬件軟件的結(jié)合上理論聯(lián)系實際,提高動手能力,從而全面掌握單片機的應用。
熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經(jīng)懂單片機的人而寫的,一般先介紹單片機的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴展和外圍器件,順便講一些應用設計。如果按照此種學習方法,想進行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,不可能一蹴而就。萬事開頭難、要勇敢邁出第一步知識點用到才學,不用的暫時丟一邊。想把厚厚的一本書看完在做實驗,估計是不太可能的?粗祟^都暈了,學了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看。我們在焊接具體電路之前,最好做個仿真,這樣實驗的成功率會大大提高。我們都學習過C語言,相信的大家的基礎都不錯,在編寫程序千萬不要光看不寫,一定要自己寫一次。剛開始我們可以模仿別人的程序,然后慢慢的學會自己編寫,這是一個完全自主學習的過程,需要恒心和信心。
在學習這門課程時,我遇到過許多困難,這并不可怕,因為只要我們敢于面對,團結(jié)合作,就沒有解決不了的問題。在焊接電路過程中,我們需要互相學習焊接技巧,互相幫助、互相鼓勵。在編寫程序的時候,要善于把自己好的算法給大家分享,不會的時候要虛心向同學和老師請教。當然更要利用當今社會為我們提供的網(wǎng)絡資源,學會在網(wǎng)絡上搜索資料,自主學習。切忌拿別人做好的實驗和編寫好的程序去蒙混過關(guān),這樣對自己百害無一利。
在學習單片機的時候,讓我學會了思考生活中的點點滴滴。比如說,當我看到交通燈的時候會想到它的程序是怎樣實現(xiàn)的?為什么它的led燈會有如此的高亮度?而我的led燈亮度很低,如果電流稍過大,就會燒毀。在家鄉(xiāng)的公家車上看到遠程led信息遠程發(fā)布測試的時候,我便會想到它應有通信模塊和顯示模塊兩部分組成,也許我想的過于簡單,但是讓我學會了思考。
總之,學習單片機這門課程,不僅學會了這門專業(yè)課的知識,還提高了我的自主學習能力,更讓我的世界觀、方法論有了深層的提高,謝謝老師對我的教誨,讓我受益匪淺。
擴展閱讀:單片機課程總結(jié)報告
單片機與通用接口技術(shù)綜合實踐
課程總結(jié)報告
加減計數(shù)器
姓名:學號:
系別:計算機科學與技術(shù)年級09班級02
201*年06月16日
中文摘要:
數(shù)碼管可通過對其不同的管腳輸入相對的電流,會使其發(fā)亮,從而顯示出數(shù)字能夠顯示時間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價格便宜,使用簡單,在電器特別是家電領域應用極為廣泛,空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管。本設計是用單片機實現(xiàn)的一個簡易加減計數(shù)器;跀(shù)碼管顯示技術(shù),以AT89C51單片機為控制核心,通過驅(qū)動電路驅(qū)動數(shù)碼管計數(shù),實現(xiàn)加減計數(shù)功能。程序都是參考教材范例編寫而成,在功能上限制較多,但仿真結(jié)果和實際運行結(jié)果都非常精準和一致。設計分為三大步,分別是軟件設計,硬件仿真及實際操作,兼顧理論性及實用性,充分體現(xiàn)了理論與實踐相結(jié)合,同時本任務的完成使得我在專業(yè)知識、專業(yè)技能分析和解決問題上的能力進行了全面系統(tǒng)的鍛煉。
關(guān)鍵詞:AT89C51單片機數(shù)碼管加減計數(shù)器
目錄一、引言.............................................................................................1二、系統(tǒng)需求分析和總體設計思想...................................................1三、系統(tǒng)功能描述與使用操作說明...................................................2四、電路原理圖及其主要功能模塊的文字標注與說明.....................2五、仿真效果圖及其文字標注與說明................................................3六、源程序清單及其主要模塊、關(guān)鍵代碼的文字說明與注釋........10七、設計實驗實時記錄表................................................................14八、存在的問題和改進意見.............................................................15九、對本課程的認識、收獲體會和個人總結(jié)..................................16參考文獻...........................................................................................16作者簡介...........................................................................................16
“單片機與通用接口技術(shù)綜合實踐”課程總結(jié)報告
一、引言
1.1設計背景
LED數(shù)碼管是一種通過控制半導體發(fā)光二極管的顯示方式,用來顯示文字、圖形等。LED數(shù)碼管便宜,使用簡單,主要用于樓體墻面,廣告招牌、高檔的DISCO、酒吧、夜總會、會所的門頭廣告牌等。特別適合應用于廣告牌背景、立交橋、河、湖護欄、建筑物輪廓等大型動感光帶之中,可產(chǎn)生彩虹般絢麗的效果。用護欄管裝飾建筑物的輪廓,可以起到突出美彩亮化建筑物的效果。事實證明,它已經(jīng)成為照明產(chǎn)品中的一只奇葩,綻放在動感都市。它的優(yōu)點:亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動簡單、壽命長、耐沖擊、性能穩(wěn)定。
1.2LED數(shù)碼管分類
數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;
按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。
1.3發(fā)展前景
LED是一種通過控制半導體發(fā)光二極管的顯示方式,用來顯示文字、圖形等,特別適合應用于廣告牌背景、立交橋、河、湖護欄、建筑物輪廓等大型動感光帶之中,可產(chǎn)生彩虹般絢麗的效果。用護欄管裝飾建筑物的輪廓,可以起到突出美彩亮化建筑物的效果。亮度高,功耗小,而且成本逐年降低,使用簡單,滿足戶外環(huán)境的條件要求。并且在產(chǎn)業(yè)化的過程中,因為其價格性能比的優(yōu)勢會使數(shù)碼管向著標準化、規(guī)范化,產(chǎn)品結(jié)構(gòu)多樣化的方向發(fā)展。
二、系統(tǒng)需求分析和總體設計思想
2.1系統(tǒng)需求分析
近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。如本設計是用單片機實現(xiàn)的一個簡易加減計數(shù)器,實現(xiàn)了用戶可控的加減計數(shù)控制過程。程序都是參考教材范例編寫而成,在功能上還并不完善,限制也較多,但仿真結(jié)果和實驗臺上運行結(jié)果都非常精準和一致。
第1頁2.2總體設計思想
通過兩個個開關(guān)輸入一組2bit的二進制數(shù)據(jù),控制計數(shù)的正負向,即一位加控制位一位減控制位。通過兩個獨立數(shù)碼管輸出顯示各部分數(shù)據(jù)。計數(shù)初值為4。計數(shù)結(jié)果以十進制形式顯示在低位數(shù)碼管上,計數(shù)的正負顯示在高位數(shù)碼管上,其中“0”表示做加法,“1”表示做減法。
三、系統(tǒng)功能描述與使用操作說明
3.1系統(tǒng)功能描述
本系統(tǒng)由AT89C51型單片機、兩位獨立數(shù)碼管、矩陣按鍵、單片機工作電路等模塊組成。利用單片機作為本系統(tǒng)的中控模塊,單片機可以把各個模塊讀來的數(shù)據(jù)利用軟件來進行處理,從而把數(shù)據(jù)傳輸?shù)侥K,實現(xiàn)規(guī)定的顯示。兩位獨立數(shù)碼管為主要的顯示模塊,把單片機傳來的數(shù)據(jù)顯示出來。矩陣按鍵模塊可以通過數(shù)據(jù)傳輸,并利用軟件程序來控制兩位數(shù)碼管動態(tài)顯示預期的數(shù)據(jù),低位顯示計數(shù)結(jié)果,高位顯示加減控制標志位。
3.2操作說明
系統(tǒng)初始值為“4”。當按下k2按鍵時,數(shù)碼管高位和低位分別顯示“1”“5”,表示做加法;當再次按下KB2按鍵時,高位和低位分別顯示“1”“6”;但當按下KB3按鍵時,高位和低位分別顯示“0”“5””,表示做減法;以此類推。
四、電路原理圖及其主要功能模塊的文字標注與說明
LED驅(qū)動單片機P3口低兩位控制開關(guān)P0口P2口XTALRST兩位獨立數(shù)碼管單片機工作電路(時鐘電路、復位電路)
圖表1電路原理圖
3.1顯示程序模塊LED驅(qū)動P0口P2口兩位獨立數(shù)碼管
圖表2顯示程序模塊
顯示程序模塊通過兩位獨立數(shù)碼管分別顯示加減控制標志位和計數(shù)結(jié)果。
3.2選擇方式模塊
P3口低兩位控制開關(guān)
圖表3選擇方式模塊
選擇方式模塊用來控制加減法,k2鍵做減法,k3鍵做加法。
五、仿真效果圖及其文字標注與說明
5.1仿真圖及說明
圖表4仿真電路圖說明:利用proteus軟件搭建仿真電路,其中用到的器件有AT89C51、74LS245、MATRIX-8×8-RED、CAP、CAP-ELEC、CRYSTAL、RES、BUTTON。單片機的P0口和P2口輸出數(shù)據(jù)并顯示到數(shù)碼管上。其中高位數(shù)碼管由P1.0~P1.7口控制,用來顯示加減標志位;低位數(shù)碼管由P2.0~P2.7口控制,用來顯示計數(shù)結(jié)果。單片機的P3口接收矩陣按鍵的數(shù)據(jù)。矩陣按鍵從上至下,行1~行4由P3.4~P3.7控制,從左至右,列1~列4由P3.0~P3.3控制。
圖表5電路初始狀態(tài)
圖表6按鍵KB2顯示“15”
圖表7再次按鍵KB2顯示“16”
圖表8按鍵KB3顯示“05”
圖表9再次按鍵KB3顯示“04”
5.2實際效果圖及說明
圖表10實際效果圖
六、源程序清單及其主要模塊、關(guān)鍵代碼的文字說明與注釋
6.1源程序清單
ORG0000HLJMPSTARTORG0030H
START:ORLP3,#0CHMOVR0,#4MOVA,R0
MOVDPTR,#FIRSTMOVCA,@A+DPTRMOVP2,ACLRP0.0
LOP:
LCALLKEYSCANLJMPLOP
;調(diào)用鍵盤掃描子程序;重新開始下一輪掃描
;將3.2(KB2)、P3.3(KB3)設置為輸入狀態(tài)
;載入碼表首地址KEYSCAN:;鍵盤掃描子程序
;將行4送0;讀列狀態(tài)
CLRP3.7MOVA,P3ORLA,#0F3H
CPLA
JZEXIT
LCALLDelaysCLRP3.7MOVA,P3ORLA,#0F3HCPLA
JZEXIT
KX:JNBP3.2,K2
JNBP3.3,K3
K2:INCR0
MOVA,R0MOVR2,#1MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,A
MOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SLJMPEXITK3:DECR0MOVA,R0MOVR2,#0
MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,A
MOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SEXIT:RET
;屏蔽無效的6位,只保留2位列值;取反,以判斷按鍵狀態(tài)
;判斷是否有鍵按下:A=00H則跳轉(zhuǎn)到exit
;否則A≠0,有鍵按下,則調(diào)用延時子程序去抖;再將行4送0;讀列狀態(tài)
;屏蔽無效的5位,只保留3位列值;取反,以判斷按鍵狀態(tài)
;判斷是否有鍵按下:A=00H則跳轉(zhuǎn)到exit
;判斷是否為當前列的第3個按鍵K2被按下:是KB2,則轉(zhuǎn)K2
;不是KB2,則再判斷是否為當前列的第4個按鍵KB3被按下:是KB3,則轉(zhuǎn)K3
;載入碼表首地址
;從P1口送DPY1數(shù)碼管顯示;從P2口送DPY2數(shù)碼管顯示;載入碼表首地址
;從P1口送DPY2數(shù)碼管顯示;從P1口送DPY2數(shù)碼管顯示;鍵盤掃描子程序返回Delays:MOVR6,#5;延時1ms子程序
MOVR7,#100DJNZR7,$DJNZR6,$-4RET
DELY1S:MOVR5,#100D2:MOVR6,#20D1:MOVR7,#100DJNZR7,$DJNZR6,D1DJNZR5,D2RETFIRST:
DB0C0H
DB0F9HDB0A4HDB0B0HDB099HDB092HDB082HDB0F8HDB080HDB090HEND
;1秒延時子程序
;數(shù)字0~9的共陽型數(shù)碼管顯示代碼;0
;1;2;3;4;5;6;7;8;9
6.2主要模塊及關(guān)鍵代碼說明
6.2.1主程序
開始按鍵掃描子程序
圖表10主程序流程圖
START:ORLP3,#0CH
LOP:
LCALLKEYSCAN
LJMPLOP
6.2.2按鍵掃描子程序
;調(diào)用鍵盤掃描子程序;重新開始下一輪掃描
;將3.2(KB2)、P3.3(KB3)設置為輸入狀態(tài)開始讀取按鍵狀態(tài)延時去抖判斷當前是哪個按鍵被按下KB2被按下KB3被按下調(diào)用K2子程序調(diào)用K3子程序調(diào)用結(jié)束圖表11鍵盤掃描子程序
KEYSCAN:
;鍵盤掃描子程序;將行4送0;讀列狀態(tài)
;屏蔽無效的6位,只保留2位列值;取反,以判斷按鍵狀態(tài)
;判斷是否有鍵按下:A=00H則跳轉(zhuǎn)到exit;否則A≠0,有鍵按下,則調(diào)用延時子程序去抖;再將行4送0
;讀列狀態(tài)
;屏蔽無效的6位,只保留2位列值;取反,以判斷按鍵狀態(tài)
CLRP3.7MOVA,P3CPLAJZEXIT
ORLA,#0F3H
LCALLDelaysCLRP3.7MOVA,P3ORLA,#0F3HCPLAJZEXIT;判斷是否有鍵按下:A=00H則跳轉(zhuǎn)到exit
KX:JNBP3.2,K2
JNBP3.3,K3
是KB3,則轉(zhuǎn)K36.2.3動態(tài)顯示子程序
;判斷是否為當前列的第3個按鍵K2被按下:是KB2,則轉(zhuǎn)K2;不是KB2,則再判斷是否為當前列的第4個按鍵KB3被按下:
K2:INCR0
MOVA,R0MOVR2,#1MOVDPTR,#FIRSTMOVA,R2
MOVCA,@A+DPTRMOVP1,AMOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1SLJMPEXITK3:DECR0MOVA,R0MOVR2,#0
MOVDPTR,#FIRST
MOVA,R2
MOVCA,@A+DPTRMOVP1,AMOVA,R0
MOVCA,@A+DPTRMOVP2,ALCALLDELY1S
K2開始K3開始R0加1R0減1查表顯示查表顯示延時延時
圖表12顯示計數(shù)結(jié)果子程序
;載入碼表首地址
;從P1口送DPY1數(shù)碼管顯示;從P2口送DPY2數(shù)碼管顯示;載入碼表首地址
;從P1口送DPY1數(shù)碼管顯示;從P2口送DPY2數(shù)碼管顯示七、設計實驗實時記錄表
時間第6周第7周第8周第9周第10周第11周第12周第13周第14周第15周第16周第17周任務提交總體設計方案進行第一個仿真實驗進行第二個仿真實驗設計程序分別編寫程序的各個模塊編寫主程序進行程序編寫、編譯、運行進行軟件仿真仿真測試、運行完成自主實踐實驗填寫課程總結(jié)報告實際運行、調(diào)試八、存在的問題和改進意見
本次設計的加減計數(shù)器,能夠手動按鍵控制加減的情況下獲得計數(shù)結(jié)果。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點。在設計上分為四大步。第一步是程序的設計。我采用了匯編語言設計,在學習期間得到了很多同學的熱心指導,從而為我的編程以及素材上積累了廣泛的知識和經(jīng)驗,所以本次設計思路很清晰。主要有主顯示程序的設計和矩陣按鍵電路程序的設計。
第二步是程序結(jié)構(gòu)和代碼的優(yōu)化。一開始的程序思路雖然清晰,但是結(jié)構(gòu)不太合理,子程序的調(diào)用、延時等都不盡完善,代碼看起來條理不明顯。經(jīng)過簡單的推敲,我畫了程序流程圖,使用了更為簡潔的程序結(jié)構(gòu),使程序的閱讀一目了然。
第三步是電路的仿真,使用proteus仿真軟件,根據(jù)設計要求,選擇必要的器件,并將這些器件有邏輯地連接起來,并注意接口等與代碼的一一對應。完成之后,將已經(jīng)生成的HEX文件下載到仿真電路中的單片機上,就可以運行仿真了。
第四步是實物的調(diào)試,也是本設計的又一重點。實體的調(diào)試會遇到很多實際問題,比如單片機的型號不同,各個口的電路控制不同,數(shù)碼管低有效,矩陣按鍵的行列控制等。都需要根據(jù)實驗開發(fā)板的電路設計來調(diào)整程序,不過還好經(jīng)過老師的指導,同學的幫助,以及自己的一點努力,雖然幾經(jīng)波折,最終還是完成了實物的調(diào)試。最后將程序通過下載器下載到單片機上,整個系統(tǒng)就可以正常工作了。
本程序還有可以改進的方面。如可以增加數(shù)碼管的位數(shù),從而實現(xiàn)計數(shù)范圍的擴大;也可以把數(shù)碼管的顯示改為十六進制;可以增加按鍵數(shù)量,實現(xiàn)可變步長(本實驗步長為1);整個程序除了利用循環(huán)來控制掃描頻率,也可以用時鐘中斷。
九、對本課程的認識、收獲體會和個人總結(jié)
通過本課程的學習掌握了AT89C51單片機的基本工作原理,以及單片機設計開發(fā)的過程。并熟悉了proteus、KeiluV2等軟件的應用。能夠利用單片機編寫程序完成對外部電路的控制。一系列仿真實驗、自主實踐及期末大作業(yè)的練習,使我從對單片機一無所知到可以利用單片機及其它外部器件實現(xiàn)一些具體功能,進一步提高了自己在實際設計過程中研究問題、發(fā)現(xiàn)問題、解決問題的能力。
在遇到問題時我先搜索老師給的課程文檔中的相關(guān)內(nèi)容,然后參考老師的實際案例。在明白了例子中的程序是如何實現(xiàn)的之后,再編寫自己的程序。我在編寫數(shù)碼管顯示模塊時對數(shù)碼管的動態(tài)顯示充滿了疑問,我嘗試過用兩個不同按鍵控制四位一體數(shù)碼管中的兩位。但是發(fā)現(xiàn)如果使用循環(huán)、延時等,并不能達到預期的效果。當時我沒有轉(zhuǎn)變方法嘗試時鐘中斷,這是我的一個遺憾。
另外在實驗過程中我遇到的另一個問題是矩陣按鍵的控制。矩陣按鍵要先一列一列的掃描,每一列掃描時要判斷各個行是否有鍵按下,如果有鍵按下就要跳轉(zhuǎn)去執(zhí)行相應的程序。我在實驗時分不清行和列,所以對行列的控制十分混亂。由于實驗開發(fā)板第2版和第3版矩陣按鍵輸出口設置不同,還需要根據(jù)實際電路更改程序輸出口。最后通過老師和同學的幫助,我完成了實際調(diào)試。
經(jīng)過一學期的學習,我覺單片機與通用接口技術(shù)綜合實踐這門課很好,讓我們在設計中掌握知識,在實踐中提高能力,在互相討論中思考、進步。作為實踐課能夠自己動手進行設計并完成一些功能很有成就感,非常感謝幫助過我的老師和同學。
參考文獻
[1]樓然苗,李光飛.51系列單片機設計實例(第2版)[M].北京航空航天大學出版社.201*,9.94-101
[2]王宜懷.單片機原理及其嵌入式應用教程[M].北京希望電子出版社,201*.
作者簡介
09級計算機科學與技術(shù)2班
友情提示:本文中關(guān)于《單片機課程學習總結(jié)報告》給出的范例僅供您參考拓展思維使用,單片機課程學習總結(jié)報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。