找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 60891|回復(fù): 50
收起左側(cè)

基于單片機(jī)的電子密碼鎖設(shè)計(jì)資料下載

  [復(fù)制鏈接]
ID:114762 發(fā)表于 2016-4-17 16:43 | 顯示全部樓層 |閱讀模式
看看吧,挺好的。
做出來的51單片機(jī)電子密碼鎖實(shí)物圖:
0.png
pcb圖:
1.png
電路原理圖:
3.png
系統(tǒng)元件清單

器件名稱
型號(hào)
大小
個(gè)數(shù)
封裝
說明

電阻
R5 R6 R7
1K
3
AXIAL-0.4

R1 R2 R3 R4 R10
10K
5
AXIAL-0.3

R11
10K
1
SIP-3
滑動(dòng)變阻器

電容
C1 C2
20pF
2
RAD-0.1

C3 C4 C5 C6 C8 C9
104
6
RAD0.1

C7 C10
100uF
2
RAD0.1
極性電容
C11
10uF
1
RAD-0.1
晶振

11.0592MHZ
1
CRYSTAL

單片機(jī)
STC89C52

1
DIP-40

轉(zhuǎn)化芯片
MAX232

1
DIP16

并口
DB9

1
DB9

二極管
IN4007
D7 D8 D9 D10
4
DIODE0.4
整流二極管
J2


1
DIANYUAN
電源接口
穩(wěn)壓芯片
LM7805CT

1
TO-126

三極管


1
SANJIGUAN

蜂鳴器


1
FENGMINGQI

發(fā)光二極管
D1 D3 D4
<5mA
3
LED
2紅1綠
液晶顯示屏
SMC1602A

1


電源
9V

1


接口線


1


P1


1

液晶接口
按鈕
S1~S14

14
SW-PB1-15



內(nèi)容預(yù)覽:


隨著科技的不斷發(fā)展,人們?cè)絹碓街匾晫?duì)具有私密、重要物質(zhì)的場(chǎng)所的安全性,所以具有報(bào)警功能的電子密碼鎖在日常生活中用的越來越多,因此研究與設(shè)計(jì)單片機(jī)為主要控制器的電子密碼鎖具有工程意義和解決日常應(yīng)用需求的價(jià)值。

本電子密碼鎖的設(shè)計(jì)采用以單片機(jī)STC89C52RC為主控制器,應(yīng)用矩陣鍵盤、SMC1602A液晶顯示器、STC89C52RC內(nèi)部的EEPROM等器件進(jìn)行設(shè)計(jì)了鍵盤電路、液晶顯示電路、UART串口電路、電源(5V)電路、指示(LED)電路、報(bào)警(蜂鳴器)電路等電路設(shè)計(jì);應(yīng)用protel軟件設(shè)計(jì)了硬件原理圖和PCB圖;應(yīng)用C51語言設(shè)計(jì)了顯示時(shí)間和校對(duì)時(shí)間、輸入密碼和修改密碼、控制EEPROM等軟件模塊;最后焊接PCB并調(diào)試電路。最終設(shè)計(jì)出一個(gè)具有等待狀態(tài)顯示時(shí)間(可以對(duì)時(shí)間進(jìn)行校準(zhǔn))、輸入密碼、修改密碼、密碼正確與否指示、報(bào)警、密碼保護(hù)、一鍵還原初始密碼等功能的密碼鎖。設(shè)計(jì)此系統(tǒng)具有較高的安全性和科學(xué)性。






目   次

1  緒論…………………………………………………………………….……..….1
1.1本文的研究背景及意義……………………………………………….….……..1
1.2 技術(shù)的發(fā)展歷史與現(xiàn)狀………………………………….1




    •   1.3 本文的章節(jié)安排……………………………………………………….………..3
2 系統(tǒng)總體方案設(shè)計(jì)……………………………………4
2.1 電子密碼鎖系統(tǒng)的功能簡(jiǎn)介………………………………………….….…….4
2.2電子密碼鎖系統(tǒng)的總方案設(shè)計(jì)………………………….………..………….....4
2.3本章小結(jié)………………………………………………………………………..11
3系統(tǒng)硬件設(shè)計(jì)………………………………………………………...…………..12
3.1指示燈電路設(shè)計(jì)………………………………………………………...……...12
3.2 5V電源電路設(shè)計(jì)…………………………………………………………..…..12
3.3 晶振電路設(shè)計(jì)……………………………………………………………….....13
3.4 復(fù)位電路設(shè)計(jì)……………………………………………………………...…..13
3.5 液晶顯示電路設(shè)計(jì)………………………………………………………...…..13
3.6報(bào)警電路設(shè)計(jì)…………………………………………………………………..14
3.7鍵盤電路設(shè)計(jì)…………………………………………………………………..15
3.8串口電路設(shè)計(jì)…………………………………………………………………..16
3.9 本章小結(jié)…………………………………….……………………………..…..16
4  系統(tǒng)軟件設(shè)計(jì)…………………………………………………………………..17
4.1主程序設(shè)計(jì)流程……………………………………………………………..…17
4.2鍵盤掃描設(shè)計(jì)流程…………………………………………………………..…18
4.3 輸入密碼程序設(shè)計(jì)流程…………………………………………………….…19
4.4 修改密碼程序設(shè)計(jì)流程…………………………………………………….…20
4.5 報(bào)警程序設(shè)計(jì)流程………………………………………………………….…21
4.6 時(shí)間顯示程序設(shè)計(jì)流程………………………………………………….……21
4.7 時(shí)間設(shè)置程序設(shè)計(jì)流程………………………………………………….……22
4.8 控制EEPROM程序設(shè)計(jì)流程……………………………………….……......23
4.9本章小結(jié)…………………………………………………………..……….…...25
5 系統(tǒng)測(cè)試與調(diào)試………………………………………………………….……...26
5.1 系統(tǒng)仿真測(cè)試與調(diào)試…………………………………………………….……26
5.2 系統(tǒng)測(cè)試及結(jié)果分析………………………………………………….………29
結(jié)論 …………………………………………………………………………..……36
參考文獻(xiàn)……………………………………………………………………………37
致謝….…………………………………………………………………………...…38
附錄A 系統(tǒng)總電路圖...…...………………………………………………………39
附錄B 系統(tǒng)PCB版圖……………………………………………………..…..…..40
附錄C 系統(tǒng)元件布局圖……………………………………….……….…..………40
附錄D 系統(tǒng)元件清單………………………………………………….…….…......41
附錄E 部分源程序清單……………….……….………………….………. .….......42

(圖片請(qǐng)下載附件中的word版本)

1.155.jpg


  • 緒論

隨著科技的不斷發(fā)展,人們?cè)絹碓街匾晫?duì)具有私密、重要物質(zhì)的場(chǎng)所的安全性,所以具有報(bào)警功能的電子密碼鎖在日常生活中用的越來越多,因此研究與設(shè)計(jì)單片機(jī)為主要控制器的電子密碼鎖具有工程意義和解決日常應(yīng)用需求的價(jià)值。本文主要介紹的是以單片機(jī)STC89C52型號(hào)為主要控制器的電子密碼鎖的設(shè)計(jì)并介紹其設(shè)計(jì)方法和設(shè)計(jì)的成果。





    • 本文的研究背景及意義

隨著科技的不斷進(jìn)步和發(fā)展,人類已經(jīng)步入了一個(gè)高科技的新時(shí)代。在這日新月異的時(shí)代中,人們對(duì)住宅、部門等具有私密、重要物質(zhì)的場(chǎng)所的安全性要求不斷提高。舊社會(huì)中,由于科技不發(fā)達(dá),人們常常用機(jī)械鎖來保護(hù)個(gè)人的財(cái)產(chǎn),以這種方法來確保它們的安全性。這種用鑰匙開鎖式的機(jī)械鎖常常會(huì)給人們帶來不少的煩惱,比如:開鎖的鑰匙不慎丟了或者鎖門的鎖壞了。同時(shí),平時(shí)攜帶一大竄鑰匙也給人們帶來不少的麻煩。從安全的角度來看,一種具有報(bào)警和高實(shí)用性的密碼鎖將取代人們所熟知的機(jī)械鎖,這種電子密碼鎖安全可靠,具有較高的安全性和科學(xué)性。





    • 技術(shù)的發(fā)展歷史與現(xiàn)狀

