基于PIC單片機的電子密碼鎖設(shè)計-外文文獻翻譯_第1頁
基于PIC單片機的電子密碼鎖設(shè)計-外文文獻翻譯_第2頁
基于PIC單片機的電子密碼鎖設(shè)計-外文文獻翻譯_第3頁
基于PIC單片機的電子密碼鎖設(shè)計-外文文獻翻譯_第4頁
基于PIC單片機的電子密碼鎖設(shè)計-外文文獻翻譯_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)基于PIC單片機的電子密碼鎖設(shè)計 外文文獻翻譯基于PIC 16F628A的安全電子鎖微控制器 基于PIC 16F628A的安全電子鎖微控制器 Kerbala Iraq大學(xué)計算機系講師 Muhanad Hayder Mohammed 摘要:論文:提出的系統(tǒng)實現(xiàn)了電子嵌入式鎖比傳統(tǒng)鎖擁有的一個很好的優(yōu)勢,它只使用一個手動鍵。如果傳統(tǒng)的情況下,鑰匙丟失或被盜之后任何人都可以打開鎖使用鑰匙。另一方面,丟失一個比較長而且復(fù)雜的密碼或把它偷來的難度比傳統(tǒng)的鑰匙要難的多。此外,兩者的

2、結(jié)合,手動鍵和電腦密碼使系統(tǒng)更安全。更長的密碼將減少密碼丟失和鎖被破壞的可能性。這個系統(tǒng)鍵盤和HD44780 20 x2和PIC16f628a單片機。固件控制系統(tǒng)與鍵盤交互非常容易和順利。液晶為用戶提供消息和通知有關(guān)當前系統(tǒng)的狀態(tài)。用戶可以執(zhí)行一些操作,如打開和關(guān)閉鎖,在單片機EEPROM中改變當前的密碼,當輸入密碼錯誤時清除單個數(shù)字。論文提出系統(tǒng)的固件開發(fā)使用匯編語言和MPLAB開發(fā)環(huán)境。只在實際硬件級別測試,實現(xiàn)與系統(tǒng)的正常運行,這是完全錯誤的 關(guān)鍵詞:電子鎖、嵌入式系統(tǒng)、PIC單片機。 介紹 今天,在我們生活的周圍充滿嵌入式系統(tǒng)設(shè)備,如汽車、洗衣機微波爐、醫(yī)療設(shè)備等。 嵌入式系統(tǒng)是一個計

3、算機系統(tǒng),為特定的控制功能而設(shè)計,通常受實時計算約束。嵌入式系統(tǒng)作為一個完整的設(shè)備通常包括硬件和機械零件。相比之下,一臺通用計算機,例如個人電腦(PC),設(shè)計靈活能滿足各種終端用戶的需要。今天,嵌入式系統(tǒng)被用來控制許多常用的設(shè)備1。 嵌入式系統(tǒng)的一個突出的例子是微控制器,它是一個小型和微型計算機,指定執(zhí)行一些特定的任務(wù)。單片機程序(固件),決定什么功能單片機提供給所需求的用戶。一個程序,可以在單片機上運行,而不需要一個被稱為固件的操作系統(tǒng)。這意味著,一個固件直接訪問硬件的特權(quán)。試圖詳細解釋電子鎖固件。單片機的基本思想是在一個簡單的電路中收集所有的輸入和輸出,外圍設(shè)備,代表了只需要單片機而不是大

4、型和復(fù)雜的計算機微處理器和大量的外設(shè)1。 單片機固件直接處理外圍設(shè)備和輸入/輸出端口以實現(xiàn)其完整功能。 1 基于PIC 16F628A的安全電子鎖微控制器 微處理器和微控制器 微處理器與微控制器在許多方面不同。第一和最重要的方面是它的架構(gòu)。為了一個微處理器功能的正常運行,其他組件,如內(nèi)存、外設(shè)和輸入輸出端口必須連接到它。簡而言之,我們可以說,一個微處理器是計算機的核心,它的工作原理與其他外圍設(shè)備/部件的計算機系統(tǒng)。另一方面,一個微控制器被設(shè)計成作為一個單元可以獨立執(zhí)行。不需要其他外部組件的應(yīng)用程序,因為所有必要的外圍設(shè)備和端口已經(jīng)內(nèi)置。最終,它節(jié)省了所需的時間和空間構(gòu)造設(shè)備2。 系統(tǒng)實現(xiàn) 該系

