單片機(jī)課程設(shè)計(jì)--密碼鎖_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  第一章 引言 ………………………………………………………………4</p><p>  第二章 設(shè)計(jì)總說明 …………………………………………………………4</p><p>  2.1 設(shè)計(jì)說明…………………………………………………………4</p><p> 

2、 2.2 設(shè)計(jì)總結(jié)構(gòu)圖……………………………………………………6</p><p>  系統(tǒng)硬件設(shè)計(jì) ……………………………………………………6</p><p>  3.1 矩陣鍵盤接口電路………………………………………………6</p><p>  3.2 LED顯示…………………………………………………………8</p><p>  3.3 報(bào)

3、警系統(tǒng)…………………………………………………………9</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì) ……………………………………………………9</p><p>  4.1軟件設(shè)計(jì)思路 ………………………………………………9</p><p>  4.2鍵盤掃描子程序設(shè)計(jì) ………………………………………10</p><p>  4.3 LED顯示子

4、程序說明 ………………………………………11</p><p>  4.4密碼修改比較和報(bào)警子程序設(shè)計(jì) …………………………13</p><p>  第五章 總體設(shè)計(jì)圖…………………………………………………………17</p><p>  第六章 設(shè)計(jì)程序 …………………………………………………………18</p><p>  第七章 系統(tǒng)調(diào)試

5、 ………………………………………………………26</p><p>  第八章 心得體會(huì)……………………………………………………………26</p><p>  參考文獻(xiàn) ……………………………………………………………………27</p><p><b>  第一章 引言</b></p><p>  單片機(jī)也被稱微控器,是因

6、為它最早被用在工業(yè)控制領(lǐng)域。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能。這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。</p><p>  單片機(jī)對成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級匯編語言,它是除了二進(jìn)制機(jī)器碼最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機(jī)沒有家用計(jì)算機(jī)那樣的CPU

7、,也沒有像硬盤那樣的海量存儲設(shè)備。單片機(jī)在硬件資源方面的利用率必須很高才行。</p><p>  本設(shè)計(jì)是基于單片機(jī)的密碼鎖設(shè)計(jì)方案,根據(jù)要求,給出單片機(jī)密碼鎖的硬件電路和軟件程序,同時(shí)給出單片機(jī)型號的選擇,硬件設(shè)計(jì),軟件流程圖等內(nèi)容。</p><p><b>  設(shè)計(jì)總說明</b></p><p><b>  2.1 設(shè)計(jì)說明<

8、;/b></p><p>  隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、IC卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識識別器若在公共場所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。

9、</p><p>  本次基于8051單片機(jī)電子密碼鎖的設(shè)計(jì),其主要具有如下功能:</p><p> ?。?)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。</p><p> ?。?)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),鎖打開后才能</p><p>  改密碼。修改密碼之前必須再次輸入密碼。</p><

10、p> ?。?)報(bào)警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當(dāng)連續(xù)3次輸入錯(cuò)誤</p><p>  密碼,系統(tǒng)聲光報(bào)警。</p><p>  電子密碼鎖的設(shè)計(jì)主要由三部分組成:4×4矩陣鍵盤接口電路、密碼鎖</p><p>  的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈等。</p><p>  密碼鎖設(shè)計(jì)的關(guān)鍵問題是實(shí)

11、現(xiàn)密碼的輸入、清除、更改、開鎖等功能:</p><p> ?。?)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)數(shù)字就顯示在右邊的數(shù)碼管上,同時(shí)將先前輸入的所有數(shù)字向左移動(dòng)一位。</p><p> ?。?)密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示</p><p> ?。?)密碼更改功能:將輸入的值作為新的密碼。</p><p>

