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

正文內(nèi)容

基于單片機(jī)的電子密碼鎖課程設(shè)計(jì)說明書(文件)

2025-07-15 19:44 上一頁面

下一頁面
 

【正文】 ********液晶顯示函數(shù)***************************/void display(uchar y, uchar x, uchar *p) { switch (y) { case 1:writemand(0x7f+x)。 //0x90+(x1) case 3:writemand(0x87+x)。 default:break。/***************************延時(shí)1ms子程序************************/void delayms(uchar ms) { uchar i。 }}/******************************開始位****************************/void start(){ SDA = 1。 SDA = 0。 _nop_()。 _nop_()。 _nop_()。 for(i = 0。 read_data |= (uchar)SDA。 bit ack_bit。 0x80)。 _nop_()。 // 讀取應(yīng)答 _nop_()。 _nop_()。 SCL = 0。 send(addr)。 }/************************在當(dāng)前地址讀取****************************/uchar read_current(){ unsigned char read_data。 stop()。 send(random_addr)。 i MAX_ADDR。} 附錄L: 鍵盤掃描函數(shù)/***************************************************************** 函數(shù)庫名稱:鍵掃描函數(shù) *****************************************************************/ include include define uint unsigned intdefine uchar unsigned charuchar key。0xf0)!=0xf0) //若有鍵按下 { delay(1000)。0x10)!=0) //逐行掃描 { P1=scan。 delay(50000)。 //無鍵按下,還回0} 附錄M: 基礎(chǔ)函數(shù)/***********************輸入密碼子程序***************************/void shuru(){ char a,b,c,d,e,f,r=0。(key==0x28||key==0x11||key==0x21||key==0x41||key==0x12||key==0x22||key==0x42||key==0x14||key==0x24||key==0x44)) { switch(key) { case 0x28:a=0x30。 case 0x21:a=0x32。 case 0x12:a=0x34。 case 0x42:a=0x36。 case 0x24:a=0x38。 } r++。 key=keyscan()。break。break。break。break。break。 tab[1]=b。amp。break。break。break。break。break。 key=keyscan()。break。break。break。break。break。 tab[3]= d。amp。break。break。break。break。break。 key=keyscan()。break。break。break。break。break。 tab[5]= f。 temp=0xfe。 BEEP=0。 delay(250)。 shuru()。amp。amp。 do { display(2,1,恭喜!開鎖成功!)。 } else { lcdset()。 }while(key!=0x84)。 display(1,2,請(qǐng)?jiān)O(shè)置新密碼)。buf[1]=tab[1]。buf[5]=tab[5]。 shuru()。amp。amp。i2c[1]=buf[1]。i2c[5]=buf[5]。 } delayms(10)。 display(4,4,再見!)。 do { display(1,1,您輸入的密碼有誤)。 } }/***********************用戶登錄子程序***************************/void yonghu(void){ char x=0。 shuru()。amp。amp。 do { display(1,1,恭喜!密碼正確!)。 key=keyscan()。 switch(key) { case 0x18:shezhi()。 do { display(1,3,密碼錯(cuò)誤!)。 x++。 uchar tab[6]。 lcdset()。i6。 do { display(1,1,項(xiàng)目名稱:密碼鎖)。 lcdset()。 display(3,2,用戶登錄請(qǐng)按)。amp。 switch(key) { case 0x84:break。break。break。amp。 key=keyscan()。 do { display(1,3,歡迎使用!)。 key=keyscan()。 } delayms(10)。 delayms(50)。uchar i2c[6]={0x38,0x38,0x38,0x38,0x38,0x38}。 } }while(key!=0x84)。 key=keyscan()。 case 0x84:break。amp。 display(3,2,返回請(qǐng)按C)。amp。amp。amp。 display(1,1,請(qǐng)輸入用戶密碼)。 key=keyscan()。 }while(key!=0x84)。 do { display(1,3,設(shè)置成功)。j6。i2c[3]=buf[3]。amp。amp。amp。 display(1,1,請(qǐng)?jiān)俅屋斎胄旅艽a)。buf[3]=tab[3]。 shuru()。 uchar j。 display(4,3,返回請(qǐng)按C)。 key=keyscan()。amp。amp。amp。 display(1,1,請(qǐng)輸入管理員密碼)。 temp=_crol_(temp,1)。num8。 } }while(key!=0x88)。break。break。break。break。break。amp。 tab[4]= e。break。break。break。break。break。 key=keyscan()。break。break。break。break。break。amp。 tab[2]= c。break。break。break。break。break。 key=keyscan()。break。break。break。break。break。amp。 writemand(0x8a)。 case 0x44:a=0x39。 case 0x14:a=0x37。 case 0x22:a=0x35。 case 0x41:a=0x33。 case 0x11:a=0x31。 if(r==0amp。 } //還回鍵值 else scan=(scan1)|0x01。0xf0)!=0xf0) //本行有鍵按下 { tmp=(P1amp。0xf0)!=0xf0) //判鍵是否還按下 { scan=0xfe。 //列號(hào),行號(hào) P1=0xf0。 }} /*************************將24c02初始化***************************/void init_i2c() { SCL=1。}/*******************填充數(shù)據(jù)fill_data到EEPROM內(nèi)******************/void fill_byte(uchar fill_data){ uchar i。}/************************在指定地址讀取****************************/uchar read_random(uchar random_addr){ start()。 send(OP_READ)。 stop()。 // 返回AT24C02應(yīng)答位}/***************在指定地址addr處寫入數(shù)據(jù)write_data****************/void write_by
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1