freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89c51單片機的電子密碼鎖的設(shè)計(編輯修改稿)

2024-11-28 10:37 本頁面
 

【文章內(nèi)容簡介】 密碼鎖開鎖機構(gòu)示意圖 當(dāng)用戶輸入的密碼正確而且是在規(guī)定的時間輸入的話,單片機便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達到開門的目的。其實際電路如圖 所示。由 D R T10 組成驅(qū)動電路,其中 T10 可以選擇普通的小功率三極管。 D5 作為開鎖的提示 , 由 D C2 T11 組成。其中 D C24 是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。 在本次設(shè)計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖; 沒亮而且報警 ,表示 密碼錯誤或輸入有誤! 圖 開鎖裝置圖 單片機控制系統(tǒng) AT89C51 報警 輸入密碼 校正密碼 燈亮開鎖 正確 錯誤 12 顯示電路設(shè)計 電子密碼鎖中需要顯示的信息比較少,一般密碼設(shè)計為 6 位。本設(shè)計采用的是 8位數(shù)碼顯示管,前面用 6 位是用來存儲密碼的,后面兩位是來識別是否按下 Enter 鍵,具體連接方式如圖 所示。 圖 顯示電路連接圖 AT24C02 掉電存儲單元的設(shè)計 掉電存儲單元的作用是在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。AT24C02 是 ATMEL 公司的 2KB 字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到 ,額定電流為 1mA,靜態(tài)電流 10Ua(),芯片內(nèi)的資料可以在斷電的情況下保存 40 年以上,而且采用 8 腳的 DIP 封裝,使用方便。其電路如圖 所示。 13 圖 掉電存儲電路原理圖 圖 中 R R10 是上拉電阻,其作用是減少 AT24C02 的靜態(tài)功耗,由于AT24C02 的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和 SDA(數(shù)據(jù) /地址)與單片機傳送數(shù)據(jù)。 電源電路設(shè)計 為了防止停電情況的發(fā)生,本電路后備了 UPS 電源,它包括市電供電電路,停電檢測電路,電子開關(guān)切換電路,蓄電池充電電路和蓄電池組成。 市電 供 電路圖如圖 所示。 圖 電源電路原理圖 220V 市電通過變壓器降壓成 12V 的交流電 ,再經(jīng)過整流橋整流 ,7805 穩(wěn)壓到5V 送往電由 R8, R9, R6, R7 及 IC14 構(gòu)成電壓比較器,正常情況下, V+V IC14輸出高電平,繼電器的常閉觸點和市電相連;當(dāng)市電斷開, V+V IC14 輸出高電平,由 T3, T4 構(gòu)成的達林頓管使繼電器 J 開啟,將其常開觸電將蓄電池和電路相連,實現(xiàn)市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時間)。其電路圖如 圖 所示: 14 R850KR940KR730KR620KT39018R 10T49014123I C 1 4741繼電器蓄電池供電5V 直流電源 A1蓄電池 A25V 直流電源 A1蓄電池 A2VCC常閉常開 圖 蓄電池電路 原理圖 T1, T2 構(gòu)成的蓄電池自動充電電路,它在電池充滿后自動停止充電,其中 D1亮為正在充電, D2 為工作指示。由 R4, R5, T1 構(gòu)成電壓檢測電路,蓄電池電壓低,則 T1, T2 導(dǎo)通,實現(xiàn)對其充電;充滿后, T1, T2 截止,停止充電,同時 D1熄滅,電路中 C4 的作用是濾除干擾信號。其電路圖如圖 所示: 圖 蓄電池自動充電原理圖 15 總體原理圖 圖 總體電路原理圖 16 第 4 章 軟件設(shè)計 程序設(shè)計 程序設(shè)計 (Programming)是指設(shè)計、編制、調(diào)試程序的 方法和過程。它是目標明確的智力活動。 在進行微機控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,大量的工作就是如何根據(jù)每個生產(chǎn)對象的實際需要設(shè)計應(yīng)用程序。因此,軟件設(shè)計在微機控制系統(tǒng)設(shè)計中占重要地位。對于本系統(tǒng),軟件也占有重要的地位。 在單片機控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產(chǎn)。 為了完成上述任務(wù),在進行軟件設(shè)計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。 把一個程序分成 具有多個明確任務(wù)的程序模塊,分別編制、調(diào)試后再把它們連接在一起形成一個完整的程序,這樣的程序設(shè)計方法稱為模塊化程序設(shè)計 。所謂“模塊”,實質(zhì)上就是能完成一定功能,并相對獨立的程序段,這種程序設(shè)計方法稱為模塊程序設(shè)計法。 模塊程序設(shè)計法的主要優(yōu)點是: (1)單個模塊比起一個完整的程序易編寫、調(diào)試 及修改 。 (2)程序的易讀性好。 (3)程序的修改可局部化。 (4)模塊可以共存,一個模塊可以被多個任務(wù)在不同條件下調(diào)用。 (5)模塊程序允許設(shè)計者分割任務(wù)和利用已有程序,為設(shè)計者提供方便。 本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由 主程序模塊,鍵盤掃描及識別子程序,調(diào)電存儲服務(wù)程序,顯示子程序。 主程序設(shè)計 (1)主程序模塊 主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。當(dāng)初始化就會自動等待輸入密碼,若操作有誤便會報警提示并對各位進行清零,等待密碼的再次輸入;若輸入密碼正確,在輸完之后等待你按下 Enter 鍵,再判斷密碼是否正確,若錯誤便報警并再次將各位密碼清零;若輸入密碼正確就會自動開鎖并亮燈。 主程序的流程圖如 圖 所示 。 17 圖 主程序流 程圖 在系統(tǒng)的程序設(shè)計中, 主控模塊只負責(zé)根據(jù)消息調(diào)用相應(yīng)模塊的處理函數(shù),具體如何處理這些消息由各功能模塊中的對應(yīng) 程序 決定。 主程序 LED_BIT_1 EQU 30H LED_BIT_2 EQU 31H LED_BIT_3 EQU 32H LED_BIT_4 EQU 33H 開 始 初 始 化 等待密碼的輸入 有鍵按下? 操作有誤? 各位清零并報警提示 繼續(xù)輸入密碼 密碼正確? 開鎖并亮燈 N Y Y N Y N 18 LED_BIT_5 EQU 34H LED_BIT_6 EQU 35H LED_BIT_7 EQU 36H LED_BIT_8 EQU 37H 。以下 6 個字節(jié)存放初始密碼 WORD_1 EQU 38H WORD_2 EQU 39H WORD_3 EQU 3AH WORD_4 EQU 3BH WORD_5 EQU 3CH WORD_6 EQU 3DH 。以下 6 個字節(jié)存放用戶輸入的 6 位密碼 KEY_1 EQU 3EH KEY_2 EQU 3FH KEY_3 EQU 40H KEY_4 EQU 41H KEY_5 EQU 42H KEY_6 EQU 43H CNT_A EQU 44H CNT_B EQU 45H KEY_CNT EQU 46H 。已輸出的密碼位數(shù) LINE EQU 47H 。按鍵行號 ROW EQU 48H 。按鍵列號 VAL EQU 49H 。鍵值 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START:MOV CNT_A,00H 。程序初始化 MOV CNT_B,00H MOV KEY_CNT,00H 19 MOV LINE,00H MOV ROW,00H MOV VAL,00H SETB MOV LED_BIT_1,00H 。段碼存儲區(qū)清 0 MOV LED_BIT_2,00H MOV LED_BIT_3,00H MOV LED_BIT_4,00H MOV LED_BIT_5,00H MOV LED_BIT_6,00H MOV LED_BIT_7,79H MOV LED_BIT_8,73H MOV KEY_1,00H 。輸入密碼存儲區(qū)清 0 MOV KEY_2,00H MOV KEY_3,00H MOV KEY_4,00H MOV KEY_5,00H MOV KEY_6,00H MOV WORD_1,6 。設(shè)置初始密碼為 123456 MOV WORD_2,5 MOV WORD_3,4 MOV WORD_4,3 MOV WORD_5,2 MOV WORD_6,1 MOV TMOD,01H MOV TH0,(65536700)/256 MOV TL0,(65536700)MOD 256 MOV IE,82H A0:LCALL DISP 鍵盤掃描及識別子程 序設(shè)計 20 鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖 所示。 圖 鍵盤掃描及識別子程序流程圖 LSCAN:MOV P3,0F0H 。掃描行碼 L1: JNB ,L2 LCALL DLY_S JNB ,L2 MOV LINE,00H LJMP RSCAN L2: JNB ,L3 LCALL DLY_S JNB ,L3 MOV LINE,01H LJMP RSCAN L3: JNB ,L4 LCALL DLY_S JNB ,L4 中 斷 保護現(xiàn)場 報警器提示 清中斷 結(jié)束 21 MOV LINE,02H LJMP RSCAN L4: JNB ,A0 LCALL DLY_S JNB ,A0 MOV LINE,03H RSCAN:MOV P3,0FH 。掃 描列碼 C1: JNB ,C2 MOV ROW,00H LJMP CALCU C2: JNB ,C3 MOV ROW,01H LJMP CALCU C3: JNB ,C1 MOV ROW,02H CALCU:MOV A,LINE 。計算鍵值 MOV B,03H MUL AB ADD A,ROW MOV VAL,A CJNE A,0AH,J1 。是否為 CLR鍵 MOV R1,KEY_CNT CJNE R1,00H,J2 LCALL ALARM_1 LJMP START J2:LCALL SHIFTR DEC KEY_CNT W00:LCALL DISP 。等待按鍵抬起 MOV A,P3 CJNE A,0FH,W01 LJMP A0 22 W01:MOV A,P3 CJNE A,0F0H,W02 LJMP A0 W02:SJMP W00 J1: MOV A,VAL CJNE A,0BH,J3 。判斷是否為 ENTER鍵 MOV R1,KEY_CNT CJNE R1,06H,J4 MOV A,WORD_1 。比較密碼 CJNE A,3EH,J5 MOV A,WORD_2 CJNE A,3FH,J5 MOV A,WORD_3 CJNE A,40H,J5 MOV A,WORD_4 CJNE A,41H,J5 MOV A,WORD_5 CJNE A,42H,J5 MOV A,WORD_6 CJNE A,43H,J5 CLR LCALL DLY_L LJMP FINI J5: LCALL ALARM_2 LJMP START J4: LCALL ALARM_1 LJMP START J3: INC KEY_CNT 。按下數(shù)字鍵 MOV A,KEY_CNT CJNE A,07H,K1 LCALL ALARM_1 23 W10:LCALL DISP 。等待按鍵抬起 MOV A,P3 CJNE A,0FH,W11 LJ
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1