版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
濟南大學泉城學院畢業(yè)設計題目基于單片機的熱水器控制系統(tǒng)設計學院工學院專業(yè)電氣工程及其自動化班級1302班學生李燕學號2023011198指導教師張興達魏志軒二〇一七年五月十六日摘要隨著國民經(jīng)濟的迅猛開展,人們對生活質量的要求越來越高。作為日常的家用電器,熱水器成為了人們的關注對象之一。傳統(tǒng)的熱水器只具有簡單的加熱、加水、亮燈指示等功能,難以滿足人們的需求。針對這一問題,本設計提出了一款基于單片機的熱水器控制系統(tǒng)。本次設計主要分為硬件系統(tǒng)設計和軟件系統(tǒng)設計。硬件系統(tǒng)設計主要包含了AT89S52單片機、電源電路、顯示電路、指示燈電路、測溫電路、水位檢測電路、報警電路、遙控接收電路、注水繼電器控制電路、復位電路、晶振電路、按鍵電路。軟件系統(tǒng)設計主要運用了C語言編寫程序,KEIL軟件和PROTEUS軟件聯(lián)合進行仿真。旨在設計出一款可用遙控器自由設置溫度范圍和預約時間、LCD1602液晶顯示溫度和時間,且具備報警功能的智能熱水器,熱水器在工作時加熱、加水、缺水等具有相應的指示燈,當熱水器的水位到達水位上限時,蜂鳴器開始報警。通過仿真與調試及實物制作,本次設計的熱水器控制系統(tǒng)能夠實現(xiàn)預設功能,本設計為進一步研究、應用提供了一定的數(shù)據(jù)參考。關鍵詞:單片機;傳感器;熱水器ABSTRACTWiththerapiddevelopmentofthenationaleconomy,people'squalityofliferequirementsaregettinghigherandhigher.Asadailyhouseholdappliances,waterheatershavebecomeoneofthepeopleconcernedabouttheobject.Thetraditionalwaterheateronlyhasasimpleheating,water,lightinstructionsandotherfunctions,itisdifficulttomeetpeople'sneeds.Aimingatthisproblem,thisdesignpresentsaintelligentcontrolsystemofwaterheaterbasedonsinglechipmicrocomputer.Thisdesignisdividedintohardwaresystemdesignandsoftwaresystemdesign.HardwaresystemdesignmainlyincludestheAT89S52microcontroller,powercircuit,displaycircuit,indicatorcircuit,temperaturemeasurementcircuit,waterleveldetectioncircuit,alarmcircuit,remotecontrolreceivercircuit,waterinjectionrelaycontrolcircuit,resetcircuit,crystalcircuit,keycircuit.SoftwaresystemdesignmainlyusestheClanguageprogram,KEILsoftwareandPROTEUSsoftwarejointsimulation.Designedtodesignafreeremotecontrolcansetthetemperaturerangeandappointmenttime,LCD1602liquidcrystaldisplaytemperatureandtime,andhavethealarmfunctionofintelligentwaterheater,waterheaterintheworkofheating,water,waterandotherindicatorswiththecorresponding,whenWhenthewaterlevelofthewaterheaterreachestheupperlimitofthewaterlevel,thebuzzerstartstoalarm.Throughthesimulationanddebuggingandin-kindproduction,thisdesignofthewaterheatercontrolsystemcanachievethedefaultfunction,thedesignforfurtherresearch,applicationprovidesacertaindatareference.Keywords:Single-chip;sensor;waterheater目錄24623摘要 圖4.4加熱繼電器控制子程序流程圖5系統(tǒng)仿真與調試5.1仿真軟件介紹在本次設計中運用到了PROTEUS的ISIS電路分析實物仿真系統(tǒng)和KEIL單片機編程軟件,通過對它們聯(lián)調可以仿真出本次設計的系統(tǒng)。下面對這個兩個軟件做簡單的介紹。5.1.1Proteus軟件Proteus是英國Labcenter公司開發(fā)的電路分析與仿真軟件。該軟件具有以下幾個特點:〔1〕具有模擬電路、數(shù)字電路、單片機應用系統(tǒng)、嵌入式系統(tǒng)〔不高于ARM7〕設計與仿真功能?!?〕具有多種形式的調試功能。〔3〕具有各種信號源和電路分析所需的虛擬儀表?!?〕支持Keil、MPLAB等第三方的軟件編譯和調試環(huán)境?!?〕具有強大的原理圖到PCB板設計功能,可輸出多種格式的電路設計報表[16]。5.1.2Keil軟件Keil軟件是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),它可以提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,可通過一個集成開發(fā)環(huán)境將這些部份組合在一起。另外,Keil生成目標代碼的效率非常之高,編譯后生成的匯編代碼也很緊湊,且容易理解[17]。5.2系統(tǒng)電路仿真本設計采用Proteus軟件對電路進行仿真,首先將仿真需要的元器件找到,按照硬件設計原理圖在Proteus里面建立元器件連接關系,然后將硬件電路圖繪制在軟件中,接著新建一個工程,選擇AT89C52單片機,新建一個文本文檔,將文本文檔保存為“.c〞文件,將其添加到工程,然后對系統(tǒng)程序進行編寫,編寫完成之后通過“Optionsfortarget〞找到“creathexfile〞,找到之后選中“creathexfile〞并進行編譯,生成“.hex〞文件,然后在Proteus軟件中雙擊單片機,在“ProgramFile〞中勾選“.hex〞文件,單擊確定,接著點擊仿真界面左下角的開始按鈕,系統(tǒng)進入初始化,初始化結束后,溫度傳感器會采集當前的溫度值,LCD1602會顯示當前溫度和所設置的溫度上下值。顯示功能的仿真結果如圖5.1所示。圖5.1仿真圖5.3PCB板設計與制作5.3.1PCB介紹PCB,中文名稱為印制電路板或印刷線路板,它不僅是電子元器件的支撐體,還是電子元器件電氣連接的載體。由于它是采用電子印刷術制作的,故被稱為“印刷〞電路板,它根據(jù)電路層數(shù)分類可分為單面板、雙面板和多層板。常見的多層板一般為4層板或6層板,復雜的多層板可達幾十層[18]。5.3.2PCB板設計對于PCB板的設計,首先需要對本次設計的電路原理圖設計,設計完成后就進行繪制,繪制完成后進行檢查,確認電路原理圖正確后,進行編譯,生成網(wǎng)絡報表,然后對各個元器件進行封裝,以生成和實現(xiàn)元器件具有相同外觀和尺寸的網(wǎng)格。封裝完成之后建立一個PCB文件,根據(jù)本次設計的實際情況對板子的大小、線距、線寬等重要數(shù)據(jù)進行設置,設置完畢后,單擊設計菜單下的更新選項,此時PCB文件便開始更新,更新之后將生成PCB圖。5.3.3PCB板實現(xiàn)依照生成的PCB圖進行制作,制作的時候根據(jù)PCB面板的大小安置元件,同時,盡量保證元件之間的引線不會發(fā)生交叉。元器件擺放完后,進行DRC檢查,排除元器件在布線時引腳或引線發(fā)生交叉錯誤,錯誤排除之后,開始調整元器件的位置,調整完后開始布線,在布線時不能出現(xiàn)小于或等于90度的角,以防尖端放電和腐蝕過度。布線完成后,可對PCB圖進行檢查,確認無錯誤并連接完成后進行PCB板的轉印、腐蝕、鉆孔等操作。本次設計制作的PCB圖如圖5.2所示。圖5.2PCB圖5.3.4電路板制作在本次設計的電路板制作中,首先需要對PCB板進行檢查,然后對元器件的種類、型號、數(shù)量進行確認,確認完后將元器件按照從左到右,從上到下,從里到外,從小到大,從低到高的順序合理的裝置在電路板上[19]。裝置完成后用焊接工具開始進行焊接,焊接完成后,檢查焊料是否會引起焊點短路,是否存在漏焊等現(xiàn)象,焊接完成后實物圖如圖5.3所示。圖5.3焊接實物圖5.4系統(tǒng)調試本次設計系統(tǒng)調試的主要任務是排除系統(tǒng)的硬件電路故障,包括設計性錯誤和工藝性故障。當把所有的元器件焊接完成后,開始調試,首先對焊接的電路板進行檢查,查看是否焊接完整,檢測電源線,看電源電路是否能為整個系統(tǒng)正常供電,檢查完成后,翻開電源,給系統(tǒng)通電,系統(tǒng)開始工作,LCD1602顯示屏顯示當前溫度、溫度上下限值及預約時間。在這里用戶可設置加熱時間和溫度上下限值,系統(tǒng)剛翻開的時候,預約時間是默認關閉的,如圖5.4所示。圖5.4LCD1602顯示圖假設需要預約時間,需自己設置,這里隨意設置的預約時間為1分鐘,預約時間不到,熱水器不會進行加熱。當預約時間到達之后熱水器開始加熱。本次設計的時間值不是固定的,另外,假設不需要預約,可不進行設置,在本次設計調試的時候,用熱水進行加熱。預約時間示意圖如圖5.5所示,圖5.5預約時間示意圖當檢測到熱水器當前溫度低于設置的溫度下限時,加熱繼電器吸合,開始加熱,加熱指示燈亮。溫度檢測示意圖如圖5.6所示。圖5.6溫度檢測示意圖當系統(tǒng)檢測到熱水器當前的溫度高于設置的溫度上限值時,加熱繼電器會自動斷開,停止加熱,加熱指示燈關閉。如圖5.7所示。圖5.7溫度檢測示意圖當水位傳感器檢測到熱水器當前水位低于水位下限時,缺水指示燈亮起,加水繼電器吸合,開始加水,直到加至水位上限時,加水繼電器關閉。水位檢測示意圖如圖5.8所示。圖5.8水位檢測示意圖當檢測到熱水器當前水位高于水位上限時,加水繼電器斷開停止加水。且報警指示燈亮,蜂鳴器開始報警,直到人為按下取消報警鍵,報警停止,報警示意圖如圖5.9所示。圖5.9報警示意圖6結論本設計針對功能單一的熱水器控制系統(tǒng),提出了解決的方案。通過對方案確實定、硬件系統(tǒng)設計和軟件系統(tǒng)設計,繪制了電路原理圖,PCB圖,利用系統(tǒng)仿真與調試制作了電路板。本次設計的熱水器控制系統(tǒng)根本能完成預期的定時加熱、自動檢測水溫水位及智能報警功能。解決了熱水器功能單一的問題。但是,在本次設計中還存在很多缺乏之處。例如在控制方面可以讓水位傳感器實時對水位進行檢測,確保全天水位都處在正常狀態(tài),用戶可以不用因為缺水的問題,不能正常使用熱水器。在溫度的加熱方面可以讓系統(tǒng)實時記錄用戶每一次淋浴時的溫度,然后對采集到的溫度數(shù)據(jù)進行分析,得出用戶淋浴時最常用的溫度,了解到用戶的習慣后可智能化安排預熱功能,這樣不但節(jié)約了用戶自己設置的時間,還非常節(jié)能。在這次設計的過程中,我清楚的認識到自己以前所學習的單片機和編程根底是遠遠不夠的,所有我還需要認真地去學習。參考文獻[1]羅運俊.太陽能熱水器開展概況及根底知識[J].太陽能熱水器技術講座〔一〕2004,1(1):58-61.[2]焦青太.當今世界太陽能熱水器的開展概況[J].建筑節(jié)能;2007,4(8):59-62.[3]胡潤青.蓬勃開展的太陽能熱水器產(chǎn)業(yè)[J].建設科技;2006,2(12):58-60.[4]汪銘東,梅廣輝.基于單片機與DS18B20的機柜溫度控制器設計[J].現(xiàn)代電子技術;2023,4 (12):8-10.[5]顧涵.基于51單片機的小型溫度采集系統(tǒng)設計[D].常熟理工學院;2023.[6]韓婷婷.基于單片機和PID控制的即熱式熱水器的研制[J].工業(yè)控制計算機;2023,5(6):2-18.[7]孟偉,方世巍.基于單片機的智能家用熱水控制系統(tǒng)的設計[J].微型機與應用;2023,2(12):5-15.[8]李美鳳,賈偉偉.基于單片機的熱水器智能控制系統(tǒng)設計[J].電子質量;2023,6(4):3-10.[9]趙君.基于單片機的溫度控制系統(tǒng)[D].吉林大學;2023.[10]翟敏煥.基于單片機的即熱式電熱水器控制系統(tǒng)的設計[J].現(xiàn)代計算機;2023,3(10):20-26.[11]盧晶晶.基于單片機的測控系統(tǒng)的設計與實現(xiàn)[J].單片機應用;2023,8(9):13-16.[12]趙齊,宋蕊.基于單片機的熱水器溫度智能控制設計[J].微型機與應用;2023,5(8):2-7.[13]朱桂霞,尹飛.太陽能熱水器的智能控制[J].硅谷;2023,7(10):12-18.[14]孫先波,譚建軍.太陽能熱水器防凍智能測控儀設計[J].湖北民族學院學報(自然科學版);2023,9(2):5-10.[15]劉國鈺.太陽能熱水器的檢測控制系統(tǒng)的設計[J].科技致富向導;2023,3(10):15-20.[16]李青霖,王棟殷,瑩瑩.現(xiàn)代家庭新型全自動太陽能熱水中心研究[J].科技創(chuàng)新導報;2023,6(26):5-8.[17]霍震宇,馬永強,楊駐.智能化太陽能熱水器控制系統(tǒng)設計[J].煤炭技術;2023,9(12):35-40.[18]Consumerpreferencesforimprovementsinmobiletelecommunicationservices[J].OrhanDagli,GlennP.Jenkins.TelematicsandInformatics.2023,8(1):45-50.[19]MeasuringtheForeignExchangePremiumandthePremiumforNon‐TradableOutlaysfor20CountriesinAfrica[J].YanKuo,SenerSalci,GlennP.Jenkins.SAfrJEcon.2023,8(2):65-70.致謝首先,衷心感謝我的兩位指導老師張興達老師和魏志軒老師。本次設計是在張老師、魏老師的指導下完成的。在完成畢業(yè)設計的這段時間里,不管是寫論文還是制作實物,我都受到了兩位老師很多的幫助。從設計的選題、研制方案的安排到設計的具體過程,兩位老師都給予了悉心的指導。張老師嚴謹?shù)闹螌W態(tài)度、開明的學術思想,魏老師事必躬親的工作精神、寬人律己的高尚品德深深打動著我,使我倍受教育,讓我收獲頗多。在畢業(yè)設計完成之際,謹向張老師、魏老師致以誠摯的謝意!再一次向他們表示衷心的感謝,感謝他們?yōu)閷W生營造了良好的學習氣氛,以及學習、生活上的無私幫助!同時,感謝濟南大學泉城學院電氣工程及其自動化所有教師對我在學業(yè)和成長上付出的珍貴時間和辛勤汗水,感謝13級電氣二班的同學們在學習和生活上給我的大力支持和幫助。我衷心的祝愿你們身體健康,工作順利!附錄1原理圖圖附錄1.1原理圖附錄2實物圖圖附錄2.1實物圖圖附錄2.2實物圖附錄3元器件清單表3.1元器件清單元器件名稱型號數(shù)量/個萬用板9*151個液晶16021個單片機AT89S521個IC座40腳1個母座16p1個排針16p1個排針3p2個防水探頭DS18b201個繼電器5v2個電阻1.5k2個電阻10k5個電阻1k3個電阻2.2k4個排阻1031個三極管90123個蜂鳴器5v1個晶振12MHz1個電解電容10uf1個瓷片電容30pf2個按鍵RST5個LED5mm3個接線端子2p2個電源接口DC1個自鎖開關1個電源線USB1個水位傳感器2個電壓比擬器LM3931個IC座8腳1個藍白電位器1032個電阻30k1個電阻100Ω1個電解電容100uf1個紅外一體接收頭1個紅外遙控器1個獨石電容1041個附錄4程序清單//宏定義#defineuintunsignedint#defineucharunsignedchar//LCD管腳聲明sbitLCDRS=P1^1;sbitLCDEN=P1^2;//初始化時顯示的內容ucharcodeInit1[]="Tp:00.0CTi:000";ucharcodeInit2[]="Up:00Down:00";液晶的根本操作程序//LCD延時voidLCDdelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=10;y>0;y--);}//寫命令voidwrite_com(ucharcom){LCDRS=0;P0=com;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;}//寫數(shù)據(jù)voidwrite_data(uchardate){LCDRS=1;P0=date;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;}1602初始化程序//1602初始化voidInit1602(){uchari=0;write_com(0x01);//清屏write_com(0x38);//屏幕初始化write_com(0x0c);//翻開顯示無光標無光標閃爍write_com(0x06);//當讀或寫一個字符是指針后一一位write_com(0x80);//設置位置for(i=0;i<16;i++){ write_data(Init1[i]);}write_com(0x80+40);//設置位置for(i=0;i<16;i++){ write_data(Init2[i]);}}顯示時間溫度數(shù)據(jù)程序voidDisplay_1602(uintaa,uchardss,ucharsxx,ucharxxx){ //溫度顯示 write_com(0x80+3); write_data('0'+aa/100); write_data('0'+aa/10%10); write_data('.'); write_data('0'+aa%10); write_data(0xdf); //定時顯示 write_com(0x80+13); write_data('0'+dss/100); write_data('0'+dss/10%10); write_data('0'+dss%10); //上限顯示 write_com(0x80+40+4); write_data('0'+sxx/10%10); write_data('0'+sxx%10); //下限顯示 write_com(0x80+40+13); write_data('0'+xxx/10%10); write_data('0'+xxx%10); }字符顯示程序voidDisplay_wd(){ //溫度顯示 write_com(0x80); write_data('S'); write_data('e'); write_data('t'); write_data(''); write_data('s'); write_data('t'); write_data('a'); write_data('t'); write_data('e'); }//程序頭函數(shù)#include<reg52.h>//顯示函數(shù)#include<display.h>//宏定義#defineuintunsignedint#defineucharunsignedchar//LCD管腳聲明sbitjdq=P1^0; //加熱繼電器sbitshui=P1^3;//加水繼電器sbitFeng=P2^6;//蜂鳴器//按鍵sbitKey1=P1^4; //設置sbitKey2=P1^5; //加sbitKey3=P1^6; //減sbitKey4=P1^7; //確定 sbitshang=P3^7;//上限sbitxia=P3^6;//下限sbitDQ=P2^2; //定義DS18B20總線I/Osignedcharw,bj,bjx,bjd; //溫度值全局變量ucharc; //溫度值全局變量bitbdataflag=0,flag_BJ,flag_off=1,que;//時間計算#defineImax14000//此處為晶振為11.0592時的取值,#defineImin8000//如用其它頻率的晶振時,#defineInum1145//要改變相應的取值。#defineInum2700#defineInum33000//解碼變量unsignedcharIm[4]={0x00,0x00,0x00,0x00};//全局變量ucharf;unsignedcharm,Tc;unsignedcharIrOK;//設置變量ucharxx=29;//下限ucharsx=35;//上限intds=0;ucharMode=0;voiddelay(uintz){ uinti,j; for(i=0;i<z;i++) for(j=0;j<121;j++);}溫度工作程序/*****延時子程序*****/voidDelay_DS18B20(intnum){while(num--);}/*****初始化DS18B20*****/voidInit_DS18B20(void){unsignedcharx=0;DQ=1;//DQ復位Delay_DS18B20(8);//稍做延時DQ=0;//單片機將DQ拉低Delay_DS18B20(8);//精確延時,大于480usDQ=1;//拉高總線Delay_DS18B20(14);x=DQ;//稍做延時后,如果x=0那么初始化成功,x=1那么初始化失敗Delay_DS18B20(20);}/*****讀一個字節(jié)*****/unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號dat>>=1;DQ=1;//給脈沖信號if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****寫一個字節(jié)*****/voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=1;DQ=dat&0x10;Delay_DS18B20(5);DQ=0;dat>>=1;}}/*****讀取溫度*****/unsignedintReadTemperature(void){unsignedchara=0;unsignedcharb=0;unsignedintt=0;floattt=0;Init_DS18B20();WriteOneChar(0xC1);//跳過讀序號列號的操作WriteOneChar(0x44);//啟動溫度轉換Init_DS18B20();WriteOneChar(0xC1);//跳過讀序號列號的操作WriteOneChar(0xBE);//讀取溫度存放器a=ReadOneChar();//讀低8位b=ReadOneChar();//讀高8位t=b;t<<=8;t=t|a;tt=t*0.00625;t=tt*10+0.5;//放大10倍輸出并四舍五入return(t);}/*****讀取溫度*****/voidcheck_wendu(void){ c=ReadTemperature()-5; //獲取溫度值并減去DS18B20的溫漂誤差 w=c/10; //計算得到整數(shù)位 if(w<0){w=0;} //設置溫度顯示上限 if(w>99){w=99;} //設置溫度顯示上限}按鍵工作程序voidKey(){ //模式選擇 if(Key1==0) { while(Key1==0); Feng=0; Mode++; Display_wd(); if(Mode==4) { Mode=1; Feng=1; } write_com(0x38);//屏幕初始化 write_com(0x0d);//翻開顯示無光標光標閃爍 write_com(0x06);//當讀或寫一個字符是指針后一一位 switch(Mode) { case1: { write_com(0x80+15);//位置 Feng=1; break; } case2: { write_com(0x80+0x40+5);//位置 Feng=1; break; } case3: { write_com(0x80+0x40+14);//位置 Feng=1; break; } } } if(Key2==0&&Mode!=0) { while(Key2==0); Feng=0; switch(Mode) { case1: { if(ds<999) { ds++; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx<99-1) { sx++; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx<sx-1) { xx++; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } if(Key3==0&&Mode!=0) { while(Key3==0); Feng=0; switch(Mode) { case1: { if(ds>0) { ds--; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx>xx+1) { sx--; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx>0) { xx--; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } if(Key4==0) { while(Key4==0); Feng=0; Mode=0; // write_com(0x38);//屏幕初始化 // write_com(0x0c);//翻開顯示無光標無光標閃爍 Init1602(); if(ds>0) { flag=1; jdq=1; TR1=1; } Feng=1; } if(IrOK==1) { if(Im[2]==0x0d) //遙控設置鍵 { Feng=0; Mode++; Display_wd(); if(Mode==4) { Mode=1; Feng=1; } write_com(0x38);//屏幕初始化 write_com(0x0d);//翻開顯示無光標光標閃爍 write_com(0x06);//當讀或寫一個字符是指針后一一位 switch(Mode) { case1: { write_com(0x80+15);//位置 Feng=1; break; } case2: { write_com(0x80+0x40+5);//位置 Feng=1; break; } case3: { write_com(0x80+0x40+14);//位置 Feng=1; break; } } } //+鍵 elseif(Im[2]==0x40) { if(Mode!=0) { Feng=0; switch(Mode) { case1: { if(ds<999) { ds++; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx<99-1) { sx++; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx<sx-1) { xx++; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } } //-鍵 elseif(Im[2]==0x19) { if(Mode!=0) { Feng=0; switch(Mode) { case1: { if(ds>0) { ds--; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx>xx+1) { sx--; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx>0) { xx--; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } } //確定鍵 elseif(Im[2]==0x15) { Feng=0; Mode=0; Init1602(); if(ds>0) { flag=1; jdq=1; TR1=1; } Feng=1; } IrOK=0; }報警局部程序voidAlam(){ if(flag_BJ==1&&flag_off==1) { Feng=0; delay(1000); Feng=1; flag_off=0;// flag_BJ=0; }}主程序voidmain(){ Init1602(); EA=1;//翻開中斷總開關 IT1=1;//下降沿有效 EX1=1;//外部中斷1開 ET1=1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位之間協(xié)議書
- 2025年廣東廣州市泰昌實業(yè)(消防工程)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年度個人房貸再擔保合同標準范本4篇
- 2025年度個人車輛購置擔保合同2篇
- 2025-2030全球狄氏劑行業(yè)調研及趨勢分析報告
- 2025-2030全球黏性傷口護墊行業(yè)調研及趨勢分析報告
- 2025-2030全球可擦除可編程只讀 (EPROM) 存儲器行業(yè)調研及趨勢分析報告
- 2025年度個人網(wǎng)絡安全防護解決方案服務合同2篇
- 2025版智慧社區(qū)消防安全管理合作協(xié)議3篇
- 2025年度個人住宅抵押貸款合同實施細則
- 物業(yè)民法典知識培訓課件
- 2023年初中畢業(yè)生信息技術中考知識點詳解
- 2024-2025學年八年級數(shù)學人教版上冊寒假作業(yè)(綜合復習能力提升篇)(含答案)
- 《萬方數(shù)據(jù)資源介紹》課件
- 醫(yī)生定期考核簡易程序述職報告范文(10篇)
- 第一章-地震工程學概論
- 安全創(chuàng)新創(chuàng)效
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- 初級創(chuàng)傷救治課件
- 交通運輸類專業(yè)生涯發(fā)展展示
- 《處理人際關系》課件
評論
0/150
提交評論