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

正文內(nèi)容

電子密碼鎖控制系統(tǒng)設(shè)計(jì)-文庫(kù)吧在線文庫(kù)

  

【正文】 _nop_()。系統(tǒng)能完成開鎖、錯(cuò)誤報(bào)警,超次鎖定、修改用戶密碼,恢復(fù)初始密碼基本的密碼鎖的功能。取消鍵的功能是退格。 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 21 定時(shí)器中斷子程序 為了防止戶主以外的 “借用 ”戶主的密碼,當(dāng)沒(méi)有任何按鍵被按下的狀態(tài)持續(xù)一段時(shí)間后(比如 20S 內(nèi)),應(yīng)該馬上關(guān)閉顯示器屏幕,同時(shí)禁止按鍵的輸入。主機(jī) 置通過(guò) R/W——位為 0,發(fā)送開始信號(hào)、 AT24C04 地址和欲讀取的字節(jié)數(shù)據(jù)地址來(lái)執(zhí)行一次偽操作,在 AT24C04 應(yīng)答后,主機(jī)再一次發(fā)送開始信號(hào)和 AT24C04的地址,此時(shí) R/W——位置 1, AT24C04 響應(yīng)并應(yīng)答信號(hào),然后輸出字節(jié)數(shù)據(jù),最后主機(jī)以一 個(gè)停止信號(hào)結(jié)束數(shù)據(jù)的讀取。 地址高于 8 位:開始 → 器件地址 → 響應(yīng) → 高 8 位字節(jié)地址 → 響應(yīng) → 低 8 位字節(jié)地址 → 響應(yīng) → 數(shù)據(jù) 1→ 響應(yīng) →……→ 數(shù)據(jù) N→ 響應(yīng) → 停止。 寫操作方式 兩種寫操作方式為:字節(jié)寫和頁(yè)寫。 Y N 確定被按下的鍵 在第二行? Y N 確定被按下的鍵 在第三行? Y N 確定被按下的鍵 在第四行中確定被按下的鍵 返回對(duì)應(yīng)的按鍵號(hào) 在第一行? 開始 掃描鍵盤 有鍵按下? Y N 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 18 圖 43 單行鍵盤掃描流程圖 在本設(shè)計(jì)中, 各按鍵的功能與圖 35 一樣 詳見(jiàn)圖 顯示模塊子程序 由于設(shè)計(jì)中要求能夠顯示密碼輸入界面、密碼輸入信息、密碼正確后提示界面、密碼錯(cuò)誤后提示界面和修改密碼相關(guān)界面等信息,故要用到很多個(gè)顯示子程序來(lái)顯示不同的內(nèi)容。在給按鍵確定鍵值時(shí)必須采用同一種算法,并且計(jì)算出來(lái)的鍵值應(yīng)該是互不相同的。 初始化 顯示輸入密碼界面 輸入密碼 密碼正確? 開鎖 掃描功能鍵 有鍵輸入? 是改密鍵? 進(jìn)行改密操作 顯示界面 是閉鎖鍵? 進(jìn)行閉鎖操作 Y N Y N N Y 開啟定時(shí)中斷 次數(shù) 3? 調(diào)用報(bào)警子程序 Y N 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 16 讓所有的行為 0,然后讀列的數(shù)值。通過(guò)控制輸入脈沖的頻率還能控制蜂鳴器的發(fā)音頻率。 因?yàn)樵谠O(shè)計(jì)中是以發(fā)光二極管代替電磁鎖,二極管亮代表鎖開,因此可以設(shè)計(jì)一個(gè)簡(jiǎn)單的可以點(diǎn)亮二極管的電路系統(tǒng)代替電磁鎖開鎖機(jī)構(gòu)。開鎖時(shí),按下鍵盤上的開鎖按鍵后,利用 鍵盤上的數(shù)字鍵 0- 9 輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè) *,輸入多少位就顯示多少個(gè) *。 此系統(tǒng)中,我們采用線反轉(zhuǎn)法。當(dāng)采用內(nèi)部時(shí)鐘時(shí),連接方法如下圖所示,在晶振引腳 XTAL1( 19腳)和 XTAL2( 18 腳)引腳之間接入一個(gè) 晶振,兩個(gè)引腳對(duì)地分別再接入一個(gè)電容即可產(chǎn)生所需的時(shí)鐘信號(hào),電容的容量一般在幾十皮法,如 20PF。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU 和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 7 方案確立 (1)為了實(shí)現(xiàn)密碼的保密性,采用一個(gè) 44 的矩陣式鍵盤可以任意設(shè)置用戶密碼,從而提高了密碼的保密性。在我國(guó),電子密碼鎖技術(shù)卻才相當(dāng)于國(guó)際上七十年代的水平,相對(duì)來(lái)說(shuō)還很落后。 基于單片機(jī)的電子密碼鎖的出現(xiàn),在一定程度上解決了用戶私人財(cái)產(chǎn)安全的問(wèn)題。 鎖具的起源可以追朔到人類社會(huì)財(cái)產(chǎn)私有化的出現(xiàn),鎖具從其出現(xiàn)到發(fā)展至今天的高科技化、信息化,已經(jīng)有若干年的歷史了。 (2)操作簡(jiǎn)單。 本設(shè)計(jì)是基于 AT89C51 單片機(jī) 為控制核心 的密碼鎖設(shè)計(jì)方案 。自古以來(lái)鎖都是人們財(cái)產(chǎn)安全乃至生命安全的一種重要保障?!?—— 百度百科上是這樣解釋的。報(bào)警功能無(wú)疑更增加了鎖的安全性。 那么,如何才能提高鎖具保障用戶財(cái)產(chǎn)安全的有效性呢?在信息現(xiàn)代化的今天,鎖具也應(yīng)該向高精度、高安全性的智能化、信息化發(fā)展。電子密碼鎖要想取代機(jī)械鎖成為市場(chǎng)上的主流,就必須不斷改進(jìn),在具有更多功能的同 時(shí)向更智能化和更低成本化發(fā)展。但是就目前而言,電子密碼鎖的價(jià)格相對(duì)較高且需要有電源提供能量,使得其使用還局限在一定范圍,特別是在國(guó)內(nèi),各種條件的制約使得電子密碼鎖暫時(shí)難以普及。 密碼鎖電路包含:矩陣鍵盤輸入、 LCD指示電路、報(bào)警控制電路、 AT24C02 掉電存儲(chǔ)電路。該復(fù)位電路采用按鍵電平復(fù)位式復(fù)位電路。其原理圖如圖 35 所示。如果有按鍵被按下,總會(huì)有一根行線電瓶被拉至低電平從 而使行線不全為 1。 圖 36 顯示器電路 使用 LCD1602 可以輕松的實(shí)現(xiàn)所有 字母和符號(hào)顯示,顯示功能豐富,驅(qū)動(dòng)程序簡(jiǎn)單。當(dāng)用戶輸入密碼并驗(yàn)證正確時(shí),發(fā)出開鎖信號(hào)(使 =0)。當(dāng) 然要有一定的權(quán)限的啦 仿真圖如下圖 311 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 14 圖 311 密碼初始化電仿真圖 4 程序設(shè)計(jì) 軟件總體設(shè)計(jì) 根據(jù)電子密碼鎖的實(shí)際應(yīng)用要求和其應(yīng)該具有的功能,本次設(shè)計(jì)的主程序流程圖如圖 41 所示。 采用一行一行的掃描方法,逐行輸出 0,然后讀列的值。 在本設(shè)計(jì)中, ~ 為行輸出口, ~ 為列輸出口。 開始 掃描端口 Y N 有鍵閉合? 延時(shí) 有鍵閉合? 查表確定按鍵 Y N I/O 口初始化 返回按鍵值 結(jié)束 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 19 圖 44 顯示字符程序流程圖 顯示模塊子程序主要指根據(jù) LCD1602 的命令和引腳功能來(lái)編寫,程序邏輯相當(dāng)簡(jiǎn)單。對(duì)于高于 8 位的 地址,主機(jī)連續(xù)發(fā)送兩個(gè) 8 位字節(jié)地址寫入AT24C04 中,主機(jī)在收到 AT24C04 的另外一個(gè)應(yīng)答信號(hào)后再發(fā)送數(shù)據(jù)到被尋址的存儲(chǔ)單元, AT24C04 再次應(yīng)答,并在主機(jī)發(fā)出停止信號(hào)后開始內(nèi)部數(shù)據(jù)的擦寫。 AT24C04 的地址計(jì)數(shù)器內(nèi)容為最后操作字節(jié)的地址加1,所有如果上次讀寫操作的地址為 N,采用讀當(dāng)前地址內(nèi)容方式讀地址應(yīng)該從N+1 地址處開始。 AT24C04 收到主機(jī)的應(yīng)答信號(hào)后繼續(xù)發(fā)送數(shù)據(jù),直到主機(jī)不發(fā)送應(yīng)答信號(hào)響應(yīng)而發(fā)送停止信號(hào)后操作結(jié)束。 當(dāng)定時(shí) /計(jì)數(shù)器工作在定時(shí)方式時(shí),定時(shí)時(shí)間的計(jì)算公式為: 定時(shí)時(shí)間 =( 216 —計(jì)數(shù)初值) 定時(shí)周期 晶振頻率為 12MHz 時(shí),定時(shí) /計(jì)數(shù)器的定時(shí)周期為 1181。 開始 N 有鍵輸入? 掃描鍵盤 Y 是數(shù)字鍵? 輸入的密碼長(zhǎng)度小于 6? 將輸入的數(shù)放入數(shù)組 在顯示器上顯示 “ *” 是取消鍵? 輸入的密長(zhǎng)度大于 0? 清除數(shù)組中的最后一位數(shù) 清除顯示器上的最后一個(gè)“ *” 是確認(rèn)鍵? 結(jié)束 Y N N N N Y Y Y N Y 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 23 報(bào)警子程序 報(bào)警子程 序的原理很簡(jiǎn)單,即當(dāng)輸入密碼錯(cuò)誤次數(shù)超過(guò)規(guī)定的最高允許次數(shù)時(shí),不斷給蜂鳴器脈沖,使其不斷發(fā)音。 但是在系統(tǒng)調(diào)試過(guò)程中,還是發(fā)現(xiàn)一些問(wèn)題,系統(tǒng)不穩(wěn)定情況時(shí)有發(fā)生,經(jīng)過(guò)反復(fù)調(diào)試發(fā)現(xiàn)下列問(wèn)題: 按鍵效果不好,產(chǎn)生較大狀況的抖動(dòng),使軟件消抖不完全;另外一個(gè)就是單片機(jī)本身不問(wèn)題,引起系統(tǒng)跑飛或者卡死;還有就是由于電路板制作鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 24 的原因,線路之間產(chǎn)生干擾,系統(tǒng)發(fā)生錯(cuò)誤,比如液晶顯示錯(cuò)誤等等。 sbit scl=P3^3。 uchar Mem[6]={0}。 void delayms(uint z) { uint x,y。 rd=0。 rd=0。 write_()。 write_(0x01)。 delay4us()。 } void init() //初始化 { sda=1。 sda=1。 sda=1。 delay4us()。i++) { sda=(bit)(wdamp。 } delay4us()。 } uchar Recstring(uchar slave,uchar subaddr,uchar *buffer,uchar n) { uchar i。i++) { buffer[i]=recbyte()。 if(!sendbyte(slave)) return 0。 for(i=0。 } } uchar Keys_Scan() { uchar temp,keynum。 case 4:keynum=7。 switch(temp) { case 8:keynum+=0。 break。 delayms(5)。 switch(temp) { case 11:temp=0。 for(n=0。k++) { if(buffer[k]==(Userpassword[k]+48)) flag=1。 IS_valid_user = 1。 write_(0xcf)。 Display_String(table,0x80)。 Display_String(Your Password...,0x80)。 delayms(1000)。k6。k6。 Mem[6]=0。 m++。 Mem[6]=0。 aa=Sendstring(0xa0,1,Mem,6)。 Display_String( ,0x80)。i200。 beep=!beep。 } if(error5) //如果錯(cuò)誤次數(shù)達(dá)到五次長(zhǎng)鳴報(bào)警,并清除顯示 while(1) {Display_String( ,0x80)。 } } if(j==3) //錯(cuò)誤三次報(bào)警 1S并顯示 { Display_String(You are thief !,0x80)。 break。 Userpassword[6]=0。 aa=Recstring(0xa0,1,buffer,6)。 } else { clear_password()。(Userpassword[k+1]==Mem[k])。 //將第二次的密碼與第一次的密碼進(jìn)行比較 } } if(flay) //如果校驗(yàn)位為 1則第二次密碼放入存儲(chǔ)器 { for(k=0。 init()。 Display_String( ,0xc0)。 break。 break。 error++。 led=0。 } } Display_String(DSY_BUFFER1,0xc0)。 Display_String(DSY_BUFFER,0xc0)。 aa=Recstring(0xa0,1,buffer,6)。 uchar IS_valid_user。 case 2:keynum+=2。 break。 //掃描行線值 鹽城工學(xué)院課程設(shè)計(jì)說(shuō)明書( 20xx) 41 switch(temp) { case 1:keynum=1。 } for(i=0。i++) { if(!sendbyte(buffer[i])) return 0。 stop()。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1