1.2.1  電子密碼鎖技術(shù)的發(fā)展歷史

電子密碼鎖從電子科技技術(shù)發(fā)展以來經(jīng)歷了由大型到小型、由復(fù)雜到簡(jiǎn)單、由原始到智能的發(fā)展經(jīng)歷。尤其是近年來不同型號(hào)的微處理器出現(xiàn),為電子密碼鎖不斷的改進(jìn)與創(chuàng)新提供了新的發(fā)展契機(jī):比如如今的微處理器會(huì)做的很小,這樣小巧的處理器能為電子密碼鎖節(jié)省更多的硬件空間達(dá)到節(jié)省成本;再比如說老版本的8051單片機(jī)它內(nèi)部是不提供EEPROM的,這如果想實(shí)現(xiàn)數(shù)據(jù)儲(chǔ)存就需要用I2C總線來外接存儲(chǔ)器來保存數(shù)據(jù),如今單片機(jī)內(nèi)部有EEPROM,數(shù)據(jù)掉電不會(huì)丟失。

說到識(shí)別密碼方式,國(guó)內(nèi)外大致經(jīng)歷了由早期的矩陣鍵盤輸入操作到紅外遙控控制操作再到智能IC卡再到如今指紋識(shí)別等多種實(shí)現(xiàn)方法。紅外遙控控制密碼鎖會(huì)更加的方便快捷,通過密碼鎖的內(nèi)部芯片對(duì)紅外接收頭接受到的信號(hào)進(jìn)行解碼然后通過對(duì)比密碼來判定輸入密碼是否正確;IC卡密碼鎖設(shè)計(jì)是基于一個(gè)AT24C01A卡進(jìn)行設(shè)計(jì)的,IC卡的核心是電可擦除的EEPROM。指紋密碼鎖設(shè)計(jì)是西門子公司研制的一種指紋感應(yīng)片,這種芯片面積只有130mm,大小和人的指甲蓋差不多,在這么小的芯片上卻覆蓋著有6.5萬個(gè)微小型敏感元件,每個(gè)感應(yīng)片有很高的靈敏度和測(cè)量精度,如此多的敏感細(xì)致元件完全可以非常詳細(xì)和精準(zhǔn)的將人手上的各種紋路信息拾取下來,將指紋數(shù)據(jù)存于電腦數(shù)據(jù)庫中,這種具有人體特征標(biāo)志的人體密碼不僅可以大大增加了私人財(cái)產(chǎn)的安全性而且其操作簡(jiǎn)便、快捷具有很高的可靠性,于是這種指紋人體密碼芯片將逐漸的被用于日常生活中具有重要物質(zhì)的場(chǎng)所和設(shè)備比如銀行、倉庫等。

還有顯示方面,早期顯示使用的led燈、后來有了7段數(shù)碼管、再后來大多數(shù)用的是lcd顯示器。所以,隨著科技的進(jìn)步和創(chuàng)新,設(shè)計(jì)密碼鎖的技術(shù)也不甘落后,也在朝著智能化,通用化,人性化等富有創(chuàng)新的方向發(fā)展。

1.2.2  電子密碼鎖技術(shù)的研究現(xiàn)狀

針對(duì)電子密碼鎖系統(tǒng)設(shè)計(jì)經(jīng)過翻閱資料和對(duì)學(xué)術(shù)的學(xué)習(xí)和研究,提出多種實(shí)現(xiàn)方案,其中比較典型的有以下幾種。文獻(xiàn)中應(yīng)用矩陣式鍵盤作為密碼輸入,用單片機(jī)的IO口控制鍵盤,通過編寫程序用單片機(jī)對(duì)鍵盤進(jìn)行掃描,然后用7段數(shù)碼管顯示系統(tǒng)狀態(tài)和信息、門開門關(guān)提示信息是由LED燈進(jìn)行提示。還有,應(yīng)用紅外遙控器和紅外接收頭來代替上面的矩陣式鍵盤,采用現(xiàn)成的遙控器,應(yīng)用單片機(jī)編程對(duì)紅外接收頭接受的信號(hào)進(jìn)行解碼,顯示應(yīng)用的是型號(hào)為1602A的液晶顯示,開關(guān)門指示信息是由led燈提示的,設(shè)計(jì)的優(yōu)勢(shì)是應(yīng)用了I2C總線來控制外接的EEPEOM,來實(shí)現(xiàn)輸入密碼的數(shù)據(jù)保存功能。還有,應(yīng)用STC89C52單片機(jī),這個(gè)單片機(jī)和AT系列的單片機(jī)最大區(qū)別就是這類單片機(jī)有內(nèi)部集成了4kb大小的EEPROM,利用ISP/API功能能應(yīng)用編程來控制內(nèi)部的EEPROM的讀寫而不需要外接存儲(chǔ)器來進(jìn)行數(shù)據(jù)保護(hù)。再有,應(yīng)用單片機(jī)來完成以下的工作,第一個(gè)工作是對(duì)連接在單片機(jī)IO口上的鍵盤進(jìn)行編碼來制作一個(gè)遠(yuǎn)紅外遙控器,將序列碼經(jīng)過發(fā)送頭發(fā)送到單片機(jī)連接的接收頭上,第二個(gè)工作是將接受到的數(shù)據(jù)經(jīng)過紅外接收頭解碼將數(shù)據(jù)交給單片機(jī)來處理來實(shí)現(xiàn)各個(gè)碼的功能。目前,電子密碼鎖的功能的得到實(shí)現(xiàn)的新方法真是別出心裁,展現(xiàn)科技的發(fā)展和進(jìn)步,比如:IC卡和指紋識(shí)別,IC卡密碼鎖設(shè)計(jì)是基于一個(gè)AT24C01A卡進(jìn)行設(shè)計(jì)的,IC卡的核心是EEPROM。應(yīng)用指紋設(shè)計(jì)出的密碼鎖主要應(yīng)用的是傳感器是西門子公司研制,這種傳感器有很高的測(cè)量精度和靈敏度,所以這種人體密碼大大提高了家庭、個(gè)人、公共的具有重要性的財(cái)產(chǎn)的安全性,這是科技發(fā)展和人類不斷創(chuàng)新的結(jié)果,所以我們要好好利用科技帶給我們生活的每一種便捷。

1.2.3  總結(jié):

通過對(duì)以上各種實(shí)現(xiàn)電子密碼鎖的方法的學(xué)習(xí)、研究和比較,下面來談一談各種方法的優(yōu)缺點(diǎn),對(duì)于采用矩陣鍵盤來進(jìn)行輸入的這種方法生產(chǎn)成本低、操作方便,在如今也是很受歡迎的,但是他壽命不長(zhǎng);而用7段數(shù)碼顯示比較落后,顯示不出科技的進(jìn)步;對(duì)于采用遙控方式,優(yōu)點(diǎn)是輸入電路換成了紅外遙控控制輸入,這樣來操作密碼更加方便,缺點(diǎn)是成本比較高,外接EEPROM增加了硬件成本和操作強(qiáng)度。對(duì)于采用STC單片機(jī),這種設(shè)計(jì)方法很合理,充分利用了單片機(jī)內(nèi)部集成的EEPROM,只需通過編寫控制它的程序就能實(shí)現(xiàn)數(shù)據(jù)保護(hù)功能,而不需外接儲(chǔ)存器所以就降低了生產(chǎn)成本,不僅如此,這樣設(shè)計(jì)的系統(tǒng)可行性好。而目前,密碼鎖設(shè)計(jì)和實(shí)現(xiàn)的新方法是現(xiàn)在流行的高科技手段來對(duì)密碼鎖進(jìn)行更進(jìn)一步的智能化,技術(shù)含量高。由此可見密碼鎖的發(fā)展的方向是不斷的滿足人們生活中的要求,功能更加齊全,更加人性,更加智能,更加方便的方向發(fā)展。





    • 本文的章節(jié)安排

