版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p> 課題名稱(chēng): **小區(qū)居民樓防盜門(mén)鎖 </p><p> 設(shè)計(jì)時(shí)間: 2011.11.01 </p><p> 系 部: 電子信息工程系 </p&
2、gt;<p> 班 級(jí): 0901應(yīng)用電子 </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p><b> 總目錄<
3、/b></p><p><b> 第一部分 任務(wù)書(shū)</b></p><p><b> 第二部分 開(kāi)題報(bào)告</b></p><p> 第三部分 畢業(yè)設(shè)計(jì)正文</p><p> 第 一 部 分</p><p><b> 任</b>&
4、lt;/p><p><b> 務(wù)</b></p><p><b> 書(shū)</b></p><p><b> 畢業(yè)設(shè)計(jì)任務(wù)書(shū)</b></p><p> 第 二 部 分</p><p><b> 開(kāi)</b></p>
5、;<p><b> 題</b></p><p><b> 報(bào)</b></p><p><b> 告</b></p><p> 電子信息工程 系11屆</p><p> 畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告書(shū)(表1)</p><p> 第
6、三 部 分</p><p><b> 畢</b></p><p><b> 業(yè)</b></p><p><b> 設(shè)</b></p><p><b> 計(jì)</b></p><p><b> 正</b&g
7、t;</p><p><b> 文</b></p><p><b> **小區(qū)防盜門(mén)鎖</b></p><p><b> **</b></p><p><b> 0901應(yīng)用電子</b></p><p><b>
8、 【摘要】</b></p><p> 隨著科技的日益發(fā)展,電子密碼控制系統(tǒng)已越來(lái)越符合人們的要求。本文介紹了基于單片機(jī)和串行EEPROM的智能密碼控制系統(tǒng),對(duì)系統(tǒng)硬件設(shè)計(jì)和軟件實(shí)現(xiàn)進(jìn)行了詳細(xì)的描述。該系統(tǒng)采用AT89C51單片機(jī)和AT24C01串行EEPROM,通過(guò)AT89C51模擬I2C總線和AT24C01通訊,實(shí)現(xiàn)密碼控制的功能。</p><p> 本文從經(jīng)濟(jì)實(shí)用的角度
9、出發(fā),采用美國(guó)Atmel公司的單片機(jī)AT89C51作為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的矩陣鍵盤(pán)輸入、LCD液晶顯示、報(bào)警、開(kāi)鎖等,用C語(yǔ)言編寫(xiě)主控芯片的控制程序與EEPROM讀寫(xiě)程序相結(jié)合,設(shè)計(jì)了一款可以多次更改密碼,具有報(bào)警功能的電子密碼控制系統(tǒng)。這種電路設(shè)計(jì)具有防試探按鍵輸入、智能控制上鎖、開(kāi)鎖、報(bào)警、修改密碼等多種功能。密碼長(zhǎng)度可變、保密性強(qiáng)、靈活性高。</p><p> 經(jīng)實(shí)驗(yàn)證明,該密碼控制系統(tǒng)具
10、有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全使用等特點(diǎn),符合居民樓每家每戶(hù)門(mén)鎖的要求,具有推廣價(jià)值。</p><p> 關(guān)鍵詞: 密碼控制;單片機(jī);EEPROM讀寫(xiě)程序;報(bào)警</p><p> Yancheng Xinyuan community anti-theft door lock</p><p><b> Xu Zhijie</b>&l
11、t;/p><p> 0901 the application of electronic</p><p><b> Abstract:</b></p><p> As the development of science and technology day by day, the key control system is more in
12、line with the requirements of people. The paper presents a cryptographic smart password control based on MCU and serial EEPROM, describes hardware structure and software design of the system. It adopts AT89C51 and AT24C0
13、1, realizes the function of cryptographic smart password control. AT89C51 communicates with AT24C01 by I2C bus to achieve the password control function.</p><p> This article from the economical and practica
14、l point of view, the use of the United States Atmel Corporation AT89C51 microcontroller as a master chip and the data memory unit, combined with the external matrix keyboard input, LED digital display, alarm, unlock and
15、so on, dominated by the C programming language chip EEPROM of the control procedures and the combination of reading and writing program designed to change a password many times, the police function with the electronic th
16、e password cont</p><p> Experiments show that the password control system is characterized by its reasonable designing methods, simple operation, low cost and property of safety and practicality.Besides,the
17、 password control can be used in the office and has great potential for commercial development.</p><p> Key Words:Password control; Single-chip; EEPROM read and write procedures; Alarm</p><p>
18、;<b> 目 錄</b></p><p><b> 第一章 引言13</b></p><p> 1.1選題背景13</p><p> 1.2電子密碼控制簡(jiǎn)介13</p><p> 1.3電子密碼控制的發(fā)展趨勢(shì)13</p><p> 1.4本設(shè)計(jì)所要實(shí)
19、現(xiàn)的目標(biāo)14</p><p> 第二章 設(shè)計(jì)方案的選擇15</p><p> 方案一:采用數(shù)字電路控制15</p><p> 方案二:采用以單片機(jī)為核心的控制方案15</p><p> 第三章 元器件介紹16</p><p> 3.1主控芯片AT89C5116</p><p&g
20、t; 3.1.2 AT89C51引腳功能說(shuō)明17</p><p> 3.1.3 AT89C51芯片內(nèi)部結(jié)構(gòu)19</p><p> 3.2 LCD1602顯示器21</p><p> 3.2.1 接口信號(hào)說(shuō)明21</p><p> 3.2.2 主要技術(shù)參數(shù)22</p><p> 3.2.3 基本操作
21、程序22</p><p> 3.3晶體振蕩器22</p><p> 3.4 AT24C04串行EEPROM23</p><p> 第四章 系統(tǒng)硬件構(gòu)成29</p><p> 4.1 設(shè)計(jì)原理29</p><p> 4.2 電路總圖構(gòu)成29</p><p> 4.3 電源輸
22、入部分30</p><p> 4.4 鍵盤(pán)輸入部分30</p><p> 4.5 復(fù)位部分30</p><p> 4.6 晶振部分31</p><p> 4.7 顯示部分32</p><p> 4.8 報(bào)警部分32</p><p> 第五章 系統(tǒng)軟件設(shè)計(jì)34</p
23、><p> 5.1主程序流程圖34</p><p> 5.2按鍵功能流程圖35</p><p> 5.3密碼設(shè)置流程圖38</p><p> 5.4開(kāi)鎖流程圖43</p><p><b> 小 結(jié)46</b></p><p><b> 致
24、 謝47</b></p><p><b> 參考文獻(xiàn)48</b></p><p> 附錄一:仿真圖49</p><p> 附錄二: 程序50</p><p><b> 第一章 引言</b></p><p><b> 1.1選題背景&
25、lt;/b></p><p> 隨著科技的發(fā)展,電子密碼鎖這類(lèi)電子密碼系統(tǒng)已經(jīng)飛入尋常百姓家。就像現(xiàn)在大部分的現(xiàn)代化居民樓每家每戶(hù)都采用了帶有電子密碼鎖的防盜門(mén)。電子密碼系統(tǒng)不僅是科學(xué)領(lǐng)域上的發(fā)展,更是促進(jìn)了民生的發(fā)展。在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼控制的密碼量少、安全性能差的缺點(diǎn),使電子密碼控制系統(tǒng)無(wú)論在技術(shù)上還是在性能上都大大提
26、高了一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的問(wèn)世,出現(xiàn)了帶微處理器的智能密碼控制系統(tǒng),它除具有傳統(tǒng)電子密碼控制系統(tǒng)的功能外,還引入了智能化管理、專(zhuān)家分析系統(tǒng)等功能,從而使密碼控制系統(tǒng)具有很高的安全性、可靠性應(yīng)用日益廣泛。而本設(shè)計(jì)就是針對(duì)現(xiàn)代化居民樓每家每戶(hù)的防盜門(mén)鎖來(lái)設(shè)計(jì)的。</p><p> 1.2電子密碼控制簡(jiǎn)介</p><p> 電子密碼控制是一種通過(guò)密碼輸入來(lái)控制電路
27、或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。電子密碼控制不論性能還是安全性都已大大超過(guò)了機(jī)械類(lèi)。其特點(diǎn)如下:</p><p> 1)保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于機(jī)械控制。隨機(jī)開(kāi)鎖成功率幾乎為零。</p><p> 2)密碼可變,用戶(hù)可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使控制的保密性下降。</p><p> 3)誤
28、碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。</p><p> 4)無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。</p><p> 5)使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。</p><p> 6)電子密碼控制系統(tǒng)具有操作簡(jiǎn)單易行,一學(xué)即會(huì)的特點(diǎn)。</p><p> 1.3電子密碼控制的發(fā)展趨勢(shì)</p><p&g
29、t; 由于電子器件所限,以前開(kāi)發(fā)的電子密碼控制系統(tǒng),其種類(lèi)不多,保密性差,最基本的就是只依靠最簡(jiǎn)單的模擬電子開(kāi)關(guān)來(lái)實(shí)現(xiàn)的,制作簡(jiǎn)單但很不安全,后來(lái)便是基于EDA來(lái)實(shí)現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引腳的2051系列單片機(jī)來(lái)實(shí)現(xiàn)的,但密碼簡(jiǎn)單,易破解。隨著電子元件的進(jìn)一步發(fā)展,電子密碼控制系統(tǒng)也出現(xiàn)了很多的種類(lèi),功能日益強(qiáng)大,使用更加方便,安全保密性更強(qiáng),由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實(shí)現(xiàn)了更為真
30、正的電子加密,用戶(hù)只有密碼或電子鑰匙中的一樣,是打不開(kāi)鎖的,隨著電子元件的發(fā)展及人們對(duì)保密性需求的提高出現(xiàn)了越來(lái)越多的電子密碼控制系統(tǒng) 。</p><p> 由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為電子信息,組合使用這些信息能夠使電子防盜密碼控制獲得更高的保密性,如防范森嚴(yán)的金庫(kù),需要使用復(fù)合信息密碼的電子防盜密碼控制系統(tǒng)。組合使用信息也能夠使電子防盜密碼控制系統(tǒng)獲得無(wú)窮擴(kuò)展的可能。可以看出組
31、合使用電子信息是電子密碼控制系統(tǒng)今后發(fā)展的趨勢(shì) 。</p><p> 1.4本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)</p><p> 本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路,組成電子密碼控制系統(tǒng),用戶(hù)想要打開(kāi)鎖,必先通過(guò)提供的鍵盤(pán)輸入正確的密碼才可以,密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)密碼輸入錯(cuò)誤三次將報(bào)警。密碼可以由用戶(hù)自己修改設(shè)定,鎖打開(kāi)后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密
32、碼時(shí)候需要二次確認(rèn),以防止誤操作。</p><p> 第二章 設(shè)計(jì)方案的選擇</p><p> 方案一:采用數(shù)字電路控制</p><p> 用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼控制系統(tǒng)的核心控制,共設(shè)了9個(gè)用戶(hù)輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果
33、用戶(hù)輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶(hù)不會(huì)超過(guò)10秒,若用戶(hù)覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)2分鐘,防止他人的非法操作 。采用數(shù)字電路設(shè)計(jì)方案時(shí)設(shè)計(jì)雖然簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差。故不采用。</p><p> 方案二:采用以單片機(jī)為核心的控制方案</p><p> 由于單片機(jī)種類(lèi)繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加
34、比較,合理選擇,以期獲得最佳的性?xún)r(jià)比。一般來(lái)說(shuō)在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些還有一些最基本的,比如:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒(méi)有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無(wú)時(shí)鐘振蕩器、有無(wú)上電復(fù)位功能等。在開(kāi)發(fā)過(guò)程中單片機(jī)還受到:開(kāi)發(fā)工具、編程器、開(kāi)發(fā)成本、開(kāi)發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等等因素 ?;谝?/p>
35、上因素本設(shè)計(jì)選用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼控制功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。當(dāng)用戶(hù)需要開(kāi)鎖時(shí),先按鍵盤(pán)開(kāi)鎖鍵之后按鍵盤(pán)的數(shù)字鍵0-9、A—F輸入密碼。密碼輸完后按下確認(rèn)鍵,如果密碼輸入正確則開(kāi)鎖,不正確顯示密碼錯(cuò)誤重新輸入密碼,當(dāng)三次密碼錯(cuò)誤則發(fā)出報(bào)警;當(dāng)用戶(hù)需要修改密碼
36、時(shí),先按下鍵盤(pán)設(shè)置鍵后輸入原來(lái)的密碼,只有當(dāng)輸入的原</p><p> 可以看出方案二的采用數(shù)字電路設(shè)計(jì)方案時(shí)設(shè)計(jì)雖然簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差。故不采用。</p><p><b> 第三章 元器件介紹</b></p><p> 3.1主控芯片AT89C51</p><p> AT89C51是一個(gè)低功耗,高性
37、能CMOS 8位單片機(jī),片內(nèi)含4k Bytes的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及AT80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。</p><p> 3.1.1 AT89C51性能簡(jiǎn)介</
38、p><p> AT89C51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩器。</p><p> AT89C51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,12
39、8 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩器。</p><p> 圖3-1 AT89C51芯片引腳圖</p><p><b> 其主要功能特性:</b></p><p> 兼容MCS-51指令系統(tǒng)
40、 4k可反復(fù)擦寫(xiě)(>1000次)Flash ROM</p><p> 32個(gè)雙向I/O口 4.5-5.5V工作電壓</p><p> 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器 時(shí)鐘頻率0-33MHz</p><p> 全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM</p&
41、gt;<p> 2個(gè)外部中斷源 低功耗空閑和省電模式</p><p> 中斷喚醒省電模式 3級(jí)加密</p><p> 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針 </p><p> 可以看出AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,12
42、8字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,以及片內(nèi)振蕩器和時(shí)鐘。同時(shí), AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式時(shí)停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式是在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到一個(gè)硬件復(fù)位。</p><p>
43、 3.1.2 AT89C51引腳功能說(shuō)明</p><p><b> VCC:電源電壓</b></p><p><b> GND:地</b></p><p> P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端口。
44、在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入
45、口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)校驗(yàn)期間,P1接收低8位地址。</p><p> P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行:MOVX @Ri 指令)時(shí),
46、P2口線上的內(nèi)(也即特殊功能寄存器,在整個(gè)訪問(wèn)期間不改變。Flash 編程或校驗(yàn)時(shí),P2也接收高位地址和其它控制信號(hào)。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要
47、的用途是它的第二功能,P3口的第二功能如下表3-1。</p><p> 表3-2 為 P3口的第二功能</p><p> RST:復(fù)位輸入。當(dāng)振蕩工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不再訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出的正脈沖信號(hào),因
48、此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目地,要注意的是:當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳伎被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。</p><p> PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51
49、由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,高有兩次有效的PSEN信號(hào)。</p><p> EA/VPP:外部訪問(wèn)允許。欲使CPU訪問(wèn)外部程序存儲(chǔ)器(地址0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存
50、儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓VPP。</p><p> XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p> 3.1.3 AT89C51芯片內(nèi)部結(jié)構(gòu)</p><p> 特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分布如下圖3-2所示。這些地址并沒(méi)有全
51、部占用,沒(méi)有占用的地址不可使用,讀這些地址將得到一個(gè)隨意的數(shù)值。而寫(xiě)這些地址單元將不能得到預(yù)期的結(jié)果。</p><p> 中斷寄存器:各中斷允許控制位于IE寄存器,5個(gè)中斷源的中斷優(yōu)先級(jí)控制位于IP寄存器。</p><p> 表3-2為 AUXR輔助寄存器</p><p> ARXR 地址=8EH 復(fù)位狀態(tài)=XX
52、X00XX0B</p><p><b> Not Bit</b></p><p> Addressable</p><p> 保留為將來(lái)擴(kuò)展用途位</p><p> DISALE ALE禁止/使用</p><p><b> DISALE</b></p&g
53、t;<p><b> 操作模式</b></p><p> 0 ALE 輸出1/6震蕩時(shí)鐘頻率脈沖</p><p> 1 ALE 僅在執(zhí)行MOVX或MOVC指令期間輸出脈沖</p><p> DISRTO 禁止/使能復(fù)位輸出</p><p><b> DISRTO</b
54、></p><p> 0 復(fù)位引腳在WET溢出時(shí)變高</p><p> 1 復(fù)位引腳僅為輸入</p><p> WDIDLE 禁止/使能IDLE模式的WDT</p><p><b> WDIDLE </b></p><p> 0 IDLE模式WDT
55、繼續(xù)計(jì)數(shù)</p><p> 1 IDLE模式WDT停止計(jì)數(shù)</p><p> 雙時(shí)鐘指針寄存器:為方便地訪問(wèn)內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,提供了兩個(gè)16位數(shù)據(jù)指針寄存儲(chǔ)器:PD0位于SFR區(qū)塊中的地址82H、83H和DP1位于地址84H、85H,當(dāng)SFR中的位DPS=0時(shí)選擇DP0,而DPS=1時(shí)選擇DP1。在使用前初始化DPS。</p><p>
56、表3-3 雙時(shí)鐘指針寄存器</p><p><b> AUXR1</b></p><p><b> 地址=A2H</b></p><p> 不可尋址位 復(fù)位狀態(tài)=XXXXXXX0B</p><p> 保留為今后擴(kuò)展
57、用途</p><p> DPS 數(shù)據(jù)指針選擇位</p><p><b> DPS</b></p><p> 0 選擇DPTR寄存器DP0L.DP0H</p><p> 1 選擇DPTR寄存器DP1L.DP1H</p><p> 電源空閑標(biāo)志:電源空閑標(biāo)志(P
58、OF)在特殊功能寄存儲(chǔ)器SFR中PCON的第4位(PCON.4),電源打開(kāi)時(shí)POF置“1”,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。</p><p> 存儲(chǔ)器結(jié)構(gòu):MCS-51單片機(jī)內(nèi)核采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器空間分開(kāi)的結(jié)構(gòu),均具有64KB外部程序和數(shù)據(jù)的尋址空間。</p><p> 程序存儲(chǔ)器:如果EA引腳接地(GND),全部程序均執(zhí)行外部存儲(chǔ)器。在AT89S51,假如接至VCC(
59、電源+),程序首先執(zhí)行從地址0000H-0FFFH(4KB)內(nèi)部程序存儲(chǔ)器,再執(zhí)行地址為1000H-FFFFH(60KB)的外部程序存儲(chǔ)器。</p><p> 數(shù)據(jù)存儲(chǔ)器:在AT89C51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問(wèn),堆棧操作可利用間接尋址方式進(jìn)行,128字節(jié)均可設(shè)置為堆棧區(qū)空間。</p><p> 3.2 LCD1602顯示器</p&g
60、t;<p> 現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7和RS,R/W,EN三個(gè)控制端口,工作電壓為5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能。</p><p> 3.2.1 接口信號(hào)說(shuō)明</p><p> 1602型LCD
61、的接口信號(hào)說(shuō)明如表3-4所示:</p><p> 表3-4為 1602型LCD的接口信號(hào)說(shuō)明</p><p> 3.2.2 主要技術(shù)參數(shù) </p><p> 1602型LCD的主要技術(shù)參數(shù)如表3-5所示:</p><p> 表3-5為 1602型LCD的主要技術(shù)參數(shù)</p><p> 3.2.3 基本操作
62、程序 </p><p> 讀狀態(tài):輸入:RS=L,RW=L,E=H 輸出:D0-D7=狀態(tài)字</p><p> 讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:無(wú)</p><p> 寫(xiě)指令:輸入:RS=L,RW=L,D0-D7=指令碼,E=高脈沖 輸出:D0-D7=數(shù)據(jù)</p><p> 寫(xiě)數(shù)據(jù):輸入:RS=H,RW=L,D0-D7=
63、數(shù)據(jù),E=高脈沖 輸出:無(wú)</p><p><b> 3.3晶體振蕩器</b></p><p> 晶體振蕩器,簡(jiǎn)稱(chēng)晶振,其作用在于產(chǎn)生原始的時(shí)鐘頻率,這個(gè)頻率經(jīng)過(guò)頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。以聲卡為例,要實(shí)現(xiàn)對(duì)模擬信號(hào)44.1kHz或48kHz的采樣,頻率發(fā)生器就必須提供一個(gè)44.1kHz或48kHz的時(shí)鐘頻率。如果需要對(duì)這兩種音頻同時(shí)
64、支持的話,聲卡就需要有兩顆晶振。但是現(xiàn)在的娛樂(lè)級(jí)聲卡為了降低成本,通常都采用SCR將輸出的采樣頻率固定在48kHz,但是SRC會(huì)對(duì)音質(zhì)帶來(lái)?yè)p害,而且現(xiàn)在的娛樂(lè)級(jí)聲卡都沒(méi)有很好地解決這個(gè)問(wèn)題?,F(xiàn)在應(yīng)用最廣泛的是石英晶體振蕩器。</p><p> 石英晶體振蕩器是一種高精度和高穩(wěn)定度的振蕩器,石英晶體振蕩器也稱(chēng)石英晶體諧振器,它用來(lái)穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振回路的晶體諧振元件。石英晶體振蕩器廣泛地應(yīng)
65、用在電視機(jī)、影碟機(jī)、錄像機(jī)、無(wú)線通訊設(shè)備、電子鐘表、單片機(jī)、數(shù)字儀器儀表等電子設(shè)備中。為數(shù)據(jù)處理設(shè)備產(chǎn)生時(shí)鐘信號(hào)和為特定系統(tǒng)提供基準(zhǔn)信號(hào)。在單片機(jī)中為其提供時(shí)鐘頻率。</p><p> 石英晶體振蕩器是利用石英晶體(二氧化硅的結(jié)晶體)的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方位角切下薄片(簡(jiǎn)稱(chēng)為晶片,它可以是正方形、矩形或圓形等),在它的兩個(gè)對(duì)應(yīng)面上涂敷上銀層用作電極使用,在每個(gè)
66、電極上各焊一根引線接到管腳上,再加上封裝外殼就構(gòu)成了石英晶體諧振器,簡(jiǎn)稱(chēng)為石英晶體或晶體、晶振。其產(chǎn)品一般用金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝的。只要在晶體振子板極上施加交變電壓,就會(huì)使晶片產(chǎn)生機(jī)械變形振動(dòng),此現(xiàn)象即所謂逆壓電效應(yīng)。當(dāng)外加電壓頻率等于晶體諧振器的固有頻率時(shí),就會(huì)發(fā)生壓電諧振,從而導(dǎo)致機(jī)械變形的振幅突然增大。</p><p> 本設(shè)計(jì)中采用12MHZ做系統(tǒng)的外部晶振。電容取值為20pF。&
67、lt;/p><p> 3.4 AT24C04串行EEPROM </p><p> 如圖3-2為AT24C04的芯片引腳圖。</p><p> 圖3-2 AT24C04的芯片引腳圖</p><p> 特點(diǎn):低壓和標(biāo)準(zhǔn)電壓運(yùn)行模式</p><p> – 2.7 (VCC = 2.7V to 5.5V)</p&
68、gt;<p> – 1.8 (VCC = 1.8V to 5.5V)</p><p> 內(nèi)建128x8存儲(chǔ)序列</p><p><b> 2線制串行接口</b></p><p><b> 雙向數(shù)據(jù)傳送協(xié)議</b></p><p> 100kHz(1.8V,2.5V,2.7V)
69、 和400kHz(5V)兼容</p><p> 寫(xiě)同步時(shí)鐘(最大10ms)</p><p><b> 高可靠性</b></p><p> -極限:1M寫(xiě)時(shí)鐘周期</p><p> -數(shù)據(jù)保存:100年</p><p> 不斷推進(jìn)的芯片等級(jí)擴(kuò)大了設(shè)備的可用溫度范圍</p>&
70、lt;p> 8腳PDIP,8腳JEDEC SOIC和8腳TSSOP封裝</p><p><b> 描述:</b></p><p> AT24C01提供電可擦除的串行1024位存儲(chǔ)或可編程只讀存儲(chǔ)器(EEPROM)128字(8位/字)。</p><p> 芯片在低壓的工業(yè)與商業(yè)應(yīng)用中進(jìn)行了最優(yōu)化。AT24C01的封裝為8腳PDIP、
71、8腳JEDEC</p><p> SOIC、8腳TSSOP,通過(guò)2線制串行接口進(jìn)行數(shù)據(jù)傳輸。另外,整個(gè)系列有2.7V(2.7V至5.5V)和1.8V (1.8V至5.5V)兩個(gè)版本。</p><p><b> 設(shè)備操作:</b></p><p> C L O C K 和 D A T A 變化:SDA管腳通常外部要拉高。SDA管腳上的數(shù)據(jù)只
72、能在SCL低期間改變。數(shù)據(jù)在SCL高期間改變定義為一個(gè)開(kāi)始或停止信號(hào)。</p><p> 開(kāi)始狀態(tài):在任何操作之前必須有一個(gè)開(kāi)始信號(hào)----在SCL為高時(shí)SDA上產(chǎn)生一個(gè)下降沿。</p><p> 停止?fàn)顟B(tài): SCL為高時(shí)SDA產(chǎn)生一個(gè)上升沿是停止信號(hào),停止信號(hào)后將停止所有通信。</p><p> 在一個(gè)讀的序列之后,停止信號(hào)將讓EEPROM進(jìn)入備用電源模式。
73、</p><p> 3.5 I2C總線說(shuō)明</p><p> I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢(xún),以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源
74、和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤(pán)、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。</p><p> 1 I2C總線的硬件結(jié)構(gòu)</p><p> I2C串行總線一般有兩根信號(hào)線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時(shí)鐘線SCL接到總線的SCL上。</p><p> 為了
75、避免總線信號(hào)的混亂,要求各設(shè)備連接到總線的輸出端時(shí)必須是開(kāi)漏輸出或集電極開(kāi)路輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時(shí)鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機(jī),一方面要通過(guò)SCL輸出電路發(fā)送時(shí)鐘信號(hào),另一方面還要檢測(cè)總線上的SCL電平,以決定什么時(shí)候發(fā)送下一個(gè)時(shí)鐘脈沖電平;作為接受主機(jī)命令的從機(jī),要按總線上的SCL信號(hào)發(fā)出或接收SDA上的信號(hào),也可以向SC
76、L線發(fā)出低電平信號(hào)以延長(zhǎng)總線時(shí)鐘信號(hào)周期。總線空閑時(shí),因各設(shè)備都是開(kāi)漏輸出,上拉電阻RP使SDA和SCL線都保持高電平。任一設(shè)備輸出的低電平都將使相應(yīng)的總線信號(hào)線變低,也就是說(shuō):各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。 </p><p> 總線對(duì)設(shè)備接口電路的制造工藝和電平都沒(méi)有特殊的要求(NMOS、CMOS都可以兼容)。在I2C總線上的數(shù)據(jù)傳送率可高達(dá)每秒十萬(wàn)位,高速方式時(shí)在每秒四十萬(wàn)位以上。另外,
77、總線上允許連接的設(shè)備數(shù)以其電容量不超過(guò)400pF為限。 </p><p> 總線的運(yùn)行(數(shù)據(jù)傳輸)由主機(jī)控制。所謂主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送(發(fā)出啟動(dòng)信號(hào))、發(fā)出時(shí)鐘信號(hào)以及傳送結(jié)束時(shí)發(fā)出停止信號(hào)的設(shè)備,通常主機(jī)都是微處理器。被主機(jī)尋訪的設(shè)備稱(chēng)為從機(jī)。為了進(jìn)行通訊,每個(gè)接到I2C總線的設(shè)備都有一個(gè)唯一的地址,以便于主機(jī)尋訪。主機(jī)和從機(jī)的數(shù)據(jù)傳送,可以由主機(jī)發(fā)送數(shù)據(jù)到從機(jī),也可以由從機(jī)發(fā)到主機(jī)。凡是發(fā)送數(shù)據(jù)到總線的設(shè)
78、備稱(chēng)為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱(chēng)為接受器。</p><p> I2C總線上允許連接多個(gè)微處理器以及各種外圍設(shè)備,如存儲(chǔ)器、LED及LCD驅(qū)動(dòng)器、A/D及D/A轉(zhuǎn)換器等。為了保證數(shù)據(jù)可靠地傳送,任一時(shí)刻總線只能由某一臺(tái)主機(jī)控制,各微處理器應(yīng)該在總線空閑時(shí)發(fā)送啟動(dòng)數(shù)據(jù),為了妥善解決多臺(tái)微處理器同時(shí)發(fā)送啟動(dòng)數(shù)據(jù)的傳送(總線控制權(quán))沖突,以及決定由哪一臺(tái)微處理器控制總線的問(wèn)題,I2C總線允許連接不同傳送速率的設(shè)
79、備。多臺(tái)設(shè)備之間時(shí)鐘信號(hào)的同步過(guò)程稱(chēng)為同步化。</p><p> 2 I2C總線工作原理:</p><p> 2.1 總線的構(gòu)成及信號(hào)類(lèi)型:</p><p> I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣
80、只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類(lèi);控制量決定該調(diào)整的類(lèi)別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。</p><p&
81、gt; I2C總線在傳送數(shù)據(jù)過(guò)程中共有三種類(lèi)型信號(hào), 它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。</p><p> 開(kāi)始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。</p><p> 結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 </p><p> 應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的I
82、C發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。如圖3-3所示:</p><p> 圖3-3 開(kāi)始、結(jié)束信號(hào)圖</p><p> 目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C805
83、1F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供I2C接口。</p><p><b> 3 總線基本操作:</b></p><p> I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總
84、線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來(lái)表示起始和停止條件。</p><p><b> 1) 控制字節(jié):</b></p><p> 在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類(lèi)型識(shí)別符(不
85、同的芯片類(lèi)型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫(xiě)位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫(xiě)操作。</p><p><b> 2)寫(xiě)操作:</b></p><p> 寫(xiě)操作分為字節(jié)寫(xiě)和頁(yè)面寫(xiě)兩種操作,對(duì)于頁(yè)面寫(xiě)根據(jù)芯片的一次裝載的字節(jié)不同有所不同。</p><p><b> 3) 讀操作:</b
86、></p><p> 讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期時(shí)發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。</p><p> 在I2C總線的應(yīng)用中應(yīng)注意的事項(xiàng)總結(jié)為以下幾點(diǎn) : </p><p>
87、; a) 嚴(yán)格按照時(shí)序圖的要求進(jìn)行操作, </p><p> b) 若與口線上帶內(nèi)部上拉電阻的單片機(jī)接口連接,可以不外加上拉電阻。 </p><p> c) 程序中為配合相應(yīng)的傳輸速率,在對(duì)口線操作的指令后可用NOP指令加一定的延時(shí)。</p><p> d) 為了減少意外的干擾信號(hào)將EEPROM內(nèi)的數(shù)據(jù)改寫(xiě)可用外部寫(xiě)保護(hù)引腳(如果有),或者在EEPROM內(nèi)部
88、沒(méi)有用的空間寫(xiě)入標(biāo)志字,每次上電時(shí)或復(fù)位時(shí)做一次檢測(cè),判斷EEPROM是否被意外改寫(xiě)。 </p><p> 添加:I2C 總線:</p><p> 在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的IC 需要進(jìn)行相互之間以及與外界的通信。為了提供硬件的效率和簡(jiǎn)化電路的設(shè)計(jì),PHILIPS 開(kāi)發(fā)了一種用于內(nèi)部IC 控制的簡(jiǎn)單的雙向兩線串行總線I2C(inter IC 總線)。I2C 總線支持任何一種IC 制
89、造工藝,并且PHILIPS 和其他廠商提供了種類(lèi)非常豐富的I2C 兼容芯片。作為一個(gè)專(zhuān)利的控制總線,I2C 已經(jīng)成為世界性的工業(yè)標(biāo)準(zhǔn)。</p><p> 每個(gè)I2C 器件都有一個(gè)唯一的地址,而且可以是單接收的器件(例如:LCD 驅(qū)動(dòng)器)或者可以接收也可以發(fā)送的器件(例如:存儲(chǔ)器)。發(fā)送器或接收器可以在主模式或從模式下操作,這取決于芯片是否必須啟動(dòng)數(shù)據(jù)的傳輸還是僅僅被尋址。I2C 是一個(gè)多主總線,即它可以由多個(gè)連
90、接的器件控制。</p><p> 早期的I2C 總線數(shù)據(jù)傳輸速率最高為100Kbits/s,采用7 位尋址。但是由于數(shù)據(jù)傳輸速率和應(yīng)用功能的迅速增加,I2C 總線也增強(qiáng)為快速模式(400Kbits/s)和10 位尋址以滿(mǎn)足更高速度和更大尋址空間的需求。I2C 總線始終和先進(jìn)技術(shù)保持同步,但仍然保持其向下兼容性。并且最近還增加了高速模式,其速度可達(dá)3.4Mbits/s。它使得I2C 總線能夠支持現(xiàn)有以及將來(lái)的高速
91、串行傳輸應(yīng)用,例如EEPROM 和Flash 存儲(chǔ)器。</p><p> 第四章 系統(tǒng)硬件構(gòu)成</p><p><b> 4.1 設(shè)計(jì)原理</b></p><p> 本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶(hù)通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶(hù)輸入
92、的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警。</p><p> 本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤(pán)輸入部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、鍵功能程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組
93、成。其原理框圖如圖4-1所示。</p><p> 圖4-1 電子密碼鎖原理框圖</p><p> 4.2 電路總圖構(gòu)成</p><p> 在確定了選用什么型號(hào)的單片機(jī)后,就要確定在外圍電路,其外圍電路包括電源輸入部分、鍵盤(pán)輸入部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分組成,根據(jù)實(shí)際情況鍵盤(pán)輸入部分選擇4*4矩陣鍵盤(pán),顯示部分選擇字符型液晶顯示LCD1602。
94、其原理圖如圖4-2所示:</p><p><b> 圖4-2 電路總圖</b></p><p> 4.3 電源輸入部分</p><p> 密碼鎖主要控制部分電源需要用5V直流電源供電,而5V電源輸入時(shí)往往伴有雜波,所以加一個(gè)2.2uF的電容濾波。這樣輸出的電壓一般能滿(mǎn)足要求。</p><p> 4.4 鍵盤(pán)輸入部
95、分 </p><p> 由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤(pán)。采用的是矩陣式按鍵鍵盤(pán),它由行線和列線組成,也稱(chēng)行列式鍵盤(pán),按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤(pán)輸入完成,與獨(dú)立式按鍵鍵盤(pán)相比,要節(jié)省很多I/O口。本設(shè)計(jì)中使用的這個(gè)4*4鍵盤(pán)不但能完成密碼的輸入還能作特別功能鍵使用,比如清空顯示功能等。鍵盤(pán)的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置 。其大體功能(看鍵盤(pán)按鍵上的標(biāo)記)及與單片機(jī)引腳接法如
96、圖4-3所示:</p><p> 4-3 鍵盤(pán)輸入原理圖</p><p><b> 4.5 復(fù)位部分 </b></p><p> 單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后PC=0000H,使單片機(jī)從第—個(gè)單元取指令。無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位
97、。在復(fù)位期間(即RST為高電平期間),P0口為高組態(tài),P1-P3口輸出高電平;外部程序存儲(chǔ)器讀選通信號(hào)PSEN無(wú)效。地址鎖存信號(hào)ALE也為高電平。根據(jù)實(shí)際情況選擇如圖4-4所示的復(fù)位電路。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容C1上的電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過(guò)程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容C1足夠大,可以
98、保證RST高電平有效時(shí)間大于24個(gè)振蕩周期,CPU能夠可靠復(fù)位。增加手動(dòng)復(fù)位按鍵是為了避免死機(jī)時(shí)無(wú)法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容C1通過(guò)R5放電。當(dāng)電容C1放電結(jié)束后,RST端的電位由R5與R6分壓比決定。由于R5<<R6 因此RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復(fù)位狀態(tài)。R5的作用在于限制按鍵按</p><p> 圖4-4 復(fù)位電路原理圖<
99、/p><p><b> 4.6 晶振部分</b></p><p> AT89C51引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖4-5所示方式連接。晶振、電容C1/C2及片內(nèi)與非門(mén)(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C1、C2取值范圍在5~30p
100、F之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ做系統(tǒng)的外部晶振。電容取值為20pF。</p><p> 圖4-5 晶振電路原理圖</p><p><b> 4.7 顯示部分</b></p><p> 為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管來(lái)完成。只有按下鍵盤(pán)上的開(kāi)啟按鍵后,顯示器才處于開(kāi)
101、啟狀態(tài)。同理只有按下關(guān)閉按鍵后顯示器才處于關(guān)閉狀態(tài)。否則顯示器將一直處于初始狀態(tài),當(dāng)需要對(duì)密碼鎖進(jìn)行開(kāi)鎖時(shí),按下鍵盤(pán)上的開(kāi)鎖按鍵后利用鍵盤(pán)上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話, LCD子顯示“Lock OK!”,單片機(jī)其中P2.0引角會(huì)輸出低電平,使三極管T2導(dǎo)通,電磁鐵吸合,電子密碼鎖被打開(kāi),如果密碼不正確,LCD顯示屏?xí)@示“
102、ERROR!Have try”,P2.0輸出的是高電平,電子密碼鎖不能被打開(kāi)。通過(guò)LCD顯示屏,可以清楚的判斷出密碼鎖所處的狀態(tài) 。其顯示部分引腳接口如圖4-6所示:</p><p> 圖4-6 顯示電路原理圖</p><p><b> 4.8 報(bào)警部分</b></p><p> 報(bào)警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當(dāng)
103、有鍵按下時(shí),“?!甭暎堪匆幌?,發(fā)聲一次,密碼正確時(shí),不發(fā)聲直接開(kāi)鎖,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P3.7引腳為低電平,三極管T3導(dǎo)通轟鳴器發(fā)出噪鳴聲報(bào)警。如圖4-7所示:</p><p> 圖4-7 報(bào)警電路原理圖</p><p> 第五章 系統(tǒng)軟件設(shè)計(jì)</p><p> 本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、鍵功能程序、密碼設(shè)置程
104、序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。</p><p><b> 5.1主程序流程圖</b></p><p> 如圖5-1所示為主程序流程圖,開(kāi)始接上電源,程序進(jìn)行初始化設(shè)置,然后在鍵盤(pán)上輸入密碼,此系統(tǒng)進(jìn)行鍵盤(pán)掃描,然后啟動(dòng)程序,進(jìn)行保護(hù),再次在鍵盤(pán)上輸入密碼,系統(tǒng)進(jìn)行掃描,如和之前一樣,則執(zhí)行程序,如不是,則執(zhí)行另一種程序,最后結(jié)束。</p>
105、<p> 圖5-1 主程序流程圖</p><p><b> 主程序:</b></p><p> #define uint unsigned int</p><p> #define LCDIO P0</p><p> #define delay4us() _nop_();_nop_
106、();_nop_();_nop_();</p><p> uchar buffer[4]={0}; //緩沖</p><p> sbit sda=P3^3; //掉電存儲(chǔ)引腳</p><p> sbit scl=P3^2; </p><p> sbit beep=P3^7; //蜂鳴器引腳
107、 </p><p> bit flag=0,aa; //定時(shí)溢出標(biāo)志位</p><p> uchar DSY_BUFFER[16]=" ";</p><p> uchar DSY_BUFFER1[16]=" ";</p><
108、p> uchar Userpassword[4]={0};</p><p> sbit rs=P2^0; </p><p> sbit rd=P2^1;</p><p> sbit lcden=P2^2;</p><p> sbit led=P2^7;</p><p> sbit led_red=
109、P2^6;</p><p> unsigned char code digit[ ]={"0123456789"}; //定義字符數(shù)組顯示數(shù)字</p><p> sbit BF=P0^7; //忙碌標(biāo)志位,,將BF位定義為P0.7引腳</p><p> uchar code table[]="Your Password...
110、"; //初始化時(shí),lcd顯示</p><p> void main()</p><p><b> { </b></p><p> unsigned int x; //定義變量,儲(chǔ)存檢測(cè)結(jié)果</p><p> uchar temp,i=0,j=0,k=0;</p><p
111、> uchar IS_valid_user; </p><p><b> beep=1;</b></p><p> init(); </p><p> init_lcd();</p><p> delayms(5);</p><p> aa=Recstring(0xa0,1
112、,buffer,4);</p><p> delayms(10); </p><p><b> P1=0x0f;</b></p><p> 5.2按鍵功能流程圖</p><p> 如圖5-2為按鍵功能流程圖,在按鍵當(dāng)中,有與輸入、開(kāi)鎖、清除、設(shè)置、確認(rèn)的程序相對(duì)應(yīng)的按鍵,并按順序與輸入的數(shù)相比較,當(dāng)輸入正確時(shí),進(jìn)
113、入密碼程序,錯(cuò)誤時(shí)進(jìn)行清除,輸入兩次正確的,可進(jìn)行重新設(shè)置,最后確認(rèn)程序。</p><p> 圖5-2 按鍵功能流程圖</p><p><b> 按鍵程序:</b></p><p> uchar Sendstring(uchar slave,uchar subaddr,uchar *buffer,uchar n)</p>&
114、lt;p><b> {</b></p><p><b> uchar i;</b></p><p><b> start();</b></p><p> if(!sendbyte(slave)) return 0;</p><p> if(!sendbyte(s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防盜門(mén)鎖殼.dwg
- 防盜門(mén)鎖殼.dwg
- 防盜門(mén)鎖殼.dwg
- 防盜門(mén)鎖殼.dwg
- 防盜門(mén)鎖殼.dwg
- 防盜門(mén)鎖殼.dwg
- 土木工程畢業(yè)設(shè)計(jì)--居民樓設(shè)計(jì)
- 青島市某5層居民樓設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 某小區(qū)居民樓供配電與照明設(shè)計(jì)
- 六層居民樓框架結(jié)構(gòu)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 防盜門(mén)鎖殼成形模及整套模具設(shè)計(jì)
- 6層居民樓供配電畢業(yè)設(shè)計(jì)-長(zhǎng)春明珠13號(hào)樓建筑電氣設(shè)計(jì)
- 防盜門(mén)鎖殼成形模及整套模具設(shè)計(jì).doc
- 畢業(yè)設(shè)計(jì)防盜門(mén)生產(chǎn)線上料系統(tǒng)設(shè)計(jì)
- 防盜門(mén)鎖殼成形模及整套模具設(shè)計(jì)論文.doc
- 居民樓cfg樁地基加固畢業(yè)論文
- 防盜門(mén)鎖殼成形模及整套模具設(shè)計(jì)論文.doc
- 某居民樓cfg樁地基加固設(shè)計(jì)畢業(yè)論文
- 某小區(qū)居民樓項(xiàng)目外墻外保溫工程投標(biāo)書(shū)
- 防盜門(mén)鎖殼成形模及整套模具設(shè)計(jì)論文.doc
評(píng)論
0/150
提交評(píng)論