單片機控制的多功能密碼鎖的設計_第1頁
單片機控制的多功能密碼鎖的設計_第2頁
單片機控制的多功能密碼鎖的設計_第3頁
單片機控制的多功能密碼鎖的設計_第4頁
單片機控制的多功能密碼鎖的設計_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要隨著科技的日益發(fā)展,電子密碼控制系統(tǒng)已越來越符合人們的要求。本文介紹了基于單片機和串行eeprom的智能密碼控制系統(tǒng),對系統(tǒng)硬件設計和軟件實現(xiàn)進行了詳細的描述。該系統(tǒng)采用at89s51單片機和at24c01串行eeprom,通過at89s51模擬i2c總線和at24c01通訊,實現(xiàn)密碼控制的功能。本文從經濟實用的角度出發(fā),采用美國atmel公司的單片機at89s51作為主控芯片與數據存儲器單元,結合外圍的矩陣鍵盤輸入、led顯示、報警、開鎖等,用c語言編寫主控芯片的控制程序與eeprom讀寫程序相結合,設計了一款可以多次更改密碼,具有報警功能的電子密碼控制系統(tǒng)。這種電路設計具有防試探按鍵輸

2、入、智能控制上鎖、開鎖、報警、修改密碼等多種功能。密碼長度可變、保密性強、靈活性高。經實驗證明,該密碼控制系統(tǒng)具有設計方法合理,簡單易行,成本低,安全使用等特點,符合車輛、辦公室用鎖要求,具有推廣價值。關鍵詞: 密碼控制;單片機;eeprom讀寫程序;報警abstractas the development of science and technology day by day, the key control system is more in line with the requirements of people. the paper presents a cryptographic

3、smart password control based on mcu and serial eeprom, describes hardware structure and software design of the system. it adopts at89s51 and at24c01, realizes the function of cryptographic smart password control. at89s51 communicates with at24c01 by i2c bus to achieve the password control function.t

4、his article from the economical and practical point of view, the use of the united states atmel corporation at89s51 microcontroller as a master chip and the data memory unit, combined with the external matrix keyboard input, led digital display, alarm, unlock and so on, dominated by the c programmin

5、g 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 the password control. this circuit design with anti-test button input, intelligent control lock, unlock, alarm, multip

6、le functions, such as change password. password length can be changed, even more secret and flexible than others.experiments show that the password control system is characterized by its reasonable designing methods, simple operation, low cost and property of safety and practicalitybesides,the passw

7、ord control can be used in the office and has great potential for commercial developmentkey words:password control; single-chip; eeprom read and write procedures; alarm目錄摘要iabstractii目錄iii第一章 引言- 1 -1.1選題背景- 1 -1.2電子密碼控制簡介- 1 -1.3電子密碼控制的發(fā)展趨勢- 1 -1.4本設計所要實現(xiàn)的目標- 2 -第二章 電話報警電路的設計- 3 -2.1 電話報警電路總圖- 3 -2

8、.2 模擬摘機電路設計- 4 -2.3 dtmf信號輸出放大電路的設計- 5 -2.4 mt8880的介紹- 5 -第三章 語音錄放電路的設計- 7 -3.1 isd1760功能概述- 7 -3.2 isd1760使用要點- 8 -3.3 isd1760的外圍電路設計- 8 -第四章 音頻放大和聲控報警電路的設計- 9 -4.1 音頻放大電路的設計- 9 -4.2 聲控報警電路- 9 -4.3掉電保護電路的設計- 10 -第五章 程序設計- 12 -5.1 按鍵功能設計- 12 -5.2功能開鎖模塊的程序設計- 12 -第六章 鍵盤輸入和顯示電路的設計- 16 -6.1 鍵盤輸入部分的設計-

