版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
紅外遙控電子密碼鎖的設計bit“0”,0.56msI1.125msI2.25ms圖2.5編碼波形圖上述“0”和“1”組成的32位二進制碼經38kHz的載頻進行二次調制以提高發(fā)射效率,達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產生紅外線向空間發(fā)射。UPD6121G產生的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設備,防止不同機種遙控碼互相干擾,如我們可以同時使用電視機、機頂盒、功放等遙控器,但它們不會產生誤觸發(fā)。該芯片的用戶識別碼固定為十六進制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進制“0”和“1”的個數(shù)不同而不同,大約在45?63ms之間。R1?。捍ā?*R1?。捍ā?*IEW、.J引導碼菱發(fā)碼菱發(fā)碼圖2.6發(fā)射波形圖當一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據碼(9ms~18ms)和這8位數(shù)據的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結束碼(2.5ms)組成。代碼格式(以接收代碼為準,接收代碼與發(fā)射代碼反向)1)位定義
0*0*0*0.56ms叩eric■型1.12ms)2)單發(fā)代碼格式圖2.7圖0*0.56ms叩eric■型1.12ms)2)單發(fā)代碼格式圖2.7圖2.83)連發(fā)代碼格式2_5ms圖2.9一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機識別的TTL信號,這樣大大簡化了接收電路的復雜程度和電路的設計工作,方便使用。在本系統(tǒng)中我們采用紅外一體化接收頭HS0038,外觀圖如圖2.10所示:用3tin"化林枚久HSOOM玲/國
F格3ThepefuteX'HS003Stceeiw^lad圖2.10HS0038實物圖HS0038黑色環(huán)氧樹脂封裝,不受日光、熒光燈等光源干擾,內附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號情況下,其接收距離可達35m。它能與TTL、COMS電路兼容。HS0038為直立側面收光型。它接收紅外信號
頻率為38kHz,周期約26(is,同時能對信號進行放大、檢波、整形,得到TTL電平的編碼信號。三個管腳分別是地、+5V電源、解調信號輸出端。利用外部中0斷進行數(shù)據的接收。圖2.11HS0038硬件結構3矩陣鍵盤模塊將12個按鍵分為4排3列排列好,如圖:矩陣鍵盤硬件結構。當有一個鍵按下時,通過某一邊引腳賦低電平,掃描全部引腳看是否與最初的賦值一樣,不一樣則根據相應的算法(通過改變后的值與初始值相或,根據結果賦值)確定是圖2.12鍵盤硬件結構2.4顯示模塊2.4.1LCD12864介紹
LCD12864分為帶字庫和不帶字庫兩種,帶字庫的在顯示文本時更方便,不帶字庫的在顯示圖像時更有優(yōu)勢。本系統(tǒng)采用帶字庫的LCD12864,采用標準的20腳接口,各引腳接口說明如表2.1所示:表2.1LCD12864引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地11D4數(shù)據2VDD電源正極12D5數(shù)據3VO對比度亮度調整13D6數(shù)據4RS數(shù)據/命令選擇14D7數(shù)據5R/W讀/寫選擇15PSB串行通信選擇端6E使能信號16NC空腳7DO數(shù)據17RET復位8D1數(shù)據18VOUTLCD驅動負電壓9D2數(shù)據19LED+背光電源正極10D3數(shù)據20LED-背光電源負極2.4.2LCD12864電路圖S10GND1VSSVCCVORS(CS)R/W(SID)EfSCLK)DBODB1DB2DBSDB4DB5DB6DB7PSBNC/RESETVOUTLED(VCC)LED(VSS)*523PO:54P025PO167891011121314GND1516PO(17*5318』14JCy—219GND1GND20KG1-2LCD12864圖2.13LCD12864硬件結構蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。有源蜂鳴器直接接上額定電源(新的蜂鳴器在標簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。本系統(tǒng)采用無源蜂鳴器,控制更簡單。蜂鳴器硬件如下圖:圖2.14蜂鳴器6單片機最小系統(tǒng)模塊單片機最小系統(tǒng)電路圖:三、軟件設計3.1程序流程圖3.1.1主程序流程圖圖3.1主程序流程圖圖3.2鍵值判斷流程圖圖3.3開鎖流程圖圖3.4密碼修改流程圖<開始)檢測脈沖寬度接收前16位地址碼和地址反碼接收后16位數(shù)據碼
和數(shù)據反碼轉換鍵值圖3.5紅外接收流程圖摘要本設計是以STC89C52為主要芯片,以中斷、計數(shù)等基本工作方式來控制、判斷外部器件的工作、工作狀態(tài),結合采用數(shù)字信號編碼的基本算法,用紅外遙控器遙控發(fā)送密碼、再用紅外接收管接收密碼,單片機根據紅外接收管導通與否和持續(xù)時間結合二次調制方式的基本算法還原遙控器發(fā)送的密碼,再與外部儲存器AT24C02儲存的密碼對比,判斷密碼是否正確,輔助以LCD12864顯示用戶的操作結果,以蜂鳴器提醒,再通過矩陣鍵盤實現(xiàn)輸入或修改密碼等基本功能實現(xiàn)紅外電子密碼鎖的設計。該設計運用了C語言編寫程序,簡單、明了,很好的實現(xiàn)了紅外通信的要求。在以往設計的基礎上,該設計添加了在線燒寫程序,極大的方便了用戶使用,特別是為工業(yè)生產帶來了極大的便利。紅外電子密碼鎖具有成本較低、操作方便、體積小、無污染、反應速度快等優(yōu)勢,具有很好的市場價值。關鍵詞:紅外遙控;紅外接收;報警器;電子密碼鎖;單片機圖4.6按鍵掃描流程圖3.2程序設計(見附錄二)四、總結本設計不但很好的滿足了題目的要求,即終端能夠接收紅外遙控發(fā)射板發(fā)射的紅外信號(密碼)并能與已存密碼作對比,而且能夠在液晶上顯示操作結果,還增加了取消這一功能,從而完成了紅外遙控電子密碼鎖的要求。但一開始并不是這么順利,最先將程序下載到機子里面,鍵盤不能工作,后經查發(fā)現(xiàn)鍵盤程序沒有運行。改過來后又發(fā)現(xiàn)多了一個鍵,沒有用處,經討論將多的鍵設為取消鍵。原來設計的電源是直接用USB從電腦上引出來,后來在此解讀題目時發(fā)現(xiàn)不能滿足題目要求,所以添加了一個用7805穩(wěn)壓的小模塊。美中不足的是此設計紅外遙控的距離并不太理想(一米多一點),而且取消功能并不是想象的能夠取消前面自己不想要的內容,而是返回主菜單。但這些不足并不能抵消此設計帶來的好處。參考文獻王君,祝超群,劉仲明,楊彬.單片機原理及控制技術.機械工業(yè)出版社,2010曾澤昭,紅外遙控電子密碼鎖應用研究.國外電子元器件,2004康華光主編.電子技術基礎模擬部分.第四版.北京:高等教育出版社,1999曹漢房主編.數(shù)字電路與邏輯設計.第四版.武漢:華中科技大學出版社,2004沙占友,王彥朋等.單片機外圍電路設計.北京:電子工業(yè)出版社,2003邱玉春,李文俊.單片機系統(tǒng)中的紅外通信接口[J].電子產品世界,2000蘇長贊,紅外線與超聲波遙控.北京:人民郵電出版社,1998樓然苗,單片機課程設計指導.北京航空航天大學出版社,2007年.彭為,單片機典型系統(tǒng)設計.電子工業(yè)出版社,2006年.吳國經,單片機應用技術.中國電力出版社,2004年.何立民,單片機應用技術選編[M].北京:北京航空航天大學出版社,1998.李華,MSC-51系列單片機實用接口技術.北京航空航天大學出版社,2003致謝附錄附錄一1.1整體電路結構:SIOVSSVCCRSQ)SPCCK)rntt-RESETVOQTLSD(VXX)L£D(VSS)R^f(SP)CGODQIDOIDQ3IIIAlWPMS(XVSSSZ圖1總電路圖1.2PCB圖:【mum圖2PCB圖附錄二2.1AT24C02模塊#include"common.hn
sbitWP=PlAO;sbitSCL=PlAl;sbitSDA=P1A2;voidDelay_US(void)(??}voidDelay_10MS(void){uchari=0;ucharj=0;for(i=50;i>0;i-){for(j=200;j>0;j-);voidAT24C08_unprotect()(WP=0;}voidAT24C02_Start(void)〃開始總線(SDA=1;SCL=1;Delay_US();SDA=0;Delay_US();〃停止總線〃停止總線〃停止總線voidAT24C02_Stop(void)(〃停止總線SDA=0;SCL=1;Delay_US();SDA=1;Delay_US();voidAT24C02_Ack(void)//ACK信號uchari=0;〃等待從機回應SCL=1;Delay_US();while((SDA==1)&&(iv200))〃等侍ACK信號i++;}SCL=0;Delay_US();)voidAT24C02_NOAck(void)//NOACK(SCL=1;〃主機發(fā)送給從機Delay_US();SDA=1;SCL=0;Delay_US();voidAT24C02_Write_Byte(ucharValue)//寫8位數(shù)據到總線{uchari=0;for(i=0;i<8;i++){SCL=0;SDA=Value&0x80;//10000000Delay_US();SCL=1;Delay_US();Value<<=1;}SCL=0;Delay_US();SDA=1;ucharAT24C02_Read_Byte(void)//讀8位數(shù)據(ucharValue=0;uchari=0;SCL=0;〃低電平數(shù)據可以變化Delay_US();for(i=0;i<8;i++)SCL=1;〃高電平狀態(tài)讀數(shù)據Delay_US();if(SDA)Value|=Ox8O?i;//先讀高位數(shù)據}SCL=0;Delay_US();}returnValue;voidAT24C02_Write(ucharAddress,ucharValue){AT24C02_Start();〃起始條件AT24C02_Write_Byte(0xA0);〃器件地址10100000〃寫AT24C02_Ack();〃等從機應答AT24C02_Write_Byte(Address);//1024字節(jié),其中一個字節(jié)操作25AT24C02_Ack();AT24C02_Write_Byte(Value);//0x15AT24C02_Ack();//AT24C02_Stop();Delay_10MS();ucharAT24C02_Read(ucharAddress){ucharValue=0;AT24C02_Start();〃開始總線AT24C02_Write_Byte(0xA0);//10100000AT24C02_Ack();AT24C02_Write_Byte(Address);〃讀數(shù)據的地址;〃25AT24C02_Ack();AT24C02_Start();〃再次開始AT24C02_Write_Byte(0xA1);//10100001AT24C02_Ack();Value=AT24C02_Read_Byte();AT24C02_NOAck();〃主機發(fā)送給從機無應答AT24C02_Stop();returnValue;2紅外通信模塊
sbitbeer=P0sbitbeer=P0A4;sbitRED_DATA=P3A2;//ucharRED_ADD=O;ucharRED_add=255;ucharRED_key=255;〃紅外遙控的地址〃紅外遙控的地址緩存區(qū)〃紅外搖控的鍵值,無鍵按下日寸為255〃紅外初始化voidInit_Red(void){RED_DATA=1;//P3A2輸出高電平EX0=1;〃開啟紅外中斷P3A2〃檢測脈沖寬度ucharRed_check(void)(uchart=0;uchara=0;while(RED_DATA)(t++;for(a=0;a<4;a++);//if(t==250)returnt;〃超時溢出}returnt;}voidexterO()interrupt0(ucharres=O;ucharaa=0;bitOK=0;bitRODATA=0;while(l)(if(RED_DATA)//有高脈沖出現(xiàn)(res=Red_check();//獲得此次高脈沖寬度if(res==250)(break;//非有用信號}if(res>=200&&res<250)OK=1;//獲得前導位(4.5ms)}elseif(res>=70&&res<100)〃如果是寬脈沖,則RODATA=1(aa++;RODATA=1;〃1.69ms}elseif(res>=10&&res<50)〃如果是窄脈沖,貝'JRODATA=0(aa++;RODATA=0;//500us}〃前1-8位是遙控器地址碼,9-16位是地址反碼,17-24是鍵值碼,25-32是是鍵值反碼〃獲取正碼if(OK&&(aa>=0)&&(aa<8))(RED_add?=1;RED_add=RED_add+(uchar)RODATA;}if(OK&&(aa>=17)&&(aa<25))(RED_key?=1;RED_key=RED_key+(uchar)RODATA;}if(aa==32&&RED_add==0)(KEY_main=Red_change(RED_key);break;}}}}〃把紅外數(shù)據進行轉換ucharRed_change(ucharrednum){switch(rednum){case16:return0;case48:return1;case176:return2;case112:return3;case8:return4;case136:return5;AbstractThisdesignisbasedonSTC89C52asthemainchiptointerrupt,countingthebasicworksuchaswaystocontrol,judgetheexternaldeviceswork,workstatus,combinedwiththebasicalgorithmsofdigitalsignalcoding,withinfraredremotecontrolremotesendingthepassword),thenusetheinfraredreceivingtubereceivepassword,SCMaccordingtotheinfraredreceivingtubeconductionornotandthedurationofthereductionofmodulationmodealgorithmcombiningwiththeremotecontroltosendpassword,comparedwithexternalpacketAT24C02storedpasswordagain,todeterminewhetherapasswordcorrectly,auxiliarytoLCD12864displaytheuser'soperatingresults,withabuzzertoremind,againbymatrixkeyboardinputorchangethepasswordofbasicfunctionssuchasinfraredelectroniccombinationlockdesign.ThisdesignUSEStheclanguageprogram,simple,clear,goodforinfraredcommunicationrequirements.Onthebasisofthepreviousdesign,thedesignaddedonlineburningprogram,greatconveniencetousers,andespeciallyfortheindustrialproductionhasbroughtgreatconvenience.Infraredelectroniccombinationlockhaslowcost,convenientoperation,smallvolume,nopollution,theadvantagesofthereactionspeed,hastheverygoodmarketvalue.Keywords:infraredremotecontrol,infraredreceiving,alarm,electronicpasswordlock,singlechipcase72:return6;case40:return7;case168:return8;case104:return9;case0:return10;〃電源開關case32:return11;//EQcase144:return12;〃快退case80:return13;〃快進case160:return14;〃聲音減case96:return15;〃聲音加case128:return16;//CH-case64:return17;//CH+default:return255;}}3矩陣鍵盤模塊#include"common.h”#defineKEYP2voidKey(void)(uchari=0;ucharj=0;uchark=0;KEY=OxOF;i=KEY;if(i!=OxOF){uint1=0;Delay(lOOO);KEY=OxOF;i=KEY;if(i!=OxOF){KEY=OxOF;i=KEY;KEY=OxFO;j二KEY;k=i|j;KEY_change(k);while(KEY!=OxfO&&l<2000)(KEY=OxfO;1++;}}}voidKEY_change(uchari)(switch(i)(caseOxED:{KEY_main=1;break;}caseOxDD:{KEY_main=2;break;)caseOxBD:(KEY_main=3;break;}caseOxEB:{KEY_main=4;break;}caseOxDB:{KEY_main=5;break;}caseOxBB:(KEY_main=6;break;}case0xE7:{KEY_main=7;break;}case0xD7:{KEY_main=8;break;}case0xB7:{KEY_main=9;break;}caseOxEE:{KEY_main=10;break;}caseOxDE:{KEY_main=O;break;}caseOxBE:{KEY_main=11;break;}default:break;voidDelay(unsignedinti)(while(―i);}voidINIT_TIME_O()(TMOD=OXOO;THO=0X0E;TLO=0;ETO=1;TR0=1;}voidKEY_TIME_0()interrupt1using0THO=0X0E;TLO=0;Key();2.4LCD12864顯示#include"common.hnsbitCS=P0A3;sbitSID=P0A2;sbitCLK=POA1;sbitRESET=P0A0;#definelcdcom_wOxf8#definelcdcom_rOxfc#definelcddata_wOxfa#definelcddata_rOxfd〃漢字地址表ucharcodeaddr_tab[]={〃便于根據漢字坐標求出地址0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,〃第一行漢字位置0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,〃第二行漢字位置0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,〃第三行漢字位置0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,〃第四行漢字位置);//st#kI#kI#<£>//?卜〃函數(shù)名:voidDelay_LCD(void)〃功能:5ms延時//*1>*.L*kL**4**1**1>kL*k!>kL*k!>///*7**T*/voidDelayms(uintt)〃約延時ms(uinti;while(t—)(for(i=0;i<125;i++);}}voidLCD_SendByte(ucharDbyte)(unsignedchari;for(i=0;i<8;i++)(CLK=0;Dbyte=Dbyte?1;SID=CY;CLK=1;CLK=0;TOC\o"1-5"\h\z/*f>■£>■],■[?<I><?><!>■[,k!>■><L*<!>■£>、]■kJ>■!><!><?>*f><?>■]?■[,*!>k|><L*■£>kJ><I><?>*!>k!><?><£>■[,■],k|><?><!>■£>■]?<!>*!>/?[、?[、,[、?[、?[、?[、“??[、?[、<|>,[、■[、,[、?[、<7*“??[、?[、?[、■卜“??[、?[、接收一個字節(jié)^1*Kf>KI>ki>kJ>kL*kL*KL*k!>*I>*J^vl*xl*^1*ki>ki>ki>^1*ki>ki>kI>ki>ki>ki>xl*^1*/V、T、y.*T^y、*7^*1%4、4、4、*7^*1^/ucharLCD_ReceiveByte()unsignedchari,templ,temp2;templ=temp2=0;for(i=0;i<8;i++)temp1二tempivvl;CLK=0;CLK=1;CLK=0;if(SID)templ++;for(i=0;i<8;i++)temp2=temp2?l;CLK=0;CLK=1;CLK=0;if(SID)temp2++;return((OxfO&temp1)+(0x0f&temp2));)/<1#kT>k|>k|>■!>■£><t>*?><£>■人kT>k|>kI>■£>k|><t><?>■£>■!><1>kI>■£>vl#vf>?1><£><£>■£>k1>vf>?1><I>■£>■£*k£>%f>vt><f><?>■£>/“?<g*<l>,]?rj*“?rj*“??[、,]?rj*“?"?檢查忙狀態(tài)^1**1*^1*vl*vl**1**1*^1**1*vl**£**4^*1*^1**1^*1**£*vL**A**1*vl**4^*1*^1*kL**1**1>%、*/voidLCD_Read_busy()(do{LCD_SendByte(lcdcom_r);〃1111l,RW(l),RS(0),0)while(0x80&LCD_ReceiveByte());}voidLCD_Write(uchark,ucharvalue)//k=0寫命令,k=1寫數(shù)據(ucharcom[2]={lcdcom_w,lcddata_w);CS=1;LCD_Read_busy();LCD_SendByte(com[k]);LCD_SendByte(OxfO&value);value=value?4;LCD_SendByte(OxfO&value);CS=O;}voidINIT_LCD()(Delayms(30);LCD_Write(O,0x30);Delayms(l);LCD_Write(O,OxOc);Delayms(l);LCD_Write(O,0x01);Delayms(l);LCD_Write(O,0x06);DeIayms(l);LCD_Write(O,0x80);Delayms(l);}voidLCD_Clear()(LCD_Write(O,0x01);}voidLCD_Write_x_y(ucharx,uchary){LCD_Write(0,addr_tab[8*y+x]);}voidLCD_Write_str(ucharx,uchary,uchar*value){LCD_Write(0,addr_tab[8*y+x]);while(*value>0)(LCD_Write(l,*value);value++;}}voidLCD_Write_Num(ucharx,uchary,ucharValue)(LCD_Write(0,addr_tab[8*y+x]);LCD_Write(l,Value);)voidLCD_Write_Hanzi(ucharx,uchary,uchar*Value)(LCD_Write(0,addr_tab[8*y+x]);while(*Value>0)(LCD_Write(l,*Value);Value++;}2.5主程序#include"common.h"sbitbeer=POM;ucharKEY_main=255;ucharminma[8]={O};ucharanma[8]={O};bitOPEN=0;voidmain_key();ucharMIMA_shuru();voidMIMA_change();voidMIMA_zhuanhuan(uchar*minma,uchar*anma);ucharMIMA_bidui(uchar*minma,uchar*anma);voidMIMA_save();voidshow_menu();voidshow_huanyingjiemian();voidSYS_init();voidINTERRUPT_ON();voidTNTERRUPT_OFF();voidmain()(SYS_init();show_menu();while(l)(main_key();}}voidmain_key()(if(KEY_main!=255){if(OPEN=0)(switch(KEY_main){case1:〃開鎖
KEY_main=255;INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”請輸入密碼:”);〃顯示開鎖界面INTERRUPT_ON();if(MIMA_shuru())(
if(MIMA_bidui(minma,anma))//轉換為暗碼與存儲器if(MIMA_bidui(minma,anma))//轉換為暗碼與存儲器中的進行對比動作中的進行對比動作動作錯誤碼界面INTERRUPT_OFF();LCD_Clear();動作錯誤碼界面INTERRUPT_OFF();LCD_Clear();OPEN=1;LCD_Write_Hanzi(O,0,”鎖已打開!,〃執(zhí)行開鎖Delayms(800);INTERRUPT_ON();show_huanyingjiemian();}else{INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”輸入錯誤!”);〃提示輸入Delayms(800);INTERRUPT_ON();show_menu();}break;}elsebreak;}case2:〃修改密碼{KEY_main=255;INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”請輸入舊密碼:,〃顯示修改密INTERRUPT_ON();if(MIMA_shuru())MIMA_change();〃進入修改密碼函數(shù)show_menu();}else(INTERRUPT_OFF();LCD_Clear();錯誤LCD_Write_Hanzi(O,0,”輸入錯誤!”);〃提示輸入Delayms(800);錯誤INTERRUPT_ON();show_menu();}break;}elsebreak;}}}else(switch(KEY_main)(case1:〃開蜂鳴器{beer=0;break;}case2:〃關蜂鳴器{beer=1;break;}case3:〃退出(OPEN=0;show_menu();break;ucharMIMA_shuru()(ucharent=0,i=0,j=1;for(i=0;i<8;i++)(minma[i]=0;}INTERRUPT_ON();KEY_main=255;while(KEY_main=255);INTERRUPT_OFF();LCD_Write_x_y(0,1);while(KEY_main!=10)〃當按鍵不是確定鍵(if(KEY_main<10&&cnt<8)//8位密碼(minma[cnt++]=KEY_main;LCD_Write(l,KEY_main+0x30);//顯示密碼}elseif(KEY_main==11)(j=0;show_menu();break;)INTERRUPT_ON();KEY_main=255;while(KEY_main==255);//等鍵按下INTERRUPT_OFF();}KEY_main=255;returnj;}〃密碼修改函數(shù)voidMIMA_change()(INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”請輸入新密碼:”);INTERRUPT_ON();if(MIMA_shuru())(MIMA_zhuanhuan(minma,anma);MIMA_save();//儲存暗碼INTERRUPT_OFF();LCD_Write_Hanzi(O,3,”修改成功!”);Delayms(800);INTERRUPT_ON();}else(INTERRUPT_OFF();LCD_Write_Hanzi(O,3,”已取消修改!”);Delayms(800);INTERRUPT_ON();voidMIMA_zhuanhuan(uchar*minma,uchar*anma){uchari=0;for(i=0;iv8;i++)(anma[i]=minma[i]*minma[i];ucharMIMA_bidui(uchar*minma,uchar*anma)(uchari=0,value=l;INTERRUPT_OFF();for(i=0;i<8;i++)(anma[i]=AT24C02_Read(i);}INTERRUPT_ON();for(i=0;i<8;i++){if(anma[i]!=minma[i]*minma[i])(value=0;break;})returnvalue;voidMIMA_save()目錄TOC\o"1-5"\h\z—\緒論11.1設計背景11.2市場前景11.3設計任務21.4設計思路2\o"CurrentDocument"二'硬件電路設計與實現(xiàn)41AT24C02模塊42.1.1器件及原理介紹41.2電路實現(xiàn)52.2紅外通信模塊52.2.1遙控發(fā)射器及其編碼52.2電路實現(xiàn)72.3矩陣鍵盤模塊82.4顯示模塊81LCD12864介紹82LCD12864電路圖92.5蜂鳴器模塊106單片機最小系統(tǒng)模塊10\o"CurrentDocument"三'軟件設計101程序流程圖111.1主程序流程圖111.2鍵值判斷流程圖121.3開鎖流程圖131.4密碼修改流程圖141.5紅外接收流程圖151.6按鍵掃描流程圖163.2程序設計(見附錄二)16四'總結17\o"CurrentDocument"參考文獻18\o"CurrentDocument"致謝19\o"CurrentDocument"附錄19附錄一19附錄二20uchari=0;INTERRUPT_OFF();for(i=0;i<8;i++)(AT24C02_Write(i,anma[i]);}INTERRUPT_ON();)voidshow_menu()(INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”1開鎖;”);LCD_Write_Hanzi(O,1,”2修改密碼;”);INTERRUPT_ON();}voidshow_huanyingjiemian(){INTERRUPT_OFF();LCD_Clear();LCD_Write_Hanzi(O,0,”歡迎進入本系統(tǒng)!”);LCD_Write_Hanzi(O,1,H1開蜂鳴器;,LCD_Write_Hanzi(O,2,”2關蜂鳴器;,LCD_Write_Hanzi(O,3,”3退出;,INTERRUPT_ON();}voidSYS_init()(INIT_LCD();Init_Red();INIT_TIME_0();AT24C08_unprotect();INTERRUPT_ON();}voidINTERRUPT_ON()(EA=1;}voidINTERRUPT_OFF()(EA=0;37緒論1.1設計背景現(xiàn)代社會盜竊事件頻頻發(fā)生,主要因為傳統(tǒng)的機械鎖具結構簡單、制作工藝落后,無法阻止技術手段的破壞。面對這一現(xiàn)狀,新時代提出了鎖具必須革命的迫切的要求。20世紀70年代,隨著微電子技術的應用,出現(xiàn)了磁控鎖、聲控鎖、超聲波鎖、紅外線鎖、電磁波鎖、電子卡片鎖、視網膜鎖、遙控鎖等。這些高科技鎖有機械鎖所無法比擬的高保密性能。紅外遙控電子密碼鎖結合電子技術、通信技術、遙控技術為一體,具有編碼量多、安全性強、可修改密碼、密碼錯誤報警、低功耗等優(yōu)點,同時可以實現(xiàn)遠程控制,能為保衛(wèi)系統(tǒng)提供極強的可靠性和安全性,因此有很高的實際應用價值。電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子設備。現(xiàn)在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。其編碼數(shù)量巨大,隨機開鎖的可能性幾乎為零,性能和安全性已大大超過了機械鎖。紅外遙控是一種無線、非接觸控制技術,具有抗干擾能力強,信息傳輸可靠,功耗低,成本低,易實現(xiàn)等顯著優(yōu)點,被諸多電子設備特別是家用電器廣泛采用。由于紅外線在頻譜上位于可見光之外,所以抗干擾性強,具有光波的直線傳播特性,不易產生相互間的干擾,是很好的信息傳輸媒體。信息可以直接對紅外光進行調制傳輸,例如,信息直接調制紅外光的強弱進行傳輸,也可以用紅外線產生一定頻率的載波,再用信息對載波進調制,接收端再去掉載波,取到信息。從信息的可靠傳輸來說,后一種方法更好,這就是目前大多數(shù)紅外遙控器所采用的方法。由于紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對象的能力,在紅外遙控技術時,不必要像無線電遙控器那樣,每套要有不同的遙控頻率或編碼,所以同類產品的紅外線遙控器,可以有相同的遙控頻率或編碼,也不會出現(xiàn)遙控信號“串門”的情況。這對于大批量生產以及在家用電器上普及紅外線遙控提供了極大的方便。而且紅外線為不可見光,因此對環(huán)境影響很小,再紅外光波動波長遠小于無線電波的波長,所以紅外線遙控不會影響其他家用電器,也不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人與個人草原保護管理服務合同范本3篇
- 2025年字畫裝裱作品定制與售后服務合同3篇
- 2025年度美甲行業(yè)品牌形象設計與承包合同
- 2025年精裝房裝修材料運輸與儲存合同3篇
- 2025年度生態(tài)環(huán)保技術引進承包合同規(guī)范范本4篇
- 2025版文化創(chuàng)意設計師專屬聘用協(xié)議3篇
- 二零二五年度城市公園委托運營管理綜合服務合同4篇
- 二零二五年度農業(yè)科技企業(yè)總經理聘請及農業(yè)現(xiàn)代化合同4篇
- 二零二五年度土地買賣居間代理服務合同規(guī)范-@-1
- 二零二五年度平面模特跨界合作聘用合同模板
- 《社會工作實務》全冊配套完整課件3
- 單位違反會風會書檢討書
- 2024年4月自考00832英語詞匯學試題
- 《電力用直流電源系統(tǒng)蓄電池組遠程充放電技術規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運維服務信息化運維方案
- 汽車修理廠員工守則
- 公安交通管理行政處罰決定書式樣
- 10.《運動技能學習與控制》李強
- 冀教版數(shù)學七年級下冊綜合訓練100題含答案
- 1神經外科分級護理制度
評論
0/150
提交評論