電氣0703袁利軍單片機課程設(shè)計電子密碼鎖_第1頁
電氣0703袁利軍單片機課程設(shè)計電子密碼鎖_第2頁
電氣0703袁利軍單片機課程設(shè)計電子密碼鎖_第3頁
電氣0703袁利軍單片機課程設(shè)計電子密碼鎖_第4頁
電氣0703袁利軍單片機課程設(shè)計電子密碼鎖_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 系統(tǒng)概述 11.1系統(tǒng)功能11.2設(shè)計內(nèi)容及要求1第2章系統(tǒng)方案設(shè)計 22.1總體方案22.2系統(tǒng)組成3第3章硬件設(shè)計 43.1按鍵電路設(shè)計43.2指示燈及報警蜂鳴器的電路設(shè)計 43.3顯示電路設(shè)計53.4復(fù)位鍵的設(shè)計6第4章軟件設(shè)計 64.1主程序設(shè)計64.2按鍵識別與編碼設(shè)計74.3顯示程序設(shè)計1.14.4 密碼修改程序設(shè)計 13.第五章 系統(tǒng)調(diào)試 155.1軟件模擬調(diào)試 1.5.5.2硬件接線及調(diào)試 17設(shè)計總結(jié)19參考文獻(xiàn)21附錄23第1章系統(tǒng)概述1.1系統(tǒng)功能本次設(shè)計使用ATMEL公司的AT 80C51實現(xiàn)一基于單片機的電子密碼鎖的設(shè)計, 其主要具有如下功能:(1)設(shè)置6位密

2、碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)默認(rèn)密碼為123456,密碼可以由用戶自己修改設(shè)定(支持不超過6位的任意位密碼,也可以不設(shè)密碼 ),輸入密碼正確后才能修改密碼。(3 )狀態(tài)指示、報警、鎖定鍵盤功能。密碼輸入正確時有GOOD提示信息、密碼輸入錯誤數(shù)碼顯示器會出現(xiàn)錯誤提示,若密碼輸入錯誤次數(shù)超過3次,蜂鳴器報警并且鎖定鍵盤,并且相應(yīng)的有指示燈指明狀態(tài)。電子密碼鎖的設(shè)計主要由三部分組成:3 X4矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈,報警蜂鳴器等。1.2設(shè)計內(nèi)容及要求(1)密碼的設(shè)定,此密碼是固定在程序存儲器ROM中,假設(shè)預(yù)設(shè)的密碼為“12

3、3456 ”共6位密碼。(2)密碼的輸入:采用數(shù)字鍵盤來完成密碼的輸入,其中#號按鍵為確認(rèn)鍵,22*號鍵位取消鍵,其他按鍵為數(shù)字鍵。在密碼輸入完畢并且確認(rèn)功能鍵之后,才能完成密碼的輸入過程。然后進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。(3)按鍵禁止功能:初始化時,允許按鍵輸入密碼,當(dāng)有按鍵按下并開始進(jìn)按鍵識別狀態(tài)時,按鍵禁止功能被激活,但啟動的狀態(tài)是在3次密碼輸入不正確的情況下發(fā)生的。第2章系統(tǒng)方案設(shè)計2.1總體方案本密碼鎖系統(tǒng)采用 80C51做主控制器,控制密碼的輸入、判斷密碼的正確與否。首先,系統(tǒng)將允許用戶輸入密碼,用存儲單元把輸入的密碼進(jìn)行動態(tài)的保存,當(dāng)用戶輸入完后可以按下“ *

