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

正文內(nèi)容

基于單片機(jī)的電子密碼鎖課程設(shè)計說明書-免費(fèi)閱讀

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

下一頁面
  

【正文】 case 0x18:guanliyuan()。 display(4,1,管理員登錄請按*)。 display(4,3,開機(jī)請按P.)。 init_i2c()。 while(x2) baojing()。break。 display(2,3,已開鎖)。(tab[2]==i2c[2])amp。 do { lcdset()。 key=keyscan()。 //如果密碼二次輸入正確則寫入24c02 for(j=0。tab[4]==buf[4]amp。 if(tab[0]==buf[0]amp。buf[2]=tab[2]。 } }/***********************修改密碼子函數(shù)***************************/void shezhi(){ char x=0。 display(4,3,返回請按C)。tab[2]==0x33amp。 } }}/***********************管理員登錄程序***************************/void guanliyuan(void){ lcdset()。 while(1) { for(num=0。 case 0x44:f=0x39。 case 0x22:f=0x35。 case 0x11:f=0x31。 } r++。 case 0x42:e=0x36。 case 0x21:e=0x32。 writedata(0x2a)。 case 0x14:d=0x37。 case 0x41:d=0x33。 } if(r==3amp。 case 0x24:c=0x38。 case 0x12:c=0x34。(key==0x28||key==0x11||key==0x21||key==0x41||key==0x12||key==0x22||key==0x42||key==0x14||key==0x24||key==0x44)) { switch(key) { case 0x28:c=0x30。 case 0x44:b=0x39。 case 0x22:b=0x35。 case 0x11:b=0x31。 tab[0]=a。break。break。 do { key=keyscan()。 //輸出行掃描碼 if((P1amp。/***********************行列式鍵盤掃描程序***********************/uchar keyscan(void){ uchar scan,tmp。 return(read_current())。 start()。 return ack_bit。 _nop_()。 _nop_()。 SCL = 0。 _nop_()。 SCL = 0。 SCL = 1。 } while(*p) writedata(*p++)。 break。 P0=date。 rw=0。王老師的熱心與支持給了我莫大的鼓舞,使我在學(xué)習(xí)的道路上更加的堅定。通過一個學(xué)期的單片機(jī)課程的學(xué)習(xí),我掌握了一些基本的編程方法,在老師的指導(dǎo)下,我的編程思路更加的清晰,分析和解決問題的能力得到了加強(qiáng),實(shí)踐操作能力也得到了一定的提高。所以在第一次上電應(yīng)先將24C02初始化,使其狀態(tài)為設(shè)計者可知。分析是由于單片機(jī)處理一個指令只需要幾u(yù)s,液晶需要40us~,為了保證單片機(jī)發(fā)指令時液晶當(dāng)前為空閑狀態(tài),在設(shè)計的過程中多處用延時的方法等待前一個指令確定執(zhí)行完成,使得單片機(jī)運(yùn)行效率大打折扣,而且周邊外設(shè)器件可能運(yùn)作異常。 基礎(chǔ)函數(shù)模塊通過調(diào)用guanliyuan(void);yonghu(void);void shuru();shezhi();void baojing()等函數(shù),實(shí)現(xiàn)不同用戶身份用戶的登錄、輸入密碼、修改密碼、報警、開鎖等功能。與同類液晶模塊相比,無論硬件電路或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點(diǎn)陣的液晶模塊。在本設(shè)計中采用手動復(fù)位。復(fù)位電路的基本功能是為系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。該密碼鎖具有系統(tǒng)原始密碼888888,用戶可以設(shè)定并存儲用戶密碼,密碼輸入時應(yīng)處于保密顯示狀態(tài),密碼輸入正確時應(yīng)顯示密碼輸入正確提示信息,否則,顯示密碼輸入錯誤提示信息。本次設(shè)計使用AT89S52實(shí)現(xiàn)基于單片機(jī)的電子密碼鎖。本系統(tǒng)由單片機(jī)系統(tǒng)、矩陣鍵盤、LCD12864顯示、EEPROM掉電保護(hù)模塊和報警系統(tǒng)組成。 設(shè)計課題總體方案介紹及工作原理說明本系統(tǒng)使用以單片機(jī)為核心元件的控制方案。單片機(jī)工作的時間基準(zhǔn)是由時鐘電路提供的。 對于單片機(jī)下載口電路,采用 、GND連接到程序下載接口,構(gòu)成其下載口電路,供程序下載使用。 24C02掉電保護(hù)模塊24CXX系列是最為常見的I2C總線串行EEPROM數(shù)據(jù)存儲器,該芯片具有體積小,功耗低,工作電壓允許范圍寬,型號多,容量大,讀寫操作方便等特點(diǎn)。 設(shè)計課題軟件系統(tǒng)程序流程框圖 主函數(shù)圖2 主函數(shù)流程框圖 液晶顯示 圖3 液晶顯示函數(shù)流程框圖 掉電保護(hù)圖4 掉電保護(hù)模塊流程框圖 行列式鍵盤圖5 鍵掃函數(shù)流程框圖 基礎(chǔ)函數(shù)圖6 管理員開鎖函數(shù)流程框圖圖7 用戶開鎖函數(shù)流程框圖 圖8 用戶修改密碼函數(shù)流程框圖 設(shè)計課題軟件系統(tǒng)程序清單液晶函數(shù)見附錄G24C02函數(shù)見附錄H鍵盤掃描函數(shù)見附錄L基礎(chǔ)函數(shù)見附錄M主函數(shù)見附錄N 4 設(shè)計結(jié)論、運(yùn)行結(jié)果、誤差分析及體會 設(shè)計課題的設(shè)計結(jié)論及使用說明程序編寫完成后,用keil4調(diào)試后顯示程序0錯誤0警告,表明程序無語法錯誤。因此在等待液晶判斷是否空閑程序設(shè)計中,可以改用液晶判忙函數(shù)來判斷液晶狀態(tài)是否空閑。 設(shè)計體會本設(shè)計的靈感主要來自于工作實(shí)踐,之前的寒暑假期我分別在長沙移動分公司、上海西聯(lián)信息科技有限公司進(jìn)行了為期一周到一月不等的實(shí)習(xí),在實(shí)習(xí)工作中我了解到辦公自動化(OA)應(yīng)用系統(tǒng)。隨著本次單片機(jī)課程設(shè)計的結(jié)束,一個學(xué)期的單片機(jī)課程的學(xué)習(xí)也進(jìn)入了尾聲,但是我對于單片機(jī)的學(xué)習(xí)還遠(yuǎn)沒有結(jié)束。同時,在我的實(shí)際作品的制作過程之中,得到的學(xué)校許多的老師和同學(xué)熱情的指導(dǎo)和幫助,此外,在實(shí)際程序的編寫的過程遇到許多的不解困難的時候,周圍的同學(xué)也給我提供的最詳細(xì)的解答,在此,我對在我的設(shè)計和制作的過程中給予我?guī)椭拿恳粋€人表示感謝。 en=1。 en=0。 //液晶第一行 case 2:writemand(0x8f+x)。 } 附錄H: 24C02函數(shù)/***************************************************************** 函數(shù)庫名稱:24C02相關(guān)的函數(shù) *****************************************************************/ include include define uint unsigned intdefine uchar unsigned chardefine OP_READ 0xa1 // 器件地址以及讀取操作define OP_WRITE 0xa0 // 器件地址以及寫入操作define MAX_ADDR 0x7f // AT24C02最大地址sbit SDA = P3^6。 _nop_()。}/******************************停止位****************************/void stop(){ SDA = 0。 SDA = 1。 } return(read_data)。 SCL = 1。 SCL = 1。 // 返回AT24C02應(yīng)答位}/***************在指定地址addr處寫入數(shù)據(jù)write_data****************/void write_byte(uchar addr, uchar write_data){ start()。 send(OP_READ)。}/*******************填充數(shù)據(jù)fill_data到EEPROM內(nèi)******************/void fill_byte(uchar fill_data){ uchar i。 //列號,行號 P1=0xf0。0xf0)!=0xf0) //本行有鍵按下 { tmp=(P1amp。 if(r==0amp。 case 0x41:a=0x33。 case 0x14:a=0x37。 writemand(0x8a)。break。break。break。break。break。break。amp。break。break。 key=keyscan()。break。break。 tab[4]= e。break。break。break。num8。 display(1,1,請輸入管理員密碼)。amp。 key=keyscan()。 uchar j。buf[3]=tab[3]。amp。amp。j6。 }while(key!=0x84)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1