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

正文內(nèi)容

基于單片機的電子密碼鎖畢業(yè)論文(編輯修改稿)

2025-07-24 20:08 本頁面
 

【文章內(nèi)容簡介】 lg=0。報警子程序:(通過控制buzzer端口的高低電平來控制三極管的通斷,從而控制蜂鳴器)void alarm() { num=0。 buzzer=0。 delay(100)。 buzzer=1。 }數(shù)碼管顯示子程序:LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高;動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些。本設(shè)計使用動態(tài)顯示方法。void display() { uchar i,j,cs=0x7f。 for(i=num。i0。i) { P0=table[0]。 cs=_crol_(cs,1)。 P2=cs。 delay(10)。 } for(j=4num。j0。j) { P0=table[1]。 cs=_crol_(cs,1)。 P2=cs。 delay(10)。 } }按下確認(rèn)鍵后執(zhí)行功能子程序:(使用標(biāo)志變量flg,根據(jù)其值來選擇執(zhí)行相應(yīng)的功能)void ok() { uchar i=0。 display()。 // P0=(flg+1)。delay(1000)。 if(flg==0) { for(i=0。i4。i++) if(keyword[i]!=keycmp[i]) {alarm()。break。} if(num==4) {relay=0。num=0。} } if(flg==2) { num=0。 for(i=0。i4。i++) keyword[i]=keycmp[i]。 flg=0。 } if(flg==1) { for(i=0。i4。i++) if(keyword[i]!=keycmp[i]) {alarm()。break。} if(num==4) { num=0。 display()。 // P0=0x07。delay(1000)。 flg=2。 } } }鍵盤掃描子程序:(運用矩陣鍵盤逐行逐列掃描法,一次檢測各個按鍵)鍵盤是單片機常用輸入設(shè)備,在按鍵數(shù)量較多時,為了節(jié)省I/O口等單片機資源,一般采取掃描的方式來識別到底是哪一個鍵被按下。即通過確定被按下的鍵處在哪一行哪一列來確定該鍵的位置,獲取鍵值以啟動相應(yīng)的功能程序。查找哪個按鍵被按下的方法為:一個一個地查找。 先第一行輸出0,檢查列線是否非全高;否則第二行輸出0,檢查列線是否非全高;否則第三行輸出0,檢查列線是否非全高;如果某行輸出0時,查到列線非全高,則該行有按鍵按下;根據(jù)第幾行線輸出0與第幾列線讀入為0,即可判斷在具體什么位置的按鍵按下。void keyscan() { uchar temp1,temp2。 P1=0xfe。//令第一列為低電平,檢測第1列 temp1=P1。 if(temp1!=0xfe) { delay(5)。 //去抖 temp2=P1。 if(temp1==temp2) { switch(temp2) { case 0xf6: if(num4){key=1。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xee: if(num4){key=4。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xde: if(num4){key=7。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xbe: set()。break。 } } } while(temp1!=0xfe) temp1=P1。//等待按鍵釋放 P1=0xfd。//檢測第2列 temp1=P1。 if(temp1!=0xfd) { delay(5)。 //去抖 temp2=P1。 if(temp1==temp2) { switch(temp2) { case 0xf5: if(num4){key=2。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xed: if(num4){key=5。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xdd: if(num4){key=8。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xbd: if(num4){key=0。keycmp[num]=key。num++。display()。} else alarm()。 break。 } } } while(temp1!=0xfd) temp1=P1。//等待按鍵釋放 P1=0xfb。//檢測第3列 temp1=P1。 if(temp1!=0xfb) { delay(5)。 //去抖 temp2=P1。 if(temp1==temp2) { switch(temp2) { case 0xf3: if(num4){key=3。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xeb: if(num4){key=6。keycmp[num]=key。num++。display()。} else alarm()。 break。 case 0xdb: if(num4){key=9。keycmp[num]=key。num++。display(
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1