4、”表示取消,重新輸入密碼。當(dāng)用戶輸入完后可以按下“# ”表示確定,系統(tǒng)將進(jìn)行密的確認(rèn),如果密碼正確,則顯示GOOD,并且有紅燈亮,如果不正確,紅燈亮,顯示“ NO ”,用戶可以再次進(jìn)行輸入密碼,當(dāng)用戶連續(xù)三次輸入錯 誤時,系統(tǒng)將顯示 NO ,和有報警的聲音發(fā)出,黃、綠、紅燈同時亮,并且把鍵盤進(jìn) 行鎖定,禁止用戶進(jìn)行輸入,擴展功能的實現(xiàn)是在輸入了正確的密碼之后,如果按“ * ”鍵表示放棄對密碼的 修改。如果按下“ #”鍵,黃燈亮,就可以對默認(rèn)密碼進(jìn)行修改 ,將進(jìn)入修改密碼狀態(tài) 并保存到存儲默認(rèn)密碼的單元,按“ *”返回再次輸入密碼。按“ # ”鍵確認(rèn),顯示“GOOD ”,密碼修改成功,返回主菜單

5、。這樣修改功能得以實現(xiàn)。2.2系統(tǒng)組成本系統(tǒng)由單片機80C51系統(tǒng)、矩陣鍵盤、開關(guān)、 LED顯示和報警系統(tǒng)組成。系統(tǒng)組成原理框圖如圖 2-1所示2-1系統(tǒng)組成原理框圖第3章硬件設(shè)計3.1按鍵電路設(shè)計由于設(shè)計要求輸入數(shù)字密碼,所以本設(shè)計就采用數(shù)字鍵盤,有09共十位數(shù)字。檢測方法采用線反轉(zhuǎn)法,先檢測行后檢測列。其原理如圖3-1所示。U1R210k占 XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2

6、.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WP1.7P3.7/RD1918980C51SRCFILE=.wave 文件 001.ASMPROGRAM=dianzisuo.HEX29303122231 2 3244 5 6267 8 9* 0 # 14圖3-1單片機的鍵盤接口電路3.2指示燈及報警蜂鳴器的電路設(shè)計指示燈及 報警蜂鳴器的電路如圖 3-2所示,當(dāng)輸入的密碼正確時,綠燈亮;當(dāng)輸入的密碼錯誤時,紅燈亮;當(dāng)三次錯誤輸入時,綠燈和

7、藍(lán)燈和紅燈同時亮并且報警法名器發(fā)出報警。19U1uXTAL1P0.0/AD0P0.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/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INTLP1.3P3.3/IMTP1.4P1.5P3 4/T0P3.5/T1P1.6P3.6/WR-P1.7P3.7/RD-189232580C5129j_30SRCFILE=.wave

8、文件 001.ASMPROGRAM=dianzisuo.HEXI 2122so圖3-2指示燈及報警蜂鳴器的電路3.3顯示電路設(shè)計將P1與顯示的數(shù)據(jù)端相連, 使其它能動態(tài)的傳輸要顯示的數(shù)據(jù),將p3的第六位與位選通端相連,選通相應(yīng)的位。接線如圖3-3 所示U1TAL1P0.0/AD03918XTAL2RST29303TT2 3 4 二5 6 二7 8PSEN ALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A

9、11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0-P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD.137-363534-33 21T26竺T28 10 121311415116 1780C51SRCFILE=.wave 文件 001.ASMPROGRAM=dianzisuo.HEX圖3-3顯示電路3.4復(fù)位鍵的設(shè)計當(dāng)密碼輸入三次錯誤,貝U系統(tǒng)鎖定鍵盤輸入,按下復(fù)位鍵后,系統(tǒng)重新開始,女口此可以防止系統(tǒng)報廢,讓系統(tǒng)再次循環(huán)使用。其硬件圖如圖3-4所示。U1 39F,XTAL1P0.0/AD0P0.1

10、/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6363533 PRSTP0 7/AD7P2.0/A8 21P2.1/A9P2.2/A1022 23PSENP2.3/A11ALEP2 4/A12 25EAP2.5/A13P2.6/A1426 27P2.7/A15P3 0/RXD 28P1 010P1.1P3.1/TXD 11P3.2/TNT0P3.3/INTTP3.4/T012P1.3P1.413 14P1.5P3.5/T1P1.6P3.6/WR16 17P1 7P3.7/RD80C51SRCFILE=.wave 文件 001.ASMPROGRA