9、16 -6.2 顯示部分的設計- 17 -第七章 結束語- 18 -參考文獻- 19 -致 謝- 20 -附錄- 21 -第一章 引言1.1 選題背景在安全技術防范領域,具有防盜報警功能的電子密碼控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機械式密碼控制系統(tǒng),克服了機械式密碼控制的密碼量少、安全性能差的缺點,使電子密碼控制系統(tǒng)無論在技術上還是在性能上都大大提高了一步。隨著大規(guī)模集成電路技術的發(fā)展,特別是單片機的問世,出現(xiàn)了帶微處理器的智能密碼控制系統(tǒng),它除具有傳統(tǒng)電子密碼控制系統(tǒng)的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼控制系統(tǒng)具有很高的安全性、可靠性,應用日益廣泛。1.2 電子密碼控制簡介電子密

10、碼控制是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產品。電子密碼控制不論性能還是安全性都已大大超過了機械類。其特點如下:1) 保密性好,編碼量多,遠遠大于機械控制。隨機開鎖成功率幾乎為零。2) 密碼可變,用戶可以隨時更改密碼,防止密碼被盜,同時也可以避免因人員的更替而使控制的保密性下降。3) 誤碼輸入保護,當輸入密碼多次錯誤時,報警系統(tǒng)自動啟動。4) 無活動零件,不會磨損,壽命長。5) 使用靈活性好,不像機械鎖必須佩帶鑰匙才能開鎖。6) 電子密碼控制系統(tǒng)具有操作簡單易行,一學即會的特點。1.3 電子密碼控制的發(fā)展趨勢由于電子器件所限,以前開發(fā)的電子

11、密碼控制系統(tǒng),其種類不多,保密性差,最基本的就是只依靠最簡單的模擬電子開關來實現(xiàn)的,制作簡單但很不安全,后來便是基于eda來實現(xiàn)的,其電路結構復雜,電子元件繁多,也有使用早先的20引腳的2051系列單片機來實現(xiàn)的,但密碼簡單,易破解。隨著電子元件的進一步發(fā)展,電子密碼控制系統(tǒng)也出現(xiàn)了很多的種類,功能日益強大,使用更加方便,安全保密性更強,由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應元件,實現(xiàn)了更為真正的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的發(fā)展及人們對保密性需求的提高出現(xiàn)了越來越多的電子密碼控制系統(tǒng) 。由于數字、字符、圖形圖像、人體生物特征和時間等要素均可成為電子

12、信息,組合使用這些信息能夠使電子防盜密碼控制獲得更高的保密性,如防范森嚴的金庫,需要使用復合信息密碼的電子防盜密碼控制系統(tǒng)。組合使用信息也能夠使電子防盜密碼控制系統(tǒng)獲得無窮擴展的可能??梢钥闯鼋M合使用電子信息是電子密碼控制系統(tǒng)今后發(fā)展的趨勢 。1.4 本設計所要實現(xiàn)的目標本設計采用單片機為主控芯片,結合外圍電路,組成電子密碼控制系統(tǒng),用戶想要打開鎖,必先通過提供的鍵盤輸入正確的密碼才可以,密碼輸入錯誤有提示,為了提高安全性,當密碼輸入錯誤三次將報警。密碼可以由用戶自己修改設定,鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作。第二章 電話報警電路的

13、設計2.1 電話報警電路總圖 電話報警電路如圖2-1所示。該電路主要完成模擬摘機、線路狀態(tài)檢測與dtmf撥號功能。mt8800以dtmf撥號方式撥打預先存儲的電話號碼。tone輸出的dtmf信號經過音頻放大電路放大后發(fā)送到電話線上(否則交換機不能識別所發(fā)送的號碼數據)。圖2-1 電話報警電路2.2 模擬摘機電路設計單片機控制mt8880發(fā)送或接受dtmf信號前,需要進行模擬摘機。實現(xiàn)模擬摘機的電路如圖2-2所示。其中,整流橋bridge1可以調整電話線直流電壓極性,r12為模擬摘機電阻。tel端加低電平時,三極管2n5551和2n5401均處于截止狀態(tài),直流環(huán)路斷開,反饋電流為零,交換機檢測到