12、 ?。?)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對,如果確鎖打開,否則不打開。</p><p>  主要的設(shè)計(jì)實(shí)施過程:首先,選用8051單片機(jī),以及其他電子元器件。第二步,設(shè)計(jì)硬件電路。第三步,編寫單片機(jī)語言實(shí)現(xiàn)功能。第四部,分別進(jìn)行軟件和硬件的調(diào)試。最后,聯(lián)合軟、硬件調(diào)試整個(gè)系統(tǒng),完成本次課程設(shè)計(jì)。</p><p>  關(guān)鍵詞:4×4矩陣鍵盤;8051單片機(jī);密碼

13、鎖;密碼二次確認(rèn)</p><p>  2.1 設(shè)計(jì)總結(jié)構(gòu)圖</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)</p><p>  此次課程設(shè)計(jì)基于單片機(jī)控制的電子密碼鎖,接到課題后,根據(jù)老師布置的任務(wù)和相關(guān)要求,結(jié)合主要設(shè)計(jì)條件,我設(shè)計(jì)了如下方案,其總體方案設(shè)計(jì)如下: 本系統(tǒng)由單片機(jī)系統(tǒng)、矩陣鍵盤、LED顯示和報(bào)警系統(tǒng)組成。系統(tǒng)能完成開鎖、超時(shí)報(bào)警功能。</p

14、><p>  3.1矩陣鍵盤接口電路:</p><p>  此次課程設(shè)計(jì)采用4*4矩陣鍵盤,與P1口相連,采用掃描法。設(shè)有0——9十個(gè)數(shù)字密碼,一個(gè)修改密碼鍵,一個(gè)清除鍵和一個(gè)確認(rèn)鍵。開機(jī)顯示000000,等待密碼輸入,輸入6個(gè)密碼,按確認(rèn)鍵后,密碼比較。 </p><p>  矩陣式鍵盤的識別方法:</p><p>  確定矩陣式鍵盤上何鍵被按

15、下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如下。</p><p>  判斷鍵盤中有無鍵按下:</p><p>  先將行線p1.7-p1.4置0111,然后檢測列線的狀態(tài)。如果p1.3-p1.0為0111,則k0被按下;如果p1.3-p1.0為1011,則k1被按下;如果p1.3-p1.0為1101,則k2被

16、按下;如果p1.3-p1.0為1110,則k3被按下;</p><p>  將行線p1.7-p1.4置1011,然后檢測列線的狀態(tài),方法同(1);</p><p>  將行線p1.7-p1.4置1101,然后檢測列線的狀態(tài),方法同(1);</p><p>  將行線p1.7-p1.4置1110,然后檢測列線的狀態(tài),方法同(1).</p><p&g

17、t;  3.2 LED顯示:</p><p>  此次課程設(shè)計(jì)6密碼6顯示器,按鍵后即顯示,動(dòng)態(tài)顯示。根據(jù)按鍵次數(shù),第一位顯示器顯示第一次按的密碼,第二位顯示器顯示第二次按的密碼,第三位顯示器顯示第三次按的密碼,依此第六位顯示器顯示第六次按的密碼,按鍵完成后按確認(rèn)鍵后,密碼對則執(zhí)行相關(guān)動(dòng)作,不同則顯示器清零,等待重新輸入。</p><p>  LED數(shù)碼顯示字形(段)碼表如下:</p

18、><p><b>  3.3 報(bào)警系統(tǒng):</b></p><p>  此次課程設(shè)計(jì),當(dāng)按鍵三次錯(cuò)誤后,系統(tǒng)報(bào)警,報(bào)警裝置由一揚(yáng)聲器實(shí)現(xiàn),從P1.2口輸出脈沖,使揚(yáng)聲器鳴報(bào)警。</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)</p><p><b>  4.1軟件設(shè)計(jì)思路</b></p><

19、p>  電子密碼鎖工作的主要過程是通過鍵盤輸入密碼,同時(shí)LED顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,做出開鎖或報(bào)警處理。當(dāng)輸入密碼連續(xù)三次錯(cuò)誤時(shí),系統(tǒng)報(bào)警。</p><p>  密碼的的設(shè)定在此程序中密碼是固定40H~45H中,假設(shè)預(yù)定密碼為“123456”六位。在正常狀態(tài)時(shí),可以進(jìn)行重新設(shè)置密碼、上鎖等操作。重新設(shè)置密碼時(shí),首先驗(yàn)證原始密碼,如相同則可進(jìn)行密碼更改,然后將新密碼保存至AT24C0