上面對(duì)電子密碼鎖的研究背景意義、發(fā)展進(jìn)行了簡(jiǎn)要的介紹,在下面的章節(jié)中,將對(duì)系統(tǒng)的設(shè)計(jì)方案;以及系統(tǒng)的硬件設(shè)計(jì);還有系統(tǒng)的軟件設(shè)計(jì);最后對(duì)系統(tǒng)的測(cè)試按照任務(wù)書和設(shè)計(jì)的功能要求來一一測(cè)試。

第2章主要說明系統(tǒng)的功能要求、系統(tǒng)的工作原理及最終實(shí)行的方案。

第3章主要介紹供5V直流電源設(shè)計(jì),lcd顯示電路的設(shè)計(jì)等系統(tǒng)硬件部分的設(shè)計(jì),這部分工作為畫原理圖和PCB版圖提供能基礎(chǔ),所以是系統(tǒng)重要的部分。

第4章主要介紹系統(tǒng)軟件部分的設(shè)計(jì),比如輸入密碼怎么實(shí)現(xiàn),修改密碼怎么實(shí)現(xiàn)等等,可以說這一章是第三章的靈魂,它的地位與第三章一樣重要。

第5章主要是進(jìn)行系統(tǒng)的測(cè)試與調(diào)試;主要對(duì)系統(tǒng)按設(shè)計(jì)的功能要求來一一進(jìn)行驗(yàn)證。


  • 系統(tǒng)總體方案設(shè)計(jì)
    • 電子密碼鎖系統(tǒng)的功能簡(jiǎn)介

對(duì)本系統(tǒng)設(shè)計(jì)任務(wù)書要求的功能羅列如下:

1、系統(tǒng)的液晶顯示屏具有指示功能。

2、系統(tǒng)在空閑狀態(tài)顯示當(dāng)前時(shí)間并可以對(duì)時(shí)間進(jìn)行校準(zhǔn)。

3、系統(tǒng)在輸入密碼狀態(tài)用鍵盤(0~9)來輸入系統(tǒng)設(shè)定的當(dāng)前密碼,如果密碼輸入正確在屏幕上有歡迎信息提示和開門信息提示;如果輸入密碼錯(cuò)誤在屏幕上會(huì)有密碼錯(cuò)誤信息提示,如果輸入密碼錯(cuò)誤三次將會(huì)有報(bào)警提示。

4.系統(tǒng)在修改密碼狀態(tài),要求輸入當(dāng)前密碼,如果密碼輸入正確則進(jìn)入修改密碼狀態(tài);如果輸入當(dāng)前密碼錯(cuò)誤則有錯(cuò)誤信息提示。

5.系統(tǒng)有存儲(chǔ)數(shù)據(jù)功能,當(dāng)斷電后會(huì)保存當(dāng)前的密碼不會(huì)丟失。

6.系統(tǒng)在按了輸入密碼鍵或修改密碼健后如果30秒內(nèi)沒有對(duì)系統(tǒng)進(jìn)行任何操作的話,系統(tǒng)將自動(dòng)切換到顯示時(shí)鐘狀態(tài)。

7.系統(tǒng)具有一鍵還原出廠密碼功能,如果對(duì)密碼管理不善可以使用本功能進(jìn)行密碼還原。






    • 電子密碼鎖系統(tǒng)的總方案設(shè)計(jì)

本課題設(shè)計(jì)用的主要芯片有兩個(gè):一個(gè)是STC89C52單片機(jī),一個(gè)是SMC1602A液晶顯示器。STC89C52單片機(jī)作為系統(tǒng)的總控制核心,SMC1602A 為主要的外圍電路。下面對(duì)STC89C52和SMC1602A做一下簡(jiǎn)單的介紹。


2.2.1  STC89C52概述

1.001.jpg 1.002.jpg


STC89C52系列單片機(jī)的封裝形式共分為DIP、PLCC及PQEP 3中形式,常用的是DIP封裝方式。

STC89C52單片機(jī)共40個(gè)引腳,大致可分為4類:

(1)電源引腳

Vcc(40腳):電源端,+5V

Vss(20腳):接地端(GND)

(2)時(shí)鐘電路引腳

XTAL1(19腳):外部接晶振輸入端

XTAL2(18腳):外部接晶振輸出端

(3)  I/O引腳

P0口 (39~32腳):P0口是一組8位的漏極開路型雙向I/O口,也是地址和數(shù)據(jù)的總線復(fù)用口

P1口 (1 ~ 8腳):P1口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)TTL門電路

P2口(21~28腳):P2口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)TTL門電路

P3口(10~17腳):P3口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,該端口的每個(gè)引腳都有第二功能

(4) 控制線引腳

RST(9腳):復(fù)位端

EA/VPP(31腳):片外的存儲(chǔ)器選擇端/Flash存儲(chǔ)器編程電源

ALE/PROG(30腳):地址鎖存允許端/編程脈沖輸入端

PSEN(29腳):讀片外程序存儲(chǔ)器選通信號(hào)輸入端

STC89C52單片機(jī)最大的特點(diǎn)就是有ISP/IAP功能,它具有4K字節(jié)的EEPROM。其內(nèi)部集成的EEPROM是與程序空間分開的,內(nèi)部寄存器和功能描述如下:

表2.1 ISP/IAP相關(guān)寄存器列表
名稱
地址
功能描述
D7
D6
D5
D4
D3
D2
D1
D0
復(fù)位值
ISP_DATA
E2h
Flash數(shù)據(jù)寄存器








1111 1111
ISP_ADDRH
E3h
Flash高字節(jié)地址寄存器








0000 0000
ISP_ADDRL
E4h
Flash低字節(jié)地址寄存器








0000 0000
ISP_CMD
E5h
Flash命令模式寄存器
--
--
--
--
--
MS2
MS1
MS0
xxxx x000
ISP_TRIG
E6h
Flash命令觸發(fā)寄存器








xxxx xxxx
ISP_CONTR
E7h
ISP/IAP 控制寄存器
ISPEN
SWBS
SWRST
--
--
WT2
WT1
WT0
000x x000

ISP_DATA:ISP/IAP操作時(shí)的數(shù)據(jù)寄存器。

ISP/IAP從Flash讀出的數(shù)據(jù)放在此處,向Flash寫入的數(shù)據(jù)也需放在此處。

ISP_ADDRH:ISP/IAP操作時(shí)的地址寄存器高八位。

ISP_ADDRL:ISP/IAP操作時(shí)的地址寄存器低八位。

ISP_CMD:ISP/IAP操作時(shí)的命令模式寄存器,須命令觸發(fā)寄存器觸發(fā)方可生效。命令模式如表2.2所示。

表2.2 ISP_CMD寄存器模式設(shè)置
D7
D6
D5
D4
D3
D2
D1
D0
模式選擇
保留
命令選擇

--
--
--
--
--
0
0
0
待機(jī)模式,無ISP操作
--
--
--
--
--
0
0
1
對(duì)用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)字節(jié)讀
--
--
--
--
--
0
1
0
對(duì)用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)字節(jié)編程
--
--
--
--
--
0
1
1
對(duì)用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)扇區(qū)擦除

程序在系統(tǒng)ISP程序區(qū)時(shí)可以對(duì)用戶應(yīng)用程序區(qū)/數(shù)據(jù)Flash區(qū)(EEPROM)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除;程序在用戶應(yīng)用程序區(qū)時(shí),僅可以對(duì)數(shù)據(jù)Flash區(qū)(EEPROM)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除。STC89C51RC/RD+系列單片機(jī)出廠時(shí)已經(jīng)固化有ISP引導(dǎo)碼,并設(shè)置為上電復(fù)位進(jìn)入ISP程序區(qū),并且出廠時(shí)就已完全加密。

ISP_TRIG:ISP/IAP操作時(shí)的命令觸發(fā)寄存器。

在ISPEN(ISP_CONTR.7)=1時(shí),對(duì)ISP_TRIG 先寫入46h,再寫入B9h,ISP/IAP命令才會(huì)生效。