5、統(tǒng)是使用匯編語言實現(xiàn)。使用這種語言的目的是為了實現(xiàn)更好地功能,對PIC體系結(jié)構(gòu)的理解。使用匯編語言的另一個積極的方面是,它給了非常廣泛和靈活的方式與微控制器進行交互,盡管它的實現(xiàn)比BASIC或C語言困難,其也用作語言編程微控制器。系統(tǒng)實現(xiàn)的主要有兩部分: A. 鍵盤實現(xiàn) 系統(tǒng)使用的PORTB鍵盤通過4針為列,其余4針行保留實現(xiàn)。因此,系統(tǒng)使用這些8針構(gòu)成16鍵矩陣,PIC16F628A中提供一個有效的使用有限的端口。下面是表格(1)PORTB針作業(yè)鍵盤。 表1:PORTB針作業(yè)鍵盤 RB0(行0) RB1(行1) RB2(行2) RB3(行3) RB4(列0) 1 4 7 * RB5(列1)

6、2 5 8 0 RB6(列2) 3 6 9 # RB7(列3) A=空格 B=鎖定 C=修改 D=輸入 實現(xiàn)鍵盤功能時有一個必須采取的重要的預(yù)防措施,因為鍵盤處理依賴于一個機械過程(按下和釋放鍵)。這一現(xiàn)象生成一個火花,影響銷的電氣性能,同時按下和釋放鍵,導(dǎo)致銷狀態(tài)不穩(wěn)定,不能正確識別是否為0或1。所以,為了克服這個問題,必須提供足夠的時間延遲銷的狀態(tài)是穩(wěn)定的,才可以正確讀取,這一時間可能是20ms或更多。 1. 鍵盤的掃描 2 基于PIC 16F628A的安全電子鎖微控制器 鍵盤的設(shè)計是受電現(xiàn)象,即,如果我們短路兩針,一個零,另一個高電壓,那么銷電壓將下降到零。這個事實可以用于設(shè)計鍵盤。 如

7、前所述,PORTB被預(yù)留給鍵盤和最重要的4位用于列索引,它們設(shè)置為輸入端口(輸入端口,我們必須設(shè)置TRISB寄存器高3)來檢查 他們是否有電壓降至0時按下鍵后附有選中的行。 另一方面,最重要的4位PORTB將輸出,和用于行索引。因為他們是輸出端口,可以設(shè)置為高(1)或低(0)的固件。通過設(shè)置為每個鍵掃描每一行到零,系統(tǒng)可以檢查每一列,以查看是否有任何其中一個設(shè)置為0。如果是這樣的話,這就意味著,一個關(guān)鍵的排壓。這個過程是對所有行重復(fù)檢查所有的鑰匙。負責(zé)掃描的功能鍵是row_scan和col_scan。 行掃描 這個函數(shù)設(shè)置為零,每一行調(diào)用col_scan函數(shù)來檢查任何列針電壓降為零。然后增量的

8、關(guān)鍵變量作業(yè)是索引每一行。 列掃描 這個函數(shù)掃描每一列銷,檢查如果任何其中一個設(shè)置為零,那么調(diào)用find_key函數(shù),發(fā)現(xiàn)鍵值把指數(shù)構(gòu)造使用變量鍵和硬編碼的值從工作寄存器w調(diào)出col_scan函數(shù)。圖(1)顯示鍵盤連接到結(jié)構(gòu)PIC 16 f628a單片機和液晶。 圖1 單片機與鍵盤連接 B. LCD的實現(xiàn) 3 基于PIC 16F628A的安全電子鎖微控制器 另一個系統(tǒng)實現(xiàn)的主要部分是液晶實現(xiàn)。LCD配置有4位接口模式,因為PIC16F628A端口限制。發(fā)送命令0 x20,然后0 x28將配置液晶在4位兩行接口工作模式4,這意味著20 x2液晶使用的系統(tǒng)最大可以顯示40個字符。 send_wor