14、未摘機;tel端加高電平時,2n5551和2n5401均飽和導通,直流環(huán)路接通,將r12接入電話線兩端,電話線上電壓由50v降低到34v,環(huán)路內產生大于10ma的反饋電流,交換機檢測到摘機。實現(xiàn)模擬摘機的電路如圖2-2所示圖 2-2 模擬摘機電路2.3 dtmf信號輸出放大電路的設計單片機控制mt8880產生的dtmf信號由tone端輸出,幅值為550mv(測量波形時,將tone端對地接一個10k的電阻,示波器要用隔離變壓器隔離或者與電話線斷開,否則示波器的接地端將短接電話線的直流電壓);而交換機能夠檢測到的有效dtmf信號幅值為2.5v,因此,mt8880產生的dtmf信號需要經過放大才能被

15、交換機識別。這里選擇三極管2n5551作為放大元件,放大電路的放大倍數設為5,經過放大后,發(fā)送到電話線上的信號約為3v(允許存在失真現(xiàn)象,不影響正常撥號),能被交換機識別。dtmf信號放大電路如圖2-3所示。圖2-3 dtmf信號放大電路2.4 mt8880的介紹mt8880是zarlink公司生產的集成dtmf信號的編碼和解碼芯片。該芯片具有集成度高,功耗低,可編程控制等特點,能夠與多種單片機接口實現(xiàn)dtmf信號發(fā)送、接收和狀態(tài)檢測等功能。 電源端vdd為芯片工作的電源電壓,使用5v電壓。vss接地。vref為芯片內部基準電壓輸出端。由vdd和vss產生,通常為vdd/2,可作為芯片內部運放

16、的偏置電壓。數據端in+為dtmf信號的同向放大輸入端,in為反向放大輸入端。d0d3為4位數據總線,與ttl電平兼容。當片選信號無效或12腳為低電平時,總線處于高阻態(tài)。tone為dtmf信號輸出端??刂贫薱s為片選信號輸入端,低電平有效。r/w為讀寫信號輸入端,與ttl電平兼容。gs為增益選擇端。該端外接反饋電阻與運放輸入端的電阻產生前置dtmf放大信號。irq/cp為中斷請求信號輸出端/呼叫處理模式信號輸出端。漏極開路輸出,使用時外接3到10k的上拉電阻。在dtmf模式下,當接收到一個有效的dtmf信號時,該端輸出一個負脈沖;在cp模式下,中斷方式有效,當檢測到電話線路上的不同信號時,該端

17、輸出不同頻率的矩形波信號。est為初始控制輸出端。檢測到有效的dtmf信號,est輸出高電平;否則輸出低電平。第三章 語音錄放電路的設計語音錄放電路如圖3-1所示。對isd1760的錄音操作,使用獨立按鍵操作方式,持續(xù)按下sc_3鍵,從mk端輸入語音信號,d1_c的led燈亮,表示正在錄音。放音操作由單片機通過spi總線控制。由tone輸出的語音信號經過音頻放大電路放大后發(fā)送到電話線上。圖 3-1 語音錄放電路3.1 isd1760功能概述 isd1760是nuvoton公司出產的一款高質量、高集成度的單片多信息語音錄放芯片。芯片內部包含自動增益控制、麥克風前置放大器、揚聲器驅動線路、振蕩器和

18、內存等電路單元,適用于多種電子系統(tǒng)。該芯片可以實現(xiàn)錄放語音10萬次,存儲內容可掉電保存;音質好,電源電壓范圍寬;控制方式靈活方便,可通過獨立按鍵模式或spi模式分別控制,實現(xiàn)語音錄放,擦除等操作;語音信號輸入方式有mic和anain兩種錄音模式;調節(jié)采樣電阻值可改變采樣頻率,同時可改變錄放音時間長短。3.2 isd1760使用要點 isd1760的引腳結構及功能如下:(1)電源端:vccd為數字電源電壓端。vcca為模擬電源電壓端。vccp為pwm喇叭驅動電源端。在實際應用中,vccd、vcca和vccp連接在一起,提供芯片工作電壓,電壓輸入范圍為2.4v到5.5v,一般使用5v電壓。在pcb

