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