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

正文內(nèi)容

基于單片機(jī)電路設(shè)計(jì)密碼鎖(存儲(chǔ)版)

  

【正文】 lay(1)。 temp=_crol_(temp,1)。 delay(1)。 //點(diǎn)亮數(shù)碼管右邊N位 } if(N==2) //判斷輸入密碼個(gè)數(shù)是否為2 { temp=0xfe。 //按鍵0動(dòng)作,設(shè)num=0 case 0x77:num=39。break。// 按鍵5動(dòng)作,設(shè)num=5 case 0xbd:num=6。break。 hang=P1。 lie=P1。直到再一次輸入數(shù)字。P0口控制段選,P2口控制位選。如圖二所示,二極管亮。當(dāng)確認(rèn)有按鍵按下后,就要識(shí)別是哪一個(gè)按鍵被按下。(2) 報(bào)警、鎖定鍵盤功能。測(cè)試結(jié)果表明,設(shè)計(jì)達(dá)到電子密碼鎖的功能。目前使用的密碼鎖種類繁多,各具特色。設(shè)計(jì)主要功能有:1. 設(shè)置6位密碼,密碼通過(guò)鍵盤輸入,若密碼正確,則鎖打開,代表鎖的二極 管亮。 4. 密碼只能輸入6位數(shù)字,超過(guò)6位的輸入無(wú)效。本設(shè)計(jì)采用矩陣鍵盤對(duì)密碼進(jìn)行輸入,具有較高的優(yōu)勢(shì),減少了I/O口的占用數(shù)目。(如指紋、眼底視網(wǎng)膜等)來(lái)控制鎖的開啟。另外系統(tǒng)還有LED 提示燈,報(bào)警蜂鳴器等。再根據(jù)掃描結(jié)果判斷按下鍵的位置。每次輸入的密碼與正確密碼進(jìn)行比較,如果相同,鎖開燈亮。本設(shè)計(jì)只允許輸入數(shù)字密碼6位,超過(guò)6位以后的數(shù)字無(wú)效,在C語(yǔ)言程序中以一個(gè)while循環(huán)實(shí)現(xiàn)。在開鎖情況下進(jìn)行修改密碼,點(diǎn)擊確認(rèn)密碼修改成功,否則結(jié)束返回。 addres=hang|lie。 switch(addres) // 讀取鍵值 { case 0xee:num=1。break。B39。 //按鍵9動(dòng)作,設(shè)num=9 case 0x7b:num=39。 //按鍵D動(dòng)作,設(shè)num=D } } }}數(shù)碼管顯示流程圖如圖八所示: 26 數(shù)碼管顯示程序?yàn)椋簐oid display(uchar N)//顯示{ if(N==1) //判斷輸入密碼個(gè)數(shù)是否為1 { temp=0xfe。 delay(1)。 } if(N==3) //判斷輸入密碼個(gè)數(shù)是否為3 { temp=0xfe。 delay(1)。 } if(N==4) // 判斷輸入密碼個(gè)數(shù)是否為4 { temp=0xfe。 delay(1)。 P0=0x40。 delay(1)。 P0=0x40。 P2=0xff。 P0=0x40。 P2=0xff。 P2=temp。 temp=_crol_(temp,1)。 for(m=50。 調(diào)用延時(shí)函數(shù) } }} 密碼重置的條件是在鎖開,即燈亮的情況下進(jìn)行的,所以調(diào)用密碼子程序開始必須對(duì)顯示器進(jìn)行清零并熄滅,關(guān)閉發(fā)光二極管。 //6位數(shù)字顯示子函數(shù) if(num==39。 b1=b。首先運(yùn)用keil軟件編寫電子密碼鎖的源程序,本設(shè)計(jì)主要運(yùn)用C語(yǔ)言編寫。密碼正確,鎖開;密碼輸入錯(cuò)誤三次,報(bào)警;輸入密碼超過(guò)6位之后的數(shù)無(wú)效;數(shù)碼管顯示屏顯示密碼為“—”。 //字模定義void delay(uint z)。 //數(shù)字右移函數(shù) void display(uchar)。 sbit K=P3^1。 //數(shù)碼管熄滅 TR0=0。 // 重置密碼子程序 mark=0。 //從右往左數(shù)第六位密碼 b1=5。 EA=1。 //數(shù)字右移函數(shù) disp(a,b,c,d,e,f)。} a1=a。 }void delay(uint z) // 延時(shí)函數(shù){ uint x,y。 //輸入密碼個(gè)數(shù)加1 flag=0。 lie=P1。 hang=P1。break。 //按鍵5動(dòng)作,設(shè)num=5 case 0xbd:num=6。break。 //按鍵0動(dòng)作,設(shè)num=0 case 0x77:num=39。D39。(d1==d)amp。 //led燈點(diǎn)亮 a=b=c=d=e=f=0。 //點(diǎn)亮g段使顯示為“—” P2=temp。 temp=_crol_(temp,1)。 P2=temp。 temp=_crol_(temp,1)。 P2=temp。 temp=_crol_(temp,1)。 delay(1)。 temp=_crol_(temp,1)。 delay(1)。 P0=0x40。 delay(1)。 temp=_crol_(temp,1)。 P2=temp。 P2=0xff。 P0=0x40。 P2=0xff。 P0=0x40。 P2=0xff。 P0=0x40。 P2=0xff。 P0=0x40。 //錯(cuò)誤次數(shù)累加 N=0。(f1==f)) //比較密碼是否正確 { mark=1。(b1==b)amp。C39。C39。break。 // 按鍵A動(dòng)作,設(shè)num=A case 0xed:num=4。break。 //行列寄存器中的值相或得到按鍵值 while(addres!=0xff) //判斷是否有鍵按下,若adres的值不為0xff則有鍵按下 { delay(5)。 c=b。y0。 e1=e。} if(num==39。 //熄滅數(shù)碼管 N=0。 //第二位密碼 f1=1。 temp=0xfe。A39。 //數(shù)字右移函數(shù) fun_key()。uint to,aa。 // 初始化設(shè)置void exter0()?;仡櫞舜螁纹瑱C(jī)課程設(shè)計(jì),至今我仍感觸頗多。Protues仿真電路圖如圖十四所示圖十四 protues仿真電路圖Keil調(diào)試程序圖(圖十五)七設(shè)計(jì)總結(jié)與展望課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。 f1=f。C39。 // 輸入密碼個(gè)數(shù)清零 D0=1。n) { K=~K。 P2=0xff。 P0=0x40。 delay(1)。 temp=_crol_(temp,1)。 delay(1)。 temp=_crol_(temp,1)。 P2=temp。 temp=_crol_(temp,1)。 P2=temp。 P2=0xff。 P2=temp。 P2=0xff。 P2=temp。 //延時(shí)使左邊第一位不停閃爍 P2=0xff。break。 //按鍵7動(dòng)作,設(shè)num=7 case 0xdb:num=8。break。 //按鍵2動(dòng)作,設(shè)num=2 case 0xbe:num=3。 P1=0x0f。圖七 鍵盤掃描流程圖鍵盤掃描C語(yǔ)言程序?yàn)椋簐oid get_key(){ P1=0xf0。 (3) 當(dāng)按下功能鍵時(shí),相應(yīng)的功能鍵實(shí)現(xiàn)相應(yīng)的功能,而數(shù)碼管全部回零熄滅。顯示電路如圖四所示。在本次設(shè)計(jì)中用發(fā)光二極管代替電磁鎖,二極管亮表示鎖開,二極管滅表示沒(méi)有開鎖。在這種行列式矩陣鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段,還要對(duì)按鍵進(jìn)行消抖處理。三 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)本次設(shè)計(jì)使用ATMEL公司的AT89S51 實(shí)現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計(jì),其主要具有如下功能:(1) 密碼通過(guò)鍵盤輸入,若密碼正確,LED燈亮,則將密碼鎖打開。軟件使用C語(yǔ)言編程,運(yùn)用自上而下的模塊化設(shè)計(jì)思想,使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。大大提高了主人物資的安全性,安全可以代替老式機(jī)械鎖。 二、設(shè)計(jì)的內(nèi)容及要求本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路組成電子密碼控制系統(tǒng)。 5. 具有自動(dòng)報(bào)警功能:當(dāng)密碼輸入錯(cuò)誤三次,報(bào)警,蜂鳴器響10S。密碼的顯示采用6位數(shù)碼管實(shí)現(xiàn),為確保安全性統(tǒng)一使用“—”顯示密碼。從而大大提高了鎖的安全性,使不法之徒無(wú)從下手,人們也就能對(duì)自身財(cái)產(chǎn)安全有了更多的保障。四設(shè)計(jì)原理和硬件仿真方案密碼的輸入用矩陣鍵盤實(shí)現(xiàn),包括數(shù)字鍵和功能鍵。給相應(yīng)的按鍵賦值即可實(shí)現(xiàn)數(shù)字鍵和功能鍵。如果輸入錯(cuò)誤則用一個(gè)變量來(lái)記錄輸入錯(cuò)誤的次數(shù),當(dāng)輸入密碼錯(cuò)誤達(dá)到三次時(shí),蜂鳴器工作發(fā)出報(bào)警聲音,本次設(shè)計(jì)使用的是聲音間斷蜂鳴器聲音報(bào)警來(lái)報(bào)警,如此循環(huán),即可聽到“嘟嘟嘟”的間斷響聲。數(shù)碼管顯示原理:(1) “—”顯示原理:在選擇位選的情況下,段選僅點(diǎn)亮“g”管即可顯示當(dāng)位為“—”;(2) 實(shí)現(xiàn)右移逐漸點(diǎn)亮原理: 當(dāng)輸入一個(gè)數(shù)字時(shí),第五位(從左往右數(shù))賦值給第六位,第四位的值賦給第五位,第三位的值賦給第四位,第二位的值賦給第三位,第一位的值賦給第二位,輸入的值賦給第一位,同時(shí)點(diǎn)亮第一位數(shù)碼管。若密碼修改成功則再執(zhí)行之前的操作。 // 行列寄存器中的值相或得到按鍵值 while(addres!=0xff) //判斷是否有鍵按下,若adres的值不為0xff則有鍵按下 { delay(5)。break。 //按鍵A動(dòng)作,設(shè)num=A case 0xed:num=4。break。C39。 P0=0x40。 P2=0xff。 P0=0x40。 P2=0xff。 P0=0x40。 P2=0xff。 P2=temp。 P2=0xff。 P2=temp。 temp=_crol_(temp,1)。 P2=temp。 temp=_crol_(temp,1)。 delay(1)。 P0=0x40。m0。然后再調(diào)用輸入密碼子程序、鍵盤掃描子程序進(jìn)行密碼修改。D39。 c1=c。源程序編寫后運(yùn)行生成目標(biāo)文件供protues仿真調(diào)試。在設(shè)計(jì)的過(guò)程中遇到了各種各樣的問(wèn)題,譬如說(shuō)斷電密碼保護(hù)的設(shè)計(jì),由于電路和編程都過(guò)于復(fù)雜,本設(shè)計(jì)并未加入。 //延時(shí)函數(shù)void get_key()。 // 數(shù)碼管顯示程序void alarm()。void main(){ init()。 mark=0。 } } }}void init() // 初始化設(shè)置{ K=0。 //第五位密碼 c1=4。 ET0=1。 //數(shù)字顯示函數(shù) if(num==39。 b1=b。 for(x=100。 f=e。 P1=0x0f。 addres=hang|lie。 //按鍵3動(dòng)作,設(shè)num=3 case 0x7e:num=39。break。 // 按鍵8動(dòng)作,設(shè)num=8 case 0xbb:num=9。D39。) //按鍵是否為D { num=0xff。amp。 //數(shù)碼管熄滅 N=0。 delay(1)。 //帶循環(huán),使其挨
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1