11、M=dianzisuo.HEX-K 1-2-3-4- 5-6-/-S -12A12B45C78D0圖3-4復(fù)位鍵第4早 軟件設(shè)計4.1主程序設(shè)計主程序主要完成初始化、檢查有無按鍵按下、以及調(diào)用顯示、指示燈、密碼修改等等,流程圖如圖4-1所示。具體模塊包括:1.按鍵識別與編碼設(shè)計 2.顯示程序設(shè)計3.密碼修改程序設(shè)計開始付初值密碼123456錯誤次數(shù)3開機顯示等待鍵盤輸入輸入的是*鍵l_N#號鍵顯示 輸入的密碼 用-代表密碼顯示GOOD綠燈亮檢查密碼是否正確顯示NO紅燈亮N是否修改密碼#確認(rèn)*放棄輸入的是YY顯示輸入密碼用-代表密碼等待輸入黃綠燈亮-1報警器發(fā)聲綠紅黃燈都亮結(jié)束是否3次 密碼錯誤

12、Y輸入的是 #號鍵Y 修改成功 顯示GOOD圖4-1主程序流程圖4.2按鍵識別與編碼設(shè)計當(dāng)沒有按鍵按下的時候, 單片機循環(huán)等待按鍵按下,旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N XM個按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先 執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識別 哪一個按鍵按下。對按鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另 一種是速度較快的線反轉(zhuǎn)法。對照圖4-2

13、-1所示的44鍵盤,說明掃描法原理。首先辨別鍵盤中有無鍵按下, 有則單片機I/O 口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。把每個鍵都分成水 平和垂直的兩端接入,比如說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個 bit,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過比對之后就可知道是哪個鍵被按下。圖4-2-1鍵盤比如說掃描碼送入 00001111 ,前面的0000是代表列,而后面的 1111代表行,是讓讀取的4行接腳先設(shè)高,若此時第一行的第一列按鍵被按下,那讀取的結(jié)果就會變成00001110 (注意1111變成1110 ),其中LSB的第一個bit會

14、由1變成0,這是因為這個按鍵被按下之后,會被垂直的掃描碼電位短路接通,而把讀取的 bit電位拉到0,如此我們就知道是第一行有按鍵按下,然后再送入掃描碼同理可以得出是第一列有按鍵按下,2次半段后就可以知道結(jié)果是按鍵“LSB的11110000 ,1 ”被按下。此即為掃描原理。其流程圖如圖 4-2-2所示。輸岀為2號鍵輸岀為1號鍵MOV P2,#0F0H鍵盤橫排為0丄豎排為1MOV P2,#0F0H鍵盤橫排為0豎排為1圖4-2-2鍵盤識別子程序流程圖4.3顯示程序設(shè)計顯示設(shè)計采用動態(tài)掃描。顯示程序流程圖如圖4-3所示4開始顯示程序流程圖如圖4-3數(shù)碼顯示板上一共有 8個數(shù)碼管,如果按照傳統(tǒng)的數(shù)碼管驅(qū)

15、動方式(靜態(tài)掃描 方式),則需要8個七段譯碼器進(jìn)行驅(qū)動, 這樣既浪費資源,有時電路工作也不可靠。 所以現(xiàn)在最常見的數(shù)碼管驅(qū)動電路已經(jīng)不用上述的靜態(tài)掃描方式了,而是采用動態(tài)掃 描顯示的方式,這種方式只需一個譯碼器就可以實現(xiàn)電路正常、可靠的工作,這樣大 大節(jié)省資源。動態(tài)數(shù)碼掃描顯示方式是利用了人眼的視覺暫留效應(yīng),把八個數(shù)碼管按 一定順序(從左至右或從右至左)進(jìn)行點亮,當(dāng)點亮的頻率(即掃描頻率)不大時,我們看到的是數(shù)碼管一個個的點亮,然而,當(dāng)點亮頻率足夠大時,我們看到的不再是一個一個的點亮,而是全部同時顯示(點亮),與傳統(tǒng)方式得到的視覺效果完全一樣。因此我們只要給數(shù)碼管這樣一個掃描頻率,那么就可以實

