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

正文內(nèi)容

基于單片機的密碼鎖設(shè)計_課程設(shè)計報告(專業(yè)版)

2025-09-08 19:23上一頁面

下一頁面
  

【正文】 input_key()。 if(key==13) { writecmd(0x01)。 key_function()。 input_key()。 } if(key==15) { password_back()。 speaker()。 } } void password_error() //密碼錯誤 { 第 34 頁 fail_count++。 lcd_dis(2,j, )。 uchar fail_count。0x0f)。0x70)4)*10+(valuedatamp。 //分別儲存苗、分、小時,日,月,年 uchar valuedat。i10。 //月 for(i=2。 write_12864(0x80)。 j=x%10。 } /************************************************************************ 函數(shù)功能: 在液晶上顯示日位 *******************************************************************************/ void displayday(uchar x) { uint i,j。 write_12864dat(digit[j])。 write_12864(0x30)。 rs=0。 RST=0。 for(i=0。 delaynus(2)。 for(i=0。 //s=P20。 case 0x77:key=15。 } while(temp!=0xf0) { temp=P1。0xf0。 } } P1=0xfd。 temp=tempamp。 while(*p) { writedat(*p)。 } void writedat(uchar dat) //寫數(shù)據(jù) { RS=1。 //sbit dula=P2^6。 uchar *p。 //偽寫 check()。 } return(rebyte)。 delaynp()。 delaynp()。 _nop_()。只要去做,只要去學(xué),只要肯下功夫?qū)W,沒有完不成的事!別人做的我們一樣能做。按鍵 E 為確認鍵,輸入密碼的過程中,當(dāng)輸入的數(shù)夠六位以后,按下該鍵確認即可。如果 WP 管腳連接到 Vcc,所有的內(nèi)容都被寫保護,只能讀。 第 3 頁 2 方案論證: ( 1) 現(xiàn)今常見的密碼鎖設(shè)計方案一種是中規(guī)模集成電路控制的方案,對于采用集成電路控制的方案,其中的編碼電子鎖電路分為編碼電路、控制電路、復(fù)位電路、解碼電路、防盜報警電路、門鈴電路,而電子鎖主要由輸入元件、電路 (包括電源 )以及鎖體三部分組成。現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。 第 4 頁 AT89C52 有 40 個引腳, 32 個外部雙向輸入 /輸出( I/O)端口,同時內(nèi)含 2 個外中斷口, 3 個 16位可編程定時計數(shù)器 ,2個全雙工串行通信口, 2 個讀寫口線, AT89C52 可以按照常規(guī)方法進行編程 ,但不可以在線編程 (S 系列的才支持在線編程 )??梢燥@示 8 4 行 16 16 點 陣的漢字 . 也可完成圖形顯示 .低電壓低功耗是其又一顯著特點。 軟件設(shè)計: 本次設(shè)計因考慮到需要實物實現(xiàn)的功能較多,所需要的模塊較多,程序比較復(fù)雜,所以運用模塊化編程的方式來編寫程序。在這過程中遇到了很多問題,所以在這里也要真誠的感謝老師和同學(xué)們的幫助。 delaynp()。 CY=SDA。 SCL=0。 writebyte(addr)。 start()。 } } void readpage(uchar addr,uchar temp[],uchar n) //讀出若干字節(jié) { uchar i。i) for(j=110。 EN=1。 writecmd(0x30)。break。 if(temp!=0xf0) { temp=P1。0xf0。 temp=P1。 } return(key)。 // sbit psb=P2^7。in。 第 24 頁 } } /*********************************************************************** 函數(shù)功能: 向 DS1302 在寫入命令的情況下寫入一個字節(jié)數(shù)據(jù) 入口參數(shù):命令: cmd 數(shù)據(jù): dat ***********************************************************************/ void writeset1302(uchar cmd ,uchar dat) { RST=0。 delaynus(2)。0x80) { //判斷時鐘芯片是否關(guān)閉 writeset1302(0x8E,0x00)。 e=0。 delaynus(200)。 write_12864(0x9c)。 write_12864dat(digit[j])。 第 29 頁 } /************************************************************************ 函數(shù)功能: 在液晶上顯示星期位 *******************************************************************************/ void displayxingqi(uchar x) { uint i,j,n,m。 } write_12864(0x92)。 //日 for(i=4。i12。//在寄存器讀秒數(shù)據(jù) second=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 void password_right()。 break。 input_key()。 while(!key_flag) { key=16。 gaimi_flag=0。 writecmd(0x01)。 key_function()。 lcd_dis(1,0,請輸入使用模式: )。 key_function()。 //此時啥都不顯示 while(key==16) { keydown()。 lcd_init()。 writepage(0,password_save,6)。 password_enter()。key=9) { password_save[j]=key。 } else { password_error()。 } void speaker() //蜂鳴器報警 { uint i。 void system_start()。 sbit led1=P1^1。0x0f)。0x70)4)*10+(valuedatamp。i++) { write_12864dat(table3[i])。i8。 //年 for(i=0。nm+2。 write_12864dat(digit[i])。 j=x%10。 i=x/10。 e=1。 //根據(jù)寫月寄存器命令字,寫入月的初始值 writeset1302(0x8c,((13/10)4|(13%10)))。 SCLK=0。 SCLK=1 。 delaynus(2)。 sbit RST =P2^2。 } } 日歷子程序 include include include include include include define uchar unsigned char define uint unsigned int uchar table1[]=課程設(shè)計 :。break。break。break。break。 } 按鍵掃描子程序 include include define uint unsigned int define uchar unsigned char uchar key。 else if(X==2) X=0x88。 P0=cmd。 } } /*void rom_init() { init()。 while(!flag)。 stop()。 else byte=byteamp。 if((tempamp。 SCL=0。 bit flag。 軟件調(diào)試 開始時寫程序時是分兩大塊內(nèi)容進行的,萬 年歷與密碼鎖。當(dāng)按下改密鍵后則首先提示輸入舊密碼,舊密碼輸入完成后再提示輸入兩遍新密碼,兩遍新密碼輸入完成后則提示修改成功,并返回主界面。 SDA:雙向串行數(shù)據(jù) /地址管腳,用于器件所有 數(shù)據(jù)的發(fā)送或接收。密碼鎖因具有安全性高、成本低、功耗低、易操作等優(yōu)點,受到了廣大用戶的青睞。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運而生。 AT24C02 的引腳如圖 39,各引腳功能如下: SCL:串行時鐘輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘。密碼輸入正確后則提示開鎖成功,此時又兩個按鍵可以選擇:一是改密鍵,二則是返回主界面鍵。當(dāng)把短路的線劃斷后,按鍵恢復(fù)正常了。 sbit SCL=P2^5。 delaynp()。 delaynp()。 if(SDA) byte=byte|0x01。 while(flag)。 check()。i++) { *(p+i)=refrrom(addr+i)。 EN=0。 else if(X==1) X=0x90。 delayms(5)。 case 0x7e:key=3。 case 0xbd:key=6。 case 0xdb:key=9。 switch(temp) { case 0xe7:key=12。0x0f)!=0x0f) { key=keyscan()。 //DATA=P1^1。 SCLK=0。 write1302(dat)。 RST=0。 //根據(jù)寫日寄存器命令字,寫入日的初始值 writeset1302(0x88,((10/10)4|(10%10)))。 P0=dat。 } /************************************************************************ 函數(shù)功能: 在液晶上顯示秒位 *******************************************************************************/ void displaysecond(uchar x) { uint i,j。 i=x/10。 write_12864(0x8c)。 for(n=m。 } write_12864(0x8b)。 //時 for(i=6。i14。//在寄存器讀分數(shù)據(jù) minute=((valuedatamp。0x70)4)*10+(valuedatamp。 }
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1