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

正文內(nèi)容

基于單片機(jī)的密碼鎖設(shè)計(jì)畢業(yè)論文(文件)

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

下一頁面
 

【正文】 的情況下保存 40 年以上,而且采用 8 腳的 DIP 封裝,使用方便。系統(tǒng)程序流程下圖所示。 輸入密碼核對(duì)鍵盤鎖定,開啟報(bào)警電路 開鎖,燈亮,可密碼修改N Y復(fù)位 圖 42 密碼輸入和比較判決流程圖 鍵盤掃描模塊 鍵盤使用矩陣式鍵盤,由行和列組成,CPU 對(duì)所有鍵盤進(jìn)行監(jiān)視,從而實(shí)現(xiàn)逐列掃描鍵盤確定被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除去抖動(dòng)、判斷閉合的鍵是否釋放等功能。在這次設(shè)計(jì)中,我深刻認(rèn)識(shí)到自身的不足——缺少實(shí)戰(zhàn)經(jīng)驗(yàn)。致謝非常感謝**老師,老 師 在 我 大 學(xué) 的 最 后 學(xué) 習(xí) 階 段 ——畢 業(yè) 設(shè) 計(jì) 階 段 給 自 己 的 指 導(dǎo) , 從最初的定題,到資料收集,到寫作、修改,到論文定稿,她們給了我耐心的指導(dǎo)和無私的幫助。sbit lcd1602_rw=P2^6。 //24C02 串行數(shù)據(jù)sbit ALAM = P2^1。 //操作標(biāo)志位bit pass=0。 //鎖定鍵盤標(biāo)志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}。 //錯(cuò)誤次數(shù)計(jì)數(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()。elsetemp=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 置高電平,為制造下降沿做準(zhǔn)備delay(1)。//開顯示不顯示光標(biāo)write_1602(0x06)。break。break。case (0x12): k=4。case (0x42): 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()。}//========================三聲提示音,表示錯(cuò)誤========================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。33wr。}}}}void DisplayInput(void){unsigned char i。write_1602(er)。for(i=0。i16。}//=======================顯示提示輸入=========================void DisplayChar(void){unsigned char i。32write_1602(yi+5+N)。 ALAM=1。 ALAM=1。 ALAM=1。Delay5Ms()。Delay5Ms()。 //無鍵按下時(shí)返回 0}//=======================一聲提示音,表示有效輸入========================void OneAlam(void){ALAM=0。31}while((P1amp。 //確定列線 break。P1=a[i]。 Delay5Ms()。}//=====================按鍵檢測(cè)并返回按鍵值===============================unsigned char keynum(void){ unsigned char row,col,i。case (0x88): k=39。break。case (0x18): k=39。break。break。30case (0x82): k=39。case (0x22): k=5。A39。break。//清顯示}//========================================================================================//=========================================================================================//==============將按鍵值編碼為數(shù)值=========================unsigned char coding(unsigned char m) {unsigned char k。 //en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令}//初始化void lcd_init(void){write_1602(0x38)。//送入數(shù)據(jù)delay(1)。lcd1602_en=0。 //讀寫選擇置為寫P0=。y0。 }}//==================================================================================================//=======================================LCD1602====================================================//==================================================================================================define yi 0x80 //LCD 第一行的初始位置,因?yàn)?LCD1602 字符地址首位 D7 恒定為 1(100000000=80)define er 0x80+0x40 //LCD 第二行初始位置(因?yàn)榈诙械谝粋€(gè)字符位置地址是 0x40)//延時(shí)函數(shù),后面經(jīng)常調(diào)用void delay(uint xms)//延時(shí)函數(shù),有參函數(shù){uint x,y。 *(PData+i)=Read()。 Ack()。i++) { Start()。 uchar *PData。 Ack()。 Ack()。 for(i=0。return(temp)。if(BitCounter1){temp1=temp1。Nop()。Sda=1。 Scl=0。 temp=Data1。 if((tempamp。 uchar temp。 Scl=1。Nop()。 Nop()。} /*停止條件*/void Stop(void){ Sda=0。 Scl=1。 _nop_()。 while(t) { for(i=0。 unsigned int TempCycB。 //重新輸入計(jì)數(shù)unsigned char code initpassword[6]={0,0,0,0,0,0}。unsigned char N=0。unsigned char code again[] = {input again }。unsigned char code Input[] = {input: }。 //輸入正確unsigned char code Error[] = { error }。unsigned char code a[]={0xFE,0xFD,0xFB,0xF7}。 //重置輸入充許標(biāo)志bit s3_keydown=0。 //開鎖sbit open_led=P2^2。sbit Scl=P3^4。同時(shí),感謝所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助,是他們教會(huì)了我專業(yè)知識(shí),教會(huì)了我如何學(xué)習(xí),教會(huì)了我如何做人。由于本次設(shè)計(jì)時(shí)間有限,一些設(shè)想沒有完全實(shí)現(xiàn),比如說:電子密碼鎖的網(wǎng)絡(luò)通信擴(kuò)展,人機(jī)界面智能化等。下圖為修改密碼流程圖。 密碼比較判斷模塊該模塊的功能是將鍵盤輸入的密碼利用 if 語句與設(shè)定的密碼進(jìn)行逐個(gè)比較,若密碼完全正確則開鎖;若不正確,則開啟報(bào)警電路,復(fù)位后重新輸入密碼。A0A1A2GNDSDASCLWPVCC12348765C02 圖 320 AT24C02 管腳示意圖管腳名稱 功能 管腳名稱 功能A0 A1 A2 器件地址選擇 SDA 串行數(shù)據(jù)/地址14 表 1 AT24C02 管腳說明 本設(shè)計(jì)中,AT24C02 的 SCL 和 SDA 引腳接上拉電阻后與單片機(jī)的 (T0)和(T1)腳相連,其電路下圖所示。 13 圖 319 蜂鳴器電路 AT24C02 掉電存儲(chǔ)單元的設(shè)計(jì)本設(shè)計(jì)中掉電存儲(chǔ)單元采用 AT24C02 外部存儲(chǔ)器 [89],其作用是在系統(tǒng)電源斷開的時(shí)候,存儲(chǔ)當(dāng)前設(shè)定的密碼數(shù)據(jù)。鍵盤掃描采用行掃描法,即依次置行線中的每一行為低電平,其余均為高電平,掃描列線電平狀態(tài),為低電平即表示該鍵按下。 密 碼 密碼正確 N 返回 輸 入 電 Y 磁 鎖開鎖驅(qū)動(dòng)電路 圖 317 密碼鎖開鎖電路原理圖 矩陣鍵盤設(shè)計(jì)電路 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要 M 條行線和 N 條列線,即可組成具有 MN 個(gè)按鍵的鍵盤。如下圖所示,為密碼鎖開鎖電路原理圖。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。9如果基極電流從 0 慢慢增加,那么燈泡的亮度也會(huì)隨著增加(在三極管未飽和之前) 。如果三極管主要工作在截止和飽和狀態(tài),那么這樣的三極管我們一般把它叫做開關(guān)管。當(dāng)基極電流的增大,不能使集電極電流繼續(xù)增大 時(shí),三極管就進(jìn)入了飽和狀態(tài)。而加上偏置,事先讓集電極有一定的電流,當(dāng)輸入的基極電流變小時(shí),集電極 電流就可以減??;當(dāng)輸入的基極電流增大時(shí),集電極電流就增大。當(dāng)基極與發(fā)射極之間的電壓小于 時(shí),基極電流就可以認(rèn)為是 0。我們將這個(gè)電阻上的電壓取出來,就得到了放大后的電壓信號(hào)了。這兩個(gè)電流的方向都是流出發(fā)射極的,所以發(fā)射極 E 上就用了一個(gè)箭頭來表示電流的方向。分成 NPN和 PNP 兩種。其中 9013 與 8050 為 npn 型三極管,可以通用。 有些芯片內(nèi)部集成了上拉電阻(如單片機(jī)的 P3 口) ,所以外部就不用上拉電阻了。 (7)ISP(在系統(tǒng)可編程)/IAP
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1