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

正文內(nèi)容

基于51單片機的簡易電子密碼鎖畢業(yè)設(shè)計課程設(shè)計-wenkub

2022-10-31 15:27:12 本頁面
 

【正文】 _rs=1。//送入數(shù)據(jù) delay(1)。y)。 for(x=xms。 Scl=0。 Start()。 Send(0xa0)。 PData=Data。 Stop()。 Send(Address+i)。iNum。 } void WrToROM(uchar Data[],uchar Address,uchar Num) { uchar i。 temp=temp1。 if(Sda) temp=temp|0x01。 do{ Scl=0。 } /*讀一字節(jié)的數(shù)據(jù),并返回該字節(jié)值 */ uchar Read(void) { uchar temp=0。 Data=temp。0x80)==0x80) Sda=1。 do { temp=Data。 Nop()。 Scl=0。 } /*應(yīng)答位 */ void Ack(void) { Sda=0。 Scl=1。 Nop()。 _nop_()。i125。 while(TempCycA) { TempCycB=7269。 //=====================5ms延時 ============================== void Delay5Ms(void) { unsigned int TempCyc = 5552。 //密碼輸入位數(shù)記數(shù) unsigned char ErrorCont。 unsigned char InputData[6]。 //INPUT unsigned char code ResetOK[] = {ResetPasswordOK }。 //輸入錯誤 unsigned char code codepass[] = { pass }。 //控盤掃描控制表 unsigned char code start_line[] = {password: }。 //3秒按鍵標志位 bit key_disable=0。 //開鎖指示燈 bit operation=0。 //24C02串行時鐘 sbit Sda=P3^5。 Y N Y N Y N Y N 鍵功能程序 鍵值 =0~9? 鍵值 =開鎖? 鍵值 =確認? 鍵值 =設(shè)置? 返回 密碼輸入程序 確認程序 設(shè)置程序 開鎖程序 開鎖程序流程圖 Y 開鎖 LCD 初始化 輸入密碼 按開鎖鍵 報警程序 確認程序 輸入密碼正確? 開鎖成功 返回 N 程序( c語言) include include define LCM_Data P0 define uchar unsigned char define uint unsigned int define w 6 //定義密碼位數(shù) sbit lcd1602_rs=P2^5。(如兩次輸入的新密碼不一樣,則重設(shè)密碼失?。?。 AT24C02 保存密碼,支持復位保存,掉電保存功能。 密碼可以由用戶自己修改設(shè)定(只支持 6 位密碼),鎖打開后才能修改密碼。但國內(nèi)自行研制開發(fā)的電子鎖,其市場結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。但較實用的還是按鍵式電子密碼鎖。研究這種鎖的初衷,就是為提高鎖的安全性。鎖自 古以來就是把守護門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長期以來研制的主題??ㄊ诫娮臃辣I鎖使用各種“卡”作為鑰匙的電子防盜鎖是當前最為活躍的產(chǎn)品,無論卡的種類如何多種多樣,按照輸入卡的操作方式,都可分為接觸式卡和非接 觸式卡兩大類。電子密碼鎖與普通機械鎖相比,具有許多獨特的優(yōu) 點:保密性好,防盜性強, 可以不用鑰匙,記住密碼即可開鎖等。目前使用的電子密碼鎖大部分是基于單片機技術(shù),以單片機為主要器件,其編碼器與解碼器的生成為軟件方式 。生物特征防盜鎖人的某些與生俱來的個性特征(如手、眼睛、聲音的 特征)幾乎不可重復,作為“鑰匙”就是唯一的(除非被逼迫或傷害) 。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運而生,電子密碼鎖就是其中之一。由于電子鎖的密鑰量(密碼 量)極大,可以與機械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。 20 世紀 80 年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進展。國內(nèi)的不少企業(yè)也引進了世界上先進的技術(shù),發(fā)展前景非??捎^。修改密碼之 前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作。 二、按鍵說明 按鍵定義圖 如圖示:采用 4X4 鍵盤輸入,鍵盤對應(yīng)名稱如下: 1 2 3 A 4 5 6 B 7 8 9 C * 0 D 其中, 【 0— 9】為數(shù)字鍵,用于輸入相應(yīng)的密碼, 【 *】號鍵為取消當前操作 【 】號鍵 為確認 【 D】鍵為修改密碼 其它鍵無功能及定義 三、 操作 說明: 密碼鎖初始密碼為: 000000. 開鎖:插上電源后,程序自動調(diào)入初始密碼,此時依次輸 入: 000000,然后按【 】(確認)鍵,此時鎖會打開,可以看到顯示 open,密碼鎖打開。 報警并鎖定鍵盤:當輸入密碼錯誤后,報警并鎖定鍵盤 3 秒,如 3 秒內(nèi)又有按鍵, 3 秒再啟動。 sbit lcd1602_rw=P2^6。 //24C02串行數(shù)據(jù) sbit ALAM = P2^1。 //操作標志位 bit pass=0。 //鎖定鍵盤標志 unsigned char countt0,second。 unsigned char code name[] = {===Coded Lock===}。 unsigned char code LockOpen[] = { open }。 unsigned char code initword[] = {Init password...}。 //輸入密碼暫存區(qū) unsigned char CurrentPassword[6]={1,3,1,4,2,0}。 //錯誤次數(shù)計數(shù) unsigned char CorrectCont。 while(TempCyc)。 while(TempCycB)。i++) {。 _nop_()。 Sda=0。 Nop()。 Nop()。 } /*反向應(yīng)答位 */ void NoAck(void) { Sda=1。 Scl=0。 Scl=0。 else Sda=0。 BitCounter。 uchar temp1=0。 Nop()。 else temp=tempamp。 } BitCounter。 uchar *PData。i++) { Start()。 Ack()。 mDelay(20)。 for(i=0。 Ack()。 Send(0xa1)。 NoAck()。x0。 } //寫指令 write_1602(uchar )//****液晶寫入指令函數(shù) **** { lcd1602_rs=0。 lcd1602_en=1。//數(shù)據(jù) /指令選擇置為數(shù)據(jù) lcd1602_rw=0。 //en置高電平,為制造下降沿做準備 delay(1)。//開顯示不顯示光標 write_1602(0x06)。break。break。 case (0x14): k=4。 case (0x44): k=6。break。break。C39。break。39。break。 if((P1amp。0xf0)!=0xf0) { row=P1^0xf0。0xf0)!=0xf0) { col=~(P1amp。 P1=a[i]。 return (row|col)。 ALAM=1。 Delay5Ms()。 } //========================三聲提示音 ,表示錯誤 ======================== void ThreeAlam(void) { ALAM=0。 ALAM=0。 ALAM=0。*39。*39。 write_1602(er)。 } } else { if(N==0) { //DisplayListChar(0,1,Error)。i++) { write_1602dat(Error[i])。i16。 write_1602(er)。 } } } //======================== 重置密碼================================================== //================================================================================== void ResetPassword(void) { unsigned char i。 ThreeAlam()。) { if(TempPassword[i]==InputData[i]) //將兩次輸入的新密碼作對比 i++。j16。 ReInputEn=0。 } } if(i==6) { //DisplayListChar(0,1,ResetOK)。j++) { write_1602dat(ResetOK[j])。 } ReInputCont=0。 //顯示再次輸入一次 write_1602(er)。 } for(i=0。 //輸入數(shù)據(jù)位數(shù)計數(shù)器清 零 } } } } //======================= 輸入密碼錯誤超過三過,報警并鎖死鍵盤====================== void Alam_KeyUnable(void) { P1=0x00。 unsigned char j。j16。i6。 //報警 關(guān) operation=0。 //密碼錯誤輸入次數(shù)清零 CorrectCont=0。 key_disable=0。 //從 24C02里讀出存儲密碼 if(N==6) { if(ReInputEn==0) //重置密碼功能未開啟 { for(i=0。 if(ErrorCont==3) //錯誤輸入計數(shù)達三次時,報警并鎖定鍵盤 { write_1602(er)。 } do Alam_KeyUnable()。 //鎖定鍵盤 pass=0。 write_1602(er)。 } TwoAlam()。 //開啟定時 open_led=0。 } } else //當兩次正確輸入時,開啟重置密碼功能 { //DisplayListChar(0,1,SetNew)。j++) { write_1602dat(SetNew[j])。 //正確計數(shù)器清零 } } else //=========================當?shù)谝淮问褂没蛲浢艽a時可以用
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1