防近視視力保護(hù)器設(shè)計(jì)_第1頁
防近視視力保護(hù)器設(shè)計(jì)_第2頁
防近視視力保護(hù)器設(shè)計(jì)_第3頁
防近視視力保護(hù)器設(shè)計(jì)_第4頁
防近視視力保護(hù)器設(shè)計(jì)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

北京理工大學(xué)珠海學(xué)院2020屆本科生畢業(yè)設(shè)計(jì) 防近視視力保護(hù)器摘要本文設(shè)計(jì)了一種基于89c52單片機(jī)的防近視視力保護(hù)器。這個(gè)視力保護(hù)器以89c52為主要核心,在軟件方面運(yùn)用C語言進(jìn)行編程,在硬件方面運(yùn)用了蜂鳴器報(bào)警模塊、光線檢測模塊、LCD顯示模塊、超聲波測距模塊以及單片機(jī)自帶的定時(shí)功能,還包括電源和按鍵模塊。光線檢測模塊,則利用光敏電阻和AD采集模塊來完成功能。LCD顯示模塊,則利用LCD1602液晶來顯示各種參數(shù),比如距離,光照強(qiáng)度以及時(shí)間等等。超聲波測距模塊,則利用超聲波模具以及超聲波反射的原理來完成功能。當(dāng)學(xué)習(xí)者開始學(xué)習(xí)的時(shí)候,保護(hù)器就會進(jìn)行計(jì)時(shí)、測距以及光線檢測,如果出現(xiàn)超時(shí)、學(xué)習(xí)距離太近或者學(xué)習(xí)環(huán)境太暗或太亮,保護(hù)器就會發(fā)出報(bào)警提醒,以致起到了視力保護(hù)的作用。關(guān)鍵詞:單片機(jī);超聲波;視力保護(hù);光線檢測DesignofvisionprotectoragainstMyopiaAbstractInthispaper,aNewVisionProtectorbasedon89c52mcuisdesigned.Theeyeprotectoruses89c52asthemaincore,andusesClanguagetoprogramthesoftware,inthehardwareaspect,itusesthebuzzeralarmmodule,thelightdetectionmodule,theLCDdisplaymodule,theultrasonicrangingmoduleandthetimingfunctionofthesinglechipmicrocomputer,includingthepowersupplyandthekeymodule.Lightdetectionmodule,theuseofphotosensitiveresistorandADacquisitionmoduletocompletethefunction.LCDdisplaymodule,thenuseLCD1602LCDtodisplayvariousparameters,suchasdistance,lightintensityandtimeandsoon.Ultrasonicrangingmodule,thentheuseofultrasonicmoldandtheprincipleofultrasonicreflectiontocompletethefunction.Whenthelearnerbeginstolearn,theprotectorwilltime,measuredistanceanddetectlight.Ifthereisatime-out,learningtoocloseorlearningenvironmentistoodarkortoobright,theprotectorwillsendanalarm,somuchsothatitprotectsyoureyes.Keywords:Single-chipcomputer;Ultrasonicwave;EyeProtection;Lightdetection 目錄1前言 11.1研究的現(xiàn)狀與意義 11.2主要的研究內(nèi)容 12設(shè)計(jì)過程 22.1硬件方面的設(shè)計(jì)過程 32.1.189C52單片機(jī) 32.1.2主控制模塊 42.1.3電源電路 52.1.4蜂鳴器報(bào)警電路 52.1.5按鍵電路 72.1.6光照強(qiáng)度檢測電路 82.1.7液晶顯示電路 92.1.8超聲波測距模塊 102.1.9定時(shí)報(bào)警電路 122.2軟件方面的設(shè)計(jì)過程 132.2.1系統(tǒng)的總體流程圖 142.2.2光照強(qiáng)度檢測程序圖 152.2.3計(jì)時(shí)程序圖 152.2.4超聲波測距程序圖 162.3測試 163總結(jié) 17參考文獻(xiàn) 17謝辭 18附錄 19.2軟件方面的設(shè)計(jì)過程對于系統(tǒng)的軟件設(shè)計(jì),我們采用Keil進(jìn)行C語言編輯,先確定主程序,再確定子程序。主程序主程序報(bào)警子程序計(jì)時(shí)子程序測光子程序測距子程序報(bào)警子程序計(jì)時(shí)子程序測光子程序測距子程序45分鐘倒計(jì)時(shí)開始開始學(xué)習(xí)單片機(jī)初始化2.2.1系統(tǒng)的總體流程圖45分鐘倒計(jì)時(shí)開始開始學(xué)習(xí)單片機(jī)初始化測光測距測光測距計(jì)時(shí)結(jié)束計(jì)時(shí)結(jié)束學(xué)習(xí)距離是否小于15cm是光照范圍學(xué)習(xí)距離是否小于15cm是光照范圍是否在55%-90%中否 否是 蜂鳴器發(fā)聲蜂鳴器發(fā)聲蜂鳴器發(fā)聲按下暫停學(xué)習(xí)按鍵否是蜂鳴器發(fā)聲按下暫停學(xué)習(xí)按鍵蜂鳴器發(fā)聲蜂鳴器發(fā)聲調(diào)坐姿到符合設(shè)置參數(shù)調(diào)光到符合設(shè)置參數(shù)停止發(fā)聲,學(xué)習(xí)者休息調(diào)坐姿到符合設(shè)置參數(shù)調(diào)光到符合設(shè)置參數(shù)停止發(fā)聲,學(xué)習(xí)者休息停止發(fā)聲停止發(fā)聲停止發(fā)聲停止發(fā)聲2.2.2光照強(qiáng)度檢測程序圖單片機(jī)初始化單片機(jī)初始化測光測光光照光照范圍是否在55%-90%中蜂鳴器發(fā)聲 是蜂鳴器發(fā)聲否2.2.3計(jì)時(shí)程序圖單片機(jī)初始化單片機(jī)初始化定時(shí)器開始定時(shí)定時(shí)器開始定時(shí)計(jì)時(shí)結(jié)束45分鐘倒計(jì)時(shí)開始蜂鳴器發(fā)聲計(jì)時(shí)結(jié)束45分鐘倒計(jì)時(shí)開始蜂鳴器發(fā)聲 否 是2.2.4超聲波測距程序圖學(xué)習(xí)距離是否小于15cm測距單片機(jī)初始化學(xué)習(xí)距離是否小于15cm測距單片機(jī)初始化 否蜂鳴器發(fā)聲 是蜂鳴器發(fā)聲2.3測試雖然這次設(shè)計(jì)的防近視視力保護(hù)器的參數(shù)(學(xué)習(xí)距離和光照強(qiáng)度)可以自行修改,非固定,但是為了讓使用者第一次使用就可以在一個(gè)合適的學(xué)習(xí)環(huán)境中學(xué)習(xí),我將親自進(jìn)行測試實(shí)驗(yàn),調(diào)節(jié)出合適的參數(shù)。第一個(gè)設(shè)置的參數(shù)是學(xué)習(xí)時(shí)間,固定為45分鐘,學(xué)習(xí)了45分鐘之后,視力保護(hù)器就會發(fā)出報(bào)警聲提醒學(xué)習(xí)者暫停學(xué)習(xí),好好休息。然后,就是學(xué)習(xí)距離測試實(shí)驗(yàn)。我們小時(shí)候上學(xué)老師就教過我們讀寫的姿勢有一個(gè)標(biāo)準(zhǔn),要符合三個(gè)一:手指距離筆尖的距離是一寸;腹部距離桌子的距離是一拳;眼睛距離書本的距離是一尺。第一次測試的時(shí)候,我設(shè)置的參數(shù)值是30cm,這樣的話,很顯然跟我們的標(biāo)準(zhǔn)相差太遠(yuǎn),讀寫起來感覺有距離感。第二次測試的時(shí)候,根據(jù)上次的經(jīng)驗(yàn),我設(shè)置的參數(shù)值是20cm,雖然這樣設(shè)置之后眼睛距離書本的距離是符合要求的,不過老是因?yàn)楦共颗c桌子之間的距離而發(fā)出報(bào)警聲。于是,在第三次測試的時(shí)候,我設(shè)置的參數(shù)值是15cm,這次的學(xué)習(xí)就很舒適,而且保護(hù)器全程沒有發(fā)出報(bào)警聲。最后,就是光照強(qiáng)度測試實(shí)驗(yàn)。很顯然,不可能在黑暗的環(huán)境下學(xué)習(xí),所以最小范圍不可能是0%。第一次測試的時(shí)候,我設(shè)置的參數(shù)范圍是35%-70%,這時(shí)我測試的35%相當(dāng)于房間沒開燈,依靠著窗外的微光進(jìn)行學(xué)習(xí),而70%開著正常的三盞燈會發(fā)出報(bào)警聲。根據(jù)上一次的經(jīng)驗(yàn),第二次的測試?yán)?,我設(shè)置的參數(shù)范圍是45%-80%,結(jié)果僅僅比第一次測試時(shí)有些許好轉(zhuǎn),45%的光照強(qiáng)度還是很低,80%的光照強(qiáng)度開著正常的三盞燈依舊會發(fā)出報(bào)警聲。于是,在第三次測試的時(shí)候,我設(shè)置的參數(shù)范圍是55%-90%,這時(shí)的學(xué)習(xí)環(huán)境就很舒適,55%的光照強(qiáng)度開著一盞燈不算太暗,90%的光照強(qiáng)度開著正常的三盞燈也不會發(fā)出報(bào)警聲。根據(jù)實(shí)驗(yàn),最終的確定的參數(shù)設(shè)定如表2.4所示:表2.4最終確定的參數(shù)設(shè)定要設(shè)置的參數(shù)參數(shù)值或參數(shù)范圍學(xué)習(xí)時(shí)間45分鐘學(xué)習(xí)距離小于15cm光照強(qiáng)度55%-90%3總結(jié)這次的畢業(yè)設(shè)計(jì)是一種基于stc89c52單片機(jī)的多功能視力保護(hù)器,功能包括測距、測光、報(bào)警以及計(jì)時(shí)。在硬件方面,采用了超聲波測距模塊、光線檢測模塊、顯示模塊、報(bào)警模塊、定時(shí)模塊等等,在使用者學(xué)習(xí)的時(shí)候,保護(hù)器會對周圍的學(xué)習(xí)環(huán)境進(jìn)行不斷的檢測,每當(dāng)使用者的學(xué)習(xí)距離太近,每當(dāng)使用者的學(xué)習(xí)環(huán)境太暗或太亮,保護(hù)器會發(fā)出報(bào)警聲給予提醒,并且保護(hù)器會一直顯示當(dāng)前環(huán)境的學(xué)習(xí)距離和光照的參數(shù)供使用者及時(shí)調(diào)整。在軟件方面,運(yùn)用C語言進(jìn)行編寫代碼。經(jīng)過測試和演示,本次的設(shè)計(jì)基本滿足設(shè)計(jì)的要求,可以完成測距、測光等功能,并且距離和光照參數(shù)可以修改。不過,設(shè)計(jì)還是有不足的地方,比如定時(shí)時(shí)間固定,不可修改。倘若還想開發(fā)其他功能的話,它是可以繼續(xù)拓展的。在設(shè)計(jì)過程中,難免會遇到難題。例如,在選擇元器件的時(shí)候,要選哪種型號的光敏電阻,要選哪種顯示器,要選哪種測距模塊等等;在測試實(shí)驗(yàn)的時(shí)候,因?yàn)楸Wo(hù)器會受到溫度的影響,所以測試的時(shí)候難免會有誤差出現(xiàn);等等。雖然過程有所困難,可是其中還是有很多有益的地方。通過這一次的畢業(yè)設(shè)計(jì),在指導(dǎo)老師的幫助之下,讓我更加清晰的了解并理解單片機(jī)的結(jié)構(gòu)、c語言的運(yùn)用、超聲波的特性和基本原理、光敏電阻的特性和基本原理以及顯示器和蜂鳴器的內(nèi)容等等知識,整個(gè)過程受益匪淺,不僅讓我對此產(chǎn)生了更多的興趣,還增加了我的基礎(chǔ)知識,增強(qiáng)了我的基本能力,豐富了我的基本思想和基本活動經(jīng)驗(yàn)。參考文獻(xiàn)盛珣華.單片機(jī)原理及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2014.3.劉琨.數(shù)字電子技術(shù)[M].北京:人民郵電出版社,2017.8.陳永強(qiáng),魏金成,吳昌東.模擬電子技術(shù)[M].北京:人民郵電出版社,2013.1(2017.12重?。?譚浩強(qiáng).C程序設(shè)計(jì)教程(第2版)[M].北京:清華大學(xué)出版社,2013.8(2015.5重?。?邢秀文,胡毅,鄧建杰.基礎(chǔ)物理學(xué)講義[M].武漢:武漢大學(xué)出版社,2015.1.張?jiān)忿r(nóng),唐晨光,官飛.電子工藝實(shí)習(xí)[M].西安:西北工業(yè)大學(xué)出版社,2017.7.李驍,王彬媛,王振中,劉炳言,李昱釗,張黔.基于STC89C52單片機(jī)的視力保護(hù)器設(shè)計(jì)[J].電子世界,2015,(19):160-162.張彥宇.基于單片機(jī)的超聲波視力保護(hù)器設(shè)計(jì)與研究[J].自動化技術(shù)與應(yīng)用,2019,(10):74-76.趙穎,何英昊.基于STC89C52的多功能視力保護(hù)器設(shè)計(jì)[J].電子技術(shù)與軟件工程,2019,(11):120-121.梁東麗,劉穎.基于單片機(jī)的多功能視力保護(hù)器設(shè)計(jì)[J].天津職業(yè)技術(shù)師范大學(xué)學(xué)報(bào),2018,(01):21-26.貢維,宗艷艷.單片機(jī)超聲波測距報(bào)警系統(tǒng)研究[J].信息記錄材料,2019,(12):179-180.何冰,王菊霞,蘇變玲.基于單片機(jī)的視力保護(hù)器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,(03):89-92.吳亮.一種超聲波視力保護(hù)器的設(shè)計(jì)[J].山西大同大小學(xué)報(bào)(自然科學(xué)版),2019,(01):14-16.趙暉.基于單片機(jī)的多功能視力保護(hù)器設(shè)計(jì)[J].電子技術(shù)與軟件工程,2018,(22):239.呂曉穎.基于單片機(jī)的多功能視力保護(hù)器設(shè)計(jì)[J].科技與創(chuàng)新,2019,(10):52-53.謝辭為時(shí)一個(gè)學(xué)期的畢業(yè)設(shè)計(jì)即將結(jié)束了,這也意味者我在北京理工大學(xué)珠海學(xué)院的大學(xué)生涯也即將結(jié)束。在大學(xué)整整四年的時(shí)間里,我衷心地感謝學(xué)校每一位優(yōu)秀老師對我的栽培,讓我從一個(gè)懵懵懂懂的大一新生變成一個(gè)有一定知識體系作為基礎(chǔ)的大四應(yīng)屆畢業(yè)生。在我遇到難題的時(shí)候,每一位老師都愿意幫助我克服困難,有問必答,有問必教,而且還是非常耐心的教導(dǎo)我們,即使我們有著十萬個(gè)為什么,老師也愿意一一為我們解答問題。特別是畢業(yè)設(shè)計(jì)的這段時(shí)間里,雖然一場疫情讓我們無法在學(xué)校進(jìn)行交流解答,但是指導(dǎo)老師依然非常敬業(yè),非常負(fù)責(zé),非常耐心的對我進(jìn)行教育,對我有了極大的自身提高,其中包括對單片機(jī)系統(tǒng)的知識理解、對流程圖的邏輯理解、對電路設(shè)計(jì)的認(rèn)識、還有對有關(guān)這方面書籍的知識等等,這些都得益于老師和同學(xué)的大力幫助。老師不僅為我們解答問題,還時(shí)刻提醒著我進(jìn)行學(xué)習(xí)和設(shè)計(jì),督促我好好學(xué)習(xí),讓我的心依然在學(xué)習(xí)之中。本人往后必定銘記在心,感恩在心,十年樹木,百年樹人,感謝各位老師對我的教誨?。?!附錄附錄1程序部分代碼#include<reg52.h>#defineucharunsignedchar//無符號字符型宏定義 變量范圍0~255#defineuintunsignedint //無符號整型宏定義 變量范圍0~65535#include<intrins.h> #include"eepom52.h"sbitSCL=P2^6; //SCL定義,連接ADC0832SCL腳sbitDO=P2^5; //DO定義,連接ADC0832DO腳sbitCS=P2^4; //CS定義,連接ADC0832CS腳sbitbeep=P2^7;//這三個(gè)引腳參考資料sbitrs=P3^2; //1602數(shù)據(jù)/命令選擇引腳H:數(shù)據(jù) L:命令sbitrw=P3^3; //1602讀寫引腳 H:數(shù)據(jù)寄存器 L:指令寄存器sbite=P3^4; //1602使能引腳下降沿觸發(fā)sbitc_send=P3^7; //超聲波發(fā)射sbitc_recive=P3^6; //超聲波接收ucharflag_hc_value;//超聲波中間變量longdistance; //距離uintset_d; //距離bitflag_csb_juli;//超聲波超出量程uintflag_time0;//用來保存定時(shí)器0的時(shí)候的bitflag_200ms=1;ucharguangxian;//光線的顯示變量ucharset_gx; //設(shè)置光線的強(qiáng)弱的變量ucharvalue;ucharflag_alarm;//報(bào)警變量ucharmiao=55,fen=44,shi;ucharxuexi_start;//開始學(xué)習(xí)標(biāo)志位ucharmenu_1;/*********************************************************************名稱:Main()*功能:主函數(shù)*輸入:無*輸出:無********************************************************************/voidMain(){ init_1602(); time_init(); init_eepom();// beep=0; write_string(1,0,"csb: mgm:"); write_string(2,0,"::"); while(1) { key(); if(key_can<10) key_with(); if(flag_200ms==1) { flag_200ms=0; clock_beep();//報(bào)警函數(shù) if(menu_1==0) { send_wave(); //超聲波測距離 write_sfm_csb(1,5,distance); guangxian=ad0832read(1,0);//采集光線 guangxian=guangxian*99/255; write_sfm2(1,14,guangxian); //值越大光線就越強(qiáng) write_sfm2(2,3,shi); //顯示時(shí)鐘 write_sfm2(2,6,fen); //顯示分鐘 write_sfm2(2,9,miao); //值越秒鐘 } } } }/*********************報(bào)警函數(shù)***************************/voidclock_beep(){ staticucharvalue1,value2,value3; staticuinttime_value; if(set_gx>=guangxian) //距離光線報(bào)警 { value2++; if(value2>=2) //循環(huán)5次都是報(bào)警增強(qiáng)抗干擾 { flag_alarm=2; } }else value2=0; if(xuexi_start==1) { if(distance<=set_d) //距離報(bào)警 { value1++; if(value1>=2) //循環(huán)5次都是報(bào)警增強(qiáng)抗干擾 { flag_alarm=1; } }else value1=0; time_value=fen+shi*60; if((time_value%45==0)&&(miao<10)&&(fen!=0))//時(shí)間報(bào)警 { flag_alarm=3; } } if(flag_alarm!=0) { value3++; beep=~beep; //報(bào)警 if(value3>6) { value3=0; beep=1; //取消報(bào)警 flag_alarm=0; } } }/*********************超聲波測距程序*****************************/voidsend_wave(){ c_send=1; //10us的高電平觸發(fā) delay(); c_send=0; TH0=0; //給定時(shí)器0清零 TL0=0; TR0=0; //關(guān)定時(shí)器0定時(shí) flag_hc_value=0; while(!c_recive); //當(dāng)c_recive為零時(shí)等待 TR0=1; while(c_recive) //當(dāng)c_recive為1計(jì)數(shù)并等待 { flag_time0=TH0*256+TL0; if((flag_hc_value>1)||(flag_time0>65000))//當(dāng)超聲波超過測量范圍時(shí),顯示3個(gè)888 { TR0=0; flag_csb_juli=2; distance=888; flag_hc_value=0; return; } else { flag_csb_juli=1; } } if(flag_csb_juli==1) { TR0=0; //關(guān)定時(shí)器0定時(shí) distance=TH0; //讀出定時(shí)器0的時(shí)間 distance=distance*256+TL0; distance+=(flag_hc_value*65536);//算出超聲波測距的時(shí)間 得到單位是ms distance*=0.017;//0.017=340M/2=170M=0.017M算出來是米 if(distance>350) //距離=速度*時(shí)間 { distance=888; //如果大于3.8m就超出超聲波的量程 } }}/*******************按鍵執(zhí)行函數(shù)******************/voidkey_with(){ if(menu_1==0) { if(key_can==1) { xuexi_start=1;//開始學(xué)習(xí) } if(key_can==2) { xuexi_start=0;//暫停學(xué)習(xí) beep=1; } if(key_can==3) { miao=0; fen=0; shi=0; } } if(key_can==4) { menu_1++; if(menu_1==1) { write_string(1,0,"1.xsb:m"); write_string(2,0,"2.gm:%"); write_sfm_csb(1,6,set_d); write_sfm2(2,5,set_gx); //設(shè)置光線的參數(shù) write_com(0x80+0);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } if(menu_1==2) { write_com(0x80+0x40+0);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } if(menu_1>=3) { menu_1=0; write_string(1,0,"csb: mgm:"); write_string(2,0,"::"); write_com(0x0c);//關(guān)閉顯示 } } if(menu_1==1)//設(shè)置超聲波參數(shù) { if(key_can==3)// { set_d++; //加超聲波距離報(bào)警數(shù)據(jù) write_sfm_csb(1,6,set_d); if(set_d>=100) set_d=100; write_com(0x80);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } if(key_can==2)// { set_d--; //減超聲波距離報(bào)警數(shù)據(jù) if(set_d<=10) set_d=10; write_sfm_csb(1,6,set_d); write_com(0x80);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } write_eepom_12(); //保存數(shù)據(jù) } if(menu_1==2) { if(key_can==3)// { set_gx++; //加超聲波距離報(bào)警數(shù)據(jù) write_sfm2(2,5,set_gx); if(set_gx>=100) set_gx=100; write_com(0x80+0x40);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } if(key_can==2)// { set_gx--; //減超聲波距離報(bào)警數(shù)據(jù) if(set_gx<=1) set_gx=1; write_sfm2(2,5,set_gx); write_com(0x80+0x40);//將光標(biāo)移動到秒個(gè)位 write_com(0x0f);//顯示光標(biāo)并且閃爍 } write_eepom_12(); //保存數(shù)據(jù) } key_can=20;}/*********************************************************************名稱:bitBusy(void)*功能:這個(gè)是一個(gè)讀狀態(tài)函數(shù),讀出函數(shù)是否處在忙狀態(tài)*輸入:輸入的命令值*輸出:無***********************************************************************/bitbusy(void){ bitbusy_flag=0; rs=0; rw=1; e=1; delay_uint(3); busy_flag=(bit)(P1&0x80); e=0; returnbusy_flag;}/*********************************************************************名稱:write_com(ucharcom)*功能:1602命令函數(shù)*輸入:輸入的命令值*輸出:無***********************************************************************/voidwrite_com(ucharcom){ while(busy()); e=0; rs=0; rw=0; P1=com; delay_uint(3); e=1; delay_uint(25); e=0;}/*********************************************************************名稱:write_data(uchardat)*功能:1602寫數(shù)據(jù)函數(shù)*輸入:需要寫入1602的數(shù)據(jù)*輸出:無***********************************************************************/voidwrite_data(uchardat){ while(busy()); e=0; rs=1; rw=0; P1=dat; delay_uint(3); e=1; delay_uint(25); e=0; }/***********************lcd1602上顯示兩位十進(jìn)制數(shù)************************/voidwrite_sfm2(ucharhang,ucharadd,uchardate){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/10%10); write_data(0x30+date%10); }/***********************lcd1602上顯示超聲波距離************************/voidwrite_sfm_csb(ucharhang,ucharadd,uintdate){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/100%10); write_data('.'); write_data(0x30+date/10%10); write_data(0x30+date%10); }/*********************************************************************名稱:init_1602()*功能:1602初始化,請參考1602的資料*輸入:無*輸出:無***********************************************************************/voidinit_1602(){ write_com(0x38); // write_com(0x0c); write_com(0x06);}/*********************************************************************名稱:write_string(ucharhang,ucharlie,uchar*p)*功能:改變液晶中某位的值,如果要讓第一行,第五個(gè)字符開始顯示"abcdef",調(diào)用該函數(shù)如下 write_string(1,5,"abcdef;")*輸入:行,列,需要輸入1602的數(shù)據(jù)*輸出:無***********************************************************************/voidwrite_string(ucharhang,ucharadd,uchar*p){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p=='\0')break; write_data(*p); p++; } }ucharkey_can;/********************獨(dú)立按鍵程序*****************/voidkey(){ staticucharkey_new; key_can=20; if((P2&0x0f)!=0x0f) { delay_uint(50); if(((P2&0x0f)!=0x0f)&&(key_new==1)) { key_new=0; switch(P2&0x0f) { case0x0e:key_can=1;break; //左邊第1個(gè) case0x0d:key_can=2;break; //左邊第2個(gè) case0x0b:key_can=3;break; //左邊第3個(gè) case0x07:key_can=4;break; //左邊第4個(gè) }// write_sfm2(2,0,key_can); } } else key_new=1; }/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/ //請先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來讀本函數(shù),主要是對應(yīng)時(shí)序圖來理解,本函數(shù)是模擬0832的串行協(xié)議進(jìn)行的 //100通道 //111通道unsignedcharad0832read(bitSGL,bitODD){ unsignedchari=0,value=0,value1=0; SCL=0; DO=1; CS=0; //開始 SCL=1; //第一個(gè)上升沿 SCL=0; DO=SGL; SCL=1; //第二個(gè)上升沿 SCL=0; DO=ODD; SCL=1; //第三個(gè)上升沿 SCL=0; //第三個(gè)下降沿 DO=1; for(i=0;i<8;i++) { SCL=1; SCL=0;//開始從第四個(gè)下降沿接收數(shù)據(jù) value<<=1; if(DO) value++; } for(i=0;i<8;i++) { //接收校驗(yàn)數(shù)據(jù) value1>>=1; if(DO) value1+=0x80; SCL=1; SCL=0; } CS=1; SCL=1; if(value==value1) //與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0 returnvalue; return0;}附錄2硬件設(shè)計(jì)原理圖

HYPERLINK電腦快捷知識大全編輯本段一、常見用法F1顯示當(dāng)前程序或者windows的幫助內(nèi)容。F2當(dāng)你選中一個(gè)文件的話,這意味著“重命名”F3當(dāng)你在桌面上的時(shí)候是打開“查找:所有文件”對話框F10或ALT激活當(dāng)前程序的菜單欄windows鍵或CTRL+ESC打開開始菜單CTRL+ALT+DELETE在win9x中打開關(guān)閉程序?qū)υ捒駾ELETE刪除被選擇的選擇項(xiàng)目,如果是文件,將被放入回收站SHIFT+DELETE刪除被選擇的選擇項(xiàng)目,如果是文件,將被直接刪除而不是放入回收站CTRL+N新建一個(gè)新的文件CTRL+O打開“打開文件”對話框CTRL+P打開“打印”對話框CTRL+S保存當(dāng)前操作的文件CTRL+X剪切被選擇的項(xiàng)目到剪貼板CTRL+INSERT或CTRL+C復(fù)制被選擇的項(xiàng)目到剪貼板SHIFT+INSERT或CTRL+V粘貼剪貼板中的內(nèi)容到當(dāng)前位置ALT+BACKSPACE或CTRL+Z撤銷上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤銷的操作Windows鍵+L鎖屏鍵Windows鍵+M最小化所有被打開的窗口。Windows鍵+SHIFT+M重新將恢復(fù)上一項(xiàng)操作前窗口的大小和位置Windows鍵+E打開資源管理器Windows鍵+F打開“查找:所有文件”對話框Windows鍵+R打開“運(yùn)行”對話框Windows鍵+BREAK打開“系統(tǒng)屬性”對話框Windows鍵+CTRL+F打開“查找:計(jì)算機(jī)”對話框SHIFT+F10或鼠標(biāo)右擊打開當(dāng)前活動項(xiàng)目的快捷菜單SHIFT在放入CD的時(shí)候按下不放,可以跳過自動播放CD。在打開word的時(shí)候按下不放,可以跳過自啟動的宏ALT+F4關(guān)閉當(dāng)前應(yīng)用程序ALT+SPACEBAR打開程序最左上角的菜單ALT+TAB切換當(dāng)前程序ALT+ESC切換當(dāng)前程序ALT+ENTER將windows下運(yùn)行的MSDOS窗口在窗口和全屏幕狀態(tài)間切換PRINTSCREEN將當(dāng)前屏幕以圖象方式拷貝到剪貼板ALT+PRINTSCREEN將當(dāng)前活動程序窗口以圖象方式拷貝到剪貼板CTRL+F4關(guān)閉當(dāng)前應(yīng)用程序中的當(dāng)前文本(如word中)CTRL+F6切換到當(dāng)前應(yīng)用程序中的下一個(gè)文本(加shift可以跳到前一個(gè)窗口)在IE中:ALT+RIGHTARROW顯示前一頁(前進(jìn)鍵)ALT+LEFTARROW顯示后一頁(后退鍵)CTRL+TAB在頁面上的各框架中切換(加shift反向)F5刷新CTRL+F5強(qiáng)行刷新目的快捷鍵激活程序中的菜單欄F10執(zhí)行菜單上相應(yīng)的命令A(yù)LT+菜單上帶下劃線的字母關(guān)閉多文檔界面程序中的當(dāng)前窗口CTRL+F4關(guān)閉當(dāng)前窗口或退出程序ALT+F4復(fù)制CTRL+C剪切CTRL+X刪除DELETE顯示所選對話框項(xiàng)目的幫助F1顯示當(dāng)前窗口的系統(tǒng)菜單ALT+空格鍵顯示所選項(xiàng)目的快捷菜單SHIFT+F10顯示“開始”菜單CTRL+ESC顯示多文檔界面程序的系統(tǒng)菜單ALT+連字號(-)粘貼CTRL+V切換到上次使用的窗口或者按住ALT然后重復(fù)按TAB,切換到另一個(gè)窗口ALT+TAB撤消CTRL+Z編輯本段二、使用“Windows資源管理器”的快捷鍵目的快捷鍵如果當(dāng)前選擇展開了,要折疊或者選擇父文件夾左箭頭折疊所選的文件夾NUMLOCK+負(fù)號(-)如果當(dāng)前選擇折疊了,要展開或者選擇第一個(gè)子文件夾右箭頭展開當(dāng)前選擇下的所有文件夾NUMLOCK+*展開所選的文件夾NUMLOCK+加號(+)在左右窗格間切換F6編輯本段三、使用WINDOWS鍵可以使用Microsoft自然鍵盤或含有Windows徽標(biāo)鍵的其他任何兼容鍵盤的以下快捷鍵。目的快捷鍵在任務(wù)欄上的按鈕間循環(huán)WINDOWS+TAB顯示“查找:所有文件”WINDOWS+F顯示“查找:計(jì)算機(jī)”CTRL+WINDOWS+F顯示“幫助”WINDOWS+F1顯示“運(yùn)行”命令WINDOWS+R顯示“開始”菜單WINDOWS顯示“系統(tǒng)屬性”對話框WINDOWS+BREAK顯示“Windows資源管理器”WINDOWS+E最小化或還原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M編輯本段四、“我的電腦”和“資源管理器”的快捷鍵目的快捷鍵關(guān)閉所選文件夾及其所有父文件夾按住SHIFT鍵再單擊“關(guān)閉按鈕(僅適用于“我的電腦”)向后移動到上一個(gè)視圖ALT+左箭頭向前移動到上一個(gè)視圖ALT+右箭頭查看上一級文件夾BACKSPACE編輯本段五、使用對話框中的快捷鍵目的快捷鍵取消當(dāng)前任務(wù)ESC如果當(dāng)前控件是個(gè)按鈕,要單擊該按鈕或者如果當(dāng)前控件是個(gè)復(fù)選框,要選擇或清除該復(fù)選框或者如果當(dāng)前控件是個(gè)選項(xiàng)按鈕,要單擊該選項(xiàng)空格鍵單擊相應(yīng)的命令A(yù)LT+帶下劃線的字母單擊所選按鈕ENTER在選項(xiàng)上向后移動SHIFT+TAB在選項(xiàng)卡上向后移動CTRL+SHIFT+TAB在選項(xiàng)上向前移動TAB在選項(xiàng)卡上向前移動CTRL+TAB如果在“另存為”或“打開”對話框中選擇了某文件夾,要打開上一級文件夾BACKSPACE在“另存為”或“打開”對話框中打開“保存到”或“查閱”F4刷新“另存為”或“打開”對話框F5編輯本段六、桌面、我的電腦和“資源管理器”快捷鍵選擇項(xiàng)目時(shí),可以使用以下快捷鍵。目的快捷鍵插入光盤時(shí)不用“自動播放”功能按住SHIFT插入CD-ROM復(fù)制文件按住CTRL拖動文件創(chuàng)建快捷方式按住CTRL+SHIFT拖動文件立即刪除某項(xiàng)目而不將其放入SHIFT+DELETE“回收站”顯示“查找:所有文件”F3顯示項(xiàng)目的快捷菜單APPLICATION鍵刷新窗口的內(nèi)容F5重命名項(xiàng)目F2選擇所有項(xiàng)目CTRL+A查看項(xiàng)目的屬性ALT+ENTER或ALT+雙擊可將APPLICATION鍵用于Microsoft自然鍵盤或含有APPLICATION鍵的其他兼容鍵編輯本段七、Microsoft放大程序的快捷鍵這里運(yùn)用Windows徽標(biāo)鍵和其他鍵的組合??旖萱I目的Windows徽標(biāo)+PRINTSCREEN將屏幕復(fù)制到剪貼板(包括鼠標(biāo)光標(biāo))Windows徽標(biāo)+SCROLLLOCK將屏幕復(fù)制到剪貼板(不包括鼠標(biāo)光標(biāo))Windows徽標(biāo)+PAGEUP切換反色。Windows徽標(biāo)+PAGEDOWN切換跟隨鼠標(biāo)光標(biāo)Windows徽標(biāo)+向上箭頭增加放大率Windows徽標(biāo)+向下箭頭減小放大率編輯本段八、使用輔助選項(xiàng)快捷鍵目的快捷鍵切換篩選鍵開關(guān)右SHIFT八秒切換高對比度開關(guān)左ALT+左SHIFT+PRINTSCREEN切換鼠標(biāo)鍵開關(guān)左ALT+左SHIFT+NUMLOCK切換粘滯鍵開關(guān)SHIFT鍵五次切換切換鍵開關(guān)NUMLOCK五秒QQ快捷鍵,玩QQ更方便Alt+S快速回復(fù)Alt+C關(guān)閉當(dāng)前窗口Alt+H打開聊天記錄Alt+T更改消息模式Ait+J打開聊天紀(jì)錄Ctrl+A全選當(dāng)前對話框里的內(nèi)容Ctrl+FQQ里直接顯示字體設(shè)置工具條Ctrl+J輸入框里回車(跟回車一個(gè)效果)Ctrl+M輸入框里回車(跟回車一個(gè)效果)Ctrl+L對輸入框里當(dāng)前行的文字左對齊Ctrl+R對輸入框里當(dāng)前行的文字右對齊Ctrl+E對輸入框里當(dāng)前行的文字居中Ctrl+V在qq對話框里實(shí)行粘貼Ctrl+Z清空/恢復(fù)輸入框里的文字Ctrl+回車快速回復(fù)這個(gè)可能是聊QQ時(shí)最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷鍵F5刷新DELETE刪除TAB改變焦點(diǎn)CTRL+C復(fù)制CTRL+X剪切CTRL+V粘貼CTRL+A全選CTRL+Z撤銷CTRL+S保存ALT+F4關(guān)閉CTRL+Y恢復(fù)ALT+TAB切換CTRL+F5強(qiáng)制刷新CTRL+W關(guān)閉CTRL+F查找SHIFT+DELETE永久刪除CTRL+ALT+DEL任務(wù)管理SHIFT+TAB-反向切換CTRL+空格--中英文輸入切換CTRL+Shift輸入法切換CTRL+ESC--開始菜單CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截圖工具CTRL+ENTERQQ發(fā)消息Alt+1保存當(dāng)前表單Alt+2保存為通用表單Alt+A展開收藏夾列表資源管理器END顯示當(dāng)前窗口的底端HOME顯示當(dāng)前窗口的頂端NUMLOCK+數(shù)字鍵盤的減號(-)折疊所選的文件夾NUMLOCK+數(shù)字鍵盤的加號(+)顯示所選文件夾的內(nèi)容NUMLOCK+數(shù)字鍵盤的星號(*)顯示所選文件夾的所有子文件夾向左鍵當(dāng)前所選項(xiàng)處于展開狀態(tài)時(shí)折疊該項(xiàng),或選定其父文件夾向右鍵當(dāng)前所選項(xiàng)處于折疊狀態(tài)時(shí)展開該項(xiàng),或選定第一個(gè)子文件夾自然鍵盤【窗口】顯示或隱藏“開始”菜單【窗口】+F1幫助【窗口】+D顯示桌面【窗口】+R打開“運(yùn)行”【窗口】+E打開“我的電腦”【窗口】+F搜索文件或文件夾【窗口】+U打開“工具管理器”【窗口】+BREAK顯示“系統(tǒng)屬性”【窗口】+TAB在打開的項(xiàng)目之間切換輔助功能按右邊的SHIFT鍵八秒鐘切換篩選鍵的開和關(guān)按SHIFT五次切換粘滯鍵的開和關(guān)按NUMLOCK五秒鐘切換切換鍵的開和關(guān)左邊的ALT+左邊的SHIFT+NUMLOCK切換鼠標(biāo)鍵的開和關(guān)左邊的ALT+左邊的SHIFT+PRINTSCREEN切換高對比度的開和關(guān)運(yùn)行按“開始”-“運(yùn)行”,或按WIN鍵+R,在『運(yùn)行』窗口中輸入:(按英文字符順序排列)%temp%打開臨時(shí)文件夾.C:\DocumentsandSettings\用戶名所在文件夾..C:\DocumentsandSettings...我的電腦\C盤appwize.cpl添加、刪除程序access.cpl輔助功能選項(xiàng)Accwiz輔助功能向?qū)mdCMD命令提示符commandCMD命令提示符chkdsk.exeChkdsk磁盤檢查certmgr.msc證書管理實(shí)用程序calc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論