19、布線時vccd、vcca和vccp采用單點接電源方式,并與接地端之間并入10uf的極性電容和0.1uf的瓷片電容。vssp1為pwm喇叭正極驅動地端。vssp2為喇叭負極驅動地端。vssa為模擬電源地端,vssd為數字電源地端。在pcb布線時,vssp1、vssp2、vssa、vssd之間采用單點接地方式。(2)信號端:anain為模擬信號輔助輸入端。當芯片處于錄音或直通方式時,輔助輸入模擬信號。mic+為麥克風差分信號同向輸入端。mic-為麥克風差分信號反向輸入端。sp+為喇叭正極輸出端。sp-為喇叭負極輸出端。aud/aux為輔助輸出端。aud為單端電流輸出,aux為單端電壓輸出,默認設置

20、為aud輸出。int/rdy為工作狀態(tài)指示信號輸出。輸出低電平表示當前芯片忙,輸出高電平表示當前芯片空閑。該端為漏極開路輸出,使用時需要外接3k到10k的上拉電阻。led為工作狀態(tài)指示輸出,低電平有效。(3)控制端:reset為復位信號輸入端,低電平有效。ss為spi借口的片選信號輸入端,低電平有效。sclk為spi接口的串行時鐘信號輸入端,低電平有效。miso為spi接口的數據輸出端,mosi為spi借口的數據輸入端。agc為自動增益控制端。rosc為外接震蕩電阻輸入端,外接電阻大小決定isd1760的采樣頻率。vol為音量控制端,低電平有效。ft為直通方式控制端,低電平有效。play為放音

21、控制端,低電平有效。rec為錄音控制端,低電平有效。erase為擦除控制端,低電平有效。pwd為快進控制端,低電平有效。3.3 isd1760的外圍電路設計外圍電路的設計要點在于isd1760與單片機接口的設計。這里選擇isd1760的spi工作方式,需要利用單片機的i/o口模擬spi接口。為了方便設置isd1760的采樣頻率,電路提供四個可選的震蕩電阻,分別為53k、82k、100k、160k,這里選擇82k語音信號由麥克風輸入,由sp+和sp-輸出。第四章 音頻放大和聲控報警電路的設計4.1 音頻放大電路的設計音頻放大電路如圖4-1所示,采用單管反向放大電路實現(xiàn)音頻放大。由于語音信號和dt

22、mf信號均屬于音頻信號的頻率范圍,因此可以共用一個放大電路。音頻信號只取決于頻率大小,與相位無關,所以反向放大對音頻信號和dtmf撥號沒有影響。圖 4-1 音頻放大電路放大倍數的計算4.2 聲控報警電路聲控報警電路如圖4-2所示,在p14端輸入低電平時,蜂鳴器發(fā)出聲音報警。圖4-2 聲控報警電路4.3掉電保護電路的設計圖4-3 掉電保護電路掉電保護電路如圖4-3所示,系統(tǒng)采用eprom芯片at24c08b的wp端接gnd。4.3.1 at24c08b功能概述 at24c08b是一種8k的兩線制串行eeprom,它的工作電壓范圍寬,可適用于標準電壓和低電壓操作,可以很方便的應用到低功耗,低電壓場