16、現(xiàn)兩個以上的數(shù)碼管同時點 亮。而這個頻率我們可以通過一個計數(shù)器來產(chǎn)生,只要計數(shù)頻率足夠大,就可以實現(xiàn) 我們的要求。事實上,因為數(shù)碼管點亮不是瞬間就可以的,它也需要一定的時間,該 時間與數(shù)碼管的選擇有關(guān)系。為了折中這一對矛盾,實驗中一般可將計數(shù)頻率選擇在 100Hz左右肯定可以滿足上述兩個要求。動態(tài)掃描的頻率有一定的要求,頻率太低, LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個LED點亮的時間太短,LED的亮度太低, 肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。在C51指令中,延時子程序是相當(dāng)簡單的,并

17、且延時時間也很容易更改,可參見程序清單中的 DELAY延時子程序。如果顯示數(shù)字,要為LED顯示器提供字型代碼。我用的是共陽極的顯示器。LED 顯示器的字形代碼如下表所示:LED顯示器共陰極十六進(jìn)制數(shù)的字型代碼0123456789COHF9HA4HB0H99H92H82HF8H80H90H主要有三個顯示程序組成, 分別為按鍵后的輸入密碼正確的提示程序,密碼輸入錯誤后的提示子程序。詢問是否修改密碼子程序R210k圖4-3 a等待密碼輸入及修改顯示狀態(tài)1939XTAL1P0.0/AD0383736R3D310LED-GREENR1D210LED-REDR4D410LED-BLUE18P0.0/AD0

18、P0.1/AD1P0.2/AD235R210kR210kR210kL29:s 3cP!CPEAP2.5/A13P2.6/A14P2.7/A15P1.0P1.1P3.0/RXDP3.1/TXDR310D3 1LED-GREEN27281011tFIth1963152113 P1.1P3.1/TXD 12輸入密碼正確后詢問T是否修改密碼狀態(tài)19 P15PRrffijT! 1福FP305AD0 P0.6/WD1P0327AD2P0.3/AD3LS1R110R410D2 456D4T89DED-BLUE0#SOUNDERLS1SOUNDERLS1R310R110R410R310R110R4104.4密

19、碼修改程序設(shè)計7 FXTAL18 P1618P1.718 80CXTAL2SRCFILE=.wave 文件 001.ASM/AD4PROGRAM=dianzisuo.HEX P0.5/AD5P0.6/AD6圖 4 -T429303112345678PSENALEEAP1.0 P1.1P1.2P1.3P1.4P1.5P1.6P1.716313736353433顯示狀態(tài)P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/W

20、RP3.7/RD80C51SRCFILE=.wave 文件 001.ASMPROGRAM=dianzisuo.HEX222324252627281011121314151617SOUNDERLS1SOUNDERD3 123A 1LED-GREEN23D2 456LED-REDD4 789LEd-BLUE0#1D323A 123LED-GREENBD2456CLED-REDD4789DLED-BLUE0#123A123B456C789D0#修改密碼的功能,是自己擴展的功能,再輸入了正確的密碼之后,按下“# ”鍵就可以進(jìn)行密碼的修改了,輸入新密碼完畢后,再按# ”確認(rèn),則密碼修改成功,在屏幕上顯示