20、1中。</p><p>  按鍵按其功能分為兩種,其中一種為功能鍵另一種為數(shù)字鍵。輸入密碼后,直到所有密碼輸入完畢按下確認(rèn)功能鍵之后,才完成密碼輸入過程。進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。</p><p>  4.2鍵盤掃描子程序設(shè)計(jì)</p><p><b>  鍵盤掃描流程如圖</b></p><p> 

21、 鍵盤掃描子程序如下:</p><p>  L2:MOV R3,#0F7H</p><p>  MOV R1,#00H</p><p>  L3: MOV A,R3</p><p><b>  MOV P1,A</b></p><p><b>  MOV A,P1</b>

22、</p><p><b>  MOV R4,A</b></p><p><b>  SETB C</b></p><p>  MOV R5,#04H</p><p><b>  L4:RLC A</b></p><p><b>  JNC KE

23、YIN</b></p><p><b>  INC R1</b></p><p>  DJNZ R5,L4</p><p><b>  CALL DISP</b></p><p><b>  MOV A,R3</b></p><p><

24、b>  SETB C</b></p><p><b>  RRC</b></p><p><b>  MOV R3,A</b></p><p><b>  JC L3</b></p><p><b>  JMP L2</b></p&

25、gt;<p>  4.3 LED顯示子程序</p><p>  LED顯示子程序流程圖如下</p><p><b>  圖4-3</b></p><p>  LED顯示子程序如下:</p><p>  DISP:MOV R0,#45H</p><p>  DISP1:MOV A,@R

26、0</p><p>  ADD A,350H</p><p><b>  MOV P0,A</b></p><p><b>  CALL DELY</b></p><p><b>  DEC R0</b></p><p><b>  MOV A

27、@R0</b></p><p>  ADD A,#40H</p><p><b>  MOV P0,A</b></p><p><b>  CALL DELY</b></p><p><b>  DEC R0</b></p><p><

28、b>  MOV A,@R0</b></p><p>  ADD A,#30H</p><p><b>  MOV P0,A</b></p><p>  CALL DELAY</p><p><b>  DEC RO</b></p><p><b>

29、  MOV A,@R0</b></p><p>  ADD A,@10H</p><p><b>  MOV P0,A</b></p><p>  CALL DELAY</p><p><b>  DEC R0</b></p><p><b>  MOV

30、 A,@R0</b></p><p>  ADD A,#00H</p><p><b>  MOV P0,A</b></p><p>  CALL DELAY</p><p><b>  RET</b></p><p>  4.4密碼修改比較和報(bào)警程序</p

31、><p><b>  密碼比較流程圖如下</b></p><p><b>  圖4-4</b></p><p><b>  密碼修改與比較程序</b></p><p>  SET0: MOV R1,#65H</p><p>  MOV R0,#35H<

32、/p><p>  MOV R2,#06H</p><p>  E1: MOV A,@R1</p><p><b>  MOV @R0,A</b></p><p><b>  DEC R1</b></p><p><b>  DEC R0</b><

33、/p><p>  DJNZ R2,E1</p><p>  lcall delay</p><p>  lcall delay</p><p>  lcall delay</p><p>  E2:LJMP START </p><p>  COMP: MOV R1,#65H</p

34、><p>  MOV R0,#35H</p><p>  MOV R2,#06H</p><p>  C1: MOV A,@R1</p><p><b>  XRL A,@R0</b></p><p><b>  JNZ C3</b></p><p>

35、;<b>  DEC R1</b></p><p><b>  DEC R0</b></p><p>  DJNZ R2,C1</p><p><b>  setb P1.0</b></p><p>  lcall delay</p><p>  lca