STC89C52RC,STC89LE52RC單片機(jī)內(nèi)部可用Data Flash(EEPROM)的地址如表2.3所示

表2.3 STC89C52RC、STC89LE52RC單片機(jī)內(nèi)部EEPROM地址表
第一扇區(qū)
第二扇區(qū)
第三扇區(qū)
第四扇區(qū)
起始地址
結(jié)束地址
起始地址
結(jié)束地址
起始地址
結(jié)束地址
起始地址
結(jié)束地址
2000H
21FFH
2200H
23FFH
2400H
25FFH
2600H
27FFH
第五扇區(qū)
第六扇區(qū)
第七扇區(qū)
第八扇區(qū)
起始地址
結(jié)束地址
起始地址
結(jié)束地址
起始地址
結(jié)束地址
起始地址
結(jié)束地址
2800H
29FFH
2A00H
2BFFH
2C00H
2DFFH
2E00H
2FFFH

2.2.2  SMC1602A概述

1.003.jpg

1.004.jpg

SMC1602A 標(biāo)準(zhǔn)字符點(diǎn)陣型液晶顯示模塊(LCM),采用點(diǎn)陣型液晶顯示器(LCD),可顯示16 個(gè)字符X2 行西文字符,

字符尺寸為2.95X4.35(WXH)mm,內(nèi)置HD44780 接口型液晶顯示控制器,可與MCU 單片機(jī)直接連接,廣泛應(yīng)用于各類儀器儀表及電子設(shè)備。

1.005.jpg

1.006.jpg

◆控制器接口說明(HD44780 及兼容芯片):

1) 基本操作時(shí)序:

1.1 讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:D0~D7=狀態(tài)字

1.2 寫指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖輸出:無

1.3 讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:D0~D7=數(shù)據(jù)

1.4 寫數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖輸出:無


2) RAM 地址映射圖控制器內(nèi)部帶有80X8 位(80字節(jié))的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如右圖所示:

1.007.jpg 1.008.jpg


3) 指令說明

  • 初始化設(shè)置
  • 顯示模式設(shè)置

1.009.jpg

1.010.jpg


  • 顯示開/關(guān)及光標(biāo)設(shè)置

1.011.jpg

1.012.jpg

  • 數(shù)據(jù)控制

控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部 80 字節(jié)RAM。

  • 數(shù)據(jù)指針設(shè)置

1.013.jpg

1.014.jpg

  • 其他設(shè)置

1.015.jpg 1.016.jpg


4) 初始化過程(復(fù)位過程)

  • 寫指令38H:顯示模式設(shè)置第一次
  • 延時(shí)3ms
  • 寫指令38H:顯示模式設(shè)置第二次
  • 延時(shí)3ms
  • 寫指令38H:顯示模式設(shè)置第三次
  • 延時(shí)3ms
  • 寫指令38H:顯示模式設(shè)置第四次
  • 延時(shí)3ms
  • 寫指令08H:顯示關(guān)閉
  • 寫指令01H:顯示清屏
  • 延時(shí)3ms
  • 寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置
  • 寫指令0CH:顯示開及光標(biāo)設(shè)置

2.2.3  系統(tǒng)框圖

本系統(tǒng)的核心部分是STC89C52單片機(jī),利用MAX232芯片實(shí)現(xiàn)將hex文件下載到單片機(jī)運(yùn)行的功能;利用SMC1602液晶顯示屏實(shí)現(xiàn)電子密碼鎖所需的提示信息輸出功能;利用鍵盤實(shí)現(xiàn)對(duì)密碼操作的各項(xiàng)的功能比如輸入密碼或者修改密碼等;采用蜂鳴器實(shí)現(xiàn)系統(tǒng)在輸入密碼錯(cuò)誤三次后的自動(dòng)報(bào)警功能;LED燈來指示密碼輸入是否正確和指示狀態(tài)的功能;利用STC單片機(jī)內(nèi)部的EEPROM實(shí)現(xiàn)密碼數(shù)據(jù)保存功能;用電源電路為系統(tǒng)提供5V的穩(wěn)定電源電源;用12MHZ的晶振電路為系統(tǒng)的單片機(jī)提供內(nèi)部時(shí)鐘。


系統(tǒng)的框圖如下圖所示:


1.017.jpg

         圖2.9 系統(tǒng)結(jié)構(gòu)框圖

單片機(jī)中P1.0~P1.6連接10個(gè)獨(dú)立按鍵來組成一個(gè)矩陣鍵盤,實(shí)現(xiàn)鍵盤掃描并對(duì)按鍵進(jìn)行編碼,從而實(shí)現(xiàn)輸入密碼和修改密碼的功能;P1.7通過NPN型三極管來驅(qū)動(dòng)蜂鳴器,當(dāng)輸入密碼錯(cuò)誤三次后自動(dòng)實(shí)現(xiàn)報(bào)警功能;P2.0~P2.7連接液晶顯示器的8位數(shù)據(jù)線,實(shí)現(xiàn)從單片機(jī)向液晶顯示器傳輸數(shù)據(jù);P3.0連接液晶的RS端和max232的out端、P3.1連接液晶的RW端和max232的in端、P3.2連接液晶的EN端,實(shí)現(xiàn)單片機(jī)控制液晶顯示器和連接串口的功能;P3.3連接獨(dú)立按鍵,按鍵后進(jìn)入輸入密碼狀態(tài);單片機(jī)的P3.4、P3.5、P3.6都連接了獨(dú)立按鍵,這些獨(dú)立鍵盤都是功能鍵盤他們是:輸入密碼功能鍵,按下系統(tǒng)會(huì)進(jìn)入輸入密碼狀態(tài);修改密碼功能鍵,按下系統(tǒng)會(huì)進(jìn)入修改密碼狀態(tài);還有一個(gè)確定功能鍵,按下系統(tǒng)會(huì)實(shí)現(xiàn)確定功能;P3.6和 P3.7分別連接紅色LED燈和綠色的LED燈,實(shí)現(xiàn)密碼輸入是否正確指示的功能。





    • 本章小結(jié)

根據(jù)設(shè)計(jì)的要求和系統(tǒng)中所用到的元件的原理特征,確定了設(shè)計(jì)的總體方案即:以STC89C52為主控制器,SMC1602A液晶顯示為提示器件,矩陣鍵盤為輸入器件,蜂鳴器為報(bào)警器件,STC89C52內(nèi)部的EEPROM為存儲(chǔ)數(shù)據(jù)器件,LED燈為指示器件,MAX232和上位機(jī)實(shí)現(xiàn)異步通信的器件等。這些器件與單片機(jī)的連接方式將在下面的內(nèi)容進(jìn)行說明。


  • 系統(tǒng)硬件設(shè)計(jì)

本設(shè)計(jì)包括8個(gè)電路模塊,其中包括:指示燈電路模塊、5V電源電路模塊、晶振電路模塊、復(fù)位電路模塊、LCD顯示電路模塊、報(bào)警電路模塊、鍵盤電路模塊、串口電路模塊。






    • 指示燈電路設(shè)計(jì)

指示電路分為兩個(gè)部分:電源指示和密碼輸入狀態(tài)指示,設(shè)計(jì)電路如下圖所示:

3.2.1 電源指示燈電路設(shè)計(jì)

當(dāng)電源接通后指示燈亮,表示系統(tǒng)供電正常。

1.018.jpg

圖3.1 電源指示燈電路

3.2.2  密碼輸入狀態(tài)指示電路設(shè)計(jì)

P3.6連接紅色LED1,LED1亮表示當(dāng)前密碼輸入錯(cuò)誤;P3.7連接綠色LED2,LED2亮表示當(dāng)前密碼輸入正確,LED1、LED2全亮表示系統(tǒng)在修改密碼狀態(tài)。

1.019.jpg

圖3.2 密碼輸入狀態(tài)指示電路





    • 5V電源電路設(shè)計(jì)

設(shè)計(jì)電路如下圖所示:

1.020.jpg

圖3.3 電源電路接法電路





    • 晶振電路設(shè)計(jì)

晶振電路這里采用的是內(nèi)部振蕩器接法,晶振的頻率為12MHZ,它為單片機(jī)提供內(nèi)部時(shí)鐘源,設(shè)計(jì)電路如下圖所示:

1.021.jpg

圖3.4 晶振電路


3.4 復(fù)位電路設(shè)計(jì)

單片機(jī)的復(fù)位本設(shè)計(jì)手動(dòng)復(fù)位,復(fù)位的作用是防止程序由于某些原因跑飛,通過此鍵來保證單片機(jī)運(yùn)行的可靠性,設(shè)計(jì)電路如下圖所示:

1.022.jpg

圖3.5 復(fù)位電路

3.5 LCD顯示電路設(shè)計(jì)

單片機(jī)的P2.0~P2.7連接液晶顯示器的7~14腳(8位數(shù)據(jù)),實(shí)現(xiàn)從單片機(jī)向液晶顯示器傳輸數(shù)據(jù)的功能;P3.0連接液晶4腳(RS端),從而實(shí)現(xiàn)單片機(jī)向其發(fā)送命令或數(shù)據(jù)功能;P3.1連接液晶的5腳(RW端),從而實(shí)現(xiàn)單片機(jī)對(duì)其讀寫的功能;P3.2連接液晶的6腳(EN端),這個(gè)引腳是用來編程控制lcd使能的。還有l(wèi)cd顯示器的3引腳連接10K歐姆的可變電阻器,當(dāng)改變它的阻值大小時(shí)可以改變lcd顯示的對(duì)比度如,設(shè)計(jì)電路下圖所示:

1.023.jpg

圖3.6 液晶顯示電路





    • 報(bào)警電路設(shè)計(jì)

蜂鳴器的連接到單片機(jī)的P1.7端。當(dāng)編程給P1.7一個(gè)高電平的話,三極管的源極和集電極導(dǎo)通,蜂鳴器將要通電,通過設(shè)置蜂鳴器的通電的時(shí)間來實(shí)現(xiàn)報(bào)警的聲音,設(shè)計(jì)電路如下圖所示:

1.024.jpg

圖3.7 報(bào)警電路





    •   鍵盤電路設(shè)計(jì)

鍵盤電路分為兩種:矩陣式輸入鍵盤和獨(dú)立按鍵,矩陣式輸入鍵盤是(0~9)10個(gè)數(shù)輸入鍵,獨(dú)立按鍵共3個(gè)為功能鍵:輸入密碼鍵、修改密碼鍵、確定鍵,設(shè)計(jì)電路如下圖所示:

3.7.1  矩陣式鍵盤

矩陣鍵盤與單片機(jī)的引腳連接如下圖,其中的P1.0~P1.2是行掃描,P1.3~P1.6列掃描。

1.025.jpg

圖3.8 矩陣鍵盤電路

3.7.2  獨(dú)立式功能鍵

以下三個(gè)獨(dú)立按鍵是密碼鎖的功能鍵,S12連接P3.3實(shí)現(xiàn)進(jìn)入輸入密碼狀態(tài)的功能;S13連接P3.4實(shí)現(xiàn)按鍵后進(jìn)入修改密碼狀態(tài)的功能;S14連接P3.5實(shí)現(xiàn)確定功能。

1.026.jpg

圖3.9 功能鍵盤電路





    •   串口電路設(shè)計(jì)

串口電路的作用是將TTL電平轉(zhuǎn)換為CMOS電平,從而將PC機(jī)產(chǎn)生的hex文件拷貝到單片機(jī)中,設(shè)計(jì)電路如下圖所示:

1.027.jpg

圖3.10 串口電路

3.9   本章小結(jié)

根據(jù)設(shè)計(jì)的設(shè)計(jì)要求完成了以上所述的各個(gè)硬件部分的設(shè)計(jì)。系統(tǒng)硬件設(shè)計(jì)共分為8個(gè)部分:指示電路設(shè)計(jì)的作用是指示電源與密碼輸入狀態(tài)的指示作用;5V電源電路設(shè)計(jì)的作用是為系統(tǒng)提供穩(wěn)定的電壓;晶振電路設(shè)計(jì)的作用是為單片機(jī)的運(yùn)行提供內(nèi)部的時(shí)鐘脈沖;復(fù)位電路設(shè)計(jì)的作用是防止程序跑飛回復(fù)運(yùn)行的作用;液晶顯示電路設(shè)計(jì)的作用是提示與指示操作的作用;報(bào)警電路設(shè)計(jì)的作用是當(dāng)密碼輸入錯(cuò)誤三次以上能夠報(bào)警;鍵盤電路設(shè)計(jì)的作用是向系統(tǒng)輸入數(shù)據(jù)和進(jìn)入各種功能狀態(tài);串口電路設(shè)計(jì)的作用是將hex文件拷貝到單片機(jī)內(nèi)部rom。


  • 系統(tǒng)軟件設(shè)計(jì)

本系統(tǒng)軟件主要包括10個(gè)軟件程序模塊:主程序、鍵盤掃描程序、輸入密碼程序、修改密碼、時(shí)間顯示程序、時(shí)間調(diào)整程序、報(bào)警程序、對(duì)EEPROM操作程序、還原出廠設(shè)置程序、密碼校驗(yàn)函數(shù)等函數(shù)模塊的設(shè)計(jì)。





    • 主程序設(shè)計(jì)流程

主程序流程圖如下圖所示:

(圖片請(qǐng)下載附件中的word版本)

1.060.jpg

系統(tǒng)上電后,系統(tǒng)將對(duì)硬件中的寄存器進(jìn)行初始化設(shè)置,初始化的寄存器主要是初始化單片機(jī)的內(nèi)部定時(shí)器用哪個(gè)定時(shí)器就要使能該定時(shí)器然后設(shè)置它的定時(shí)初值;初始化液晶,主要是初始化lcd的顯示方式等;初始化單片機(jī)的IO端口等。當(dāng)初始化完成后系統(tǒng)進(jìn)入了顯示當(dāng)前時(shí)間的等待狀態(tài),在顯示時(shí)間的同時(shí)系統(tǒng)在主函數(shù)中也不斷的調(diào)用以下幾個(gè)功能函數(shù):輸入密碼子函數(shù),修改時(shí)間子函數(shù),報(bào)警子函數(shù),一鍵還原子函數(shù)等。當(dāng)系統(tǒng)檢測(cè)到有功能鍵按下的時(shí)候,系統(tǒng)就調(diào)用相應(yīng)的子函數(shù)去執(zhí)行,來實(shí)現(xiàn)相應(yīng)子程序的預(yù)設(shè)功能。

下面對(duì)主要的函數(shù)模塊的流程簡(jiǎn)要的說明。






    • 鍵盤掃描設(shè)計(jì)流程

鍵盤掃描程序流程圖如下圖所示:

(圖片請(qǐng)下載附件中的word版本)

當(dāng)系統(tǒng)用到鍵盤時(shí)就要對(duì)鍵盤進(jìn)行掃描。鍵盤有10個(gè)數(shù)字鍵和3個(gè)功能鍵,數(shù)字鍵盤的連接方式見圖3.8和圖3.9。當(dāng)系統(tǒng)檢測(cè)到有鍵按下的時(shí)候,這時(shí)系統(tǒng)將這個(gè)按下的鍵對(duì)應(yīng)的鍵值傳遞給函數(shù)告訴主函數(shù)是哪個(gè)鍵按下,實(shí)現(xiàn)的方法是將按下鍵的序號(hào)付給一個(gè)變量,然后將這個(gè)變量的值返回給主函數(shù)。

為了實(shí)現(xiàn)在輸入密碼狀態(tài)和修改密碼2個(gè)狀態(tài)之間的自由切換,在鍵盤掃描電路的程序中又添加了兩個(gè)工作狀態(tài)的判斷程序,比如我現(xiàn)在是輸入密碼狀態(tài),現(xiàn)在我又想修改密碼。這時(shí)按一下對(duì)應(yīng)的功能鍵就能進(jìn)入想要進(jìn)入的狀態(tài)。






    • 入密碼程序設(shè)計(jì)流程

輸入密碼程序流程圖如下圖所示:

(圖片請(qǐng)下載附件中的word版本)

