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