21、 GOOD信息,則已經(jīng)修改成功了。密碼修改子程序流程圖4-4所示修改子程序流程圖4-4第五章系統(tǒng)調(diào)試5.1軟件模擬調(diào)試首先,在wave里面寫的程序進(jìn)行編譯,唉,編譯通不過,不過這也是意料之中的事,把一個一個提示的錯誤給改正過來,重新進(jìn)行編譯,終于沒有錯誤提示信息了,接著,進(jìn)行軟件仿真,在 proteus里面把硬件原理圖畫好,把在wave里面寫的程序裝進(jìn)80C51,進(jìn)行仿真,唉,命途多舛??!按下任何的鍵都沒有反應(yīng),只好回到程序上進(jìn)行修改了,把程序分成各個小的子程序逐一進(jìn)行調(diào)試。對顯示子程序進(jìn)行調(diào)試,發(fā)現(xiàn)能夠正確的顯示,則表示此程序一切都0K。在把鍵盤識別和編碼的子程序添加進(jìn)去,發(fā)現(xiàn)不能顯示了,說

22、明是這個子程序存在問題,接下來重點就是鍵盤編碼部分了,由于我用的是順序的判斷是否有鍵按下和具體到底是哪個鍵被按下,思路特別的清晰,所以查找起來比較的方便。由于沒有任何的反應(yīng),最有可能的就是進(jìn)入了死循環(huán)。所以,先檢查一下編碼識別后面的程序,果真是進(jìn)入了死循環(huán),本來是應(yīng)該編碼之后就根據(jù)R7的值相應(yīng)進(jìn)行查表,進(jìn)行顯示。但由于我的粗心,把一個變量沒有歸零所以一直在里面循環(huán),把所有類似的錯誤改過 來,發(fā)現(xiàn)就能夠正確的顯示了(按下哪個數(shù)字鍵就相應(yīng)的顯示它的值)。當(dāng)我把顯示子 程序改為掃描方式,讓其動態(tài)的顯示多位,按鍵之后卻發(fā)現(xiàn)全屏幕顯示相同的數(shù),看 到如此的現(xiàn)象,心應(yīng)該是按一次鍵,卻執(zhí)行了很多的次數(shù),所以

23、最后全屏幕上都上相同的數(shù),如此一來就應(yīng)該加一個判斷是否已經(jīng)放下鍵了,但是需要在每個判斷是否有鍵 按下后面都要加一個判斷,這樣太麻煩,但是我們也可以在每次判斷之后把相應(yīng)的編 碼用完,立即清零也可以達(dá)到如此的效果,按照思路對程序進(jìn)行相應(yīng)的修改,在進(jìn)行 仿真,真的問題就迎刃而解了(按下哪個數(shù)就在屏幕上顯示哪個值,按幾個就顯示幾 個(小于6)。接下來要做的就是,對所輸入的密碼進(jìn)行比較,把CHECK子程序添加進(jìn)去,如果不出現(xiàn)意外的話,屏幕上會有GOOD的提示信息,并且紅色的指示燈亮,密碼的比較有兩個方面,一是對輸入密碼的個數(shù)進(jìn)行比較,二是對密碼的數(shù)值依次進(jìn)行比 較,只有全部通過猜是密碼正確。在PROTE

24、US里面進(jìn)行仿真,發(fā)現(xiàn)不管你輸入的密碼是正確還是錯誤的密碼都錯誤的提示信息,真有想放棄的感覺,其實真的要有耐心 和毅力的,心想這么容易的話,還有學(xué)的必要嗎,呵呵,慢慢的心又平靜下來了啊, 投入到了程序之中,再次仿真,令人欣慰的是,如我所思考的,問題解決了,再把對密碼的每一位進(jìn)行比較加去,打擊人的是,又不對了啊,呵呵,真的是可笑我居然把 一個編碼鍵值與直接的顯示數(shù)值相比較,那肯定是不會相等的啊,對此做了相應(yīng)的改 動之后,一切都正確了。接著就是如果輸入的密碼錯誤次數(shù)連續(xù)超過三次,則應(yīng)該顯示NO的錯誤提示信息,前兩次只有綠燈亮,三次錯誤之后,綠燈和藍(lán)燈都亮,呵呵,這次還好,一試 就成功了,感覺這個模

25、塊是我做的最理想的一個模塊了啊。工夫不負(fù)有心人,至此,老師分配給我們的基本任務(wù)就完成了,心里感覺特別的爽??!我自己還想再里面加上修改密碼的功能,用“#”來充當(dāng)確定鍵。到此軟件的調(diào)試就結(jié)束了!5.2硬件接線及調(diào)試雖然軟件設(shè)計是非常重要的,但是還是紙上談兵啊,真正要到了調(diào)試的時候, 這又是一個另一個比設(shè)計還頭痛的事,我們說它令人頭痛事有原因的,按理是通的, 但調(diào)試不一定可以出來,甚至于設(shè)計是錯誤的,調(diào)試是設(shè)計的試金石啊!對單片機系統(tǒng)的實驗室, 我們在之前已經(jīng)做了幾個實驗,對它有了初步的了解,使我們在這次做單片機課程設(shè)計不至于對單片機試驗臺太陌生。我們大概發(fā)了不到兩 天的時間就把源程序?qū)懗鰜砹耍⑶?/p>

26、調(diào)試成功了,但由于老師不方便,所以推遲到了 第二個星期才到實驗室正式調(diào)試了,到了實驗室,真的是頭暈,一看實驗臺的元器件,與我們設(shè)計的完全的不同, 最突出的兩點是鍵盤和I/O端口,我們在寢室模擬仿真用的 是3*4的鍵盤,而學(xué)校是不規(guī)則的 3*8的鍵盤,另外,在I/O的問題也比較的嚴(yán)俊,只能用 pl 口,所以只能用8255的芯片來擴展了,以在之前的程序基礎(chǔ)之上進(jìn)行改動還好,算是比較的順利只是稍微做了一下調(diào)試,功能就基本上對了 呵呵,付出了努力,還是有回報的,最終所有的功能都能在試驗臺上操作成功!18設(shè)計總結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),

