




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
百度文庫-讓每個(gè)人平等地提升自我百度文庫-讓每個(gè)人平等地提升自我PAGEPAGE38百度文庫-讓每個(gè)人平等地提升自我PAGE一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)具有設(shè)置數(shù)字密碼任設(shè)、存儲(chǔ)、畫面顯示、語言播報(bào)以及具有報(bào)警功能的密碼鎖。要求:1.密碼由六位數(shù)字組成,可以由用戶自定義設(shè)置。2.密碼鎖具有語言播報(bào)和狀態(tài)顯示功能。3.一次性只允許三次密碼輸入操作,支持密碼修改。4.具有報(bào)警功能。指導(dǎo)教師簽名2013年月日二、指導(dǎo)教師評(píng)語:指導(dǎo)教師簽名:2013年月日三、成績(jī)驗(yàn)收蓋章2013年月日目錄目錄 31設(shè)計(jì)目的 12設(shè)計(jì)的主要內(nèi)容和要求 13整體設(shè)計(jì)方案 14硬件電路設(shè)計(jì) 2系統(tǒng)總電路的設(shè)計(jì) 25V直流穩(wěn)壓電源模塊 3控制電路的設(shè)計(jì) 4語音模塊電路的設(shè)計(jì) 4信號(hào)輸入電路的設(shè)計(jì) 5密碼貯存電路的設(shè)計(jì) 6LCD顯示電路的設(shè)計(jì) 7繼電器模擬鎖模塊及蜂鳴器報(bào)警模塊 75軟件程序設(shè)計(jì) 86系統(tǒng)仿真 14系統(tǒng)仿真環(huán)境及參數(shù)設(shè)置 14系統(tǒng)仿真結(jié)果及其分析 147利用說明 198設(shè)計(jì)總結(jié) 19參考文獻(xiàn) 20附件 21語音智能密碼鎖的設(shè)計(jì)1設(shè)計(jì)目的本文所設(shè)計(jì)的智能密碼鎖系統(tǒng)是以89C52為中心控制器、4*4鍵盤收集輸入信號(hào)、用24C04芯片對(duì)設(shè)定的密碼進(jìn)行保留,同時(shí)設(shè)有SX6288組成的語音模塊,通過LCD、LED燈和語音模塊直觀的顯示密碼鎖所處狀態(tài)。用戶能夠自概念設(shè)置六位的數(shù)字密碼,并有三次輸入密碼的機(jī)緣,當(dāng)密碼輸入錯(cuò)誤時(shí)密碼鎖將會(huì)發(fā)出報(bào)警聲,當(dāng)三次輸入密碼錯(cuò)誤時(shí),密碼鎖將進(jìn)行鍵盤鎖定一段時(shí)刻。2設(shè)計(jì)的主要內(nèi)容和要求LCD能夠及時(shí)顯示密碼鎖的狀態(tài)信息。語音模塊能夠播報(bào)密碼鎖狀態(tài)。能夠設(shè)定初始密碼,支持密碼修改。能夠快速、準(zhǔn)確的收集鍵盤上的輸入信息。用24C04芯片進(jìn)行設(shè)定密碼和保留。當(dāng)密碼輸入錯(cuò)誤時(shí),系統(tǒng)自行報(bào)警,并在持續(xù)輸入超過三次密碼錯(cuò)誤時(shí),將對(duì)鍵盤鎖定一段時(shí)刻。設(shè)計(jì)一個(gè)5V的穩(wěn)固電源,給系統(tǒng)供電。8)系統(tǒng)自概念強(qiáng),工作穩(wěn)固、安全。3整體設(shè)計(jì)方案本文設(shè)計(jì)的語音智能密碼鎖系統(tǒng)框圖如圖所示。系統(tǒng)主要分為電源模塊、控制模塊、語音模塊、密碼保留模塊、LCD顯示模塊、模擬鎖和蜂鳴器報(bào)警模塊組成。圖智能密碼鎖系統(tǒng)框圖本系統(tǒng)分為寫初始密碼和密碼鎖工作兩部份。1)寫密碼部份:開始時(shí)LCD顯示初始化狀態(tài),進(jìn)鍵盤掃描,當(dāng)按下C鍵后,能夠自概念設(shè)定六位的密碼,當(dāng)按下D鍵時(shí),LCD顯示所設(shè)密碼。2)密碼鎖工作部部份:開始時(shí)LCD顯示初始狀態(tài),鎖處于關(guān)的狀態(tài),紅色LED亮,等待鍵盤掃描。按下A鍵后,蜂鳴器響三聲,LCD顯示請(qǐng)輸入密碼提示進(jìn)入開鎖進(jìn)程,現(xiàn)在有三次輸入密碼機(jī)緣。若輸入密碼正確,將有蜂鳴器將會(huì)響四聲,LCD顯示鎖已打開,紅色LED滅、綠色LED亮四種方式提示成功開鎖,現(xiàn)在,鎖處于已開鎖狀態(tài)。以后若按下E鍵系統(tǒng)將會(huì)進(jìn)入初始狀態(tài);若是現(xiàn)在按下B鍵,系統(tǒng)將會(huì)進(jìn)入重設(shè)密碼進(jìn)程,能夠自概念重設(shè)六位的數(shù)字密碼,設(shè)定后按下E鍵,系統(tǒng)進(jìn)入初始狀態(tài)。若輸入密碼錯(cuò)誤,蜂鳴器將會(huì)發(fā)出報(bào)警聲,持續(xù)三次輸入錯(cuò)誤密碼,系統(tǒng)將會(huì)對(duì)鍵盤鎖定一段時(shí)刻,按下E鍵后,系統(tǒng)進(jìn)入讀密碼初始狀態(tài)。4硬件電路設(shè)計(jì)系統(tǒng)總電路的設(shè)計(jì)本系統(tǒng)原理圖如圖所示:圖系統(tǒng)電路原理圖在設(shè)計(jì)本系統(tǒng)硬件時(shí),主要有以下電路模塊:+5V直流穩(wěn)壓電源模塊;系統(tǒng)硬件將采用AT89C52單片機(jī)為控制部份;SX6288中文語音合成播報(bào)模塊;以4*4矩陣鍵盤為信號(hào)輸入模塊;采用24C04芯片作為保留密碼模塊;LCD顯示電路模塊;繼電器模擬鎖模塊及蜂鳴器報(bào)警模塊。直流穩(wěn)壓電源模塊系統(tǒng)5V直流電源圖電路供電,它的工作進(jìn)程如下:220V市電通過變壓器降壓為9V,經(jīng)電容濾波變成光滑的電壓,最后通過7805三端穩(wěn)壓器電路降壓,再濾波最終取得5V的直流電源。從而保證芯片在正常電壓范圍內(nèi)工作,保證了整個(gè)電路的正常工作。圖直流穩(wěn)壓電源電路原理圖控制電路的設(shè)計(jì)本設(shè)計(jì)系統(tǒng)采用AT89C52單片機(jī)作為總控制電路,如圖所示。本單片機(jī)具有40個(gè)引腳,6個(gè)中斷源,20個(gè)I/O接口。本設(shè)計(jì)以P0和P2、P3端口作為信號(hào)輸出口,P1端口作為信號(hào)收集輸入口,通過C語言編程對(duì)其進(jìn)行控制,本設(shè)計(jì)利用其集成度高,體積小,開發(fā)性能好,控制能力強(qiáng),靠得住性強(qiáng)的特點(diǎn)使智能密碼鎖工作穩(wěn)固安全。圖單片機(jī)電路圖語音模塊電路的設(shè)計(jì)本語音模塊包括:控制模塊、SX6288A語音合成芯片、數(shù)據(jù)庫芯片spiflash、功放模塊和喇叭。主控制器和SX6288A之間通過UART接口連接,控制器通過通信接口SX6288A發(fā)送控制命令和文本,SX6288A把接收到的文本轉(zhuǎn)化為語音信號(hào)輸出,輸出的信號(hào)通過功率放大器進(jìn)行放大后接到喇叭進(jìn)行播放。SX6288A具有音質(zhì)好、自然度高、利用方式簡(jiǎn)單、合成速度快、價(jià)錢低等特點(diǎn),支持GB231二、GBK、BIG5和UNICODE內(nèi)碼格式的文本,支持多種通信波特率。實(shí)物圖如圖所示:圖語音模塊實(shí)物圖從左至右引腳名稱和說明如下:SP+:歐姆的揚(yáng)聲器正級(jí)。SP-:歐姆的揚(yáng)聲器正級(jí)。BUSY:語音處置忙信號(hào),忙為高電平,不忙為低電平。TX:模塊的串行數(shù)據(jù)發(fā)送端,連接單片機(jī)RXD引腳。RX:模塊的串行數(shù)據(jù)接收端,連接單片機(jī)TXD引腳。GND:電源地GND。VCC;電源直流電。信號(hào)輸入電路的設(shè)計(jì)本設(shè)計(jì)利用4*4矩陣鍵盤作為信號(hào)電路,其電路圖如圖所示:圖4*4鍵盤信號(hào)輸入電路的設(shè)計(jì)單片機(jī)通過對(duì)4*4鍵盤掃描,收集輸入指令,從而使單片機(jī)完成相應(yīng)數(shù)據(jù)處置。4*4矩陣鍵盤工作原理如下:4*4矩陣鍵盤采用逐行掃描法,依次從第一至最末行線上發(fā)出低電平信號(hào),若是該行線所連接的鍵沒有按下的話,則列線所接的端口取得的是全“1”信號(hào),若是有鍵按下的話,則取得非全“1”信號(hào)。然后再通過從列線讀入的信號(hào)來識(shí)別是哪一列的按鍵閉合。為了避免雙鍵多多鍵同時(shí)按下,再以一樣的方式往下掃描,一直到最后一行,若發(fā)覺僅有一個(gè)“1”,則為有效鍵,不然全數(shù)作廢。本設(shè)計(jì)以P1^0-P^3為行掃描信號(hào),在通過P1^4-P^7作為列線讀入。對(duì)各個(gè)按鍵進(jìn)行相應(yīng)功能的設(shè)置,單片機(jī)對(duì)有效鍵時(shí)的信號(hào)收集,進(jìn)而對(duì)收集的信號(hào)進(jìn)行處置。密碼貯存電路的設(shè)計(jì)本設(shè)計(jì)采用AT24C04芯片作為密碼保留模塊電路,其引腳圖如所示。AT24C04是典型的I2C總線結(jié)構(gòu),具有512bit容量EEPROM存儲(chǔ)器,其是一種采用I2C總線接口的串行總線存儲(chǔ)器,這種存儲(chǔ)器具有體積小、引腳少、功耗低、工作電壓范圍寬等特點(diǎn)。其具有支持I2C總線協(xié)議、占用單片機(jī)I/O端口少,芯片擴(kuò)展方便、讀寫簡(jiǎn)單等長處。密碼貯存電路如圖所示:圖AT24C04引腳圖圖密碼貯存電路工作原理:AT24C04傳送數(shù)據(jù)進(jìn)程中共有三種類型信號(hào):開始信號(hào)、停止信號(hào)和應(yīng)答信號(hào)。開始信號(hào):SCL維持高電平的狀態(tài)下,SDA出現(xiàn)下降沿。出現(xiàn)開始信號(hào)以后,總線被以為“忙”。停止信號(hào):SCL維持高電平的狀態(tài)下,SDA出現(xiàn)上升沿。停止信號(hào)事后,總線被以為“空閑”。應(yīng)答信號(hào):接收數(shù)據(jù)的器件在接收到8位數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的器件發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。主器件產(chǎn)生開始信號(hào)以后,發(fā)送的第一個(gè)字節(jié)為控制字節(jié)。前七位為從器件的地址片選信號(hào)。最低位為數(shù)據(jù)傳送方向位(高電平表示讀從器件,低電平表示寫從器件),然后發(fā)送一個(gè)選擇從器件片內(nèi)地址的字節(jié),來決定開始讀寫數(shù)據(jù)的起始地址。接著再發(fā)送數(shù)據(jù)字節(jié),能夠是單字節(jié)數(shù)據(jù),也能夠是一組數(shù)據(jù),由主器件來決定。從器件每接收到一個(gè)字節(jié)以后,都要返回一個(gè)應(yīng)答信號(hào)(ASK=0)。主器件在應(yīng)答時(shí)鐘周期高電平期間釋放SDA線,轉(zhuǎn)由從器件控制,從器件在那個(gè)時(shí)鐘周期的高電平期間必需拉低SDA線,并使之為穩(wěn)固的低電平,作為有效的應(yīng)答信號(hào)。在本設(shè)計(jì)中通過單片機(jī)和引腳別離對(duì)AT24C04芯片SCL和SDA引腳控制,實(shí)行密碼數(shù)據(jù)的讀和寫,從而完成密碼的設(shè)定保留。LCD顯示電路的設(shè)計(jì)本設(shè)計(jì)采用1602液晶作為顯示電路,能夠進(jìn)行背光對(duì)比度調(diào)節(jié),內(nèi)含復(fù)位電路,提供了各類控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能,有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM8個(gè)可由用戶自概念的5X7的字符發(fā)生器CGRAM。其電路圖如圖所示。在本系統(tǒng)中,單片機(jī)P0端口作為LCD數(shù)據(jù)接收口,控制液晶的讀寫和使能端,完成對(duì)液晶的顯示控制。圖LCD顯示電路繼電器模擬鎖模塊及蜂鳴器報(bào)警模塊在本設(shè)計(jì)系統(tǒng)頂用繼電器斷開與閉合模擬鎖的開鎖與鎖定的狀態(tài),繼電器一個(gè)端口接在單片機(jī),當(dāng)為高電平時(shí),繼電器繞線電流通過三極管Q2放大,繞線產(chǎn)生磁效應(yīng),吸合銜鐵,視為開鎖,其電路圖如圖所示。在報(bào)警模塊中,通過一個(gè)三極管放大電流從而完成蜂鳴器的驅(qū)動(dòng),當(dāng)端口為高電平時(shí),蜂鳴器發(fā)出響聲,低電平時(shí)不響。本設(shè)計(jì)通過對(duì)電平頻率的控制從而實(shí)現(xiàn)不同的響聲。其電路圖如所示。圖模擬鎖電路圖圖報(bào)警電路5軟件程序設(shè)計(jì)系統(tǒng)程序設(shè)計(jì)本系統(tǒng)程序分為兩部份,初始寫密碼程序和密碼鎖工作程序。如圖所示圖為寫初始密碼流程圖,圖為密碼工作流程圖。密碼輸入初始化畫面顯示密碼輸入初始化畫面顯示鍵盤掃描按鍵C是否按下Y鍵盤掃描顯示設(shè)置密碼開始結(jié)束按鍵D是否按下YNN圖初始密碼程序設(shè)定流程圖圖密碼鎖工作主程序流程圖1)寫初始密碼部份:LCD顯示初始化狀態(tài),系統(tǒng)進(jìn)入鍵盤掃描,僅當(dāng)C鍵按下后,系統(tǒng)進(jìn)入密碼設(shè)定階段,其他鍵對(duì)系統(tǒng)不產(chǎn)生作用,進(jìn)入設(shè)定階段后,能夠自概念設(shè)定六位的密碼。繼續(xù)對(duì)鍵盤掃描,當(dāng)按下D鍵時(shí),LCD顯示所設(shè)密碼,按下C鍵能夠重設(shè)密碼,按下其他鍵是將不會(huì)對(duì)系統(tǒng)產(chǎn)生影響。其設(shè)計(jì)流程圖如圖所示。2)密碼鎖工作部份產(chǎn)生:LCD顯示初始狀態(tài),系統(tǒng)進(jìn)入鍵盤掃描。僅當(dāng)按下A鍵后,蜂鳴器響三聲,LCD顯示請(qǐng)輸入密碼提示進(jìn)入開鎖進(jìn)程,現(xiàn)在有三次輸入密碼機(jī)緣。若密碼輸入正確,蜂鳴器響四聲,LCD顯示鎖已打開,紅色LED滅、綠色LED亮,若按下E鍵系統(tǒng)將會(huì)進(jìn)入初始狀態(tài);若是現(xiàn)在按下B鍵,系統(tǒng)將會(huì)進(jìn)入重設(shè)密碼進(jìn)程,能夠自概念重設(shè)六位的數(shù)字密碼,設(shè)定后按下E鍵,系統(tǒng)進(jìn)入初始狀態(tài)。若輸入密碼錯(cuò)誤,蜂鳴器將會(huì)發(fā)出報(bào)警聲,持續(xù)三次輸入錯(cuò)誤密碼,系統(tǒng)將會(huì)對(duì)鍵盤鎖定一段時(shí)刻,按下E鍵后,系統(tǒng)進(jìn)入讀密碼初始狀態(tài)。其流程圖如圖所示。主要程序設(shè)計(jì)1)初始密碼設(shè)定在程序中包括蜂鳴器驅(qū)動(dòng)子函數(shù)、延時(shí)子函數(shù)、4*4鍵盤掃描函數(shù)、開機(jī)液晶顯示子函數(shù)、寫密碼子函數(shù)、讀密碼子函數(shù)、1602驅(qū)動(dòng)子頭文件函數(shù)、AT24C04驅(qū)動(dòng)頭文件函數(shù)(見附件)。其主函數(shù)如下所示:voidmain(){uchari;BEEP=0;start: Delay_ms(10);lcd_init();I2C_init();lcd_wcmd(0x00|0x80);i=0;while(line1_data[i]!='\0'){lcd_wdat(line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(line2_data[i]!='\0'){lcd_wdat(line2_data[i]);i++;}while(1){P1=0xf0;if(P1!=0xf0){MatrixKey();if(key==0x0c)WriteCode();if(key==0x0d)ReadCode();if(key==0x0e)gotostart;}}}2)密碼鎖工作函數(shù)在程序中包括蜂鳴器驅(qū)動(dòng)子函數(shù)、延時(shí)子函數(shù)、4*4鍵盤掃描函數(shù)、開機(jī)液晶顯示子函數(shù)、寫密碼子函數(shù)、讀密碼子函數(shù)、密碼輸入錯(cuò)誤顯示子函數(shù)、密碼輸入正確顯示子函數(shù)、重設(shè)密碼子函數(shù)、報(bào)警鳴聲子函數(shù)、按時(shí)中斷子函數(shù)、1602驅(qū)動(dòng)子頭文件函數(shù)、AT24C04驅(qū)動(dòng)頭文件函數(shù)(見附件)。其主函數(shù)如下所示:voidmain(){TMOD=0x21;592MHzTL1=0xfd;ES=1;ex文件。打開Proteus軟件,進(jìn)入ProteusISIS,第一將設(shè)置初始密碼程序的hex文件導(dǎo)入到80C52中,點(diǎn)擊按鈕,按下C鍵選擇密碼設(shè)置,D鍵為讀密碼功能。再把密碼鎖工作程序生成的hex導(dǎo)入單片機(jī)中,E鍵位功能復(fù)位鍵,按下A鍵系統(tǒng)進(jìn)入密碼輸入狀態(tài),輸入密碼后,按下B鍵后系統(tǒng)進(jìn)入密碼重設(shè)狀態(tài)。系統(tǒng)仿真結(jié)果及其分析系統(tǒng)仿真系統(tǒng)整體仿真電路圖如圖所示:圖密碼鎖整體proteus仿真圖設(shè)定初始密碼仿真導(dǎo)入初始密碼hex文件后,系統(tǒng)進(jìn)入初始化狀態(tài),仿真結(jié)果如圖所示。圖設(shè)定密碼初始狀態(tài)仿真圖按下掃描按鍵C,系統(tǒng)進(jìn)入密碼設(shè)定輸入狀態(tài),LCD上提示輸入密碼,仿真結(jié)果如圖所示。圖設(shè)定初始密碼輸入仿真圖設(shè)定密碼后按下D鍵,系統(tǒng)進(jìn)入讀密碼狀態(tài),LCD上顯示所設(shè)密碼,仿真圖如圖所示。圖設(shè)定初始密碼讀密碼仿真圖密碼鎖工作仿真導(dǎo)入密碼鎖工作hex文件后,系統(tǒng)進(jìn)入初始狀態(tài),仿真圖同圖所示。按下A鍵,系統(tǒng)進(jìn)入輸入密碼狀態(tài),LCD提示請(qǐng)輸入密碼,仿真圖如圖所示。圖密碼鎖工作輸入密碼仿真圖輸入正確密碼時(shí),LCD提示密碼輸入成功,鎖打開,綠色LED燈亮,仿真圖如圖所示。按下E鍵,系統(tǒng)初始狀態(tài),仿真圖同圖所示。圖密碼輸入正確仿真圖若持續(xù)三次輸入密碼錯(cuò)誤,LCD提示密碼輸入,仿真圖如圖所示。圖持續(xù)三次密碼輸入錯(cuò)誤仿真圖圖重設(shè)密碼輸入仿真圖圖重設(shè)密碼成功仿真圖輸入密碼正確后,按下B鍵,系統(tǒng)進(jìn)入重設(shè)密碼狀態(tài),LCD提示請(qǐng)輸入密碼,仿真圖如圖所示,密碼重設(shè)成功如圖所示。7利用說明利用本設(shè)計(jì)宜按以下步驟進(jìn)行:第一加載設(shè)定初始密碼hex文件,按下C鍵,進(jìn)入密碼設(shè)定輸入狀態(tài),設(shè)定密碼后按下D鍵讀取自己所設(shè)密碼;再加載密碼鎖工作hex文件,進(jìn)入密碼鎖工作狀態(tài),按下A鍵,輸入所設(shè)密碼,輸入密碼正確后,按下B鍵能夠自概念重設(shè)密碼,按下E鍵進(jìn)入初始狀態(tài)。8設(shè)計(jì)總結(jié)本設(shè)計(jì)以89C52為中心控制器、用4*4鍵盤收集輸入信號(hào)、采用典型的I2C總線結(jié)構(gòu)AT24C04芯片貯存密碼、而且通過LCD顯示屏和LED燈直觀地顯示各密碼鎖各類狀態(tài),用繼電器模擬鎖的狀態(tài),用戶能夠自概念設(shè)置6位的數(shù)字密碼,系統(tǒng)還具有報(bào)警功能,該系統(tǒng)大體能夠?qū)崿F(xiàn)本文能夠提出的功能和要求。本設(shè)計(jì)也存在不足,缺點(diǎn)一,單重的密碼鎖不能知足較高的安全需要。缺點(diǎn)二,該系統(tǒng)對(duì)電的依賴比較大,必需使24C04一直維持供電狀態(tài),當(dāng)斷電后不能正常工作。缺點(diǎn)三,在按鍵按下時(shí),按鍵聲不夠響亮清楚,在仿真時(shí)顯得反映比較慢,假設(shè)能采用語音模塊,能用語音播報(bào)按鍵時(shí)密碼所處狀態(tài),密碼鎖將會(huì)更具人性化。通過這次對(duì)智能密碼鎖的設(shè)計(jì),感受更多的是自己的能力有限,知識(shí)不夠豐碩,知識(shí)點(diǎn)掌握的不夠扎實(shí),使得自己不能按自己初始假想完成自己的設(shè)計(jì),使得所設(shè)的密碼鎖不夠完整。在這次設(shè)計(jì)中還讓,讓我了解了實(shí)時(shí)控制的原理,知道如何合理的利用芯片,發(fā)揮其功能。體會(huì)到做設(shè)計(jì)時(shí)必需有層次的按必然步驟實(shí)行系統(tǒng)的設(shè)計(jì)、各個(gè)步驟的實(shí)施??傊?,這次課程設(shè)計(jì)使在電路設(shè)計(jì)方面收獲頗豐。參考文獻(xiàn)[1]林立.張俊亮.曹旭東.劉得軍.單片機(jī)原理及應(yīng)用:基于Proteus和KeilC[M].北京:電子工業(yè)出版社,2009:2-5.[2]鄭鋒.王巧芝.李英建.劉瑞國.51單片機(jī)應(yīng)用系統(tǒng)典型模塊開發(fā)大全[M].北京:中國鐵道出版社,2011:5-20.[3]張俊謨.單片機(jī)中級(jí)教程[M].北京:北京航空航天大學(xué)出版,2000:36-45.[4]單片機(jī)高級(jí)語言C51Windows環(huán)境編程與應(yīng)用[M],電子工業(yè)出版社,2001:86-95.[5]AT89C51DATASHEEP[M].PhilipsSemiconductors,1999:15-36.[6]康華光.電子技術(shù)基礎(chǔ)(第5版)[M].北京:高等教育出版社,2006:45-48.[7]彭華林等編.數(shù)字電子技術(shù)[M].長沙:湖南大學(xué)出版社,2004:45-60.[8]金唯香等編.電子測(cè)試技術(shù)[M].長沙:湖南大學(xué)出版社,2004:26-30.附件AT24C04頭文件""#include<>#defineucharunsignedchar#defineuintunsignedintsbitSDA=P3^4;sbitSCL=P3^3;bitack;voiddelayNOP();voidI2C_start();voidI2C_stop();voidI2C_init();voidI2C_Ack();voidI2C_NAck();ucharRecByte();ucharSendByte(ucharwrite_data);ucharread_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn);ucharwrite_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn);voiddelayNOP(){_nop_();_nop_();_nop_();_nop_();}voidI2C_start(){SDA=1;SCL=1;delayNOP();SDA=0;delayNOP();SCL=0;}voidI2C_stop(){SDA=0;SCL=1;delayNOP();SDA=1;delayNOP();SCL=0;}voidI2C_init(){SCL=0;I2C_stop();}voidI2C_Ack(){SDA=0;SCL=1;delayNOP();SCL=0;SDA=1;}voidI2C_NAck(){SDA=1;SCL=1;delayNOP();SCL=0;SDA=0;}ucharRecByte(){uchari,read_data;read_data=0x00;SDA=1;for(i=0;i<8;i++){SCL=1;read_data<<=1;read_data|=SDA;delayNOP();SCL=0;delayNOP();}SCL=0;delayNOP();return(read_data);}ucharSendByte(ucharwrite_data){uchari;for(i=0;i<8;i++){SDA=(bit)(write_data&0x80);_nop_();_nop_();SCL=1;delayNOP();SCL=0;write_data<<=1;}delayNOP();SDA=1;SCL=1;delayNOP();if(SDA==1)ack=0;elseack=1;SCL=0;delayNOP();returnack;}ucharwrite_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn){uchars;I2C_start();SendByte(SLA);if(ack==0)return(0);SendByte(SUBA);if(ack==0)return(0);for(s=0;s<n;s++){SendByte(*pdat);if(ack==0)return(0);pdat++;}I2C_stop();return(1);}ucharread_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn){uchars;I2C_start();SendByte(SLA);if(ack==0)return(0);SendByte(SUBA);if(ack==0)return(0);I2C_start();SendByte(SLA+1);if(ack==0)return(0);for(s=0;s<n;s++){*pdat=RecByte();I2C_Ack();pdat++;}I2C_NAck();I2C_stop();return(1);}1602頭文件""#include<>#include<>#defineucharunsignedchar#defineuintunsignedintsbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;voidDelay_ms(uintxms) ;bitlcd_busy();voidlcd_wcmd(ucharcmd);voidlcd_wdat(uchardat);voidlcd_clr();voidlcd_init();voidDelay_ms(uintxms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P0&0x80);LCD_EN=0;returnresult;}voidlcd_wcmd(ucharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}voidlcd_wdat(uchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}voidlcd_clr(){lcd_wcmd(0x01);Delay_ms(5);}voidlcd_init(){Delay_ms(15);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x0c);Delay_ms(5);lcd_wcmd(0x06);Delay_ms(5);lcd_wcmd(0x01);Delay_ms(5);}設(shè)定初始密碼程序#include<>#include""#include""#defineucharunsignedchar#defineuintunsignedintucharcode_buf[6]={1,2,3,4,5,6};ucharkey;uchartemp;sbitBEEP=P3^7;voidbeep(){BEEP=0;Delay_ms(100);BEEP=1;Delay_ms(100);}voidMatrixKey(){P1=0xff;P1=0xef;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xee:key=0;break;case0xed:key=1;break;case0xeb:key=2;break;case0xe7:key=3;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0xdf;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xde:key=4;break;case0xdd:key=5;break;case0xdb:key=6;break;case0xd7:key=7;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0xbf;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xbe:key=8;break;case0xbd:key=9;break;case0xbb:key=10;break;case0xb7:key=11;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0x7f;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0x7e:key=12;break;case0x7d:key=13;break;case0x7b:key=14;break;case0x77:key=15;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}}ucharcodeline1_data[]={"WRITE&READ"};ucharcodeline2_data[]={"PASSWORD"};ucharcodeW_line1_data[]={"WRITECODE"};ucharcodeW_line2_data[]={"NUM:"};ucharcodeR_line1_data[]={"READCODE"};ucharcodeR_line2_data[]={"NUM:"};voidCodeIn(){static ucharlcd_x=0;static ucharcount=0;do{P1=0xf0;if(P1!=0xf0){MatrixKey();if((key>=0)&&(key<=9)){code_buf[count]=key;lcd_wcmd((0x44+lcd_x)|0x80);lcd_wdat(code_buf[count]+0x30);count++;lcd_x++;}}}while(count<6);if(count>=6){count=0;lcd_x=0;}}voidWriteCode(){uchari;lcd_clr();lcd_wcmd(0x00|0x80);i=0;while(W_line1_data[i]!='\0'){lcd_wdat(W_line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(W_line2_data[i]!='\0'){lcd_wdat(W_line2_data[i]);i++;}CodeIn();write_nbyte(0xa0,0x00,code_buf,6);}voidReadCode(){uchari,j;lcd_clr();lcd_wcmd(0x00|0x80);i=0;while(R_line1_data[i]!='\0'){lcd_wdat(R_line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(R_line2_data[i]!='\0'){lcd_wdat(R_line2_data[i]);i++;}read_nbyte(0xa0,0x00,code_buf,6);for(j=0;j<6;j++){lcd_wcmd((0x44+j)|0x80);lcd_wdat(code_buf[j]+0x30);}}voidmain(){uchari;BEEP=0;start: Delay_ms(10);lcd_init();I2C_init();lcd_wcmd(0x00|0x80);i=0;whi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國家公派出國留學(xué)協(xié)議書3篇
- 寫字樓物業(yè)服務(wù)合同的監(jiān)管要求3篇
- 家電行業(yè)租車服務(wù)承諾
- 2025年國慶的心得體會(huì)(15篇)
- 平?jīng)鍪腥A亭市第二人民醫(yī)院招聘筆試真題2024
- 2024年荊州市石首市城市社區(qū)黨組織書記專項(xiàng)招聘考試真題
- 金華市明城工程管理有限公司招聘筆試真題2024
- 貨物進(jìn)口合同模板(4篇)
- 班組長安全培訓(xùn)安全科考核試卷
- 維護(hù)設(shè)計(jì)在住宅建筑中的應(yīng)用考核試卷
- 5《以工匠精神雕琢?xí)r代品質(zhì)》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊(cè)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 《數(shù)字營銷》全套教學(xué)課件
- 2024年考研政治復(fù)習(xí)要點(diǎn)解析
- 人美版八年級(jí)美術(shù)下冊(cè)《1. 繪畫的多元化》說課稿
- 過敏性休克應(yīng)急預(yù)案-2
- 渣土、余土運(yùn)輸服務(wù)方案(技術(shù)方案)
- 2024ABB電機(jī)與發(fā)電機(jī)業(yè)務(wù)單元產(chǎn)品手冊(cè)
- 2024-2030年中國菊芋菊粉行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 十字相乘法解一元二次方程練習(xí)100題及答案
- 應(yīng)用化工技術(shù)專業(yè)培養(yǎng)調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論