36、ll delay</p><p>  lcall delay</p><p><b>  clr p1.0</b></p><p>  MOV R2,#200</p><p>  C2: MOV R6,#248</p><p><b>  DJNZ R6,$</b>&l

37、t;/p><p>  DJNZ R2,C2</p><p>  ljmp START</p><p>  C3: setb P1.1</p><p>  lcall delay</p><p>  lcall delay</p><p>  lcall delay</p><

38、;p><b>  clr p1.1</b></p><p><b>  INC R5</b></p><p><b>  MOV A,R5</b></p><p><b>  MOV R5,A</b></p><p>  CJNE R5 ,#03H

39、,C4</p><p>  setb P1.2</p><p>  lcall delay</p><p>  lcall delay</p><p>  lcall delay</p><p><b>  clr p1.2</b></p><p><b>  

40、lcall S</b></p><p>  C4: lJMP START</p><p><b>  end</b></p><p>  第五章 系統(tǒng)總設(shè)計(jì)圖</p><p><b>  系統(tǒng)總圖</b></p><p><b>  設(shè)計(jì)程序<

41、;/b></p><p>  OUTBIT equ 08002h</p><p>  OUTSEG equ 08004h</p><p>  IN equ 08001h</p><p>  LEDBuf equ 60h</p><p>  MOV R7,#10H</p>

42、<p>  MOV R6,#06H</p><p>  MOV R1,#35H</p><p>  L1: MOV A,R7</p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV @R1,A</b>

43、</p><p><b>  DEC R1</b></p><p><b>  INC R7</b></p><p>  DJNZ R6,L1</p><p>  ljmp READY</p><p><b>  LEDMAP:</b></p&g

44、t;<p>  db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h</p><p>  db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h</p><p>  db 06h, 5bh, 4fh, 66h, 6dh, 7dh</p><p><b>  Delay

45、:</b></p><p>  mov r7, #0</p><p>  DelayLoop:</p><p>  djnz r7, DelayLoop</p><p>  djnz r6, DelayLoop</p><p><b>  Ret</b></p>

46、<p>  DisplayLED:</p><p>  mov r0, #LEDBuf</p><p>  mov r1, #6</p><p>  mov r2, #01h</p><p><b>  Loop:</b></p><p>  mov dptr, #OUT

47、BIT</p><p>  mov a, #0</p><p>  movx @dptr, a</p><p>  mov a, @r0</p><p>  mov dptr, #OUTSEG</p><p>  movx @dptr, a</p><p>  mov dpt

48、r, #OUTBIT</p><p>  mov a, r2</p><p>  movx @dptr, a</p><p>  mov r6, #1</p><p>  call Delay</p><p>  mov a, r2</p><p><b>  rl

49、 a</b></p><p>  mov r2, a</p><p><b>  inc r0</b></p><p>  djnz r1, Loop</p><p><b>  ret</b></p><p><b>  TestKey:&

50、lt;/b></p><p>  mov dptr, #OUTBIT</p><p>  mov a, #0</p><p>  movx @dptr, a</p><p>  mov dptr, #IN</p><p>  movx a, @dptr</p><p>&l

51、t;b>  cpl a</b></p><p>  anl a, #0fh</p><p><b>  ret</b></p><p><b>  KeyTable:</b></p><p>  db 16h, 15h, 14h, 0ffh</p>&l

52、t;p>  db 13h, 12h, 11h, 10h</p><p>  db 0dh, 0ch, 0bh, 0ah</p><p>  db 0eh, 03h, 06h, 09h</p><p>  db 0fh, 02h, 05h, 08h</p><p>  db 00h, 01h, 04h, 07

53、h</p><p><b>  GetKey:</b></p><p>  mov dptr, #OUTBIT</p><p>  mov P2, dph</p><p>  mov r0, #Low(IN)</p><p>  mov r1, #00100000b</p&g

54、t;<p>  mov r2, #6</p><p><b>  KLoop:</b></p><p>  mov a, r1</p><p><b>  cpl a</b></p><p>  movx @dptr, a</p><p><