27、是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C課程設(shè)計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在接近四星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西, 同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知 識。這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不 夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社 會服務(wù),從而提高自己的

28、實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的 知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片 機匯編語言掌握得不好, 通過這次課程設(shè)計之后, 一定把以前所學(xué)過的知識重新溫故。通過這次單片機課程設(shè)計,我不僅加深了對單片機理論的理解,將理論好地應(yīng)用到實際當(dāng)中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,而不斷地戰(zhàn)勝自己, 超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進(jìn)行改進(jìn)之功能不斷完善,成為自己的東西。俗話說“好的開始是成功的一半”。說起課程設(shè)計,我認(rèn)為最重要的就是做好設(shè)計的預(yù)習(xí),認(rèn)真的研究老師給

29、的題目,選一個自己有興趣的題目。其次,老師對實驗 的講解要一絲不茍的去聽去想,因為只有都明白了,做起設(shè)計就會事半功倍,如果沒 弄明白,就迷迷糊糊的去選題目做設(shè)計,到頭來一點收獲也沒有。最后,要重視程序 的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。軟件的編程也要我們不斷的調(diào)試,最終一個能完成課程設(shè)計的勞動成果出來 了,很高興它能按著設(shè)計的思想與要求運動起來。當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意錯了線,由于 對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯誤。第二,是在學(xué)習(xí)態(tài)度上,這次課程設(shè)計是對 我的學(xué)習(xí)態(tài)度的一次檢驗。對于這次單片機綜合課程實習(xí),我的第一大心得體會就是 作為一名工

30、程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實習(xí)所遇到 的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事 情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么 辦不到的。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在老師的 辛勤指導(dǎo)下,終于游逆而解。同時,在老師那里我學(xué)得到很多實用的知識。在此對汪 超老師以及給過我?guī)椭乃型瑢W(xué)再次表示忠心的感謝!參考文獻(xiàn)1 、微型計算機原理及應(yīng)用許立梓編機械工業(yè)出版社 20022 、微型計算機接口技術(shù)及應(yīng)用劉樂善編華中理工大學(xué)出版社20003 、計算機硬件技術(shù)基礎(chǔ)試驗教程鄒逢興編高等教

