電子密碼鎖設計和實現(xiàn)機械制造專業(yè)
《電子密碼鎖設計和實現(xiàn)機械制造專業(yè)》由會員分享,可在線閱讀,更多相關(guān)《電子密碼鎖設計和實現(xiàn)機械制造專業(yè)(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 基于單片機的電子密碼鎖設計 摘要 由于現(xiàn)在的人們生活質(zhì)量不斷在提高,平時日常住所的貴重物品與工作部門的一些需要保密的資料或不可泄漏的個人信息的保存等許多需要防盜的問題變得越發(fā)重要。傳統(tǒng)的機械鎖其構(gòu)造極其簡單,容易被惡意損壞,在防盜方面存在很多的隱患,此外攜帶方面也導致許多的不便問題。因此,在相關(guān)科技的支持下,密碼鎖這種不需要實際鑰匙的鎖隨之誕生,通過它的成本低且消耗低、方便操作、安全性能有一定的保證等一系列的優(yōu)點,慢慢地取代機械鎖原來的位置,受到越來越多的人喜歡。 此電子密碼鎖的設計是基于單片機技術(shù),分為硬件和軟件兩個部分。硬件部分由STC89C52單片機最小系統(tǒng)、AT24C02
2、存儲、矩陣鍵盤、LCD1602顯示和蜂鳴器提示等組成;通過軟件部分的設計,具備的功能有設置和修改開鎖密碼(六位密碼)、超次報警并鎖定(密碼錯誤次數(shù)超過兩次)。上述的功能是密碼鎖的基本功能,還能根據(jù)使用情況添加相應的功能,本設計低成本卻實用。 關(guān)鍵詞:STC89C52 LCD1602 AT24C02 矩陣鍵盤 Abstract As people's quality of life continues to improve, it becomes increasingly important to protect valuables in daily homes and so
3、me confidential or undisclosed personal information in the residential sector. The structure of traditional mechanical lock is extremely simple, easy to be damaged by malicious, and there are many hidden dangers in the aspect of security. In addition, the carrying aspect also causes many inconvenien
4、ce problems. Therefore, with the support of relevant science and technology, the electronic password lock is produced which does not need a key. It has a series of advantages, such as low cost and low consumption, convenient operation, safety performance and so on, so the mechanical lock is graduall
5、y replaced.Therefore, electronic password locks are becoming more and more popular. The design of this electronic password lock are mostly based on microprocessor, which is divided into two parts: hardware and software. The hardware part is composed of STC89C52 microcontroller minimum system, AT24
6、C02 storage, Matrix keyboard, LCD display and buzzer ringing. With the settings, it has the functions of setting and modifying the password (six user password), Ultra alarm and Ultra Lock (password error times more than two times). The above function is the basic function of the electronic password
7、lock, and it can add the corresponding function according to the usage, The system is cost-effective but practical. Key words STC89C52 LCD1602 AT24C02 Matrix keyboard 目錄 摘要 I Abstract II 目錄 III 1 緒論 1 1.1 課題背景和意義 1 1.2 電子密碼鎖發(fā)展趨勢 2 1.3 電子密碼鎖設計的具體要求 3 1.4
8、 設計方案的制定 3 2 硬件電路設計 5 2.1 設計原理 5 2.2 STC89C52單片機介紹 5 2.3 液晶顯示LCD1602 10 2.4 AT24C02存儲芯片 12 2.5 鍵盤設計 14 2.6 聲音提示模塊 15 2.7 繼電器控制模塊 16 2.8 最小系統(tǒng)模塊 18 2.9 整體電路圖 20 3 系統(tǒng)軟件設計 21 3.1 器件的相關(guān)功能介紹 21 3.1.1 單片機STC89C52定時器: 21 3.1.2 LCD1602的操作時序 24 3.1.3 AT24C02時序 25 3.2 主程序模塊 29 3.3 密碼設置子程序 30
9、3.4 鍵盤掃描子程序 33 3.5 開鎖子程序 34 3.6 鍵功能程序 37 3.7 提示音及報警程序 38 3.8 操作說明: 40 4 總結(jié) 42 參考文獻 43 致謝 44 29 1 緒論 1.1 課題背景和意義 由于現(xiàn)在的人們生活質(zhì)量不斷在提高,平時日常住所的貴重物品與工作部門的一些需要保密的資料或不可泄漏的個人信息的保存等許多需要防盜的問題變得越發(fā)重要。以往人們大部分都是使用機械鎖來進行防盜,但由于傳統(tǒng)的機械鎖其構(gòu)造極其簡單,經(jīng)常會被損壞而導致并沒有起到保護作用,除此之外,機械鎖與鑰匙是單一對應的,這使得人們?nèi)舴辣I的東西較多的話,需要攜帶許多鑰匙,這
10、容易導致諸多的不便問題。因此,為了解決這諸多的不便的問題,在相關(guān)科技的支持下,密碼鎖這種不需要實際鑰匙的鎖隨之誕生,通過它的成本低且消耗低、方便操作、安全性能有一定的保證等一系列的優(yōu)點,能夠給人們帶來許多便利,所以受到了廣大用戶的青睞。 查閱以前的書籍能夠清楚地了解到電子密碼鎖在20世紀初才開始了被投入研究,那時候的科技并不發(fā)達,研究成本也比較高,研究的成果只能運用在比較特殊的地方。但當時的密碼鎖大部分都不能單獨使用,只能配合機械鎖使用,并且有諸多的不便,比如體積大、使用的成本高等很多導致不能被廣泛使用的缺點。 到了1980年后,各國的科技由于大規(guī)模的資金投入,都取得了相應的進步,電子密碼
11、鎖的研發(fā)也有了一定的進展,之前體積大、成本高的缺點也得到一定的改善,而其他的缺陷漸漸被彌補,得到了很大的進步。 目前,電子密碼鎖的技術(shù)可謂進展神速,相對之前進步了許多,出現(xiàn)了許多以前聞所未聞的新型電子鎖,它們性能強、功能獨特卻安全又可靠。比如、生物特征電子鎖、遙控式電子密碼鎖以及鍵盤式電子密碼鎖等五花八門的電子鎖,但還是不能動搖比較簡單的鍵盤式電子密碼鎖的地位。 ?生物特征電子鎖:利用人的個性特征作為密碼輸入,這些特征一般是天生的個人特征,如瞳孔、指紋以及聲音等作為唯一的“鑰匙”,然后通過后臺的計算機進行復雜的識別計算來控制開鎖。但是這過程需要許多個人身體上的信息,智能化相當高,處理的程序
12、相對較為繁雜,需要很先進的科技,以致使用成本非常之大,因此目前只適用于極個別需要保存機密資料的特殊場所。 遙控式電子密碼鎖:缺點與機械鎖類似,需要隨身攜帶作為鑰匙的遙控器,容易丟失鑰匙,在某些地方并不實用。但并不影響它的使用,它的有時在于能夠極快的傳輸大量變不被人眼識別的信息,也很難被人通過特別途徑盜取里面的信息,因此具有極強的保密性而且用儀器也無法在光路徑上捕獲信號從而盜竊,因此能夠很好地保密,使用它進行防盜,基本不用擔心被盜竊。 鍵盤式電子鎖:利用鍵盤輸入開鎖密碼進行驗證,操作方便,不用攜帶類似于機械鎖的鑰匙,只要記住密碼,與機械鎖相比,解決了容易丟失鑰匙的問題。這種類型的鎖控制方式有
13、多種,但從準備性和靈活性方面考慮的話,利用單片機技術(shù)的是比較好的,能確保穩(wěn)定性強,低成本,目前在市場上可謂備受關(guān)注。因此,在普通人民的眼中,不管新出的電子鎖功能如何強大,只要不改變本質(zhì)的問題,依舊動搖不了鍵盤式電子密碼鎖的地位。 到了現(xiàn)在,很多發(fā)達國家的電子密碼鎖技術(shù)都有取得了很大的進步,不但技術(shù)先進且類型齊全。因此,它早已被廣泛地用在各種智能防盜系統(tǒng)中,許多大門的安全管理也是利用了其安全并可靠的技術(shù)來防盜。由于我國在這方面的發(fā)展并不是太快,電子鎖的整體水平落后于許多發(fā)達國家,需要引進國外某些技術(shù),所以增加了某些電子密碼鎖的制作成本,考慮到技術(shù)與成本的問題,我國的市場主要還是銷售按鍵式電子鎖
14、。我國自己研制開發(fā)的電子鎖,通過測試并不成熟,還有待完善,不能被大規(guī)模使用。而國內(nèi)企業(yè)開始引進別的國家較為先進的相關(guān)技術(shù),制作了一系列比較高端的電子鎖,其發(fā)展迅速,前景非??捎^。為了電子鎖能被我國廣泛應用于百姓的日常生活中,還需不斷努力研究。 1.2 電子密碼鎖發(fā)展趨勢 鎖是源流千古的防盜性用品,隨著私有觀念的誕生而出現(xiàn),并根據(jù)人類社會的發(fā)展而發(fā)展,逐漸演變成各種各樣的鎖具。 鎖在古代已經(jīng)歷數(shù)千年的改變,在沒有運用科技的情況下,無論如何演變,還是沒有發(fā)生多大的變化。到了1970年后,隨著對電子鎖進行投入研究
15、,不久第一把電子鎖便面世了。但那時候可謂缺陷多多。 隨后對電子鎖的研究越來越重視,歷經(jīng)了幾十年,分別出現(xiàn)了按鍵式電子鎖、卡片式電子鎖、生物特征電子鎖等幾個時代。 而到了如今,電子鎖開始結(jié)合物聯(lián)網(wǎng)這一新型概念一起發(fā)展,電子鎖進入到了新時代。但電子鎖在我國的地方還并不算太高,許多普通百姓的家里很少會使用,而一般被應用的地方也多數(shù)在酒店、銀行或公共場所等,也許是國內(nèi)人民對電子鎖的認識并不足,存在著憂慮。然而,國外大部分國家,電子鎖經(jīng)被廣泛使用,很多地方都被普及使用,使用率遠高于我國。目前在中國,電子鎖的地位并不高,仍然低于機械鎖。因為我國電子鎖生廠商所擁有的技術(shù)水平尚處于國際上二三十年前的水平
16、,導致電子鎖難安裝,與機械鎖相比增加了許多成本,導致電子鎖的普及率低。然而這還會導致國內(nèi)廠商對電子鎖的重視會減少,使得電子鎖的技術(shù)仍然低于國際水平。 雖然電子鎖的市場還并不是特別好,但最近幾年許多廠商也開始自主研發(fā)技術(shù),開始擁有自己的品牌。比如優(yōu)守衛(wèi),通過自己的團隊不斷研發(fā)多年,優(yōu)守衛(wèi)電子掛鎖在前幾年開始面世了,運用于多個工業(yè)領(lǐng)域,而且評價頗好,也終于有技術(shù)占據(jù)國際的先進水平,這鼓勵了不少同行業(yè)的企業(yè)創(chuàng)建團隊自主研發(fā)。 現(xiàn)在,電子密碼鎖得到了空前發(fā)展,尤為突出的是應用單片機技術(shù)的,其功能性可多方面擴展,穩(wěn)定性強,可添加指紋識別、人眼識別、聲音識別等多種用于有效防盜的功能。雖然這些功能在
17、國內(nèi)還未被廣泛使用,但不用多久也會隨著技術(shù)的不斷發(fā)展,得到相應的進步,降低其制作成本,改善現(xiàn)有的缺陷。 我相信電子鎖在不久的未來將會被完全地普及,將會帶動我國民用鎖行業(yè)的發(fā)展,讓我們的財富更加安全。 1.3 電子密碼鎖設計的具體要求 (1)設計開鎖密碼為六位的電子鎖。 (2)當輸入密碼時,所輸入的開鎖密碼在LCD屏幕上都會顯示成“*”號,這樣能夠防止密碼泄漏或被竊取。 (3)當接上電源,按下開關(guān)便能輸入密碼,當輸入密碼正確時,LCD顯示OPEN;當輸入密碼錯誤時,顯示ERROR。 (4)若輸入密碼時,開鎖密碼錯誤的次數(shù)超過3次,將觸發(fā)鎖定功能,將鍵盤鎖定。 (5)使用4乘4
18、的矩陣式鍵盤,其中有16個按鍵分別為0-9、A-D、*、#鍵。 (6)有設計原始密碼以及管理員密碼,密碼可由使用者修改設定,但該設計只支持6位密碼。修改密碼前要求輸入兩次正確開鎖密碼,當輸入兩次新密碼時,進行對比,如此能防止錯誤的操作而導致密碼被修改。 (7)該電子密碼鎖具有報警功能,當輸入密碼不正確時LED燈亮起并且蜂鳴器響起。 1.4 設計方案的制定 本設計計劃采用的控制方案主要以單片機為核心。單片機類型眾多,各種型號的應用環(huán)境都有所區(qū)別,因此在選擇時需要全面考慮,以求得到最好的性價比。選擇單片機時應注意以下幾個方面:存儲器、運行速度、外圍設備要求、方便的開發(fā)工具、未來要求和
19、兼容性、成本、工作電壓,除了以上提到的之外,還要根據(jù)具體設計需求選擇合適的芯片架構(gòu),盡量簡化,而不要過于復雜化。對于功耗低的設計,需要選擇有睡眠模式的單片機。綜合以上要求,該設計的核心元件選用單片機STC89C52,通過它的輸入/輸出口數(shù)量多,編程靈活多樣,基本可以實現(xiàn)該設計所要求的的功能。 單片機stc89c52為主體,外部接矩陣鍵盤進行密碼輸入控制;外部接at24c02芯片用于存儲密碼;外部接LCD1602顯示屏用于相關(guān)顯示,還有外部再接蜂鳴器實現(xiàn)鳴響功能。當用戶需要開鎖時,通過這些數(shù)字鍵0 - 9輸入開鎖的密碼,然后確認密碼正確,則開鎖,密碼錯誤,需要再次輸入開鎖的密碼。當密碼錯誤三次
20、時,則蜂鳴器開始鳴響,觸發(fā)報警功能;在開鎖的情況下,可以修改開鎖密碼,修改開鎖密碼時需要輸入正確的開鎖密碼,然后設置新密碼,通過兩個輸入確認正確后保存新密碼,然后成功更改密碼。 這個方案能夠滿足現(xiàn)實生活的需要,保密性強而且有靈活準確的控制,還有擴展其他功能的可能性,總體上還是不錯的。 2 硬件電路設計 2.1 設計原理 該密碼鎖組成結(jié)構(gòu)比較簡單,主要是單片機、密碼存儲芯片、矩陣式鍵盤、液晶顯示屏和蜂鳴器等。矩陣鍵盤能輸入開鎖密碼和識別功能鍵,用戶可以通過矩陣鍵盤輸入密碼,能通過顯示電路顯示出來,然后經(jīng)單片機對所輸密碼與正確密碼做比較,判斷密碼是否正確,若正確,控制開鎖部
21、分的相關(guān)器件進行開鎖,若錯誤次數(shù)過多,則觸發(fā)報警電路的相關(guān)功能。 該設計分硬件電路設計和系統(tǒng)軟件設計。硬件電路設計的組成分成八大電路模塊,詳細情況如圖2-1所示。而系統(tǒng)軟件設計分為六大程序,分別為主程序、密碼設置子程序、按鍵掃描子程序、鍵盤掃描子程序、開鎖子程序、鍵功能程序、提示及報警程序,這些程序?qū)诘谌糠衷敿毥榻B。 2-1電子密碼鎖硬件電路設計的結(jié)構(gòu) 2.2 STC89C52單片機介紹 STC 89 C 52單片機具有功耗低、穩(wěn)定性強特點的CMOS8位控制器,能夠完全與8051指令代碼兼容。相當于一個改良版的8051單片機,具有8Kb的應用程序空間,機器周期可以在
22、6時鐘和12時鐘隨意選擇。無論在系統(tǒng)還是在應用都可編程,操作方便,不需要專門的編程器以及仿真器,為用戶使用程序提供許多便利,同時內(nèi)具8位CPU。因此,STC89C52能夠為用戶更靈活、更有效地解決問題。除此,里面還配備了許多的功能:通用I/O口數(shù)量多達32個,具有EEPROM功能,也有T0、T1、T2這三個16位的定時器/計數(shù)器,看門狗定時器,通用異步串行口等。它的工作電壓示單片機的規(guī)格而定,5V單片機在5.5到3.3電壓之間,3V單片機在3.8到2.0電壓之間;工作頻率情況,實際最高工作頻率可達48MHZ,但一般的工作頻率范圍為0~40MHz。 STC89C52有三種工作模式,分別是空閑模
23、式、正常工作模式和掉電模式。正常工作模式的典型功耗是最高的,在4MA到7MA之間,而空閑則比正常工作模式小,只是2MA而已。掉電模式的典型功耗遠遠小于上面的兩種模式,典型功耗不到0.1μA,掉電模式就是睡眠作用,極大的降低功耗,當被喚醒時,便會回到原來的位置繼續(xù)工作。 圖2-2 STC89C52RC的引腳圖 下面是各引腳的功能說明: 表2-1 電源端口及P0口引腳功能 引腳號 復用功能 VCC 電源電壓 VSS 接地線 P0 八位雙向I/O口 P0端口是含有一個漏極開關(guān)的八位雙向I/O口。 P1是一個具有內(nèi)部上拉電阻的八位雙向I / O端口,它的輸出緩沖器可
24、以驅(qū)動4個TTL輸入(吸收或輸出電流模式)。當向端口寫入1時,此時端口將被拉至高電平作為輸入端口。當P1端口用作輸入端口時,由外部信號下拉的引腳將由于內(nèi)部上拉電阻而輸出電流。 此外,根據(jù)表2-2,P1.0和P1.1可以用作定時器/計數(shù)器2觸發(fā)輸入,也能被用作外部技術(shù)輸入。 除了通信編程之外,P1可以接收一個低8位地址,并且當程序被驗證時P1也可以接受一個低8位地址。 表2-2 P1.0和P1.1引腳復用功能 P2是一個八位雙向輸入/輸出端口,具有內(nèi)部上拉電阻,P2輸出緩沖器可驅(qū)動4個TTL輸入(吸收或輸出電流模式)。當端口寫入1時,端口將被拉至高電平。此時,端口可以用作輸入端
25、口,并且當P2端口用作輸入端口時,由外部信號下拉的引腳將由于內(nèi)部上拉電阻的作用而輸出電流。當訪問16位地址和外部程序存儲器的外部數(shù)據(jù)時,P2的高8位地址被發(fā)送出去,當訪問8位地址的外部數(shù)據(jù)存儲器時,P2端口引腳上的內(nèi)容在整個訪問期間不會再次更改。 P2除了在對通信編程期間,還會接收高位地址和部分控制信號;在程序被檢驗時,P2同樣可以接受高位地址和控制信號。 表2-3 P3口引腳復用功能 P3端口是一個八位雙向輸入/輸出端口,具有內(nèi)部上拉電阻。4個TTL輸入可由它的輸出緩沖器(電流的吸收或輸出電流模式)驅(qū)動。當端口被寫入到1時,
26、端口將被拉到高電平,該端口可以用作輸入端口。當P2端口用作輸入時,外部信號拉動的引腳由于內(nèi)部上拉電阻的作用而輸出電流。 P3在對通信編程,還能接收一些控制信號。而在程序被檢驗時,同樣也能接收一些控制信號 P3口不只是能夠用作一般I/O口,還附帶許多的復用功能,若要了解可參考上表2-3,有簡單的介紹。 表2-4 特殊引腳復用功能 RST:用作復位輸入。當有效輸入高電平時間達到持續(xù)兩個機器周期以上時則為有效操作,此操作可進行單片機的復位初始化。看門狗定時器開始計時并完成后,RST輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位DISRTO處于默認狀態(tài)下,復
27、位的高電平能起到作用。若不是,則能使該功能無效化。 XTAL1和XTAL2分別用作振蕩器反相放大器的輸入端口和輸出端口,但XTAL1能夠用作內(nèi)部時鐘發(fā)生電路的輸入端口。 PSEN是程序儲存允許,是外部程序存儲器選通信號。只訪問外部數(shù)據(jù)存儲器而不執(zhí)行外部代碼時,不激活機器周期;而執(zhí)行外部代碼時,每個機器周期都會被激活兩次。 ALE是地址鎖存允許,,在訪問外部程序存儲器時,它輸出鎖存低8位地址的脈沖。地在沒有訪問外部存儲器時,ALE輸出固定的正脈沖信號,是通過用六分之一的鐘振蕩頻率的方式。因此它具備定時作用,也能對外輸出時鐘。 EA/VPP是訪問外部程序存儲器控制信號。若使外部程序存儲器(
28、地址為0000H-FFFFH)能被CPU讀取指令,該引腳必須接GND。加密方式1時,EA端處于被鎖存的狀態(tài)。接VCC時,EA端口執(zhí)行內(nèi)部程序指令。 本設計單片機硬件端口分配情況: 用于LCD液晶屏顯示功能的端口為P0.0~P0.7。 用于控制蜂鳴器和報警燈的的端口為P2.1、P3.6。 用于控制開鎖電路的端口為P2.0。 用于控制鍵盤電路的端口為P2.1、P3.6。 用于控制LCD顯示模塊的端口為P2.5~P2.7。 用于AT24C02存儲作用的端口為P3.4、P3.5。 2.3 LCD1602顯示 LCD1602液晶顯示屏是點陣式LCD,一共能顯示32個字符,分別上下16個
29、字符,一般被用來顯示符號、字母、數(shù)字這幾類,特殊一些的也可以顯示自定義的和內(nèi)部常用的字符。 1602LCD的技術(shù)參數(shù)請參照表2-5: 表2-5 1602型LCD的主要技術(shù)參數(shù) 液晶顯示屏的優(yōu)點有下面幾個: 每個點在接收到信號以后,都可以在顏色和亮度都不發(fā)生任何變化的基礎(chǔ)上恒定發(fā)光,而不像有些顯示器需要一直刷新新亮點。因此,液晶顯示器不會閃爍之余,也保證了顯示畫面的質(zhì)量。 液晶顯示屏是數(shù)字式,在使用上比較方便,在單片機上外接便能使用,不需要太繁瑣的操作。 液晶顯示屏明顯沒有一般的顯示屏重,易于安裝。另外,它的功耗主要集中在內(nèi)部的電極和驅(qū)動IC,其他方面沒有過多的能量損耗,因
30、此,功耗遠比一般的顯示器要小。還有它的顯示的工作情況是通過電極來控制液晶分子狀態(tài)。 綜合上面幾點,考慮到要使用的功能只是顯示數(shù)字、符號和字母,因此選用此類顯示屏作為顯示器件。 表2-6 LCD1602引腳說明 引腳7~14為8位雙向數(shù)據(jù)線。 LCD1602模塊的控制指令具體如表2-7所示,一共有11條指令。 表2-7 LCD1602內(nèi)部控制指令表 液晶顯示LCD1602處于忙的狀態(tài)下,是不會接收和執(zhí)行指令。需要給它新工作前,一定要判斷模塊的忙標志,以防指令沒有起到效果。顯示字符前要先輸入顯示字符所在的地址,意思相當于把字符地址告訴給模塊。 圖2-
31、3 LCD1602內(nèi)部顯示地址 圖2-3是LCD的具體顯示地址,需要確定顯示的地址時,D7必須為高電平,因此若要具體定位,需要按上面的具體地址再加上80H,然后寫入所得的數(shù)據(jù)。對液晶模塊的初始化需要根據(jù)表2-7的控制指令進行各種設置,如顯示模式,光標移位選擇,讀忙標志設置等。讀忙是為了保證指令起效,每次輸入指令前都需要進行讀忙,判斷此時顯示模塊的狀態(tài)。 圖2-4 液晶顯示模塊 2.4 AT24C02存儲芯片 AT24C02是一個采用低功耗CMOS技術(shù)EEPROM,工作的電壓適用范圍比較大,在1.8V到6V之間。它具備的特點:存儲空間大(256×8位)、數(shù)據(jù)保存時間長(可達100
32、年)、擦寫次數(shù)多、寫入速度快等特點。該芯片兼容400KHZI2C總線,占用的I/O線和資源都少,能線上編程,十分方便數(shù)據(jù)實時的存取。 圖2-5 AT24C02引腳圖 表2-8 管腳描述 SCL是AT24C02的串行時鐘輸入管腳,用于產(chǎn)生器件發(fā)送或接收所有數(shù)據(jù)的情況。 SDA是AT24C02的雙向串行數(shù)據(jù)/地址管腳,作為開漏輸出管腳,能連接別的開漏或集電極開路輸出,被用于器件發(fā)送或接收所有數(shù)據(jù)的的情況。 A0 、 A1 、A2作為器件地址的輸入端口,處于多個器件級聯(lián)的狀態(tài)下,它們能設置器件地址;在懸空的情況下,默認值為零。使用此芯片可級聯(lián)的器件有限,最多只能是8個。如果
33、總線尋址一個AT24C02時, A0、A1、A2 這三個腳可連接的情況有兩種,可連接到電路公共接地端電壓,也可以懸空。但如果總線尋址一個AT24C01時, A0、A1、A2這三個腳就只能連接到電路公共接地端電壓,而不能懸空。 WP管腳有兩種連接方式,分別是觸發(fā)寫保護和正常連接。連接到Vcc,在寫保護下,所有的內(nèi)容只能讀,而不能進行其他操作。當連接到電路公共接地端電壓或懸空時,器件能被允許執(zhí)行正常的讀和寫操作。 AT24C02支持I2C總線數(shù)據(jù)傳送協(xié)議,能用作發(fā)送器,也能用作接收器,具體情況根據(jù)數(shù)據(jù)的傳送模式進行判斷。從總線傷獲取數(shù)據(jù)時,便是接收器,而向總線傳輸數(shù)據(jù)時,便是發(fā)送器。但根據(jù)規(guī)定
34、,數(shù)據(jù)發(fā)送或接收的傳輸模式被主器件控制著。 圖2-6 AT24C02電路圖 2.5 鍵盤設計 該設計需要許多按鍵,若一個按鍵占用一個I/O口時,不足以滿足設計的需求。為減少I/O口的占用以及線的數(shù)量,這里采用的是矩陣式鍵盤,。 矩陣式鍵盤的結(jié)構(gòu):每一個按鍵連通一條行線和列線的交叉處,只需要X條行線和Y條列線,就可以形成用有X×Y個按鍵的鍵盤,而本次要求需要10多個按鍵,因此設置4行4列的結(jié)構(gòu)。矩陣式鍵盤比獨立式鍵盤少占用一半的I/O接線口。 矩陣式鍵盤是利用“行掃描法”進行按鍵識別。鍵盤識別的掃描方法是:首先要判斷是否有鍵閉合,需要將所有行線輸出低電平,以此為基礎(chǔ),然后讀取
35、列線的數(shù)據(jù)情況,若所有列線輸出高電平,證明沒有鍵按下;若列線有低電平出現(xiàn)的情況時,考慮到有按鍵抖動導致誤判斷的情況,需要利用延時程序進行去除按鍵抖動的操作,在此之后,若此時列線依然有低電平的出現(xiàn),則證明有按鍵被按下。之后便是確定閉合鍵所在的位置,當確定有鍵按下后,行線輪流輸出低電平,然后讀取列線數(shù)據(jù),如果存在某一根行線和某一列都是輸出低電平的情況,則可以斷定被按下的按鍵就是在該行與該列交叉處的按鍵。 延時程序去抖的作用:每當有按鍵被按下時,該鍵回到穩(wěn)定狀態(tài)前,需要持續(xù)震動一小段時間,而在這一小段的時候可能會使該鍵被單片機誤認為再次輸入,為防止一個按鍵被誤判而到此多次輸入,需要在檢查到有鍵被按
36、下時,通過延時程序延遲一小段時間,以保證鍵盤的輸入更穩(wěn)定,不發(fā)生誤判的情況。 圖2-7 矩陣按鍵模塊 2.6 聲音提示模塊 如圖2-9,該模塊一共由三個元件共同組成,分別是限流電阻、蜂鳴器和三極管。下面將對蜂鳴器和三極管進行簡單的介紹,蜂鳴器在這里被用作發(fā)聲器件,是一體化結(jié)構(gòu)的電子訊響器,利用以直流電壓供電的方式,使用要求低,方便簡單,被廣泛應用于許多電子產(chǎn)品中。蜂鳴器在專業(yè)上用“H”或“HA”表示,類型主要可以分成兩種,分別是電磁式和壓電式蜂鳴器。 (一)下面是對兩種蜂鳴器結(jié)構(gòu)原理的介紹: 電磁式蜂鳴器:組成的元件主要有磁鐵、電磁線圈、振蕩器和振動膜片。在接通電源之
37、后,振蕩器會產(chǎn)生音頻信號,然后音頻信號會流經(jīng)電磁線圈。電磁線圈在音頻信號經(jīng)過時,由于電磁效應,會產(chǎn)生磁場,影響著振動膜片。振動膜片在磁鐵和電磁線圈中的磁場的互相作用力下,會有規(guī)律地振動發(fā)聲。 壓電式蜂鳴器:組成的元件也并不多,主要有壓電蜂鳴片、阻抗匹配器、共鳴箱及多諧振蕩器等元件。多諧振蕩器的構(gòu)造可以是晶體管,也可以是集成電路,兩者可互相代替。在正常工作時,需要接入適當?shù)慕涣麟妷?,這樣會發(fā)送壓電效應,導致機械出現(xiàn)形變的情況,從而推動壓電蜂鳴片發(fā)出聲音。 上面兩種類型的蜂鳴器都有有源和無源兩種,有源蜂鳴器只需要接上適當?shù)碾妷杭纯蛇B續(xù)發(fā)聲,方便用程序控制,但聲音的頻率固定,無法改變。而無源蜂鳴
38、器卻要接入音頻輸出電路中才可以發(fā)聲,就和電磁揚聲器一樣。使用條件相對復雜一些,但是可以控制聲音頻率并且便宜。綜合考慮,本設計采用有源蜂鳴器。 蜂鳴器若是直接連接到單片機時有可能無法正常工作,因為它的工作電流通常比較大,單片機的I/O口提供不了相應大小的電流而導致無法被驅(qū)動,因此一般都需要借助三極管放大電路的作用,增大電路來驅(qū)動它。 (二)下面是對三極管的介紹: 對三極管放大作用的理解,三極管有三個工作區(qū)域,分別是截止區(qū)、放大區(qū)和飽和區(qū),下面是簡單的介紹。 截止區(qū):發(fā)射結(jié)電壓比導通電壓小,三級管未導通,通過的電流接近0. 放大區(qū):Ube大于0,Uce小于0,Ic與Ib線性放大關(guān)系,Ib
39、控制Ic,即利用小電流控制大電流。
飽和區(qū):Ubc 40、當作無觸點開關(guān)使用。
圖2-9 聲音提示模塊
這里采用的是PNP型三極管,三極管起著開關(guān)作用,其基級高電平會讓三極管關(guān)閉,蜂鳴器不發(fā)聲;而其基級低電平則讓三極管飽和導通,使蜂鳴器發(fā)聲。
2.7 繼電器控制模塊
電磁繼電器的組成元件有鐵芯、銜鐵、線圈以及觸點簧片等,它是一種電子控制器件,擁有輸入回路和輸出回路,可以在控制系統(tǒng)和被控制系統(tǒng)之間轉(zhuǎn)換。它實際上是一種用小能力就能控制大能量的自動開關(guān),這里的小能量指的是電流和電壓。它能夠?qū)﹄娐愤M行保護和自動調(diào)節(jié),甚至轉(zhuǎn)換電路,因此,一般在自動控制電路種使用較多。
工作原理:在線圈兩端加上適當?shù)碾妷海a(chǎn)生相應的 41、電流,在經(jīng)過線圈時,會發(fā)生電磁感應效應,產(chǎn)生電磁力,作用于銜鐵上,銜鐵便會克服彈簧的拉力而被鐵芯吸引過去,導致動觸點與靜觸點吸合,起著導通電流的作用。當撤掉所加的電壓后,沒有了磁場的產(chǎn)生,銜鐵便會在彈簧的作用下回到一開始的位置,讓動觸點與靜觸點釋放,起著切斷電路的作用。繼電器的常開觸點/常閉觸點是其線圈處于斷開狀態(tài)/接通狀態(tài)的靜觸點。
圖2-10 繼電器剖析圖
根據(jù)圖2-11的繼電器控制模塊圖電路所示,用PNP型三極管控制繼電器,當輸入過大,三極管處于飽和區(qū),集電極和發(fā)射極相當于在短路狀態(tài),起導通作用,使繼電器吸合,這時繼電器也相當于一個開關(guān),開始驅(qū)動負載。
42、
圖2-11 繼電器控制模塊
2.8 最小系統(tǒng)模塊
單片機最小系統(tǒng)時由幾個小電路構(gòu)成的,以電源模塊、復位電路、振蕩電路為基礎(chǔ),再加一些擴展的部分,最小系統(tǒng)的電路如圖2-12所示。
圖2-12 最小系統(tǒng)電路圖
(一)電源模塊:
電源模塊是供電模塊,是一個產(chǎn)品最重要的部分,為系統(tǒng)提供電源,系統(tǒng)正常運作的前提和基礎(chǔ)是電源能夠正常工作、穩(wěn)定輸出。51單片機與其他系列的單片機相比,使用時間更早、應用范圍更廣,但也存在一些缺陷,在實際使用過程中更容易被干擾從而產(chǎn)生程序跑飛的現(xiàn)象,而提供穩(wěn)定可靠的電壓模塊便能很好的避免這 43、種現(xiàn)象的發(fā)生。
(二)復位電路
復位電路可以對系統(tǒng)進行復位,可以分為上電復位和按鍵復位兩個部分。
(1)上電復位:在這類型的單片機中屬于高電平復位,一般在復位引腳上外接10K的電阻和加上10uF的電容,而它們的具體連接情況是電阻連接到GND和電容連接到VCC,形成一個能夠確保復位引腳在單片機上電時擁有持續(xù)時間大于單片機兩個機器周期的持的高電平進行復位的RC充放電回路,在電平發(fā)生變化,重新回到低電平時,進入正常工作狀態(tài)。
(2)按鍵復位:把一個按鍵與復位電容并聯(lián),按鍵起開關(guān)作用,這樣只要按鍵被按下時,電容就會開始放電,把復位引腳拉到高電平,需要對電容進行充電,結(jié)果就會產(chǎn)生持續(xù)時間大于單片 44、機兩個機器周期的高電平對單片機進行復位。
圖2-13 復位電路圖
(三)振蕩電路
晶體振蕩器只需要簡單地連接就能在單片機系統(tǒng)中使用,它能夠為單片機提供所需要的時鐘頻率,而提供的時鐘頻率大小能夠直接影響到單片機的運行速度,單片機運行速度與提供的時鐘頻率成正相關(guān),單片機執(zhí)行任何指令之前都需要晶振為它提供時鐘頻率。
圖2-14 晶振電路圖
在正常的工作條件下,普通的晶振時鐘頻率絕對精度便高達百萬分之五十,高級的晶振在絕對精度這個數(shù)值傷肯定比普通的高許多。晶振如果處于共振的狀態(tài)下,能夠利用晶體能把電能和機械能互相轉(zhuǎn)化的特性為單片機系統(tǒng)提供精確并且穩(wěn)定的單頻振蕩。
通常一個系統(tǒng)共用一 45、個晶振,否則很可能會使系統(tǒng)各個部分不同步。若出現(xiàn)在一個系統(tǒng)里不同的子系統(tǒng)由不一樣的需求,只需要用不同的鎖相環(huán)連接到同一個晶振傷,這樣就會改變?yōu)椴煌酉到y(tǒng)所提供的時鐘信號的頻率。
2.9 整體電路圖
根據(jù)上面介紹的幾大模塊,將它們連接起來,便可組成一個電子密碼鎖,整個電路的電路圖如圖2-15所示:
圖2-15 電子密碼鎖電路圖
3 系統(tǒng)軟件設計
3.1 部分器件的相關(guān)功能介紹
3.1.1 單片機STC89C52定時器:
表3-1 特殊功能寄存器T2CON的描述
7
6
5
4
3
2
1
0
TF2
EXF2
46、
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
STC89C52有三個定時/計數(shù)器,即T0、T1、T2。定時/計數(shù)器2的控制位位于T2CON,具體的描述可參考表3-2,它的狀態(tài)位位于T2MOD,具體的描述可參考表3-2。T2CON的地址為0C8H,可位尋址,復位值是0000 0000B。
表3-2 定時器2模式(T2MOD)控制寄存器的描述
7
6
5
4
3
2
1
0
—
—
—
—
—
—
T20E
DCEN
T2MOD的地址為0C9H,不可位尋址,復位值是XXXX XX00B。
表 47、3-3 定時器2模式(T2MOD)控制寄存器的功能
定時器2是一個16位定時/計數(shù)器。若想改變它的功能,將它用作定時器還是計數(shù)器,只需要設置寄存器T2CON中的C/T2位便能達到要求。定時器2有三種不一樣的工作方式,具體可分為3種操作模式:捕獲、自動重新裝載和波特率發(fā)生器模式,需要設置三種模式,只需要參考表3-4,改變寄存器T2CON中的RCLK、TCLK、CP/、TR2這幾個位。
表3-4 定時器2工作方式
a) 捕獲模式
定時器2在捕獲模式中,可根據(jù)T2CON中的位EXEN2完成兩個選項的設置。定時器2在EXEN2=0時,能夠通過設置寄存器T2CON中的C/T2位進行選擇 48、,將定時器2用作16位定時器還是計數(shù)器。定時器2溢出時會置位TF2,TF2是溢出的標志位。產(chǎn)生中斷時需要用到TF2這個位。定時器2在EXEN2=1時,除了增加了一個特性外,其他與以上描述相同,增加的特性是外部輸入T2EX發(fā)生改變(由1變0)時,定時器2中TH2的當前值會捕獲到RACP2H,TL2的當前值會捕獲到RCAP2L。此外,T2EX由0變1時,EXF2會發(fā)生置位,EXF2如同TF2一樣能夠產(chǎn)生中斷。捕獲模式如圖3-1所示,在這種模式下,TL2和TH2不會重新裝載值。
*在6時鐘模式下,d=6;在12時鐘模式下,d=12。
圖3-1 定時器2的捕獲模式
49、
b) 自動重裝模式
通過C/T2,定時器2在16位自動重裝模式中與捕獲模式一樣,可以通過寄存器的C/T2位,對定時器和計數(shù)器進行選擇,可以通過編程控制遞增或遞減。DCEN是遞減計數(shù)使能位,用于決定計數(shù)的方向,位于T2MOD寄存器中。由圖3-2所示,定時器2在DCEN=0時,選擇的計數(shù)方向為向上計數(shù),自動遞增計數(shù);如圖3-3所示,定時器2在DCEN=1時,選擇的計數(shù)方向是向下計數(shù),然后可以根據(jù)T2EX的值決定遞增或遞減計數(shù)。在這種模式中,當DCEN=0的情況下,通過EXEN2位可以進行選擇,如果等于零,定時器2遞增計數(shù)到0FFFFH,并在溢出后將TF2置位,然后對RCAP2L和RCAP2H中 50、的16位值進行重新裝載,最后裝入定時器2中,若需要對RCAP2L和RCAP2H的值進行預先的設計,可利用軟件來實現(xiàn)。
*在6時鐘模式下,d=6;在12時鐘模式下,d=12。
圖3-2 定時器2自動重裝模式(DCEN=0)
*在6時鐘模式下,d=6;在12時鐘模式下,d=12。
圖3-3 定時器2自動重裝模式(DCEN=1)
c) 波特率發(fā)生器模式
波特率發(fā)生器模式可以通過寄存器T2CON的位TCLK和TCLK決定選擇定時器1或者2定時器2,還有決定著是作為獲得串行口發(fā)送波特率發(fā)生器還是接收波特率的發(fā)生器。在TCLK=0時,定時器1 51、用作串行口發(fā)送波特率的發(fā)生器;在TCLK=1時,定時器2用作串行口發(fā)送波特率的發(fā)生器。在RCLK=0時,定時器1作為獲得串行口接收波特率的發(fā)生器;在RCLK=1時,定時器2作為獲得串行口接收波特率的發(fā)生器。
如圖3-4所示,是定時器2波特率發(fā)生器模式的工作情況。具體與自動重裝模式有很多類似,處于波特率發(fā)生器模式時,在TH2溢出時,對RCAP2L和RCAP2H中的16位值進行重新裝載,最后裝入定時器2中,若需要對RCAP2L和RCAP2H的值進行預先的設計,可利用軟件來實現(xiàn)。
*在6時鐘模式下,d=1;在12時鐘模式下,d=2。
模式1和模式3的波特率= 定時器2溢出速率/1 52、6
圖3-4 定時器2波特率發(fā)生器模式
d) STC89C52中斷技術(shù)介紹
中斷技術(shù)在產(chǎn)品設計中占據(jù)一個重要的地位,要求單片機能快速地響應中斷請求,并快速響應、進行相關(guān)的處理操作,主要用于實時監(jiān)測與控制。若需要使用該中斷技術(shù),需要利用片內(nèi)的中斷系統(tǒng)。如圖3-5所示,在單片機收到中斷請求后會進行判斷,若允許,單片機將會停止手頭上的工作,即正在執(zhí)行的主程序,在這個停止的地方稱之為斷點,優(yōu)先處理中斷請求處理的相關(guān)程序。在處理完中斷服務程序后,返回主程序,回到斷點的位置,然后執(zhí)行未完成的程序,即之前被中斷的主程序。
圖3-5 中斷響應和處理過程
53、
中斷系統(tǒng)能夠大大減少單片機花在定時查詢是否有服務請求發(fā)生的相關(guān)操作上的時間。利用中斷技術(shù),可以避免了單片機在查詢方式中的等待現(xiàn)象,單片機的工作效率也因為等待現(xiàn)象的減少而等到很大的提高。
3.1.2 LCD1602的操作時序
下面是對LCD1602的操作時序進行簡單的介紹:
表3-5 基本操作時序
1602的基本操作時序可參考表3-5,L為低電平,H為高電平。
圖3-6 寫操作時序
寫指令字時,RS變?yōu)榈碗娖剑琑/W變?yōu)榈碗娖?,把?shù)據(jù)送到數(shù)據(jù)口DB0~DB7,接著E一個上升沿后,將數(shù)據(jù)寫入DB0~DB7,E下降沿后結(jié)束;寫入數(shù)據(jù)字時,RS變?yōu)楦唠娖剑琑/W變?yōu)榈碗?/p>
54、平,把數(shù)據(jù)送到數(shù)據(jù)口DB0~DB7,然后E一個上升沿,將數(shù)據(jù)寫入DB0~DB7,最后E下降沿之后結(jié)束。
圖3-7 讀操作時序
讀狀態(tài)時,RS變?yōu)榈碗娖?,R/W變?yōu)楦唠娖剑又鳨一個上升沿后,讀取D0~D7數(shù)據(jù),然后E下降沿之后結(jié)束;讀數(shù)據(jù)時,RS變?yōu)楦唠娖?,R/W變?yōu)榈碗娖剑又鳨一個上升沿后,讀取D0~D7數(shù)據(jù),然后E下降沿之后結(jié)束。
3.1.3 AT24C02時序
下面是對AT24C02的操作時序進行介紹:
表3-6 寫周期限制
寫周期時間的代表符號是tWR,含義是指一個寫時序從有效停止信號到內(nèi)部編程/擦除周期結(jié)束的這一段時間。在寫周期期間總線接口電 55、路禁能SD會一直保持在高電平的狀態(tài)器件在這種情況下不會再響應外部的任何操作
圖3-8 起始/停止時序圖
在SCL低電平時間周期內(nèi),仍然可以改變總線上的數(shù)據(jù)內(nèi)容。一旦到了SCL 高電平時間周期中,數(shù)據(jù)的改變只能表示“開始”或“停止”這兩種狀態(tài),而無法再發(fā)生其他的變化。如圖3-8時序圖所示,當SCL 進入“開始”狀態(tài)是由高電平變成低電平,進入“停止”狀態(tài)是低電平轉(zhuǎn)向高電平,而在進入“停止”狀態(tài)前還會有一個確認狀態(tài)ACK,這時為了達到與外界通訊的目的,發(fā)生在每個字節(jié)之后的第九個時鐘周期。。在執(zhí)行其它操作前必須先進入“開始”狀態(tài), 而“停止”作為結(jié)束標志。
圖3-9 應答時序圖
56、
往IIC總線上發(fā)送數(shù)據(jù)的設備是發(fā)送端,從IIC總線上接收數(shù)據(jù)的設備是接收端,AT24C02既可以作為發(fā)送端,也可以作為接收端。
如圖3-9的時序圖所示,可以了解到在發(fā)送數(shù)據(jù)后一直到SCL第9個脈沖到之前,發(fā)送端會拉高SDA,等待準備從接收端發(fā)來的ACK應答信號;應答信號會在接收端接收到數(shù)據(jù)后,會向發(fā)送端反饋信息,即向發(fā)送端發(fā)送一個ACK信號。
在本設計當中,單片機和AT24C02都有用作發(fā)送端的時候,也有用作接收端的時候。只要單片機從IIC總線上接收來自AT24C02發(fā)送的數(shù)據(jù),單片機便是接收端,AT24C02則是發(fā)送端。反過來,單片機通過IIC總線向AT24C02寫入數(shù) 57、據(jù)時,單片機就是發(fā)送端,AT24C02則是接收端。如果單片機作為發(fā)送端時,當它發(fā)送完一字節(jié)的數(shù)據(jù)后,需要設置的語句是:SDA=1;SCL=1;SCL=0 ,拉高SDA,等待接收從AT24C02反饋回來的應答信號。
如果單片機作為接收端時,需要接收多個數(shù)據(jù),則在每接收完一字節(jié)的數(shù)據(jù)后,都需要設置以下語句:SDA=0,ACL=1;SCL=0,向AT24C02反饋信息,即發(fā)送ACK信號。
如果只接受一個字節(jié)的數(shù)據(jù),那么就不發(fā)送應答信號,這個時候,需要將SDA置高,設置的語句:SDA=1
圖3-10 字節(jié)寫時序
(一)字節(jié)寫
如圖3-10所示,處于字節(jié)寫的模式時,主器件會給從 58、器件發(fā)送起始命令和地址信息,然后等待從器件接收數(shù)據(jù)并發(fā)送ACK信號,等待完成后,主器件會再一次向從器件發(fā)送信息,這次的時關(guān)于AT24C02的字節(jié)地址的信息。繼續(xù)等到接收到ACK信號之后,又會往被尋址的存儲單元發(fā)送數(shù)據(jù),再接收到ACK信號后,主器件便會產(chǎn)生停止信號,進入“停止”狀態(tài)。開始擦寫內(nèi)部數(shù)據(jù),在這期間,AT24C02不會應答主器件的所有請求。
圖3-11 頁寫時序
(二)頁寫
AT24C02在頁寫模式下,可以一次性寫入16個字節(jié)的數(shù)據(jù)。如圖3-11所示,頁寫的操作在傳送單個字節(jié)的過程與字節(jié)寫很相似,區(qū)別在于傳送完一字節(jié)數(shù)據(jù)后并不會進入“停止”狀態(tài),會繼續(xù)傳送下一個 59、字節(jié)的數(shù)據(jù)。在發(fā)送這16個字節(jié)的過程,AT24C02在主器件每發(fā)送完一個字節(jié)的數(shù)據(jù)后,便會產(chǎn)生一個應答位并保持字節(jié)數(shù)據(jù)地址高位不發(fā)生變化,低位+1。
如果主器件從“開始”狀態(tài)進入到“停止”狀態(tài)的過程中前,發(fā)送的字節(jié)數(shù)據(jù)超過16個后,地址計數(shù)器將自動翻轉(zhuǎn),超出的部分會覆蓋之前已經(jīng)寫入的數(shù)據(jù)。
AT24C02在接收到16字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號后,將會啟動內(nèi)部寫周期把數(shù)據(jù)寫到數(shù)據(jù)區(qū)。在一個寫周期內(nèi),會將所有接收到的數(shù)據(jù)都寫入其中。
(三)讀操作
AT24C02讀操作的初始化方式與寫操作的相同,只需要使R/W為1。讀操作方式具體可分為三種,下面是對這三種方式進行簡單地介紹。
60、圖3-12 立即地址讀時序圖
(四)立即地址讀
立即地址讀是從AT24C02最后操作字節(jié)的地址上加1,再繼續(xù)輸出數(shù)據(jù)。地址數(shù)值達到上限時,計數(shù)器會自動翻轉(zhuǎn),即上次最后操作的字節(jié)地址為255時,輸出數(shù)據(jù)地址便會從0開始。如圖3-12所示,AT24C02在接收到從器件地址信號后,先發(fā)送一個ACK信號,然后才會發(fā)生一個8字節(jié)的數(shù)據(jù)。在這之后,主器件不會再發(fā)生應答信號,而是直接產(chǎn)生一個停止信號,進入“停止”狀態(tài)。
圖3-13 選擇讀時序圖
(五)選擇性讀
選擇性讀是主器件能夠讀取寄存器任意字節(jié)的操作。具體的過程如圖3-13所示,主器件被要求發(fā)送一個關(guān)于起始信號、從器件地址、需要讀 61、取的字節(jié)數(shù)據(jù)地址的偽寫操作,等到AT24C02對此應答后,才能進入主題,發(fā)送起始信號和從器件地址。這個時候R/W為1,AT24C02接收信息后會響應并向主器件發(fā)送ACK信號,然后輸出需要讀取的一個8位字節(jié)數(shù)據(jù)。在這之后,主器件不會再發(fā)生應答信號,而是直接產(chǎn)生一個停止信號,進入“停止”狀態(tài)。
圖3-14 連續(xù)讀時序圖
(六)連續(xù)讀
連續(xù)讀操作是在AT24C02以立即讀或者選擇性讀的方式給主器件發(fā)送完一個8位字節(jié)數(shù)據(jù)后,會受到一個ACK信號,要求繼續(xù)給主器件發(fā)送數(shù)據(jù),AT24C02每收到一個ACK信號都會通過發(fā)送一個8位字節(jié)的數(shù)據(jù)來進行一一回應,直到主器件不再發(fā)送ACK信號,而是發(fā) 62、送停止位,進入“停止”狀態(tài)為止。
如圖3-14所示,AT24C02發(fā)送出去的數(shù)據(jù)會按順序排列,從n到n+1輸出。地址計數(shù)器整個地址會一直增加,這樣在一個讀操作內(nèi),整個寄存器區(qū)域可被全部讀出。當n+x=256時,計數(shù)器將自動翻轉(zhuǎn)到0并繼續(xù)輸出數(shù)據(jù)字節(jié)。
3.2 主程序模塊
該軟件設計主要由主程序、LCD顯示程序、開鎖程序、初始化程序、鍵盤掃描程序、鍵功能程序、聲音設置程序、延時程序以及EEPROM讀寫程序等多個程序組成。
下面是主程序的設計流程圖:
圖3-15 主程序的流程圖
從上面的主程序流程圖可以看出,本設計通過識別鍵盤的輸入,比較密碼是否正確,從而確認是 63、否開鎖。除了輸入正確密碼能開鎖之外,當密碼錯誤時會觸發(fā)報警系統(tǒng),而當覺得密碼可能泄漏時,還能通過修改密碼增加安全性。
3.3 密碼設置子程序
因為程序設計是由多個模塊組成的,通過許多子程序組成整個軟件系統(tǒng),子程序不但能夠簡化程序,也方便修改以及瀏覽。每個硬件模塊都會有相對應的程序,而在該系統(tǒng)設計中要用的子程序有很多,比如下圖為密碼修改子程序流程圖。
圖3-16 密碼設置子程序
當?shù)谝淮屋斎肱f密碼時,若正確,則開鎖;在開鎖狀態(tài)下,再次輸入舊密碼,若正確,則能觸發(fā)密碼設置功能,而在這過程中,若輸入的開鎖密碼連續(xù)錯誤三次,則會觸發(fā)報警功能。
設置密碼時,需要在開鎖狀態(tài)下,按下設置 64、鍵;系統(tǒng)會要求連續(xù)輸入兩次新密碼,然后進行對比,若兩次輸入都相同,則新密碼設置成功。下面是對應的一部分程序:
}
3.4 鍵盤掃描子程序
鍵盤掃描子程序是在整個程序中是一個尤為重要的部分,本設計使用的是行列式鍵盤,當有鍵閉合時,系統(tǒng)會掃描鍵盤,先確定行線,再確定列線,定位后再組合起來便能確認閉合鍵的位置,并確認是否有效。
Y
圖3-17 鍵盤掃描子程序
下面是鍵盤掃描的相關(guān)程序:
3.5 開鎖子程序
開鎖子程序的過程是先輸入密碼,然后按下確認鍵;若密碼錯誤,則重新輸入,然后輸入次數(shù)加1,若密碼錯誤三次時便會觸發(fā)報警功能;而若在這過程中,密碼輸入正確,便能 65、成功開鎖。
下面是開鎖子程序:
}
}
else //正確兩次輸入時,進入重置密碼界面
{
3.6 鍵功能程序
輸入不同的鍵值代表著將執(zhí)行不同的程序,ABC這三個鍵沒有被定義,所以它們屬于沒有效果的按鍵;輸入“D”鍵能執(zhí)行密碼設置子程序,而輸入“*”鍵。
鍵功能程序
鍵值=‘A、B、C’?
鍵值=‘D’?
鍵值=‘*’?
鍵值=‘#’?
無效輸入
取消輸入程序
確認程序
Y
Y
Y
Y
N
N
N
返回
密碼設置程序
鍵值=‘0~9’?
密碼輸入程序
Y
66、N
N
圖3-19 鍵功能程序
下面是該功能對應的部分程序:
3.7 提示音及報警程序
當按鍵輸入有效時,蜂鳴器會響起一聲提示音;當開鎖或密碼設置成功時,蜂鳴器會響起兩聲提示音;當密碼輸入錯誤或重置密碼時輸入的兩次新密碼不相同,則會響起三聲提示音。而當密碼連續(xù)錯誤次數(shù)達到3次,則會觸發(fā)報警功能,蜂鳴器一直響并鎖死鍵盤。
提示音及報警程序
有效輸入?
操作成功?
比較密碼是否相同?
輸入密碼錯誤次數(shù)已達3次
一聲提示音
三聲提示音
報警并鎖死鍵盤
Y
Y
Y
Y
N
N
N
返回
兩聲提示音
N
圖3-20 提示音及報警流程圖
下面是提示音及報警功能的設置程序:
3.8 操作說明:
一、主要功能:
u 開鎖密碼為6位密碼,密碼輸入正確,顯示open!,打開鎖。
u 密碼在開鎖狀態(tài)下,可被修改。為了防止操作錯誤,需要輸入兩次開鎖密碼進行確認,而設置新密碼時也需要輸入兩次進行確認。
u 若輸入的密碼錯誤三次時,鍵盤將被鎖定,蜂鳴器一直鳴響。
u 需要回到最初界面并關(guān)鎖,只需按* 鍵或
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級數(shù)學上冊 第三章 概率的進一步認識復習課件 (新版)北師大版
- 九年級數(shù)學上冊 第23章 圖形的相似 23.5 位似圖形授課課件 (新版)華東師大版
- 九年級歷史下冊 第四單元 第8課 美國經(jīng)濟的發(fā)展課件 新人教版
- 危急值報告及處理制度課件
- 高考小說閱讀-第三講:小說的敘述方式課件
- 國內(nèi)管理學院評鑒現(xiàn)況及未來發(fā)展課件
- “圖形的認識與測量”知識梳理及教學策略課件
- 新版近視科普講座ppt課件
- 課件--迎接本科教學工作水平評估
- 現(xiàn)在完成進行時PPT幻燈片課件
- 高考語文大一輪總復習-散文閱讀-概括內(nèi)容要點和主旨題題組訓練ppt課件-新人教版
- 工程材料計劃編制課件
- 工廠車間管理基礎(chǔ)知識課件
- 2015北師大版六年級數(shù)學總復習正比例與反比例課件
- 文明集會禮儀規(guī)范班會課件