周贊+唐揚(yáng)興+虎風(fēng)林
摘 要:本系統(tǒng)是基于AT89S51單片機(jī)的函數(shù)信號發(fā)生器。以MCS-51系列單片機(jī)作為控制核心,由數(shù)模轉(zhuǎn)換器模塊,供電模塊和液晶顯示器構(gòu)成。由程序控制AT89S51產(chǎn)生各種不同密碼控制方式,通過單片機(jī)的I/O口將數(shù)字編碼輸出到數(shù)模轉(zhuǎn)換器進(jìn)行數(shù)模轉(zhuǎn)換,所產(chǎn)生的是數(shù)碼管相應(yīng)的數(shù)字和狀態(tài)顯示。系統(tǒng)能顯示多種密碼狀態(tài),通過按鍵可以實(shí)現(xiàn)對密碼的修改與重置,當(dāng)三次出現(xiàn)輸入密碼錯(cuò)誤時(shí),系統(tǒng)會發(fā)出報(bào)警。系統(tǒng)具有功耗低、可作為產(chǎn)品進(jìn)行開發(fā),應(yīng)用于共享單車上使用。
關(guān)鍵詞:單片機(jī);AT89S52;電子密碼鎖
一、系統(tǒng)基本原理
單片機(jī)電子鎖是以51系列單片機(jī)(AT89S52)為核心,配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識別和顯示、驅(qū)動(dòng)電磁執(zhí)行器并檢測其驅(qū)動(dòng)電流值、接收傳感器送來的報(bào)警信號、發(fā)送數(shù)據(jù)等功能。 單片機(jī)接收鍵入的代碼,并與存貯在EEPROM中的密碼進(jìn)行比較,如果密碼正確,則驅(qū)動(dòng)電磁執(zhí)行器開鎖;如果密碼不正確,則允許操作人員重新輸入密碼,最多可輸入三次;如果三次都不正確,則單片機(jī)通過通信線路向智能監(jiān)控器報(bào)警。單片機(jī)將每次開鎖操作和此時(shí)電磁執(zhí)行器的驅(qū)動(dòng)電流值作為狀態(tài)信息發(fā)送給智能監(jiān)控器,同時(shí)將接收來自傳感器接口的報(bào)警信息也發(fā)送給智能監(jiān)控器,作為智能化分析的依據(jù)。
為了防止通信線路的人為破壞和電磁執(zhí)行器因某種原因造成流過電磁線圈的電流過大而燒毀線圈,可以加入電流監(jiān)視技術(shù)模塊采用MAXIM公司生產(chǎn)的電流/電壓轉(zhuǎn)換芯片MAX471。該芯片能將被測電流I轉(zhuǎn)化成對地輸出電壓U,且有測量范圍大、精度高、輸出電壓U和被測電流I成正比等特點(diǎn)。電流監(jiān)視器輸出電壓送A/D轉(zhuǎn)換器,單片機(jī)通過讀取A/D轉(zhuǎn)換結(jié)果,獲知線路中電流的變化情況,通過分析及時(shí)發(fā)現(xiàn)異常,發(fā)出報(bào)警信號。本設(shè)計(jì)因?yàn)槭褂昧朔澍Q器,對密碼輸入時(shí)出現(xiàn)錯(cuò)誤實(shí)現(xiàn)報(bào)警。
二、設(shè)計(jì)方案
系統(tǒng)的整體框圖
本設(shè)計(jì)采用4*4的矩陣鍵盤作為輸入,AT89S51單片機(jī)作為主機(jī), 二極管指示燈和喇叭組成發(fā)聲系統(tǒng)。根據(jù)系統(tǒng)擬達(dá)到的總體功能,將其劃分為以下功能模塊:激光弦輸入、掉電儲存、運(yùn)算主機(jī)、輸出設(shè)備等。系統(tǒng)整體框圖如圖2-1。
利用KEIL軟件編寫程序,通過程序控制使單片機(jī)產(chǎn)生密碼鎖控制的數(shù)字編碼,通過單片機(jī)的PO口輸出到數(shù)模轉(zhuǎn)換器,內(nèi)部進(jìn)行數(shù)模轉(zhuǎn)換,將相應(yīng)的數(shù)字編碼變換成不同大小的電流。由于數(shù)模轉(zhuǎn)換內(nèi)部產(chǎn)生的是電流,所以需要進(jìn)行電流到電壓的轉(zhuǎn)換,實(shí)現(xiàn)這個(gè)轉(zhuǎn)換的是通過MCU內(nèi)部程序控制完成的,通過一級的運(yùn)放就可以將電流轉(zhuǎn)換成電壓,但是由于電壓的幅度較小,并且由于各種內(nèi)外部的干擾,所以需要對產(chǎn)生的控制信號進(jìn)行加以按鍵防抖。
三、時(shí)鐘電路
單片機(jī)最小系統(tǒng)中的時(shí)鐘電路起著至關(guān)重要的作用,AT89S51單片機(jī)有兩種產(chǎn)生時(shí)鐘信號的方式:內(nèi)部時(shí)鐘和外部時(shí)鐘。在本系統(tǒng)中,選用內(nèi)部時(shí)鐘。電路分別從單片機(jī)18、19管腳分別引出,在兩管腳之間加入一個(gè)11.0592MHz的晶振,再與30PF電容相連接,末端接地。對于晶振頻率的選擇,在1.2~12MHz之間選擇都可以滿足設(shè)計(jì)需求,常用的晶振頻率為6MHz、11.0592MHz和12MHz。
四、復(fù)位電路
當(dāng)單片機(jī)第9管腳(Reset)高電平持續(xù)超過兩個(gè)機(jī)器周期時(shí),復(fù)位電路啟動(dòng),單片機(jī)系統(tǒng)執(zhí)行復(fù)位操作,電路系統(tǒng)重新啟動(dòng)。若復(fù)位管腳持續(xù)高電平超過兩個(gè)周期,系統(tǒng)不能成功執(zhí)行復(fù)位,說明復(fù)位電路沒有正常工作或者沒有焊接正確。復(fù)位的執(zhí)行有兩種,一種是根據(jù)管腳上所接電容的充放電完成,另一種的按鍵復(fù)位,本系統(tǒng)選用的是按鍵復(fù)位,按鍵按下時(shí),電路執(zhí)行復(fù)位操作。
五、電源供電模塊
一個(gè)完整的系統(tǒng)設(shè)計(jì),供電部分是整個(gè)系統(tǒng)工作的基礎(chǔ)部分,是保證系統(tǒng)完整、有序運(yùn)行的前提。51系列單片機(jī)是使用最早、穩(wěn)定性較強(qiáng)的核心控制器,但在整個(gè)系統(tǒng)的工作過程中,51系列單片機(jī)面臨的最大問題還是功耗大、抗干擾能力差、程序跑飛等問題,為了將這些弊端將至最低,需要設(shè)計(jì)可靠、完整的供電系統(tǒng)。
在本設(shè)計(jì)中,電源供電可以由計(jì)算機(jī)USB或者普通手機(jī)充電設(shè)備提供,此外,還可以用5V專用電源或者干電池供電。在電路中,設(shè)置電源指示燈,為系統(tǒng)工作提供了方便。
六、程序設(shè)計(jì)思路
對控制密碼鎖的系統(tǒng)軟要求很高,它必須能夠同時(shí)兼顧對鍵盤的讀取、鍵盤的處理、對密碼更改的控制、控對數(shù)碼管的動(dòng)態(tài)顯示控制等要求,要做到這些我們要采取中斷技術(shù)。
此次設(shè)計(jì),主程序?qū)︽I盤端口的掃描使用的是查詢的方法,檢測有沒有按下按鍵,當(dāng)有按鍵被按下發(fā)生按鍵動(dòng)作時(shí)則處理鍵盤,通過按鍵值來改變對應(yīng)參數(shù)值,使鍵盤能夠?qū)崿F(xiàn)實(shí)時(shí)處理的作用。定時(shí)器0通過使控制該功能的程序中斷來控制系統(tǒng)的運(yùn)行情況:通過目前密碼鎖的顯示狀態(tài)用鍵盤人工地改變T0的定時(shí)時(shí)間常數(shù)值,改變TH0與TL0的參數(shù),實(shí)現(xiàn)對密碼鎖的更改密碼和復(fù)位操作;通過密碼鎖各按鍵的分別控制,達(dá)到整體控制的目的,控制脈沖信號,脈沖信號循環(huán)移動(dòng)的方向控制,實(shí)現(xiàn)各種方面的控制要求。
說明如下:
1.單片機(jī)根據(jù)鍵盤發(fā)過來的信息,改變自身系統(tǒng)變量值。
2.單片機(jī)通過輸出脈沖信號來控制各按鍵的按鍵值。
3.單片機(jī)通過檢測出密碼鎖實(shí)時(shí)狀態(tài),控制數(shù)碼管顯示。
參考文獻(xiàn):
[1]戴佳,苗龍,陳斌.51單片機(jī)應(yīng)用系統(tǒng)開發(fā)典型實(shí)例[M]. 中國電力出版社,2005.9.
[2]康華光.電子技術(shù)基礎(chǔ)[M].高等教育出版社,2002.
[3]梁燕, 邵凱.用單片機(jī)實(shí)現(xiàn)遙控器的紅外發(fā)射[J].成都信息工程學(xué)院學(xué)報(bào),2005.endprint