9、d函數(shù)功能的實現(xiàn)是在4位液晶接口模式發(fā)送一個詞。執(zhí)行以下步驟send_word函數(shù)發(fā)送一個詞的4位接口模式4: 1 設(shè)置E線低。 2 為發(fā)送數(shù)據(jù),設(shè)置RS行高,或為發(fā)送一個命令設(shè)置為低。 3 設(shè)置E線高。 4 設(shè)置最重要的四個比特為DB4到DB7。 5 設(shè)置E線低。 6 設(shè)置E線高。 7 設(shè)置四個最低有效位為DB4到DB7。 8 設(shè)置E線低,E線應(yīng)該是比較低的,直到時鐘在另一個字節(jié)。 操作系統(tǒng) 當系統(tǒng)啟動時,它直接進入到主循環(huán)。在其整個操作時間中,只有兩個部分之間的互換。第一部分不斷掃描輸入鍵,其他部分PORTB處于睡眠狀態(tài),因為PORTB配置將使系統(tǒng)在節(jié)電模式。這節(jié)省了電池和提高了系統(tǒng)的操作

10、性能,于單片機不需要執(zhí)行連續(xù)不斷的的指令,即使沒有人與系統(tǒng)交互。 系統(tǒng)從睡眠醒來的狀態(tài),按任何鍵,改變PORTB的狀態(tài)。PIC 16 f628a用了PORTB產(chǎn)權(quán)所有PROTB針3。 當系統(tǒng)處于鎖定狀態(tài),用戶試圖打開鎖,用戶必須輸入十個數(shù)字,必須符合存儲在eepm十位數(shù)。下圖提示用戶輸入密碼: 4 基于PIC 16F628A的安全電子鎖微控制器 圖2 消息提示用戶輸入密碼 然后用戶輸入限制在10位數(shù)的密碼,可以結(jié)合特殊字符?*?和?#?使密碼更復(fù)雜。 下面是圖顯示用戶輸入的密碼系統(tǒng)(液晶數(shù)字顯示為?*?但是在這里向讀者清晰顯示)。 圖3 用戶輸入密碼打開鎖 輸入密碼后,用戶需要按Enter按鈕

11、。然后verify_password會調(diào)用這個函數(shù)以驗證如果輸入密碼是類似于一個存儲在eepm。如果兩個密碼是相同的,那么鎖將打開和消息在LCD上顯示“驗證成功”。 下面的步驟verify_password函數(shù),將比較兩個數(shù)組,如果他們有相同的值。直接訪問內(nèi)存用于比較2。 1 初始化計算值10。 2 使FSR指向第一個數(shù)組的起始地址。 3 存儲位置,F(xiàn)SR的值指向的變量名data1(第一個數(shù)組)。 4 增量FSR并在save1變量中保存它的值。 5 測試如果函數(shù)在循環(huán)的第一步。 6 如果是FSR上指向第二個數(shù)組的起始地址,轉(zhuǎn)到步驟8。 7 如果沒有,將變量save2的值賦予FSR。 8 存儲位

12、置,F(xiàn)SR的值指向的變量名data2(第二個數(shù)組)。 9 增量FSR并在save2中保存它的值。 10 把save1的值放在FSR。 11 如果data1等于data2然后: 遞減計數(shù)。 計數(shù)等于零轉(zhuǎn)到步驟13。 5 基于PIC 16F628A的安全電子鎖微控制器 否則將轉(zhuǎn)到步驟3。 12 其他去的循環(huán)和分配是錯誤的。 13 返回并分配標記。 下一個功能是ReadEEPROM,用于從數(shù)組eepm文件讀取存儲的密碼,進一步重置用戶輸入的密碼。 以下是ReadEEPROM執(zhí)行的步驟: 1 初始化計算值10。 2 eepm的開始地址分配給特定的指針。 3 使FSR指向數(shù)組的起始地址,它將包含eepm