31、育出版社20004 、16位微型計算機原理接口及其應(yīng)用周佩玲編中國科學(xué)技術(shù)大學(xué)出版20005 、微型計算機原理與接口技術(shù)吳秀清編中國科學(xué)技術(shù)出版社2001216 、微型計算機接口技術(shù)鄧亞平編7 、單片機原理及及應(yīng)用王迎旭編8 、單片機應(yīng)用程序設(shè)計技術(shù)2002清華大學(xué)出版社2001機械工業(yè)出版社2001周航慈著北京航空航天大學(xué)出版社9、單片機實用技術(shù)問答謝宜仁 主編人民郵電出版社20022239158047BCDeuud-df-1RBNcto-DDL9$au2feC5 - 彳2 -di9 3 6 鄉(xiāng)03 0 3 grt/黒ddk-dflX- nonzg_ SAROB SCO 件、Maw三-IL-

32、TtfCtORTJL CRW6L iT-CL H-T/gXL TI3 04 / CL CDRCCLpppppppp5AC-8C-AWMVAy6AC-5AC-4AJ.-3AC-aa EL NESZORcxiLTVLT1Ul孫 I 99|1|1硬件原理圖源程序:ORG 0000HSTART:MOV R7,#03H;密碼付初值MOV 50H,#82HMOV 51H,#92HMOV 52H,#99HMOV 53H,#0B0HMOV 54H,#0A4HMOV 55H,#0F9H;顯示付初值MOV 60H,#01HMOV 61H,#03HMOV 62H,#07HMOV 63H,#0FHMOV 64H,#1

33、FHMOV 65H,#3FHMAIN:主程序MOV R0,#60HMOV R1,#20HMOV R2,#0H;開機顯示MOV P0,#0FFHMOV P3,#7FHMOV P1,#0F7HLOOP: LCALL KEYCJNE A,#89H,MAIN1JMP MAINMAIN1:CJNE A,#9CH,MAIN2LCALLCHECKJMP MAINMAIN2:LCALL DISPLAYINC ROINC R1INC R2CJNE R2,#06 H,L OOPL00P2:LCALL KEYCJNE A,#89H,MAIN3JMP MAINMAIN3:CJNE A,#9CH,MAIN4LCALLC

34、HECKJMP MAINMAIN4:JMP L00P2;鍵盤輸入子程序KEY:MOV P2,#0FHJNB P2.0,Y1JNB P2.1,Y2JNB P2.2,Y3JNB P2.3,Y4JMP KEYY1:MOV P2,#0FFHMOV P2,#0F0HJNB P2.4,Y11JNB P2.5,Y12MOV A,#0B0HRETY11:MOV A,#0F9HRETY12:MOV A,#0A4HRETY2:MOV P2,#0FFHMOV P2,#0F0HJNB P2.4,Y21JNB P2.5,Y22MOV A,#82HRETY21:MOV A,#99HRETY22:MOV A,#92HRET

35、Y3:MOV P2,#0FFHMOV P2,#0F0HJNB P2.4,Y31JNB P2.5,Y32MOV A,#90HRETY31:MOV A,#0F8HRETY32:MOV A,#80HRETY4:MOV P2,#0FFHMOV P2,#0F0HJNB P2.4,Y41JNB P2.5,Y42MOV A,#9CHRETY41:MOV A,#89HRETY42:MOV A,#0C0HRETDISPLAY:MOV R1,A;顯示子程序MOV P1,#0BFHMOV P3,R0RETCHECK:DEC R1;檢查密碼子程序MOV A,R1CJNE A,5OH,DOWNDEC R1MOV A,R1CJNE A,51H,DOWNDEC R1MOV A,R1CJNE A,52H,DOWNDEC R1MOV A,R1CJNE A,53H,DOWNDEC R1MOV A,R1CJNE A,54H,DOWNDEC R1MOV A,R1CJNE A,55H,DOWNMOV P0,#82HLCALL GOODMOV P1,#58HMOV P3,#7FHC2:LCALL KEYCJNE A,#89H,C1JMP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論