55、b>  cpl a</b></p><p><b>  rr a</b></p><p>  mov r1, a</p><p>  movx a, @r0</p><p><b>  cpl a</b></p><p>  anl

56、a, #0fh</p><p>  jnz Goon1</p><p>  djnz r2, KLoop</p><p>  mov r2, #0ffh</p><p>  sjmp Exit</p><p><b>  Goon1:</b></p><p> 

57、 mov r1, a</p><p>  mov a, r2</p><p><b>  dec a</b></p><p><b>  rl a</b></p><p><b>  rl a</b></p><p>  mov

58、 r2, a</p><p>  mov a, r1</p><p>  mov r1, #4</p><p><b>  LoopC:</b></p><p><b>  rrc a</b></p><p>  jc Exit</p>&l

59、t;p><b>  inc r2</b></p><p>  djnz r1, LoopC</p><p><b>  Exit:</b></p><p>  mov a, r2</p><p>  mov dptr, #KeyTable</p><p>

60、  movc a, @a+dptr</p><p><b>  mov r2,a</b></p><p><b>  mov a,r2</b></p><p>  XRL A,#0eH</p><p>  jz COMPARE</p><p><b>  MOV

61、 A,r2</b></p><p>  XRL A,#0cH</p><p><b>  jz CLEAN</b></p><p><b>  MOV A,r2</b></p><p>  XRL A,#0aH</p><p><b>  jz SE

62、T1</b></p><p><b>  MOV A,r2</b></p><p>  XRL A,#0fH</p><p><b>  jz SET2</b></p><p>  WaitRelease:</p><p>  mov dptr, #OUTB

63、IT</p><p><b>  clr a</b></p><p>  movx @dptr, a</p><p>  mov r6, #10</p><p>  call Delay</p><p>  call TestKey</p><p>  jnz

64、 WaitRelease</p><p>  mov a, r2</p><p><b>  ret</b></p><p>  READY: anl p1,#00H</p><p>  s: MOV R5,#00H</p><p>  ABC: CLR PSW.5<

65、;/p><p><b>  START:</b></p><p>  MOV R4,#06H</p><p>  MOV R0,#60H</p><p>  CLEAR: MOV @R0,#00H</p><p><b>  INC R0</b></p><p

66、>  DJNZ R4,CLEAR</p><p>  mov sp, #40h</p><p>  mov LEDBuf+0, #3fh</p><p>  mov LEDBuf+1, #3fh</p><p>  mov LEDBuf+2, #3fh</p><p>  mov LEDBuf

67、+3, #3fh</p><p>  mov LEDBuf+4, #3fh</p><p>  mov LEDBuf+5, #3fh</p><p><b>  MLoop:</b></p><p>  call DisplayLED</p><p>  call TestKey<

68、;/p><p>  jz MLoop</p><p>  call GetKey</p><p>  anl a, #0fh</p><p>  mov dptr, #LEDMap</p><p>  movc a, @a+dptr</p><p><b>  XCH A

69、,60H</b></p><p><b>  XCH A,61H</b></p><p><b>  XCH A,62H</b></p><p><b>  XCH A,63H</b></p><p><b>  XCH A,64H</b>&l

70、t;/p><p><b>  XCH A,65H</b></p><p>  ljmp MLoop</p><p>  CLEAN: ljmp START</p><p>  COMPARE:LJMP COMP</p><p>  SET1:MOV A,PSW</p><p&g

71、t;  ANL A,#20H</p><p><b>  JZ START</b></p><p>  MOV R1,#65H</p><p>  MOV R0,#6FH</p><p>  MOV R2,#06H</p><p>  E1: MOV A,@R1</p><

72、;p><b>  MOV @R0,A</b></p><p><b>  DEC R1</b></p><p><b>  DEC R0</b></p><p>  DJNZ R2,E1</p><p><b>  SETB P1.3</b><

73、/p><p>  lcall delay</p><p>  LJMP START</p><p>  SET2:MOV R2,#06H</p><p>  MOV R1,#60H</p><p>  MOV R0,#6AH</p><p>  S1:MOV A,@R1</p><