13、的值。 4 增量FSR。 5 從eepm閱讀值的一個位置,把它寫在數(shù)組中。 6 增量的指針指向eepm。 7 遞減計數(shù)。如果等于零,這意味著eepm密碼已經(jīng)完全閱讀然后返回。否則,轉(zhuǎn)到步驟4。 另一個重要功能是WriteEEPROM函數(shù),當用戶想要改變密碼,它將新密碼寫入eepm。寫eepm是至關(guān)重要的操作,不應(yīng)出現(xiàn)意外3,因為結(jié)果將是永久性的,除非我們重寫eepm的同一位置。出于這個原因,兩個值A(chǔ)Ah和55 h必須寫入EECON2注冊,一個接一個地確保程序給eepm寫入。 以下是WriteEEPROM函數(shù)執(zhí)行的步驟 1 初始化計算值10。 2 eepm的開始地址分配給特定的指針。 3 使FR

14、S指向數(shù)組的起始地址,必須存儲在eepm中 4 增量FRS。 5 讀值數(shù)組來取得臨時變量的一個位置。 6 向EECON2寫0。 7 向EECON2寫0 x55 。 8 寫eepm的臨時變量。 9 增量的指針指向eepm。 6 基于PIC 16F628A的安全電子鎖微控制器 10 減量計算如果等于零,這意味著所有密碼完成寫eepm和返回的位置,否則轉(zhuǎn)到步驟4 系統(tǒng)有蜂鳴器代表一個警報,當用戶輸入一個密碼錯誤三次,蜂鳴器會發(fā)出聲響。當出現(xiàn)安全漏洞,這個針可以配置依賴切換高功率報警。 論文提出系統(tǒng)非常簡單,很少涉及到的組件,因為所有的固件中實現(xiàn)的功能是安裝在PIC單片機。 圖4中,我們展示了完整的系

15、統(tǒng)硬件組件。 圖4中,完成系統(tǒng)的硬件組件 從圖中可以很明顯看出,只有少數(shù)電子元件參與該系統(tǒng)的工作。這確實是一個偉大的事情,使用嵌入式系統(tǒng),使硬件架構(gòu)非常簡單,但是復(fù)雜性在于最終要根據(jù)軟件和硬件的相互配合。 結(jié)論 編程4位液晶界面模式非常有效,發(fā)送一個字節(jié)的延遲兩個步驟并不明顯, 另一個問題是使用PORTB往上拉,這證明是有利于系統(tǒng)的,因為它將在無限循環(huán)系統(tǒng)在睡眠模式下在等待按鍵。所以當沒有與系統(tǒng)的交互時,它節(jié)省了電池功率和提高系統(tǒng)的功能。因此沒有浪費CPU周期。 7 基于PIC 16F628A的安全電子鎖微控制器 系統(tǒng)使用真實的硬件組件的實現(xiàn)后,有一個我所遇到的技術(shù)困難,想強調(diào)是鍵盤的實現(xiàn)。通過盡可能多的研究,列設(shè)置為讀取輸入,檢查他們的狀態(tài)就知道哪個鍵被按下,行輸出,可以通過固件設(shè)置為1或0(5、6)。這種方法并沒有在這里實現(xiàn),因為如果4針同時設(shè)置為輸入,這部分將會受到影響,當其中之一是改變掃描讀取,按鍵導(dǎo)致不準確的關(guān)鍵。找到的解決方案是每個端口列設(shè)置為輸入,然后每次輸出我們檢查列狀態(tài)。在這種情況下,只有一個針將設(shè)置為輸入一次和其他輸出而不會受到改變。這給了我們一個精確和光滑的鍵盤操作。 系統(tǒng)是完整的、合理的,并且進行了一些改進和操作測試,可以被認為是一個成功的產(chǎn)品,可以運

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論