23、合;內部采用施密特觸發(fā)器過濾輸入的數據,可以很好的抑制噪聲干擾;帶數據硬件寫保護功能。4.3.1 at24c08b的引腳及其功能電源端:vcc為芯片工作電源電壓,電壓范圍1.8-5.5v。gnd為接地端??刂贫耍簊cl為串行時鐘輸入端。在數據的上升沿,數據寫入每個eeprom單元;在時鐘的下降沿,數據從每個eeprom單元中讀取。應用時應在該端外加上拉電阻1k-10k。地址輸入端:a2 a1 a0為地址輸入端。這些引腳用于多個器件級聯(lián)時設置器件地址。在同一i2c總線上,最多只能連接兩個at24c08b器件,則a2可以直接接地。寫保護端:wp為寫保護端。該端接vcc時,所有的存儲單元都被寫保護,

24、只允許進行讀操作;該端接地時,允許器件進行正常的讀寫操作。第五章 程序設計5.1 按鍵功能設計系統(tǒng)20個按鍵的功能定義如圖5-1所示。k0-k14為數字鍵0-e,其中0-e用于設置密碼,0-9用于設置電話號碼;其他5個鍵作為功能鍵,用于基本操作的選擇。單獨的矩陣鍵盤是非編碼鍵盤,連接ch451使用時,ch451提供內部編碼。0 123456789abcde密碼更改電話更改開鎖取消確定圖 5-1 20個按鍵的功能定義5.2 功能開鎖模塊的程序設計5.2.1 密碼輸入的程序設計在開鎖,密碼更改或手機號碼更改時,都需要輸入密碼,也就是調用密碼輸入子程序。密碼輸入操作過程如下:輸入六位密碼后按下“確定

25、”鍵,若密碼正確,則密碼正確標志位置1;若密碼錯誤,則錯誤次數加1,當密碼輸入錯誤累計超過3次時,密碼正確標志位清0。若按下取消鍵,則退出密碼輸入操作。密碼輸入子程序的流程圖如圖5-2所示。密碼輸入子程序取消?輸入六位密碼確定?密碼正確?密碼輸入次數+1累計錯誤次數=3?密碼正確標志位置1密碼正確標志位清零返回圖 5-2 密碼輸入子程序流程圖5.2.2 開鎖的程序設計開鎖的過程如下:若輸入密碼正確,則密碼錯誤次數清零,并發(fā)出開鎖信號開鎖;若密碼輸入錯誤的累計次數超過三次,則進行聲光和電話報警。開鎖的子程序流程如圖5-3所示。密碼正確?調用密碼輸入子程序輸入次數清零開鎖返回累計錯誤次數=3?開鎖

26、子程序調用聲光和電話報警子程序圖 5-2 開鎖子程序流程圖5.2.3 密碼更改的程序設計密碼更改要求先輸入原始密碼,具體操作過程如下:若輸入的原始密碼正確,密碼錯誤次數清零,輸入新密碼后按下確定鍵,密碼更改完成。若按下取消鍵則退出密碼更改操作。若密碼輸入錯誤次數超過3次,則進行聲光和電話報警。密碼更改子程序調用密碼輸入子程序密碼正確?顯示hello輸入新密碼保存密碼返回調用報警子程序圖 5-4 密碼更改子程序流程圖5.2.4 手機號碼更改的程序設計 手機號碼更改要求輸入原始密碼,若密碼正確,密碼輸入錯誤次數清零,顯示hello,輸入新的手機號碼后按下確認鍵,手機號碼更改完成。手機號碼更改的子程

27、序流程圖與密碼更改的子程序流程圖相同,這里不在重復。圖 5-3 電壓/電流轉換電路第六章 鍵盤輸入和顯示電路的設計作為整個系統(tǒng)來講,鍵盤輸入和顯示電路的設計是必不可少的。這里使用矩陣鍵盤輸入模式和功耗低且價格低的led作為顯示器件,設計簡單,使用方便,而且使用壽命比lcd的使用壽命長,比較實用。6.1 鍵盤輸入部分的設計這里選擇ch451l作為鍵盤輸入和驅動數碼管顯示的核心芯片。ch451l是一個整合了數碼管顯示驅動和鍵盤掃描控制的多功能外圍芯片。ch451l內置震蕩電路,內部具有8個8位能保存數字數據的數據寄存器,內部具有推挽式大電流驅動級,可以驅動8位最大兩英寸的數碼管或者64個led發(fā)光