74、;p><b>  XRL A,@R0</b></p><p><b>  JNZ S3</b></p><p><b>  INC R0</b></p><p><b>  INC R1</b></p><p>  DJNZ R2,S1</p&

75、gt;<p>  MOV R2,#06H</p><p>  MOV R1,#30H</p><p>  MOV R0,#6AH</p><p>  S2: MOV A,@R0</p><p><b>  MOV @R1,A</b></p><p><b>  INC R0

76、</b></p><p><b>  INC R1</b></p><p>  DJNZ R2,S2</p><p><b>  CLR P1.3</b></p><p><b>  SETB P1.0</b></p><p>  MOV R

77、6,#250</p><p>  LCALL DELAY</p><p><b>  CLR P1.0</b></p><p>  ljmp START</p><p>  S3: setb P1.1</p><p>  lcall delay</p><p>  lcal

78、l delay</p><p>  lcall delay</p><p><b>  clr p1.1</b></p><p>  LJMP START</p><p>  COMP: MOV R1,#65H</p><p>  MOV R0,#35H</p><p>

79、  MOV R2,#06H</p><p>  C1: MOV A,@R1</p><p><b>  XRL A,@R0</b></p><p><b>  JNZ C2</b></p><p><b>  DEC R1</b></p><p>

80、<b>  DEC R0</b></p><p>  DJNZ R2,C1</p><p><b>  setb P1.0</b></p><p>  lcall delay</p><p>  lcall delay</p><p>  lcall delay</p&

81、gt;<p><b>  clr p1.0</b></p><p>  SETB PSW.5</p><p>  ljmp START</p><p>  C2: setb P1.1</p><p><b>  CLR PSW.5</b></p><p>

82、  lcall delay</p><p>  lcall delay</p><p>  lcall delay</p><p><b>  clr p1.1</b></p><p><b>  INC R5</b></p><p><b>  MOV A,R5&

83、lt;/b></p><p><b>  MOV R5,A</b></p><p>  CJNE R5 ,#03H,C3</p><p>  setb P1.2</p><p>  lcall delay</p><p>  lcall delay</p><p>

84、;  lcall delay</p><p><b>  clr p1.2</b></p><p><b>  lcall S</b></p><p>  C3: lJMP START</p><p><b>  End</b></p><p>&

85、lt;b>  第七章 系統(tǒng)調(diào)試</b></p><p>  電子密碼鎖主要由矩陣鍵盤,LED數(shù)碼顯示器,提示燈,報(bào)警電路和單片機(jī)程序組成。</p><p>  調(diào)試部分主要是數(shù)碼顯示和程序細(xì)節(jié)的調(diào)試。數(shù)碼管調(diào)試主要是看其能否完整顯示6位數(shù)字。不可以顯示只能重新?lián)Q過。</p><p>  程序的調(diào)試是比較復(fù)雜的部分,它又可以分為比較部分和鍵盤部分。&

86、lt;/p><p>  首先在輸入程序時(shí),應(yīng)該先輸入鍵盤部分,然后單獨(dú)運(yùn)行鍵盤程序看鍵盤輸入時(shí)數(shù)碼管能否顯示出與鍵盤輸入的數(shù)字相對應(yīng)的數(shù)字。</p><p>  然后以鍵盤程序?yàn)橹鞒绦?,把比較部分的程序作為子程序輸入。那是由于鍵盤程序中我們所輸入的數(shù)字存在60H-65H顯示緩存中只能在鍵盤程序中被調(diào)用,如果把鍵盤程序作為子程序,那我們在比較部分中要調(diào)用顯示緩存中的數(shù)據(jù)便不可行。</p&g