圖4.3 輸入密碼程序流程圖

當(dāng)按了輸入密碼鍵后,密碼鎖進(jìn)入輸入密碼狀態(tài),首先系統(tǒng)將調(diào)用鍵盤掃描函數(shù)進(jìn)行密碼的輸入,當(dāng)6位密碼輸入完成后,此時(shí)需要按一下確認(rèn)鍵,此時(shí)如果輸入的6位密碼全部正確,密碼鎖將會(huì)通過lcd提示密碼正確信息的提示,同時(shí)綠色的led燈亮表示輸入的密碼正確;當(dāng)6位密碼輸入錯(cuò)誤,密碼鎖將會(huì)有通過lcd提示密碼錯(cuò)誤的提示同時(shí)紅色的led指示燈亮表示輸入的密碼錯(cuò)誤,此時(shí)錯(cuò)誤次數(shù)加一,如輸錯(cuò)的次數(shù)到達(dá)系統(tǒng)設(shè)置的要求的話密碼鎖將自動(dòng)產(chǎn)生報(bào)警信號(hào)。如果在輸入密碼狀態(tài)沒有對(duì)系統(tǒng)進(jìn)行任何的操作的話,30秒后系統(tǒng)將自動(dòng)的跳到等待狀態(tài)。






    • 修改密碼程序設(shè)計(jì)流程

修改密碼程序流程圖如下圖所示:

(圖片請(qǐng)下載附件中的word版本)

圖4.4 修改密碼程序流程圖

當(dāng)按下修改密碼鍵后,密碼鎖將進(jìn)入修改密碼狀態(tài),此時(shí)的紅色和綠色的指示燈都亮表示當(dāng)前的狀態(tài)是修改密碼狀態(tài),系統(tǒng)調(diào)用鍵盤掃描函數(shù)進(jìn)行密碼的輸入,當(dāng)6位密碼輸入完成后需要按一下確認(rèn)鍵,此時(shí)如果輸入的6位密碼全部正確,密碼鎖進(jìn)入修改密碼狀態(tài);當(dāng)6位密碼輸入錯(cuò)誤那么會(huì)有密碼輸入錯(cuò)誤的提示;進(jìn)入修改密碼狀態(tài)后,系統(tǒng)將再一次的調(diào)用鍵盤掃描函數(shù)進(jìn)行新的密碼輸入,要求輸入新的6位密碼,輸完后按確認(rèn)鍵后,系統(tǒng)會(huì)有修改密碼成功的提示;如果按了修改密碼功能鍵后沒有對(duì)系統(tǒng)進(jìn)行任何的操作的話,30秒后系統(tǒng)將自動(dòng)的跳到等待狀態(tài)。





    • 報(bào)警程序設(shè)計(jì)流程

報(bào)警程序流程圖如下圖所示:

(圖片請(qǐng)下載附件中的word版本)

圖4.5 報(bào)警程序流程圖

在報(bào)警函數(shù)主要設(shè)置了報(bào)警聲音的頻率,當(dāng)報(bào)警條件滿足時(shí),系統(tǒng)將由蜂鳴器進(jìn)行十次報(bào)警。和蜂鳴器連接的是NPN型號(hào)的三極管,當(dāng)給驅(qū)動(dòng)引腳送一個(gè)高電平則蜂鳴器通路,開始報(bào)警,當(dāng)給驅(qū)動(dòng)引腳送一個(gè)低電平則蜂鳴器不通,停止報(bào)警。





    • 時(shí)間顯示程序設(shè)計(jì)流程

(圖片請(qǐng)下載附件中的word版本)

1.168.jpg                            

系統(tǒng)上電后,將初始化定時(shí)器,然后系統(tǒng)向液晶的第一行送入now time數(shù)據(jù),然后向液晶的第二行送入時(shí)間數(shù)組的值。





    • 時(shí)間設(shè)置程序設(shè)計(jì)流程

(圖片請(qǐng)下載附件中的word版本)

圖4.7 時(shí)鐘設(shè)置流程圖

當(dāng)按下修改時(shí)間功能鍵后,系統(tǒng)將停止定時(shí)并記錄按下此鍵的次數(shù),按下的次數(shù)為1的時(shí)候?qū)?duì)秒的個(gè)位進(jìn)行校準(zhǔn);按下的次數(shù)為2的時(shí)候?qū)?duì)秒的十位進(jìn)行校準(zhǔn)等等,當(dāng)按下的次數(shù)為7時(shí)候,系統(tǒng)將開啟定時(shí),這時(shí)時(shí)鐘將按照設(shè)置好的時(shí)間值進(jìn)行計(jì)時(shí)。






    • 控制EEPROM程序設(shè)計(jì)流程

EEPROM操作(讀、寫、擦除)程序流程圖如下圖所示:











(圖片請(qǐng)下載附件中的word版本)

              圖4.8 對(duì)EEPROM進(jìn)行讀操作流程圖            










      • 寫操作

(圖片請(qǐng)下載附件中的word版本)


圖4.9 對(duì)EEPROM進(jìn)行讀操作流程圖










      • 擦除操作


(圖片請(qǐng)下載附件中的word版本)


圖4.10 對(duì)EEPROM進(jìn)行擦除操作流程圖






    • 本章小結(jié)

本章介紹的主要是基于硬件平臺(tái)的軟件的流程,通過keil uvision3軟件的編程來實(shí)現(xiàn)任務(wù)書中要求的各個(gè)功能。本系統(tǒng)共設(shè)計(jì)了10個(gè)功能模塊,每個(gè)功能模塊的實(shí)現(xiàn)都是是經(jīng)過不斷的編寫、不斷的調(diào)試、不斷的改進(jìn)實(shí)現(xiàn)的。對(duì)編寫好的電子密碼鎖的代碼進(jìn)行編譯、鏈接生成了hex文件,最后下載到焊接好的硬件平臺(tái)上,在下面的章節(jié)中將對(duì)測(cè)試系統(tǒng)功能進(jìn)行詳細(xì)介紹。


  • 系統(tǒng)測(cè)試與調(diào)試

在設(shè)計(jì)完硬件和軟件后對(duì)系統(tǒng)也進(jìn)行仿真,這里用的仿真軟件是protues。仿真運(yùn)行結(jié)果沒什么問題,可以滿足設(shè)計(jì)要求。將hex文件拷貝到實(shí)際的硬件電路上的單片機(jī)上,然后進(jìn)行測(cè)試設(shè)計(jì)要求的各種功能。通過測(cè)試和調(diào)試不斷的提高系統(tǒng)的可靠性與可執(zhí)行性。


5.1系統(tǒng)仿真測(cè)試與調(diào)試

系統(tǒng)調(diào)試用到的軟件是keil uvision3和protues,將keil uvision3和protues仿真軟件結(jié)合起來,仿真實(shí)現(xiàn)各種功能能否實(shí)現(xiàn),然后再將軟件加載到硬件上。調(diào)試過程很重要,因?yàn)樵诖a編寫的過程中,調(diào)試能夠清楚的了解程序運(yùn)行的順序和各個(gè)函數(shù)之間的調(diào)用情況,更重要的是調(diào)試能夠幫助找到程序中遇到的不可理解的錯(cuò)誤。經(jīng)過多次對(duì)代碼的調(diào)試,系統(tǒng)的軟件部分可以滿足系統(tǒng)的設(shè)計(jì)要求,使設(shè)計(jì)合理、完美。

下面對(duì)protues仿真結(jié)果進(jìn)行簡(jiǎn)要的說明:

1.254.jpg

圖5.1 KC51調(diào)試界面

1.255.jpg


1.256.jpg

1.257.jpg


1.258.jpg

1.259.jpg 1.260.jpg 圖5.4  仿真時(shí)鐘顯示功能

              通過以上一步一步的調(diào)試和仿真,說明設(shè)計(jì)的軟件部分可以滿足系統(tǒng)設(shè)計(jì)的要求,接下來對(duì)系統(tǒng)的硬件電路進(jìn)行調(diào)試。當(dāng)把所有的元器件都有序的焊接到電路板上后,主要應(yīng)用萬用表來檢查焊接好的電路電壓是否正常,檢查焊接的節(jié)點(diǎn)有沒有虛焊、漏焊、短接等情況。