28、管,并具有bcd譯碼,閃爍,移位等功能。同時還可以進行64鍵的鍵盤掃描,內置去抖電路。ch451l竄行接口由硬件實現(xiàn),可以頻繁的通過可級聯(lián)的串行接口與單片機高速交換數據,而絕對不會降低ch451l的工作效率,提供上電復位和看門狗等監(jiān)控功能。 關于鍵盤輸入部分的設計請參看下一章第一節(jié)。6.2 顯示部分的設計ch451l可以驅動8個共陰極數碼管,本設計選用2個四位連體的共陰極數碼管,型號為hs420361k。所有數碼管的相同段引腳并聯(lián)后通過串聯(lián)的限流電阻連接ch451l的段驅動引腳seg0seg7,各數碼管的陰極分別由ch451l的dig0dig7引腳進行驅動。串接限流電阻的阻值越大,則驅動電流越

29、小,數碼管的顯示亮度越低,阻值范圍一般為601k,在其他條件相同的情況下,應該優(yōu)先選擇阻值大的電阻。在5v電源電壓下,串接200電阻通常對應的段電流為13ma。在數碼管的面板布局上,建議數碼管按照從左到右的布局,以便匹配顯示的需要。第七章 結束語在畢業(yè)設計中,通過對各部分電路的設計,使我認識到如何做好一個完整的設計。在設計過程中,詳細查詢了各部分相關的知識,使我對單片機、模擬電子技術、數字電子技術、電力電子技術等知識有了進一步的了解。同時,使我們所學的專業(yè)理論知識與實際的科技開發(fā)結合起來,通過理論與實際的結合,提高了我們綜合運用知識的能力和實際動手能力。在整個設計過程中,通過對設計方法的了解,

30、設計步驟的選擇,使我對設計有了總體的把握,對后面具體的實施有了可靠的保證;在設計中,通過對設計原理的思考,原理圖的繪制,電路板的制作,電路的調試,基本上了解和掌握了科技開發(fā)的基本方法和步驟,為畢業(yè)后工作與學習打下良好的基礎。但是,由于作者水平有限,在本設計中疏忽、錯誤之處難免,希望老師和同學給予批評、指正。參考文獻1 董傳岱,于云華. 數字電子技術. 東營:石油大學出版社,20012 劉潤華,劉立山. 模擬電子技術. 東營:石油大學出版社,20013 王兆安,黃俊. 電力電子技術(第四版).北京:機械工業(yè)出版社,20004 陳治明 主編. 電力電子器件基礎. 北京:機械工業(yè)出版社,19925

31、侯振義 主編. 直流開關電源技術及應用. 北京:電子工業(yè)出版社,20066 李序葆,趙永健. 電力電子器件及其應用. 北京:機械工業(yè)出版社,19967 于安紅 主編. 簡明電子元器件手冊. 上海:上海交通大學出版社,20058 王新賢 主編. 通用集成電路速查手冊. 濟南:山東科學技術出版社,20029 常健生 主編. 檢測與轉換技術. 北京:機械工業(yè)出版社,200510 曲學基 主編. 新編高頻開關穩(wěn)壓電源. 北京:電子工業(yè)出版社,200511 bord d.m., novotny d.w. current control of vsi-pwm inverter. ieee trons.ia

32、,1985,21(2)12 rashid mh. power electronics. prentice-hall, inc, 198813 leonhard, w. control of electrical drives 3rd ed. springer-verlag, 2001致 謝作者在設計的過程中,得到了張老師的精心指導。四個月來,從設計方案的構思,到各部分電路的原理分析和參數計算,再到論文定稿,都凝聚著老師的心血和教誨。特別是原理分析部分和參數計算過程,老師都仔細給予了指導。張老師治學嚴謹,學識淵博,從事工程設計開發(fā)多年,經驗豐富,為我營造了一種良好的精神氛圍。從設計一開始程老師就

