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

正文內(nèi)容

基于單片機的電子密碼鎖畢業(yè)論文設計(編輯修改稿)

2025-07-24 20:01 本頁面
 

【文章內(nèi)容簡介】 T腳持續(xù)兩個機器周期高電平將使單片機復位。: 復位部分電路報警部分報警部分是由陶瓷壓電發(fā)聲裝置及外圍電路組成。當密碼輸入不正確是會發(fā)出警報。: 報警電路 晶振部分本部分是為單片機提供時鐘控制信號,采用的電路是外接晶振和電容組成的并聯(lián)諧振回路。AT89S52引腳XTAL1和XTAL2與晶體振蕩器及電容CC1按圖47所示方式連接。晶振、電容CC2及片內(nèi)與非門(作為反饋、放大元件)構成了電容三點式振蕩器,振蕩信號頻率與晶振頻率及電容CC2的容量有關,但主要由晶振頻率決定,范圍在0~33MHz之間,電容CC2取值范圍在5~30pF之間。根據(jù)實際情況,本設計中采用12MHZ做為系統(tǒng)的外部晶振。電容取值為20pF。: 晶振部分電路開鎖部分當輸入正確的密碼的時候,單片機的其中一個引腳線發(fā)出信號,經(jīng)過三極管放大后,由繼電器驅(qū)動電磁閥動作將鎖打開。同時綠色的指示燈將會點亮。: 開鎖電路 電子密碼鎖的電路原理圖根據(jù)系統(tǒng)所需要實現(xiàn)的功能,: 電子密碼鎖的電路原理圖4電子密碼鎖的軟件組成 本設計的軟件程序設計主要有(1)初始化程序(2)按鍵功能實現(xiàn)程序 (3)密碼修改程序(4)報警程序等組成。: 開始初始化,設置密碼等待輸入計算鍵值是CLR?是否是確認鍵?否存鍵值首次按鍵?已輸6位?是否否密碼右移是計數(shù)值減1報警是是否比較密碼正確?開鎖密碼左移計數(shù)值加1 系統(tǒng)的總體流程圖 Keil uVision2軟件介紹單片機開發(fā)中除必要的硬件外,同樣離不開軟件,本系統(tǒng)的軟件編程設計是在Keil軟件環(huán)境中完成的。我們寫的C語言、匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果使用C語言編程,那么Keil幾乎就是不二之選。即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令人事半功倍。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。電子密碼鎖系統(tǒng)在接通電源后,首先要對系統(tǒng)進行初始化。初始化過程包括密碼鎖上鎖,密碼的讀入,LED數(shù)碼管的顯示內(nèi)容初始化,設定系統(tǒng)狀態(tài)指示等。:初始化開始載入預設密碼至系統(tǒng)內(nèi)存系統(tǒng)上鎖并設定狀態(tài)指示燈設定顯示器為等待輸入狀態(tài)用戶輸入密碼區(qū)清零初始化定時器0 初始化程序設計流程圖初始化程序如下:ORG 0000HLJMP FIRSTORG 000BHLJMP INT_T0ORG 0100HFIRST: MOV SET_TIMES,0 ;新密碼輸入次數(shù)清零從24C01C中讀數(shù)據(jù),數(shù)據(jù)送AT89C51中38H開始的16個字節(jié)中MOV SLA,0A0H ;寫入控制字MOV SUBA,00H ;目標地址MOV NUMBYTE,6 ;寫入的字節(jié)數(shù)LCALL IRDNBYTE ;開始寫數(shù)據(jù)BEGIN:MOV CNT_ERROR,00H ;密碼錯誤次數(shù)清零START:CLR LED_YELLOW ;上鎖指示燈SETB LED_GREEN ;開鎖指示燈滅SETB LED_RED ;密碼錯誤指示燈滅MOV KEY_CNT_SET,00HMOV CNT_A,00H MOV CNT_B,00HMOV KEY_CNT,00HMOV LINE,00HMOV ROW,00HMOV VAL,00HMOV WORD_ADRESS,4CHMOV LED_BIT_1,0AH ;數(shù)碼管全MOV LED_BIT_2,0AHMOV LED_BIT_3,0AHMOV LED_BIT_4,0AHMOV LED_BIT_5,0AHMOV LED_BIT_6,0AHMOV KEY_1,00H ;輸入密碼存儲區(qū)清0MOV KEY_2,00HMOV KEY_3,00HMOV KEY_4,00HMOV KEY_5,00HMOV KEY_6,00HMOV TMOD,01H ;初始化定時器T0MOV TH0,(65536700)/256MOV TL0,(65536700)MOD 256 MOV IE,82H (介紹)鍵功能程序鍵值=‘0-9’?鍵值=‘開鎖’?鍵值=‘清除’?鍵值=‘設置’?鍵值=‘確認’?密碼輸入程序設置程序清除程序開鎖程序確認程序是是是是是否否否否返回否 按鍵處理程序流程圖按鍵處理程序如下:A0: NOPLSCAN: MOV P1,0F0H ;掃描行碼,把四條“行”線置成低電平 L1: JNB ,L2 ;檢測第一行是否有鍵按下 LCALL DLY_S ;消除鍵盤抖動 JNB ,L2 ;確認第一行有鍵按下 MOV LINE,00H ;把值送到指定內(nèi)存,等待計算 LJMP RSCAN ;跳轉到鍵值計算部分 L2: JNB ,L3 LCALL DLY_S JNB ,L3 MOV LINE,01H LJMP RSCAN L3: JNB ,L4 LCALL DLY_SJNB ,L4 MOV LINE,02H LJMP RSCAN L4: JNB ,a0 LCALL DLY_S JNB ,a0 MOV LINE,03HRSCAN: MOV P1,0FH ;掃描列碼 C1: JNB ,C2 MOV ROW,00H LJMP CALCU C2: JNB ,C3 MOV ROW,01H LJMP CALCU C3: JNB ,C4 MOV ROW,02H LJMP CALCU C4: JNB ,C1 MOV ROW,03H LJMP CALCUCALCU: MOV A,LINE ;計算鍵值 MOV B,04H MUL AB ADD A,ROW MOV VAL,A ;把鍵值存入VAL單元CJNE A,0AH,J1 ;是否為CLR鍵 JNB LED_GREEN,CLR_KEY ;檢測是否已開鎖MOV R1,KEY_CNT CJNE R1,00H,J2 ;判斷已按鍵次數(shù)為零? LCALL ALARM_1 ;調(diào)用報警子程序 LCALL FALSE ;數(shù)碼管顯示“FALSE”LJMP STARTCLR_KEY: LCALL ALARM_1 ;鎖開狀態(tài)下,按CLR的處理方法,調(diào)用報警子程序 LCALL FALSE ;顯示“FALSE”LJMP A1 J2:LCALL SHIFTR ;顯示內(nèi)容右移一位 DEC KEY_CNTLCALL BCD LCALL DISP ;等待按鍵抬起 W00:LCALL DLY_1S MOV A,P1 CJNE A,0FH,W01 LJMP A0 W01:MOV A ,P1 CJNE A,0F0H,W02 LJMP A0 W02:SJMP W00 J1:MOV A,VAL CJNE A,0CH,J11 ;是否為SET鍵 LCALL DLY_SJB LED_GREEN,SET_ERROR …… J11:MOV A,VALCJNE A,0DH,J22 ;是否為LOCK鍵LCALL DLY_SJNB LED_GREEN,LOCK ……J22:MOV A,VAL CJNE A,0BH,J3_TEMP 。是否為ENTER鍵 LJMP TTTTTTJ3_TEMP: LJMP J3 ……密碼鎖的密碼就相當于我們?nèi)粘I钪杏玫降蔫€匙,而電子密碼鎖可以根據(jù)用戶的需要,隨時更改原有的密碼,來提高密碼鎖的安全性,密碼修改功能是保證密碼鎖有效的重要保障。在密碼修改子程序中,用戶只有在開鎖狀態(tài)下才能進行修改,即要求用戶知道原有的密碼,否則無法打開密碼鎖,更無法修改其密碼。:有按鍵按下?操作錯誤,報警否是否是否計算鍵值,存儲新密碼輸入完?兩次輸入并一致?是存儲密碼 密碼更改程序設計流程圖密碼更改程序如下:SET_P:CLR LED_GREEN 。更改系統(tǒng)狀態(tài)及屏幕顯示內(nèi)容 SETB LED_YELLOW SETB LED_REDMOV LED_BIT_1,0CH ;關閉全部數(shù)碼管 MOV LED_BIT_2,0CH MOV LED_BIT_3,0CH MOV LED_BIT_4,0CH MOV LED_BIT_5,0CH MOV LED_BIT_6,0CH LCALL BCD LCALL DISPA0_SET: NOP ;按鍵檢測并計算鍵值存放在VAL單元……. ;按鍵處理部分CJNE A,02H,TIMES1 ;判斷是否已輸入兩次新密碼LCALL DLY_1S MOV A,WORD_6 。逐位比較密碼,不一致則重新設置 CJNE A,KEY_1,J_RSET MOV R0,59H MOV @R0,33H MOV A,WORD_5 CJNE A,KEY_2,J_RSET MOV A,WORD_4 CJNE A,KEY_3,J_RSET MOV A,WORD_3 CJNE A,KEY_4,J_RSET MOV A,WORD_2 CJNE A,KEY_5,J_RSET MOV A,WORD_1 CJNE A,KEY_6,J_RSET向24C01C中寫數(shù)據(jù),數(shù)據(jù)存放在24C01C中4CH開始的16個字節(jié)中 ……TIMES1:MOV R0,WORD_1SET ;第一次新密碼暫存內(nèi)存中 MOV WORD_1 , @R0 MOV R0,WORD_2SET MOV WORD_2 , @R0 MOV R0,WORD_3SET MOV WORD_3 , @R0 MOV R0,WORD_4SET MOV WORD_4 , @R0 MOV R0,WORD_5SET MOV WORD_5 , @R0 MOV R0,WORD_6SET MOV WORD_6 , @R0 LCALL DLY_1S 。加延時程序 ……5系統(tǒng)仿真開始時的數(shù)碼管顯示“”,等待輸入密碼。: 數(shù)碼管顯示密碼輸入時顯示F并依次左移,如密碼輸入錯誤可以使用“clr”鍵進行清除,然后可以從新輸入。: 數(shù)碼管顯示F密碼輸入正確時,數(shù)碼管顯示簡單的便是“pass”,同時綠色指示燈亮起,開鎖電路運行,鎖被打開。: 數(shù)碼管顯pass本次設計的密碼鎖的密碼為數(shù)6位,當密碼的位數(shù)少于或者多于6位的時候,數(shù)碼管上將提示“false”。: 密碼是輸入錯誤時,數(shù)碼管提示“error 1”,如果繼續(xù)輸入第二次、第三次錯誤的時,數(shù)碼管將提示“error 2”和“error 3”,同時報警器報警提示,紅色指示燈閃爍,鍵盤鎖死,防止繼續(xù)操作。:當需要關閉密碼鎖的時候,直接按下鍵盤上的“l(fā)ock”鍵即可鎖定。數(shù)碼管恢復初
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1