如果軟件與硬件調(diào)試都沒什么問題的話,應(yīng)用STC系列單片機(jī)的程序下載工具,將軟件編寫好后生成的hex文件拷貝到單片機(jī)內(nèi)部,然后按復(fù)位鍵,開始測(cè)試系統(tǒng)的各項(xiàng)功能。

1.261.jpg 下載工具如下圖所示:


1.262.jpg

5.2系統(tǒng)測(cè)試及結(jié)果分析

              下面主要按照第三章第一小節(jié)中功能要求來對(duì)密碼鎖系統(tǒng)所要求的功能來進(jìn)行一一測(cè)試。

5.2.1  測(cè)試液晶顯示屏的提示與指示操作功能。

空閑顯示時(shí)間和提示操作信息等。測(cè)試結(jié)果如下圖所示:

1.263.jpg           1.264.jpg

圖5.6 液晶顯示屏的提示功能

5.2.2  測(cè)試系統(tǒng)在空閑狀態(tài)顯示時(shí)間并校對(duì)時(shí)間功能。

空閑狀態(tài)時(shí)顯示當(dāng)前時(shí)間。測(cè)試結(jié)果如下圖所示:

圖5.7 空閑狀態(tài)顯示當(dāng)前時(shí)間

當(dāng)按下校對(duì)時(shí)間功能鍵后進(jìn)入時(shí)間校準(zhǔn)狀態(tài)。測(cè)試結(jié)果如下圖所示:

1.265.jpg           1.266.jpg

對(duì)秒的個(gè)位校準(zhǔn)                                                對(duì)秒的十位進(jìn)行校準(zhǔn)

1.267.jpg          1.268.jpg

對(duì)分的個(gè)位進(jìn)行校準(zhǔn)                   對(duì)分的十位進(jìn)行校準(zhǔn)

1.269.jpg          1.270.jpg

對(duì)時(shí)的個(gè)位進(jìn)行校準(zhǔn)                                  對(duì)時(shí)的十位進(jìn)行校準(zhǔn)

圖5.8 校對(duì)時(shí)間狀態(tài)

5.2.3  測(cè)試系統(tǒng)在輸入密碼和報(bào)警功能

系統(tǒng)初始密碼為528825,當(dāng)按下輸入密碼功能鍵后屏幕會(huì)顯示輸入密碼提示信息。測(cè)試結(jié)果如下圖所示:

1.271.jpg

圖5.9 輸入密碼狀態(tài)

輸入密碼后結(jié)果為:

1.272.jpg

圖5.10 輸入6位密碼

按確認(rèn)鍵后:

如果密碼輸入正確結(jié)果提示信息為:hello 請(qǐng)關(guān)門;密碼輸入正確綠燈亮表示輸入密碼正確。測(cè)試結(jié)果如下圖所示:

1.273.jpg        1.274.jpg

圖5.11 密碼輸入正確


如果密碼輸入錯(cuò)誤,lcd1602a上的提示信息內(nèi)容為:密碼輸入錯(cuò)誤,請(qǐng)按輸入密碼鍵進(jìn)行重輸入密碼;紅色的led亮表示輸入密碼錯(cuò)誤。測(cè)試結(jié)果如下圖所示:

1.275.jpg        1.276.jpg

圖5.12 密碼輸入錯(cuò)誤


如果密碼輸入錯(cuò)誤達(dá)到三次液晶顯示會(huì)有報(bào)警提示,蜂鳴器將進(jìn)行報(bào)警。測(cè)試結(jié)果如下圖所示:


1.277.jpg

圖5.13 報(bào)警狀態(tài)


5.2.4  測(cè)試系統(tǒng)修改密碼功能

初始密碼為528825;按下修改密碼功能鍵后,紅色的led和綠色的led亮(當(dāng)修改密碼時(shí)這兩個(gè)燈都亮)。測(cè)試結(jié)果如下圖所示:

1.278.jpg          1.279.jpg

圖5.14 修改密碼狀態(tài)

輸入密碼鎖系統(tǒng)的6位密碼正確則進(jìn)入修改密碼狀態(tài),密碼正確后要求設(shè)置新密碼,當(dāng)按了確定鍵后新密碼設(shè)置成功。測(cè)試結(jié)果如下圖所示:

1.280.jpg          1.281.jpg

圖5.15 輸入新密碼

1.282.jpg           1.283.jpg

圖5.16 設(shè)置新密碼

         

圖5.17 測(cè)試新密碼輸入正確


當(dāng)初始密碼輸入錯(cuò)誤,測(cè)試結(jié)果如下圖所示:(提示信息為:對(duì)不起 密碼錯(cuò)誤,修改密碼錯(cuò)誤)

1.284.jpg

圖5.18  測(cè)試新密碼輸入錯(cuò)誤


5.2.5  測(cè)試系統(tǒng)密碼數(shù)據(jù)保護(hù)功能

比如說電子密碼鎖初始的密碼為528825,現(xiàn)在將它改為123123。這時(shí)突然掉電,當(dāng)系統(tǒng)再次接上電后,現(xiàn)在可以用123123來進(jìn)行輸入密碼。測(cè)試結(jié)果如下圖所示:


1.285.jpg 1.286.jpg                      

          1.287.jpg

1.288.jpg 1.289.jpg                                  

         

圖5.19  測(cè)試密碼數(shù)據(jù)保護(hù)

5.2.6  測(cè)試30秒到切換狀態(tài)功能

比如按下修改密碼功能鍵或輸入密碼功能鍵,按下此鍵后如果沒有對(duì)系統(tǒng)做任何操作,30秒后將回到等待狀態(tài)。測(cè)試結(jié)果如下圖所示:

1.290.jpg           1.291.jpg

圖5.20  30秒到狀態(tài)切換功能

5.2.7  測(cè)試一鍵還原初始密碼功能

當(dāng)按下一鍵還原功能鍵后,(此時(shí)系統(tǒng)提示信息意思為:初始化密碼完成)之后就可以用初始密碼進(jìn)行開鎖了。測(cè)試結(jié)果如下圖所示:

1.292.jpg

圖5.21  一鍵還原出廠密碼

結(jié)  論

設(shè)計(jì)的基于單片機(jī)的電子密碼鎖實(shí)現(xiàn)了密碼鎖的常用功能和技術(shù)指標(biāo)。在指導(dǎo)老師精心指導(dǎo)和自己的不懈努力下完成了軟件和硬件的各項(xiàng)工作,現(xiàn)在系統(tǒng)各項(xiàng)功能運(yùn)行正常,基本上完成了任務(wù)書中的要求和任務(wù)。

系統(tǒng)中用LCD1602A來顯示提示信息,使系統(tǒng)更加實(shí)用。

電子密碼鎖最重要的方面就是具有較高的可靠性,本文設(shè)計(jì)的密碼鎖具有密碼數(shù)據(jù)保護(hù)功能和備用電源等措施來增加系統(tǒng)的可靠性。在數(shù)據(jù)保護(hù)方面,應(yīng)用單片機(jī)內(nèi)部的eeprom,這樣使硬件資源利用率大大提高。

由單片機(jī)控制器系統(tǒng)控制密碼鎖在空閑狀態(tài)顯示當(dāng)前時(shí)間的同時(shí)不斷的檢測(cè)那幾個(gè)功能鍵是否被按下,如果有功能鍵按下,之后系統(tǒng)就馬上進(jìn)入相應(yīng)的功能狀態(tài)。




附錄A 系統(tǒng)總電路圖

1.293.jpg

附錄B 系統(tǒng)PCB版圖
1.294.jpg
1.295.jpg 附錄C 系統(tǒng)元件布局圖

附錄E 部分源程序清單
主程序程序:

