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

正文內(nèi)容

基于單片機(jī)的密碼鎖設(shè)計_課程設(shè)計報告(完整版)

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

下一頁面
  

【正文】 cond(uchar x) { uint i,j。 write_12864(0x30)。 P0=dat。 P0= 。 //根據(jù)寫日寄存器命令字,寫入日的初始值 writeset1302(0x88,((10/10)4|(10%10)))。 } /*************************************************************************** 函數(shù)功能: 對 1302 初始化設(shè)置 /*************************************************************************/ void init_ds1302() { unsigned char flag。 RST=0。i++) { dat=1。 write1302(dat)。 delaynus(2)。 SCLK=0。i++)。 //DATA=P1^1。 // rw=P21。0x0f)!=0x0f) { key=keyscan()。 } while(temp!=0xf0) { temp=P1。 switch(temp) { case 0xe7:key=12。0xf0。 case 0xdb:key=9。 } } P1=0xfb。 case 0xbd:key=6。 temp=tempamp。 case 0x7e:key=3。 if(temp!=0xf0) //行掃描 { delayms(10)。 delayms(5)。 } } void lcd_init() { //dula=0。 else if(X==1) X=0x90。 EN=0。 EN=0。 void delayms(uint xms) { uint i,j。i++) { *(p+i)=refrrom(addr+i)。 for(i=0。 check()。 writebyte(addr)。 while(flag)。 writebyte(0xa0)。 if(SDA) byte=byte|0x01。 } SCL=0。 delaynp()。 } void check() //應(yīng)答檢查 { SDA=1。 delaynp()。 } void init() //24C02 初始化 { 第 15 頁 SDA=1。 sbit SCL=P2^5。第二,通過這幾 周的努力與學(xué)習(xí),讓自己的編程水平也有了很大提升。當(dāng)把短路的線劃斷后,按鍵恢復(fù)正常了。 時鐘 ds1302 模塊 第 8 頁 X1 和 X2 是振蕩源,外接 晶振。密碼輸入正確后則提示開鎖成功,此時又兩個按鍵可以選擇:一是改密鍵,二則是返回主界面鍵。 VSS:電源地 (GND)。 AT24C02 的引腳如圖 39,各引腳功能如下: SCL:串行時鐘輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘。通過對這兩種方案的優(yōu)缺點比較,再考慮到本人自己對單片機(jī)設(shè)計具有一定的基礎(chǔ),所以此次選擇利用單片機(jī)來進(jìn)行密碼鎖的設(shè)計。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運而生。 第 1 頁 物理與電氣工程學(xué)院課程設(shè)計報告 基于單片機(jī)的 密碼鎖 設(shè)計 作 者 專 業(yè) 年 級 指導(dǎo)教師 成 績 日 期 第 2 頁 基于單片機(jī)的 密碼鎖 設(shè)計 ( 安陽師范學(xué)院 物電學(xué)院 , 河南 安陽 455000) 摘要 :電子密碼 鎖是一種通過 密碼 輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。密碼鎖因具有安全性高、成本低、功耗低、易操作等優(yōu)點,受到了廣大用戶的青睞。 3 結(jié)果與討論 AT89C52 介紹 單片機(jī)主控電路的主要元件是 AT89c52,其外型如圖 AT89C52是 51 系列 單片機(jī) 的一個型號,它是 ATMEL 公司生產(chǎn)的。 SDA:雙向串行數(shù)據(jù) /地址管腳,用于器件所有 數(shù)據(jù)的發(fā)送或接收。 VCC:電源電壓 (5V)。當(dāng)按下改密鍵后則首先提示輸入舊密碼,舊密碼輸入完成后再提示輸入兩遍新密碼,兩遍新密碼輸入完成后則提示修改成功,并返回主界面。 RST 是復(fù)位 /片選,通過把 RST 輸入驅(qū)動置高電平來啟動所有的 數(shù)據(jù)傳送 , VCC1 接 5V 紐扣電池, VCC2 則外接電源 VCC。 軟件調(diào)試 開始時寫程序時是分兩大塊內(nèi)容進(jìn)行的,萬 年歷與密碼鎖。第三,做硬件時不僅要合理的布局原件,而且要考慮到鏈接外接電路的端口問題。 bit flag。 delaynp()。 SCL=0。 SCL=1。 if((tempamp。 } uchar readbyte() //讀一個字節(jié) { uchar count=8。 else byte=byteamp。 check()。 stop()。 check()。 while(!flag)。in。 } } /*void rom_init() { init()。 for(i=xms。 P0=cmd。 P0=dat。 else if(X==2) X=0x88。 // wela=0。 } 按鍵掃描子程序 include include define uint unsigned int define uchar unsigned char uchar key。 //延時消抖動 if(temp!=0xf0) //穩(wěn)定以后再掃描 { temp=P1。break。0xf0。break。 temp=P1。break。 } return(key)。break。 temp=tempamp。 } } 日歷子程序 include include include include include include define uchar unsigned char define uint unsigned int uchar table1[]=課程設(shè)計 :。 sbit e=P3^4。 sbit RST =P2^2。 } /********************************************************** 延時若干毫秒 ********************************************************** void delayms(uint n) { uint i,j。 delaynus(2)。 SCLK=0。 SCLK=1 。 if(DATA==1) dat=dat|0x80。 SCLK=0。 flag= readset1302(0x81)。 //根據(jù)寫月寄存器命令字,寫入月的初始值 writeset1302(0x8c,((13/10)4|(13%10)))。 e=1。 e=1。 delaynus(200)。 i=x/10。 i=x/10。 j=x%10。 write_12864(0x8e)。 write_12864dat(digit[i])。 write_12864dat(digit[j])。nm+2。i++) { write_12864dat(table1[i])。 //年 for(i=0。 delaynus(50)。i8。 } write_12864(0x9f)。i++) { write_12864dat(table3[i])。 init_ds1302()。0x70)4)*10+(valuedatamp。 valuedat=readset1302(0x87)。0x0f)。//在寄存器讀年數(shù)據(jù) xingqi=((valuedatamp。 sbit led1=P1^1。 void password_back()。 void system_start()。i6。 } void speaker() //蜂鳴器報警 { uint i。 if(fail_count==1) lcd_dis(1,0,還有兩次機(jī)會 )。 } else { password_error()。 } } void input_key() //密碼輸入 { bit key_flag=0。key=9) { password_save[j]=key。 } } } void password_change() //修改密碼 { uchar i。 password_enter()。i++) read_password[i]=password_save[i]。 writepage(0,password_save,6)。 lcd_dis(1,0,密碼修改不成功 )。 lcd_init()。 led=1。 //此時啥都不顯示 while(key==16) { keydown()。 if(enter_flag) { password_right()。 key_function()。 writecmd(0x01)。 lcd_dis(1,0,請輸入使用模式: )。 } } void key_function() //功能鍵選擇 { key=16。 key_function()。 lcd_dis(0,0,....歡迎使用 ....)。 writecmd(0x01)。 writecmd(0x01)。 gaimi_flag=0。 j++。 while(!key_flag) { key=16。 writecmd(0x01)。 input_key()。i1000。 break。 39。 void password_right()。 uchar password_save[6]。0x0f)。 valuedat=readset1302(0x8d)。0x70)4)*10+(valuedatamp。 displayminute(minute)。//在寄存器讀秒數(shù)據(jù) second=((valuedatamp。 } } /*********************************************************************** 函數(shù)功能: 主函數(shù) /********************************************************************/ void rili() { // deng=0。i12。 delaynus(50)。 //日 fo
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1