freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)論文(文件)

 

【正文】 址高八位,和 P0 口相配合。當(dāng)使用外部時(shí)鐘源時(shí),不接 XTAL2。此外,AT89C51 設(shè)有兩種掉電模式。 LCD1602可顯示 2*16 個(gè)字符,有 RS,R/W,EN 三個(gè)控制端口和 8 位數(shù)據(jù)總線 D0D7,工作電壓為 5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能 [10]。○ 41602 型 LCD 的接口引腳說(shuō)明如表 所示。石英晶體振蕩器在生活中的電子設(shè)備里隨處可見(jiàn),為它們產(chǎn)生時(shí)鐘信號(hào),應(yīng)用在在單片機(jī)中時(shí)也是如此。作為整個(gè)系統(tǒng)的輸入,矩陣鍵盤(pán)擔(dān)當(dāng)著與用戶交互的核心任務(wù),用戶可以再此輸入密碼或控制程序的運(yùn)行方向。其中硬件部分又分為鍵盤(pán)輸入電路、復(fù)位電路、晶振電路、顯示電路、報(bào)警或解鎖提示電路等幾大模塊;相應(yīng)的,軟件部分由主程序、按鍵檢測(cè)子程序、LCD 顯示子程序、密碼修改子程序、報(bào)警聲音子程序等組成。圖 系統(tǒng)原理圖 鍵盤(pán)輸入電路單片機(jī)系統(tǒng)中,常用的鍵盤(pán)設(shè)計(jì)方式有獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán)兩種。顯然這種方式與獨(dú)立式鍵盤(pán)相比節(jié)省了很多 I/O 端口,但算法相對(duì)復(fù)雜 [13]。在單片機(jī)剛剛上電時(shí)、斷電后和執(zhí)行出錯(cuò),復(fù)位都是必須的操作。手動(dòng)復(fù)位按鍵的加入,使得死機(jī)時(shí)有了可靠的復(fù)位方法。一般而言,晶振頻率的取值范圍在 0~33MHz 之間,兩個(gè)電容的取值范圍在 5~30pF 之間。接通電源后顯示器處于等待開(kāi)鎖狀態(tài),提示用戶輸入密碼,當(dāng)用戶需要開(kāi)鎖時(shí),可以使用數(shù)字鍵 0-9 輸入密碼,每次按鍵都會(huì)把處理結(jié)果反饋到屏幕上。當(dāng)輸入密碼并確認(rèn)后,單片機(jī)的 引腳將輸出特定頻率的方波,則蜂鳴器被導(dǎo)通而發(fā)出聲音。報(bào)警、解鎖提示部分電路原理圖如圖 所示(圖中 led 接 口,air 接 口) 。該矩陣鍵盤(pán)的按鍵檢測(cè)采用行掃描法,具體步驟如下:令第一行為低電平,其余行和列為高電平,即給 P1 口賦值 0xFE。若第一個(gè)按鍵按下,則第一列會(huì)被拉低,即 P1 口的讀取值應(yīng)為 0xEE,即 0xEE 為第一行第一列按鍵的鍵碼。 //行掃描碼uchar code key12[]={0xEE,0xDE,0xBE,0xED,0xDD,0xBD,0xEB,0xDB,0xBB,0xE7,0xD7,0xB7} // 1 2 3 4 5 6 7 8 9 * 0 uchar code keyValue[]=123456789*0。 k++){KEY = rowScan[k]。 i 12。 //等待按鍵釋放if(flag)return keyValue[i]。本著上述目的,LCD 顯示子程序的結(jié)構(gòu)如下圖所示,它的目的是提供字符與字符串的顯示函數(shù)。 void moveString(char *s) //移動(dòng)字符串函數(shù)○ 6 void LCDInit(void) //液晶初始化函數(shù)○ 7{ LCDWriteCmd(0x38)。 LCDWriteCmd(0x06)。因此,密碼修改子程序同時(shí)也是外部中斷 0 服務(wù)程序。音調(diào)取決于物體振動(dòng)的頻率,頻率越高,所發(fā)聲音音調(diào)也就越高。一個(gè)音階周期為 1136μs2 = 2272μs,對(duì)應(yīng)頻率為 1 / 2272μs = 440Hz。uchar code scalesH[] = {0xf7,0xf8,0xfc,0xf9,0xfa,0xfa,0xfb}。 //T/C0 工作在方式一 ET0 = 1。switch( c ){ case 0 : note = 6。 delay(300)。 case 1 : for(note=2。 TR0 = 0。}//定時(shí)器 0 的中斷服務(wù)函數(shù)void time0() interrupt 1{ TH0 = scalesH[note]。Proteus軟件使我們可以比較容易地獲得一個(gè)功能多、易使用的單片機(jī)仿真平臺(tái)。 使用者可以用任意編輯器編寫(xiě)代碼源文件,添加到C51及A51編譯器中就可以編譯生成OBJ文件,然后連接定位庫(kù)文件后生成ABS文件。圖 目標(biāo) 1 的選項(xiàng)(1) 目標(biāo)1的選項(xiàng)(2) Proteus仿真在Proteus中打開(kāi)前面所制作的工程,雙擊單片機(jī)芯片,在其屬性中填入上一部所生成的 文件,: AT89C51的屬性點(diǎn)擊“開(kāi)始仿真”按鈕后,就可以看到最終的制作成果了。 輸入密碼時(shí)的仿真圖 (2)本設(shè)計(jì)設(shè)定的初始密碼為111222,當(dāng)在4*3矩陣鍵盤(pán)上輸入111222并按下確認(rèn)鍵后,顯示屏上將顯示 “Unlock Succeed”,同時(shí)播放音樂(lè),實(shí)現(xiàn)開(kāi)鎖功能。密碼輸入錯(cuò)誤。圖 詢問(wèn)用戶是否要修改圖 確認(rèn)修改后畫(huà)面(5) 如果舊密碼輸入錯(cuò)誤則不能進(jìn)行新密碼的設(shè)置,顯示屏上會(huì)顯示“Wrong Password, Match Failed!”并于 3 秒后要求重新輸入。圖 新密碼不足 6 位的提示(8)密碼若成功更新,顯示屏將顯示提示信息“The password has changed! ”。 本設(shè)計(jì)在 Proteus 軟件中設(shè)計(jì)了以 AT89C51 單片機(jī)為核心,擁有矩陣鍵盤(pán)、顯示、報(bào)警、復(fù)位、晶振等諸多模塊的完整電路,并在 Keil 中編寫(xiě)了全套程序,程序中添加了較為詳細(xì)的注釋,便于閱讀、修改與維護(hù)。(3)本設(shè)計(jì)系統(tǒng)中,密碼鎖的密碼可以通過(guò)矩陣鍵盤(pán)更改,但只有在輸入原始密碼正確的前提下方可設(shè)置新密碼,同時(shí)顯示器的顯示屏出現(xiàn)相應(yīng)顯示信息。**老師對(duì)工作的認(rèn)真負(fù)責(zé)、嚴(yán)謹(jǐn)求是,令我感悟良多,引以為準(zhǔn)繩。謝謝大家!參 考 文 獻(xiàn)[1] [J].福建電腦,2022,(08) [2] [M].現(xiàn)代電子技術(shù),2022,(13) [3] [J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2022,2(3):2228.[4] 祖龍起,[J].大連輕工業(yè)學(xué)院學(xué)報(bào),2022,(01)[5] [J].現(xiàn)代電子計(jì)術(shù),2022,1(13):5758.[6] [J].家庭電子,2022,3(7):7782.[7] 石文軒, MCS 一 51 的智能密碼鎖設(shè)計(jì)[M].武漢工程職業(yè)技術(shù)學(xué)院學(xué)報(bào),2022,(01) [8] [J].家庭電子,2022,(10) [9] [M].北京:中國(guó)電力出版社,2022.[10] 單片機(jī)應(yīng)用設(shè)計(jì)[M].黑龍江:哈爾濱工業(yè)大學(xué)出版社,2022.[11] 李鵬飛. AVR 單片機(jī)與 4*4 小鍵盤(pán)的使用[M]. 北京:走進(jìn)精彩的 AVR 單片機(jī)世界, 2022.[12] SM2B 2022(6)[13] 常薇等. AVR 單片機(jī)接口研究. 山西: 中北大學(xué),科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2022 年第 16 卷第 18 期, 2022.[14] 沙占友,王彥朋,[M].北京:電子工業(yè)出版社, 2022.[15] 51 單片機(jī) C 語(yǔ)言教程,北京:電子工業(yè)出版社, [16] MCS51 單片機(jī)應(yīng)用設(shè)計(jì),哈爾濱:哈爾濱工業(yè)大學(xué)出版社2022[17] 朱紅,趙琦,++程序設(shè)計(jì)教程,北京:清華大學(xué)出版社,2022[18] Proteus 輔助的單片機(jī)原理實(shí)踐,北京:北京航空航天大學(xué)出版社,2022附錄A 電子密碼鎖程序源代碼includedefine uchar unsigned chardefine uint unsigned intdefine LCDDataBus P2 //定義 LCD 數(shù)據(jù)總線sbit RS = P0^1。uchar Keyword[6]=111222。 k) for(i = 121。 //傳輸數(shù)據(jù)RW=0。EP=0。EP=1。if(row == 1) // row = 0x00 在第一行顯示,row = 0x01 在第二行顯示position = 0x80 + column 1。}// ==========在指定位置寫(xiě)數(shù)據(jù)函數(shù)===========void writeChar(uchar row,uchar column, char c) // row 指定行,column 指定列位置,c 為待寫(xiě)入的數(shù)據(jù)。}// ============寫(xiě)字符串函數(shù)=================void writeString(uchar row,uchar column1,uchar column2, char *s) // row 表示行,column1 表示第一行起始地址,column2 表示下一行起始地址,均從 1 開(kāi)始。)return。\039。column1++。delay(2)。for(i = 16。}}// 液晶初始化函數(shù)void LCDInit(void){ LCDWriteCmd(0x38)。 LCDWriteCmd(0x06)。EX0=1。uchar code key12[]={0xEE,0xDE,0xBE,0xED,0xDD,0xBD,0xEB,0xDB,0xBB,0xE7,0xD7,0xB7}。k 4。for(i = 0。}}while(KEY != rowScan[k])。}//===================================// 警鈴部分//====================================sbit Beep = P3^1。//初始化函數(shù)void AlarmInit(){ TMOD = 0x01。 //關(guān)閉定時(shí)器 0}//播放聲音void play(uchar c){ uint i。i++) { TR0 = 1。 }break。 delay(300)。 } Beep = 1。}//====================================// 主函數(shù)//====================================void main(void){uchar value,allValue[6],column =4。AlarmInit()。if ((column 10) amp。column++。 writeString(1,1,1,Enter Password:)。) //按下確認(rèn)鍵{ for(i=0。 LCDWriteCmd(0x01)。 //3 秒后清屏,等待下次輸入??? LCDWriteCmd(0x01)。 }LCDWriteCmd(0x01)。while(1)。 while(1) //等待用戶確認(rèn) { key = keyScan()。 //有問(wèn)題!!返回后怎么處理? if (key == 39。 writeString(1,1,1,Old Password:)。 (key = 48)) //48 是 “0”的 ASCII 值{allkey[index 4] = key。39。}if (key == 39。j++) { if (allkey[j] != Keyword[j]) //驗(yàn)證失敗 { LCDWriteCmd(0x01)。 delay(600000)。 break。 break。 (key = 48)) //輸入新密碼 { allkey[index 4] = key。39。 } if( key ==39。 delay(600000)。 continue。 //存儲(chǔ)新密碼break。 return。} } writeString(1,1,1,The Password has changed!)。j6。 writeString(1,1,1,Enter New PW:)。) { if (index != 10) { LCDWriteCmd(0x01)。 writeString(1,1,1,Enter New PW:)。 index++。 if ((index 10) amp。 //舊密碼驗(yàn)證通過(guò) writeString(1,1,1,Enter New PW:)。 writeString(1,1,1,Old Password:)。 writeString(2,1,1,Match Faile
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1