1
  1. void main()
  2. {
  3.     init();
  4.               while(1)            
  5.               {            
  6.                             display();
  7.                             szkey();
  8.                             gaimihs();
  9.                             mimahs();
  10.                             if(errcount==3)                                        //輸入密碼三次錯(cuò)誤報(bào)警
  11.                             {
  12.                                           write_com(0x01);
  13.                                           write_com(0x80);
  14.                                           for(i=0;alarm[i]!='';i++)
  15.                                           {
  16.                                                         write_data(alarm[i]);
  17.                                                         delay(1);
  18.                                           }                                         
  19.                                           fayin();
  20.                                           errcount=0;
  21.                             }
  22.                             initpaswd();                                                                     
  23.               }                                                                     
  24. }
復(fù)制代碼

很開心你和我做的項(xiàng)目一樣,我這里有我當(dāng)初寫的程序和設(shè)計(jì)的電路板。
51hei.png
以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
文檔下載地址(為防止有人照搬,附件不含代碼和仿真,僅供學(xué)習(xí)參考): 文檔.7z (2.61 MB, 下載次數(shù): 649)

評(píng)分

參與人數(shù) 7黑幣 +52 收起 理由
山科大 + 5 絕世好帖!
玥玥喵喵 + 30 共享資料的黑幣獎(jiǎng)勵(lì)!
Amazing云山 + 3 絕世好帖!
楊清酒 + 5 絕世好帖!
luyunhao + 5 很給力!
州中制作 + 3 共享資料的黑幣獎(jiǎng)勵(lì)!
51hliuwei88 + 1 很給力!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:114939 發(fā)表于 2016-4-18 14:43 | 顯示全部樓層
最近在做1602顯示的計(jì)算器,想拓展功能  就這個(gè)了。
回復(fù)

使用道具 舉報(bào)

ID:150082 發(fā)表于 2016-11-25 10:58 | 顯示全部樓層
感謝大神的幫助
回復(fù)

使用道具 舉報(bào)

ID:150644 發(fā)表于 2016-12-29 22:54 來自觸屏版 | 顯示全部樓層
想看看完整的程序
回復(fù)

使用道具 舉報(bào)

ID:161029 發(fā)表于 2017-1-9 22:39 | 顯示全部樓層
我下載了,請(qǐng)問你那個(gè)php文件怎么打不開。要用什么打
回復(fù)

使用道具 舉報(bào)

ID:171654 發(fā)表于 2017-3-17 21:03 | 顯示全部樓層
親,你好,可以加我微信交流一下嗎 yy643720230
回復(fù)

使用道具 舉報(bào)

ID:183449 發(fā)表于 2017-3-26 00:29 | 顯示全部樓層
謝謝樓主,支持
回復(fù)

使用道具 舉報(bào)

ID:209851 發(fā)表于 2017-6-10 15:17 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:108193 發(fā)表于 2017-7-19 21:51 | 顯示全部樓層
想看看完整的程序
回復(fù)

使用道具 舉報(bào)

ID:243158 發(fā)表于 2017-10-26 16:03 | 顯示全部樓層
沒有下載文件
回復(fù)

使用道具 舉報(bào)

ID:250190 發(fā)表于 2017-11-16 20:47 | 顯示全部樓層
感謝樓主  給我擴(kuò)展思維 很有幫助 謝謝
回復(fù)

使用道具 舉報(bào)

ID:202308 發(fā)表于 2017-11-17 13:06 | 顯示全部樓層
hen'ba 很棒哦,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:242544 發(fā)表于 2017-11-17 16:29 | 顯示全部樓層
樓主很棒,學(xué)到很多,謝謝
回復(fù)

使用道具 舉報(bào)

ID:247010 發(fā)表于 2017-12-4 16:19 | 顯示全部樓層
很棒

回復(fù)

使用道具 舉報(bào)

ID:260039 發(fā)表于 2017-12-11 16:37 | 顯示全部樓層

樓主很棒,學(xué)到很多,謝謝
回復(fù)

使用道具 舉報(bào)

ID:263903 發(fā)表于 2017-12-19 20:18 | 顯示全部樓層
樓主,加我QQ給我發(fā)一下吧,2322487244謝謝
回復(fù)

使用道具 舉報(bào)

ID:266671 發(fā)表于 2017-12-26 13:46 | 顯示全部樓層
請(qǐng)問有沒有全部程序
回復(fù)

使用道具 舉報(bào)

ID:268065 發(fā)表于 2017-12-27 22:20 | 顯示全部樓層
很詳細(xì),很管用 剛剛好最近要做課程設(shè)計(jì)
回復(fù)

使用道具 舉報(bào)

ID:204219 發(fā)表于 2017-12-28 14:53 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:272348 發(fā)表于 2018-1-6 15:08 | 顯示全部樓層
可以,多謝樓主
回復(fù)

使用道具 舉報(bào)

ID:276091 發(fā)表于 2018-1-15 10:50 | 顯示全部樓層
謝謝分享啊啊啊啊啊
回復(fù)

使用道具 舉報(bào)

ID:288358 發(fā)表于 2018-3-6 19:13 | 顯示全部樓層
很強(qiáng)勢(shì)
回復(fù)

使用道具 舉報(bào)

ID:288632 發(fā)表于 2018-3-12 10:39 | 顯示全部樓層
請(qǐng)問有完整程序嗎?
回復(fù)

使用道具 舉報(bào)

ID:290757 發(fā)表于 2018-3-12 19:40 | 顯示全部樓層
感謝樓主啊 真的非常棒
回復(fù)

使用道具 舉報(bào)

ID:110278 發(fā)表于 2018-3-13 20:57 | 顯示全部樓層
挺不錯(cuò)的,感謝分享
回復(fù)

使用道具 舉報(bào)

ID:252935 發(fā)表于 2018-3-18 11:17 | 顯示全部樓層
挺好的
回復(fù)

使用道具 舉報(bào)

ID:307760 發(fā)表于 2018-4-14 08:44 | 顯示全部樓層
好棒,好想要源程序
回復(fù)

使用道具 舉報(bào)

ID:319181 發(fā)表于 2018-4-30 20:22 | 顯示全部樓層
很有用,感謝
回復(fù)

使用道具 舉報(bào)

ID:330917 發(fā)表于 2018-5-15 23:54 | 顯示全部樓層
很好,很有用
回復(fù)

使用道具 舉報(bào)

ID:135386 發(fā)表于 2018-5-16 08:31 | 顯示全部樓層
挺不錯(cuò)的,非常棒哦
回復(fù)

使用道具 舉報(bào)

ID:357519 發(fā)表于 2018-6-23 23:20 | 顯示全部樓層
絕世好帖!
回復(fù)

使用道具 舉報(bào)

ID:361206 發(fā)表于 2018-6-28 22:22 來自觸屏版 | 顯示全部樓層
程序和仿真圖有嗎?
回復(fù)

使用道具 舉報(bào)

ID:351513 發(fā)表于 2018-7-3 08:33 | 顯示全部樓層
樓主給我發(fā)一下好嘛QQ2396457790
回復(fù)

使用道具 舉報(bào)

ID:368407 發(fā)表于 2018-7-10 11:10 | 顯示全部樓層
你這個(gè)是怎么實(shí)現(xiàn)錯(cuò)誤后如何不能再輸入的啊
回復(fù)

使用道具 舉報(bào)

ID:389243 發(fā)表于 2018-8-24 17:22 | 顯示全部樓層
可以使用TTP229觸摸鍵盤會(huì)高大上一點(diǎn)吧
回復(fù)

使用道具 舉報(bào)

ID:389243 發(fā)表于 2018-8-25 14:02 | 顯示全部樓層
能不能發(fā)一下全部程序
回復(fù)

使用道具 舉報(bào)

ID:202308 發(fā)表于 2018-10-28 14:30 | 顯示全部樓層
謝謝樓主。666
回復(fù)

使用道具 舉報(bào)

ID:421728 發(fā)表于 2018-11-11 14:54 | 顯示全部樓層
很幫的教程
回復(fù)

使用道具 舉報(bào)

ID:427731 發(fā)表于 2018-11-16 15:12 | 顯示全部樓層
怎么下載呀
回復(fù)

使用道具 舉報(bào)

ID:427731 發(fā)表于 2018-11-16 15:13 | 顯示全部樓層
畢業(yè)論文選的這個(gè) 怎么辦
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表