資料有電路圖 程序 說明操作和完整的設計論文
0.png (56.82 KB, 下載次數: 51)
下載附件
2018-4-5 04:45 上傳
所有資料51hei提供下載:
基于兩個單片機串行通信的電子密碼鎖資料.rar
(4.41 MB, 下載次數: 33)
2018-4-2 09:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機作為微型計算機一個很重要的分支,應用廣泛,發展迅速,已對很多領域產生了重大影響。單片機不僅在控制外圍器件中有著重要的用途,其通信功能在現代控制系統中越來越顯得重要。這里所說的通信是指計算機與外界的信息交換。因此,通信既包括計算機與外部設備之間,也包括計算機與計算機之間的信息交換。由于串行通信是在一根傳輸線上一位一位地傳送信息,所以傳輸線少,特別適合遠距離傳輸。串行通信技術是單片機系統開發中常用的技術之一,相對于并行通信,串行通信硬件代價低,結構簡單,傳輸距離也比并行通行長的多。
電子密碼鎖的內、外部分的連接通信正可應用單片機之間的串口通信實現。外部單片機可負責外部鍵盤號碼的采集和顯示,而內部單片機主要負責密碼的設置、顯示、判斷發送來的外部鍵盤輸入碼是否是密碼和實現語音播放功能的實現。其系統框圖如下:
0.jpg (11.99 KB, 下載次數: 38)
下載附件
2018-4-5 04:47 上傳
系統工作過程如下:
加電后,顯示“000000”。
在外部鍵盤輸入密碼,數碼管顯示相應數字。
輸入過程中,如果不小心出現輸入錯誤,可按“取消”鍵清除屏幕,取消此次輸入,
0.jpg (70.46 KB, 下載次數: 33)
下載附件
2018-4-5 04:45 上傳
此時顯示“000000”。再次輸入需要輸入所有6位密碼。
在內部數碼管顯示外部鍵盤輸入密碼,并與預設密碼比較,發出密碼正確與否的提示音,密碼正確的話,放光二極管點亮,表明密碼鎖打開。
管理員可以使用內部鍵盤察看當前密碼、修改密碼、同時使用內部鍵盤也可以打開電子密碼鎖。也會有相應提示音提示操作。
在內、外單片機部分分別由鍵盤、數碼顯示電路。外部用4×3鍵盤組成0~9數字鍵以及“確認”、“取消”功能鍵。用6為7段數碼管組成顯示電路提示信息,方便用戶可以看到顯示自己輸入的數字。在內部用4×4鍵盤組成0~9數字鍵以及“確認”、“取消”、“顯示密碼”、“設置密碼”功能鍵。用6為7段數碼管組成顯示鍵盤密碼或內部當前密碼。內部單片機控制語音芯片發出相應提示音,此外要想實現此功能,要先用單片機控制好語音芯片將準備好的提示音錄入語音芯片中。
單片機源程序如下(匯編語言):
- ORG 0000H
- ajmp main
- org 0030h
-
- main: MOV SP,#70
- MOV SCON,#50H
- MOV TMOD,#20H
- MOV TH1,#0F3H
- SETB TR1
- MOV R7,#00H ;延時
- DJNZ R7,$
- MOV R7,#10H ;內定密碼在TABLE的起始地址
- MOV R6,#06 ;內定6個密碼
- MOV R1,#35H ;6個密碼分別存入35H~30H地址
- L1: MOV A,R7 ;內定密碼取碼指針
- MOV DPTR,#TABLE ;數據指針指到TABLE
- MOVC A,@A+DPTR ;至TABLE取碼
- MOV @R1,A ;存入35H~30H地址
- DEC R1 ;存下一個地址
- INC R7 ;取碼指針加1
- DJNZ R6,L1
- START:ORL P3,#0FFH ;清除P2
- SETB P3.2
- MOV R4,#06 ;清除顯示器存放地址40H~45H的地址
- MOV R0,#40H
- CLEAR:MOV @R0,#00H
- INC R0
- DJNZ R4,CLEAR
- L2: MOV R3,#0F7H ;掃描指針初值
- MOV R1,#00H ;鍵盤取碼指針
- L3: MOV A,R3
- MOV P1,A
- MOV A,P1
- MOV R4,A
- SETB C
- MOV R5,#04H
- L4: RLC A
- JNC KEYIN
- INC R1
- DJNZ R5,L4
- CALL DISP
- MOV A,R3
- SETB C
- RRC A
- MOV R3,A
- JC L3
- lcall LLL
- JMP L2
- KEYIN:MOV A,R1
- XRL A,#0EH
- JZ X3
- MOV A,R1
- XRL A,#0FH
- JZ X4
- MOV R7,#10
- D1: MOV R6,#248
- DJNZ R6,$
- DJNZ R7,D1
- D2: MOV A,P1
- XRL A,R4
- JZ D2
- MOV A,R1
- MOV DPTR,#TABLE
- MOV R7,A
- XRL A,#0AH
- JZ SET0
- MOV A,R7
- XRL A,#0BH
- JZ START
- MOV A,R7
- XRL A,#0CH
- JZ L2
- MOV A,R7
- XRL A,#0DH
- JZ L2
- MOV A,R7
- XCH A,40H
- XCH A,41H
- XCH A,42H
- XCH A,43H
- XCH A,44H
- XCH A,45H
- CALL DISP
- JMP L2
- X3: JMP DISP2
- X4: JMP COMP
- DISP: MOV R0,#45H
- DISP1:MOV A,@R0
- ADD A,#50H ;顯示D6
- MOV P0,A
- CALL DELAY
- DEC R0
- MOV A,@R0 ;D5數據值加上74138掃描值
- ADD A,#40H ;顯示D5
- MOV P0,A
- CALL DELAY
- DEC R0
- MOV A,@R0 ;D4數據值加上74138掃描值
- ADD A,#30H ;顯示D4
- MOV P0,A ;掃描延時
- CALL DELAY
- DEC R0
- MOV A,@R0 ;D3數據值加上74138掃描值
- ADD A,#20H ;顯示D3
- MOV P0,A ;掃描延時
- CALL DELAY
- DEC R0
- MOV A,@R0 ;D2數據值加上74138掃描值
- ADD A,#10H ;顯示D2
- MOV P0,A ;掃描延時
- CALL DELAY
- DEC R0
- MOV A,@R0 ;D1數據值加上74138掃描值
- ADD A,#00H ;顯示D1
- MOV P0,A ;掃描延時
- CALL DELAY
- RET
- SET0: MOV R2,#06H
- MOV R0,#40H
- MOV R1,#30H
- E1: MOV A,@R0
- XCH A,@R1
- INC R0
- INC R1
- DJNZ R2,E1
- CALL DELAY
- E2: JMP START
- COMP: MOV R1,#45H
- MOV R0,#35H
- MOV R2,#06H
- C1: MOV A,@R1
- XRL A,@R0
- JNZ C3
- DEC R1
- DEC R0
- DJNZ R2,C1
- CLR P3.2
- MOV R2,#0FFH
- C2: MOV R6,#0FFH
- DJNZ R6,$
- DJNZ R2,C2
- C3: JMP START
- DISP2:
- MOV R0,#35H
- CALL DISP1
- MOV A,P1
- XRL A,R4
- JZ DISP2
- CALL DELAY
- JMP START
- DELAY:MOV R7,#03
- D3: MOV R6,#248
- DJNZ R6,$
- DJNZ R7,D3
- RET
- Lll: JBC RI,UART
- call disp
- ret
- UART: MOV A,SBUF
- MOV R7,A
- XRL A,#0AH
- JZ COMPQ
- AJMP COMPA
- COMPQ: LJMP COMP
- COMPA: MOV A,R7
- XRL A,#0BH
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
|