33、告訴我們“授人以魚不如授人以漁”的道理,使我意識到做設計不是摘摘抄抄就可以完成的,要自己真正下工夫。在做設計的這些天里,每當遇到困難時,程老師都給予了大力的支持,使我不僅接受了全新的思想觀念,領會了基本的思考方式,掌握了通用的研究方法,而且還明白了許多待人接物與為人處世的道理。值此論文完稿之際,謹向尊敬的導師表示最誠摯的謝意。衷心地感謝所有幫助過我的老師、同學和朋友們。附錄附錄#include #include function_test.h#include at24c_bc.h#include ch451.h#include isd1760.h#include mt8880send.h/ 主

34、程序/void main (void) tel = 0; / 模擬掛機delay_50ms(4); / 跳過ch451復位過程softreset_at24c();/ 軟件復位24c08bch451_init(); / ch451初始化 isd_init(); / isd1760初始化mt8880_init(); / mt8880初始化leddispp = 0; / 初始選擇數碼管位7為顯示位置errtimes = 0; / 輸入密碼錯誤次數統(tǒng)計清零pwrightf = 0; / 密碼正確與否標志位,=1表示輸入的密碼正確 cancelf = 0; / 取消鍵是否按下標志位,=1表示取消鍵按下e

35、nterf = 0; / enterf=0,表示確認鍵沒有按下;enterf=1,表示確認鍵有按下disp_(); / 顯示8個-ea = 1; / 開總中斷 while (1) keyscan();/ 按鍵掃描 switch (key_value)/ 由鍵值散裝 case 0x0f:pwalter();break; / 密碼更改case 0x10:mobnumatler();break;/ 手機號碼更改 case 0x11:simunlock();break; /開鎖 void start_at24c (void)vsda = 1;vscl = 1; / scl最小高電平脈寬:0.4us(5

36、v),0.6us(/5v)delay_nop;/ 起始信號的最小建立時間:0.25us(5v),0.6us(/5v)vsda = 0;/ sda的下降沿發(fā)送起始信號delay_nop;/ 起始信號的最小保持時間:0.25us(5v),0.6us(/5v)vscl = 0;/ 箝住總線,為發(fā)送器件地址做準備;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v),由ret實現(xiàn)/-/ void stop_at24c (void)/-/ 函數功能: 單片機發(fā)送停止信號/void stop_at24c (void)vsda = 0;vscl = 1;/ scl最小高電平脈寬:0.4us(5

37、v),0.6us(/5v)delay_nop;/ 停止信號的最小建立時間:0.25us(5v),0.6us(/5v)vsda = 1;/ sda的上升沿發(fā)送停止信號delay_nop;/ 新的發(fā)送開始前總線最小空閑時間:1.2us(5v),0.5us(/5v)/vsda=0;vscl = 0;/ 箝住總線,為新的發(fā)送做準備;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v),由ret實現(xiàn)/-/ void ack_at24c (void)/-/ 函數功能: 單片機發(fā)送應答信號注意事項: 單片機讀1b數據后發(fā)送一個應答信號/void ack_at24c (void)vsda = 0

38、;vscl = 1;/ scl最小高電平脈寬:0.4us(5v),0.6us(/5v)delay_nop;vscl = 0;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v)vsda = 1;/-/ void notack_at24c (void)/-/ 函數功能: 單片機發(fā)送非應答信號/ 入口參數: 無/ 返回參數: 無/ 全局變量: 無/ 調用模塊: 無 / 注意事項: 單片機讀數據停止前發(fā)送一個非應答信號/-void notack_at24c (void)vsda = 1;vscl = 1;/ scl最小高電平脈寬:0.4us(5v),0.6us(/5v)delay_no

