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

正文內(nèi)容

紅外遙控電磁密碼鎖設(shè)計(jì)方案(編輯修改稿)

2025-06-02 01:22 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 本身就具有反相器的作用,所以控制步進(jìn)機(jī)的信號(hào)都經(jīng)過(guò)了反相器反相處理再接入U(xiǎn)LN2003A。4 系統(tǒng)軟件設(shè)計(jì) 主程序設(shè)計(jì)本系統(tǒng)的軟件程序主要包括主程序、接收解碼程序、密碼判斷和報(bào)警程序、密碼修改程序、遙控器學(xué)習(xí)識(shí)別程序幾個(gè)大的模塊程序。主程序首先是初始化程序,然后就等待紅外接收頭輸出端的低電平,低電平出現(xiàn)說(shuō)明遙控有鍵按下,外部中斷設(shè)定為下降沿觸發(fā),故單片機(jī)進(jìn)入中斷服務(wù)程序進(jìn)行信號(hào)的接收解碼。當(dāng)接收到遙控器識(shí)別按鍵時(shí),單片機(jī)查找并判斷此遙控器ID是否已存在。當(dāng)ID不存在時(shí),系統(tǒng)進(jìn)入遙控器學(xué)習(xí)模式,保存新ID及其鍵碼;當(dāng)遙控器ID已存在時(shí),系統(tǒng)進(jìn)入密碼輸入界面,并且接收到八位的密碼以后就開(kāi)始運(yùn)行密碼核對(duì)程序,當(dāng)密碼輸入正確后,就可以進(jìn)行開(kāi)鎖、上鎖或修改密碼的操作。當(dāng)密碼輸入錯(cuò)誤的時(shí)候就會(huì)進(jìn)入密碼輸入提醒程序提醒用戶重新輸入密碼,密碼輸入累積到3次時(shí)系統(tǒng)會(huì)報(bào)警并鎖定。 系統(tǒng)模塊密碼設(shè)置子程序 由于設(shè)計(jì)是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計(jì)中用的是矩陣鍵盤(pán),所以就用到鍵盤(pán)掃描子程序,例如還有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開(kāi)鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序等。如下圖為密碼修改子程序流程圖 選擇模式舊密碼輸入新密碼輸入存入緩存再次輸入密碼比較密碼重新輸入返回YN是否大于3次鎖定NY 設(shè)置密碼子程序 在硬件支持的環(huán)境下,用proteus設(shè)計(jì)好的電路,Keil編好的程序編譯成芯片可識(shí)別的S51文件,利用PC機(jī)寫(xiě)進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測(cè)試,并對(duì)其出現(xiàn)的錯(cuò)誤進(jìn)行修改,~。 50 keil編譯程序成功 keil生成hex文件 proteus調(diào)用keil的hex文件進(jìn)行仿真5 結(jié)論本設(shè)計(jì)利用STC89C52單片機(jī)芯片完成了基于紅外遙控密碼鎖的設(shè)計(jì),實(shí)現(xiàn)了紅外遙控和鍵盤(pán)輸入控制,顯示部分實(shí)現(xiàn)了LCD1602液晶屏顯示,在報(bào)警部分設(shè)計(jì)了蜂鳴器在密碼輸入錯(cuò)誤三次蜂鳴器報(bào)警的功能。它的創(chuàng)新點(diǎn)在于用了一塊單獨(dú)的89C52芯片進(jìn)行紅外解碼,而且解碼部分軟件設(shè)計(jì)用的是C語(yǔ)言,而顯示鍵盤(pán)部分用的是C語(yǔ)言,使得他們既能夠很好的完成各自的任務(wù)也能很好的兼容在一起完成整個(gè)系統(tǒng)的任務(wù)。然而系統(tǒng)還是存在如下一些不足:沒(méi)有考慮過(guò)多外部因素對(duì)系統(tǒng)的影響,比如密碼丟失,誤操作對(duì)系統(tǒng)的影響。報(bào)警與提示功能做得不夠完善,遙控的有效距離沒(méi)有進(jìn)行系統(tǒng)的論證。這些因素有待進(jìn)一步完善。致謝隨著畢業(yè)論文的完稿,我的畢業(yè)設(shè)計(jì)工作也即將結(jié)束,回顧設(shè)計(jì)過(guò)程,深深地體味到學(xué)習(xí)過(guò)程中的苦樂(lè)相伴,既有遇到困難時(shí)尋求解決的艱辛,更有攻克難關(guān)后的喜悅。這里我要特別感謝我的導(dǎo)師——陳斯老師,陳老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人,雖歷時(shí)三載,卻給以終生受益無(wú)窮之道。感激之情是無(wú)法用言語(yǔ)表達(dá)的,同時(shí)感謝我班所有同學(xué)給予我的幫助和支持,難忘我們共度的求學(xué)歲月,在這短短的兩個(gè)月時(shí)間里,陳老師認(rèn)真負(fù)責(zé)、有條不紊、實(shí)事求是的態(tài)度,給我留下了深刻的印象,使我受益非淺。也向所有給予我?guī)椭椭С值睦蠋熀屯瑢W(xué)表示由衷的感謝!參考文獻(xiàn)[1] 謝維成,楊加國(guó). 單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M]北京,清華大學(xué)出版社,2006年8月第1版[2] 張友德,趙志英,涂時(shí)亮. 單片機(jī)微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)[M]上海:復(fù)旦大學(xué)出版社,2006年第5版[3] 楊將新,李華軍,劉東駿. 單片機(jī)程序設(shè)計(jì)及應(yīng)用從基礎(chǔ)到實(shí)踐[M] 西安:電子工業(yè)出版社,2006年3月[4] [M]北京:電子工業(yè)出版社,2008年3279.[5] 紀(jì)宗南. 單片機(jī)外圍器件實(shí)用手冊(cè)[M]北京:北京航空航天大學(xué)出版社,1998年7882[6] 陳濤. 單片機(jī)及C51程序設(shè)計(jì)[M] 機(jī)械工業(yè)出版社,2008年1月[7] 田立,田清,代方震. 51單片機(jī)C語(yǔ)言程序設(shè)計(jì)快速入門(mén)[M] 人名郵電出版社,2007年1月[8] 曹龍漢. MCS51單片機(jī)原理及應(yīng)用[M]重慶:重慶出版社,2004年2835附錄:源程序代碼:includetypedef unsigned char uint8。typedef unsigned int uint16。sbit lcden=P1^0。sbit lcdrs=P1^1。sbit beep=P3^5。sbit gled=P2^7。sbit rled=P2^0。sbit lock=P2^1。sbit in1=P2^7。//sbit in2=P2^6。sbit in3=P2^5。sbit in4=P2^4。uint8 irtime,bitnum,codenum,irnum,inputnum。uint8 startflag,irreceok,irprosok。uint8 irdata[33],ircode[4],inputword[6],settempword[12],resetword[12],password[6]。//uint8 password[6]={1,1,1,1,1,1}。bit flagkey=1,flagkeyok=1。bit inputflag=1,flaginput=1。bit setflag=1,flagset1=1,flagset2=1。bit resetflag=1,flagreset1=1,flagreset2=1。uint8 code sysinit[] = {System loading }。uint8 code sysrun[] = {Motor running }。uint8 code settab1[] = {Set inipassword:}。uint8 code settab2[] = { Set again: }。uint8 code setOK[] = { SetPasswordOK! }。uint8 code setNO[] = { SetPasswordNO! }。uint8 code iuputtab[] = {Input password: }。uint8 code correct[] = { Correct! }。uint8 code locktab[] = { Lock open! }。uint8 code error[] = { Error! }。 uint8 code resettab1[]= {Set newpassword:}。uint8 code resettab2[]= { Set again: }。uint8 code resetOK[] = {ResetPasswordOK!}。uint8 code resetNO[] = {ResetPasswordNO!}。void delayms(uint16 z){ uint16 x,y。 for(x=z。x0。x) for(y=110。y0。y)。}//=======================一聲提示音 ========================void OneAlam(void){ beep=0。 delayms(500)。 beep=1。}//========================發(fā)射指示燈,表示操作成功========================void ir_led(void){ rled=0。 delayms(100)。 rled=1。 delayms(100)。}//========================解密指示燈,表示操作成功========================void op_led(){ uint16 i。 for(i=128。i0。i) { in1=1。in2=0。in3=0。in4=0。 delayms(20)。 in1=0。in2=1。in3=0。in4=0。 delayms(20)。 in1=0。in2=0。in3=1。in4=0。 delayms(20)。 in1=0。in2=0。in3=0。in4=1。 delayms(20)。 }}//========================三聲提示音,表示錯(cuò)誤========================void ThreeAlam(void){ beep=0。 delayms(500)。 beep=1。 delayms(500)。 beep=0。 delayms(500)。 beep=1。 delayms(500)。 beep=0。 delayms(500)。 beep=1。}void Timer0_init(void){ TMOD=0x02。 TH0=0。 TL0=0。 EA=1。 ET0=1。 TR0=1。}void Int0_init(void){ IT0=1。 EX0=1。 EA=1。}void write_(uint8 ){ lcdrs=0。 P0=。 delayms(5)。 lcden=1。 delayms(5)。 lcden=0。}void write_data(uint8 date){ lcdrs=1。 P0=date。 delayms(5)。 lcden=1。 delayms(5)。 lcden=0。}void Lcd_init(void){ lcden=0。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。}void IR_pros(void)//0x1C{ uint8 k,i,j。 uint8 value。 k=1。//不含引導(dǎo)碼 for(j=
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1