87、t;<p>  密碼放在30H-35H,當(dāng)輸入六個(gè)數(shù)時(shí),程序把數(shù)據(jù)與密碼進(jìn)行比較,當(dāng)輸入與密碼完全匹配時(shí),輸入正確,密碼鎖打開,否則顯示紅燈,連續(xù)三次錯(cuò)誤時(shí),蜂鳴器報(bào)警。</p><p><b>  第八章 心得體會(huì)</b></p><p>  時(shí)間過得真快,轉(zhuǎn)眼間,一周的單片機(jī)課程設(shè)計(jì)就結(jié)束了。這是我的第一次課程設(shè)計(jì),接到課題后,開始幾天我主要看書,跑

88、圖書館,上網(wǎng)查資料。在圖書館找到了類似的資料,我就開始看程序,然后自己試著去改,但是很不幸在Keil中編譯時(shí)有一處錯(cuò)誤,可是我花了一天多的時(shí)間查資料和問同學(xué)也沒找出哪里出錯(cuò)了。于是我就另外找其他有關(guān)的程序,終于在星期天找到了,接著我邊看書邊看程序,目的是把程序看懂,然后自己再嘗試著去改,經(jīng)過一天左右的時(shí)間,程序差不多看懂了,電路圖也畫出來了,程序編譯也沒問題,于是我就把程序下到硬件里面,可是就是不顯示,主要是按鍵不起作用。我又重新看程序

89、,反復(fù)的改,到晚上的時(shí)候還是沒搞好,就再看書,請教同學(xué),大概又花了兩天時(shí)間,在同學(xué)的提醒下,我終于發(fā)現(xiàn)了問題。主要是按鍵接的總線沒有設(shè)定相對應(yīng)的引腳。當(dāng)天晚上,我就改了,終于問題解決了,仿真也成功了?。?dāng)時(shí)真的很高興,畢竟我花了這么多的時(shí)間,終于有用了。然而在生成PCB圖時(shí),我又遇到了問題,就是有些元件沒封裝(如按鍵),不知道怎么加進(jìn)去,我又再網(wǎng)上查資料,終于找到怎么加進(jìn)去的方法,我自己試著弄了一下,成功了,當(dāng)時(shí)真的很興奮,這樣一來,我

90、的課程設(shè)計(jì)</p><p>  我在整個(gè)設(shè)計(jì)過程中懂得了許多東西,當(dāng)遇到解決不了的問題,跟同伴一起商量、合作,向掌握的好的同學(xué)請教,或許能收到事半功倍的效果。不管學(xué)什么,一定要打好基礎(chǔ),并將其學(xué)好、學(xué)精,但空有知識也不一定就能說明什么,還得能為己所用;還有更重要的是培養(yǎng)了獨(dú)立思考和設(shè)計(jì)的能力,樹立了對知識應(yīng)用的信心,相信會(huì)對今后的學(xué)習(xí)工作和生活有非常大的幫助,使自己充分體會(huì)到了在設(shè)計(jì)過程中的成功喜悅。做課程設(shè)計(jì)不

91、只是對我們知識的考察,也是對學(xué)習(xí)態(tài)度的測驗(yàn)。經(jīng)過這段時(shí)間的課程設(shè)計(jì)后,我感覺我學(xué)到了不少東西,特別是一些課外的知識,這樣的課程設(shè)計(jì)很有意義,我覺得我們要多做一些這樣的課程設(shè)計(jì)。唯一的遺憾就是沒有親自動(dòng)手把實(shí)物圖做出來。希望今后能多有這樣的課程設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]周潤景 張麗娜 丁莉.基于PROTEUS的電路

92、及單片機(jī)設(shè)計(jì)與仿真(第二版).北京航天航空大學(xué)出版社2009.12</p><p>  [2] 李朝清.單片機(jī)原理及接口技術(shù)(第三版). 北京航天航空大學(xué)出版社.2006.12</p><p>  [3] 周興華.手把手教你學(xué)單片機(jī). 北京航天航空大學(xué)出版社.2006.12</p><p>  [4] 張文利.微機(jī)原理及單片機(jī)接口技術(shù).中國科學(xué)技術(shù)大學(xué)出版社2007

溫馨提示

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

評論

0/150

提交評論