39、p;vscl = 0;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v)vsda = 0;/-/ void checkack_at24c (void)/-/ 函數功能: 單片機檢查at24c送來的應答信號/ 入口參數: 無/ 返回參數: 無/ 全局變量: revackf:收到at24c應答信號的標志位,為0表示收到/ 調用模塊: 無 / 注意事項: 單片機寫1個地址/數據后檢查/-void checkack_at24c (void)vsda = 1;/ 置sda為輸入口vscl = 1;/ 使sda上數據有效;scl最小高電平脈寬:0.4us(5v),0.6us(/5v)rev

40、ackf = 0;/預設單片機收到應答信號if (vsda)/檢查sda狀態(tài),有應答則revackf=0revackf = 1;/ 無應答則revackf=1vscl = 0;/ 箝住總線,為新的發(fā)送做準備;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v),由ret實現(xiàn)/-/ void softreset_at24c (void)/-/ 函數功能: 單片機軟件復位at24c/ 入口參數: 無/ 返回參數: 無/ 全局變量: 無/ 調用模塊: start_at24c();stop_at24c() / 注意事項: /-void softreset_at24c (void)ucha

41、r i;/ 數據位數暫存單元 start_at24c(); / 發(fā)送起始信號for (i=9; i0; i-)vsda = 1;/ 發(fā)送9個連續(xù)的1vscl = 1;/ 使sda上的數據有效delay_nop;/ scl最小高電平脈寬:0.4us(5v),0.6us(/5v)vscl = 0;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v) start_at24c(); / 發(fā)送起始信號 stop_at24c(); / 發(fā)送停止信號/-/ void wrbyte_at24c (uchar a)/ 函數功能: 單片機發(fā)送1b的地址/數據/ 入口參數: 待發(fā)送的1b地址/數據/

42、返回參數: 無/ 全局變量: 無/ 調用模塊: 無 / 注意事項: 不是一個完整的數據發(fā)送過程;送數的順序是從高到低/-void wrbyte_at24c (uchar a)uchar i;/ 地址/數據位數暫存單元for (i=8; i0; i-)/ 8為1b地址/數據的長度if (a&0x80) vsda = 1;/ 發(fā)送1elsevsda = 0;/ 發(fā)送0vscl = 1;/ 使sda上的數據有效delay_nop;/ scl最小高電平脈寬:0.4us(5v),0.6us(/5v)vscl = 0;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v)a 0; cts-)v

43、scl = 1; / 使sda上的數據有效;scl最小高電平脈寬:0.4us(5v),0.6us(/5v)b = 1;/ 數據b左移1位,注意以下兩句順序不可顛倒if (vsda)/ 讀入sda上的數據 b |= 0x01;vscl = 0;/ scl為低電平允許sda上的數據變化delay_nop;/ scl最小低電平脈寬:0.4us(5v),1.2us(/5v) return (b); / 返回1b的數據/-/ void delay_5ms (unsigned char t)/-/ 函數功能: 時基為5ms的延時/ 例子提示: 調用delay_5ms(20),得到100ms延時/ 入口參數

44、: 無符號8bit整數/ 返回參數: 無/ 全局變量: 無 / 調用模塊: 無/ 注意事項: 基于使用外12mhz晶振的標準8051(如at89s51)單片機/* 令x=207,y=8,n=1,則延時時間 =3y+(n+2)xy+3*t+5t=(4995t+5)t 單位: 1sysclk sysclk=12mhz 誤差delay_5ms(1):延時 5 000 5.000ms 0usdelay_5ms(2): 延時 9 995 9.995ms 5usdelay_5ms(5):延時 24 980 24.980ms 20usdelay_5ms(10):延時 49 995 49.995ms 5usdelay_5ms(20):延時 99 905 99.905ms 95usdelay_5ms(40):延時 199 805 199.805ms 195usdelay_5ms(60):延時 299 705 299.705ms 295usdelay_5ms(100):延時 499 505 499.505ms 495usdelay_5ms(200):延時 999 005 999.005ms 995usdelay_5ms(255):延時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論