基于單片機的視力保護器電路的設(shè)計說明_第1頁
基于單片機的視力保護器電路的設(shè)計說明_第2頁
基于單片機的視力保護器電路的設(shè)計說明_第3頁
基于單片機的視力保護器電路的設(shè)計說明_第4頁
基于單片機的視力保護器電路的設(shè)計說明_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..基于單片機的視力保護器電路的設(shè)計摘要:如今這個時代被人們稱為信息時代,這些年,計算機技術(shù)以不可阻擋之勢迅猛發(fā)展,在工業(yè)、農(nóng)業(yè)、國防、醫(yī)療、科研等眾多領(lǐng)域發(fā)揮著重要的作用,成為各國衡量其國際競爭力的重要標(biāo)準(zhǔn)之一。單片機有著優(yōu)越的控制能力,在工業(yè)控制、醫(yī)療控制,只能儀表等領(lǐng)域有著廣泛的應(yīng)用,更以有著無比的優(yōu)越性從而成了微型的計算機的一個非常重要的分支。本文主要介紹了單片機的發(fā)展概況和視力保護器的發(fā)展歷程,利用單片機AT89C51設(shè)計一款性能優(yōu)越的視力保護器。在AT89C51型單片機的硬件設(shè)施基礎(chǔ)上實現(xiàn)測距、感光、定時、報警四大功能。其中測距模塊和感光模塊主要是由相應(yīng)的傳感器組成,實現(xiàn)對使用者距離和周圍環(huán)境光線強度的檢測和報警功能。定時模塊是由單片機的運行程序構(gòu)成,實現(xiàn)對使用者學(xué)習(xí)時間的監(jiān)測和提示功能。介紹了利用Keil平臺實現(xiàn)定時匯編語言的方法。同時也簡單介紹了該技術(shù)的應(yīng)用現(xiàn)狀和發(fā)展前景。關(guān)鍵詞:單片機;傳感器;定時器;KeilVisionprotectorcircuitdesignbasedonsinglechipmicrocomputerAbstract:Now

thisera

knownas

theinformationage,

these

years,

thetechnologyofthecomputer

totheirresistibletrend

ofrapiddevelopment,andplaysanimportant

roleinmanyfields

ofindustry,agriculture,nationaldefense,

medical,

scientificresearch,

becomeoneofthemostimportantstandards

tomeasure

theinternationalcompetitivenessof

thecountries.Singlechipmicrocomputerasanimportantbranchofmicrocomputer,withitssuperiorcontrolfunction,intheindustrialcontrol,intelligentinstrumentsystemisshowingitssuperiority.Thispapermainlydescribesthepresentsituationofthedevelopmentofthesinglechipmicrocomputerandthedevelopmentofvisionprotector,usingsingle-chipmicrocomputerAT89C51designasuperiorperformancevisionprotector.OnthebasisoftypeAT89C51singlechipmicrocomputerhardwareimplementationranging,photographic,timing,alarm,fourbigfunctions.Therangingmoduleandphotosensitivemoduleismainlycomposedofthecorrespondingsensor,realizetheuserdistanceandambientlightintensitydetectionandalarmfunction.Timingmoduleismadeupofsinglechipmicrocomputertoruntheprogram,implementationoftheuserstudytimemonitoringandpromptfunctions.IntroducedthemethodofusingKeilplatformimplementationtimingassemblylanguage.Atthesametimealsosimplyintroducesthepresentsituationoftheapplicationofthetechnologyanddevelopmentprospects.Keywords:Singlechipmicrocomputer;transducer;timer;keil..目錄1.緒論..........................................................11.1選題背景............................................11.2視力保護器的現(xiàn)狀及其展望............................21.3主要研究內(nèi)容........................................22.系統(tǒng)硬件設(shè)計.............................................42.18051單片機簡介......................................42.2傳感器輔助坐直報警電路..............................72.38051單片機的中斷系統(tǒng).................................8中斷的概念...................................8中斷系統(tǒng)結(jié)構(gòu)以及中斷控制.....................9中斷響應(yīng)及中斷處理過程......................122.4光線報警電路.......................................132.4.1光敏電阻控制電路..........................132.4.2光線發(fā)聲報警電路..........................132.5定時報警電路.......................................142.5.1單片機控制電路............................142.5.2定時器報警發(fā)聲電路........................153.開發(fā)系統(tǒng)軟件設(shè)計.......................................163.1KeilC51軟件簡介....................................163.2程序的模塊化劃分....................................163.3程序模塊............................................183.3.1超聲波測距模塊............................183.3.2外部中斷模塊..............................193.3.3定時模塊..................................204.結(jié)論及展望.............................................22參考文獻.......................................................23附錄.........................................................24..第一章緒論1.1選題背景隨著改革開放的發(fā)展,現(xiàn)如今社會對于廣大社會人群要求其知識水平越來越高,特別是學(xué)生,故而現(xiàn)在是學(xué)生學(xué)習(xí)的高峰期,對他們的造成的學(xué)習(xí)壓力也是特別繁重的。根據(jù)有關(guān)的報告顯示,我國現(xiàn)在的盲人人數(shù)以百萬計,更甚的是低度近視的以千萬計。近視眼這種疾病在兒童及青少年時期極易發(fā)生,因其不注意保護自己視力,各種的坐姿和作業(yè)方式不正確。根據(jù)近年全國學(xué)生體質(zhì)健康調(diào)查報告結(jié)論如小學(xué)生22.78%小學(xué)生22.78%中學(xué)生55.22%大學(xué)生70.34%圖1-1視力調(diào)查表我國因人口基數(shù)眾多也因?qū)σ暳ΡWo不夠重視,故而近視眼的人數(shù)據(jù)世界第一位,同時近視眼發(fā)病的概率也是全世界最高的。學(xué)生因需經(jīng)常用眼,故而在廣大的近視眼人群中占據(jù)了巨大部分,有著相當(dāng)多的人數(shù)。中國廣大學(xué)生的近視度數(shù)還是較為偏高的,而且人數(shù)呈現(xiàn)出逐年遞增的趨勢,且遞增的比例相當(dāng)大。這種趨勢使得社會人群普遍的關(guān)注和擔(dān)憂。他們作業(yè)閱讀姿勢不正確和作業(yè)閱讀的時間過長是導(dǎo)致近視眼病的主要原因,因此設(shè)計一款人性化的視力保護器對于廣大學(xué)生保護眼睛來說意義重大。1.2視力保護器的現(xiàn)狀及其展望就目前的狀況來說,國內(nèi)外均業(yè)已有許多電子科技公司自己都在生產(chǎn)本公司的視力保護器。就國內(nèi)目前發(fā)展?fàn)顩r方面來說,比如說,有烏魯木齊市旭之龍科技,該公司生產(chǎn)的"學(xué)生1.5視力保護器"也被稱之為"坐視寶",當(dāng)使用者的坐姿不正確時,它能及時而有效的發(fā)出語音提醒。也還有XX市華恒電子的"MS-3032坐姿矯正器",矯正作業(yè)和閱讀時的不良坐姿。然而,從總體狀況來說,國內(nèi)生產(chǎn)的視力保護器的功能不夠豐富,甚至可以說是單一,但人們多視力保護器的多樣化和個性化要求是日益增長的,故而相矛盾。從國外方面來說,他們也十分地重視對視力保護的研究。然而,他們更加傾向于對產(chǎn)生近視原因的思考和研究。他們普遍認為可以通過合理的飲食營養(yǎng)搭配,例如多吃魚和新鮮蔬菜,和正確的學(xué)習(xí)習(xí)慣,能降低近視發(fā)生的概率。經(jīng)市場的調(diào)研表明,真正功能豐富視力保護器在廣大的銷售市場上是不存在的?,F(xiàn)有的視力保護器只能實現(xiàn)多功能視力保護器的三大目標(biāo)〔定時、感光、測距的某一個方面,功能不全面,不突出?;谝陨系囊蛩?視力保護器存在著大量的市場需求,對于視力保護器的研究和開發(fā)才處于剛剛起步的階段,還有著很大的發(fā)展空間。在經(jīng)過廣大市場需求的刺激和國家大力支持此項研究的前提下,多視力保護器的發(fā)展將是十分巨大的,同時也即將為廣大學(xué)子的視力問題作出很好的預(yù)防效果。1.3主要研究內(nèi)容因單片機普遍地具有智能處理的功能,能滿足人們基礎(chǔ)的設(shè)計需求。故而本次的設(shè)計以單片機芯片為核心,結(jié)合了理論指導(dǎo)和實驗驗證兩方面的優(yōu)點。首先是各個電路模塊和所需的元器件的選擇,同時也需對電路模塊的元器件的電阻值,電容量進行大致范圍的估算。進行了初步的范圍的篩選后再進行進一步的精確的選擇,最后確定使用。接著對各個單元電路進行調(diào)整組合,使之形成完整的電路模式,且在計算機上進行調(diào)試和仿真。單片機選擇C51型,以光敏電阻來判定光照值是否達到國家標(biāo)準(zhǔn)來實現(xiàn)對光線強弱的警報,以水銀滾珠型重力傳感器來實現(xiàn)垂直電路從而達到對使用者坐姿的檢驗,以C51單片機的定時和匯編功能來實現(xiàn)對使用者使用時間的判定,以編程的方式來實現(xiàn)電路的自動復(fù)位。本次設(shè)計的多功能視力保護器主要能實現(xiàn)以下幾種功能:〔1自動檢測使用者的頭部與書桌的距離,當(dāng)使用者的頭部與書桌的距離過近即小于25cm時,報警閃光,提醒使用者調(diào)整坐姿。〔2自動檢測光線強度,當(dāng)光線強度小于國家標(biāo)準(zhǔn)1001X,報警閃光,提醒使用者調(diào)整光線強度?!?自動檢測學(xué)習(xí)時間,當(dāng)使用者使用的時間達到了本設(shè)計初始設(shè)定的45分鐘,報警發(fā)生電路報警閃光,提醒使用者需要進行適當(dāng)?shù)男菹?比如向遠處眺望,來保護視力。

第二章系統(tǒng)硬件設(shè)計本設(shè)計的硬件設(shè)計系統(tǒng)是以8051單片機為核心,同時由定時報警電路系統(tǒng)、光線報警電路系統(tǒng)、傳感器輔助坐直報警電路系統(tǒng)、報警發(fā)聲電路系統(tǒng)這四個局部的電路系統(tǒng)而共同組成了視力保護器的硬件設(shè)計部分。設(shè)計基本框圖如下所示:圖2-1系統(tǒng)設(shè)計基本框圖2.1AT89C51簡介89C51型單片機是一種八位單片機。優(yōu)點較多,例如:體積小,功能較為完善,同時能面向控制,且開發(fā)應(yīng)用十分方便,不論是在測控理論或者是應(yīng)用方面,都是較為理想的,是一種不錯的選擇。中央處理器、儲存器、并串行口、定時器/計數(shù)器、中斷系統(tǒng)構(gòu)成了C51的主要組成部分。數(shù)據(jù)總線、控制總線以及地址總線是C51單片機的三條總線,具有很好的完整性。圖2-289C581單片機內(nèi)部結(jié)構(gòu)上圖為89C51內(nèi)部結(jié)構(gòu),由以下幾個部分組成:〔11個8位中央處理器〔CPU。運算器和控制器是CPU的核心,構(gòu)成了其組成部分的主要器件。同時其內(nèi)部的運算器有個一個布爾處理器,能進行位數(shù)據(jù)操作。同時面向控制的能力大幅的增強。因此既能對字節(jié)數(shù)據(jù)進行處理,也能對位變量進行處理?!?程序存儲器〔片內(nèi)ROM。其主要的功能是儲存程序和表格以及常數(shù)等。多見的是采用的是只讀儲存器,且類型多種多樣?!?數(shù)據(jù)存儲器〔片內(nèi)RAM。可以快速的儲存數(shù)據(jù)、工作時的變量、中間結(jié)果。簡而言之就是數(shù)據(jù)暫存、緩沖、標(biāo)志位等?!?并行輸入/輸出接口。主要是由四個八位并行輸入/輸出口組成,主要功能是實現(xiàn)數(shù)據(jù)的并行輸入和輸出。〔5串行輸入/輸出接口。該接口是全雙工串行口。主要是用來實現(xiàn)單片機與其他的微機之間的串行通信,形成多臺計算機互聯(lián)系統(tǒng)。<6>定時器/計數(shù)器。是由兩個定時器/計數(shù)器T0與T1組成??梢詫崿F(xiàn)精確的定時控制和外部事件的計數(shù)?!?中斷系統(tǒng)。主要是由5個中斷源系統(tǒng)、2個可編程優(yōu)先級的中斷系統(tǒng)組成的,主要是用來各種實現(xiàn)中斷申請。<8>時鐘電路。該電路可以產(chǎn)生單片機工作時所需要的時鐘脈沖序列。89C51目前比較常見的主要有兩種封裝的方式。PLCC封裝形式,有44個引腳;DIP封裝形式,有40個引腳。以下分別是PLCC和DIP封裝形式:圖2-3兩種常見的封裝形式為縮減體積,減少引腳數(shù),很多的引腳采用復(fù)用方式,40個引腳大致分為以下四類:電源該引腳用來提供單片機工作時所需要的電源。〔1Vcc:正常運行時的電源,接+5V。<2>Vss:電源地線,接地端。時鐘XTAL1和XTAL2是該時鐘的兩個時鐘引腳,能與單片機片內(nèi)的放大器構(gòu)成一個振蕩器,主要可以用來提供時鐘控制信號??刂埔_〔1/:ALE為地址鎖存允許信號,同時與地址鎖存器相互配合形成一個控制信號,輸出一正脈沖。是該控制引腳的第二功能,當(dāng)由單片機編程寫入時,為編程脈沖輸入端。〔2:該控制引腳在低電平時有效。主要是作為外部程序存儲器的選通信號,輸入到數(shù)據(jù)總線上?!?RST/VPD:該控制引腳在高電平時有效??梢詫崿F(xiàn)單片機的復(fù)位操作,僅需加上高電平信號,持續(xù)時間大于兩個機器周期。VDP是用作備用電源輸入端,在掉電的情況下,自動引入一個電源,使得片內(nèi)RAM數(shù)據(jù)不會丟失?!?/VPP:該控制引腳是程序存儲器的選擇控制端。當(dāng)引腳EA為高電平時,CPU執(zhí)行的順序是從片內(nèi)到片外;當(dāng)引腳EA為低電平時,CPU只執(zhí)行片外,無視片內(nèi)。I/O口引腳89C51有四個并行I/O口,每個端口均為8位且均有8個引腳,因此共有32個引腳。2.2傳感器輔助坐直報警電路以下是傳感器的結(jié)構(gòu)和工作原理:當(dāng)使用者的坐姿正確時,水銀滾珠位于傳感器的底端,與上面的電路處于分離狀態(tài),電路處于斷路狀態(tài);若使用者坐姿不正確時,水銀滾珠慢慢向上滾動,則電路導(dǎo)通,喇叭發(fā)聲提醒使用者調(diào)整坐姿。傳感器初始狀態(tài)是豎直的,若使用者坐姿正確且保持不變。傳感器的電路時處于短路狀態(tài)的,喇叭不發(fā)聲,無提示音。若使用者的坐姿有所變化,不正確,傳感器的電路處于導(dǎo)通狀態(tài),喇叭發(fā)出提示音,提醒使用者調(diào)整坐姿,進而達到保護使用者視力的最終目的。若Y0輸出為高電平時,VT1導(dǎo)通時,VT1的集電極電壓是非常低的,VT2處于關(guān)閉狀態(tài)時,輸出為高電平時,芯片集成TM-801的發(fā)出聲音提示。集成芯片TM-801的一種語言集成電路存儲器是有多種語音信號的,本設(shè)計選擇的是芯片MSS0283-53集成塊口哨聲,一旦觸發(fā),然后廣播語音信號播出儲存在在內(nèi)存中語音信號,VT3放大,揚聲器B組的聲音。圖2-4坐直電路原理圖圖2-4坐直電路原理圖2.38051單片機的中斷系統(tǒng)今天的計算機具有實時處理能力,能對外部發(fā)生的突發(fā)事件進行及時而有效處理。這就是靠中斷技術(shù)來實現(xiàn)該功能的。2.3.1中斷的概念當(dāng)CPU正在處理一個事件,一個事件從外部突發(fā)需要CPU及時的處理,CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)向事件的處理。中斷服務(wù)處理完事件后,然后返回到被中止,繼續(xù)到原來的地方進行原來的工作,這個過程稱為中斷。中斷系統(tǒng)就是能實現(xiàn)中斷功能的部件,中斷源就是能產(chǎn)生中斷的請求源。中斷請求就是中斷源向CPU發(fā)出的處理請求。中斷響應(yīng)就是CPU中斷了自身的事件處理,轉(zhuǎn)向去處理請求事件的過程。中斷服務(wù)就是對請求事件的整個的處理過程。中斷返回就是在請求事件處理完成后,再返回到原來中斷的地方。圖2-5中斷流程2.3.2中斷系統(tǒng)結(jié)構(gòu)以及中斷控制圖2-6中斷系統(tǒng)結(jié)構(gòu)中斷對于單片機而言是一項不可或缺的功能,特別是對于事件處理方面,能極大的提高單片機的的工作效率。中斷技術(shù)可以實現(xiàn)分時操作,實時處理,故障處理等功能。1.89C51中斷源中斷源一般有I/O設(shè)備、硬件故障、實時時鐘、為調(diào)試程序而設(shè)置的中斷源[8]。89C51中斷系統(tǒng)的5個中斷源為:〔1INT0:外部中斷0請求。在輸入低電平時才有效??梢酝ㄟ^P3.2引腳引入?!?INT1:外部中斷1請求。在輸入低電平時才有效??梢酝ㄟ^P3.3引腳引入?!?T0:定時器計數(shù)器〔0溢出中斷請求?!?T1:定時器計數(shù)器〔1溢出中斷請求。〔5TXD/RXD:串行口中斷請求。當(dāng)該串行端口,完成了發(fā)送數(shù)據(jù)或接受,就會要求中斷。每個中斷源都與一個中斷請求標(biāo)志位相對應(yīng)。當(dāng)中斷源發(fā)出中斷請求后,與之一一對應(yīng)的標(biāo)志位的鎖存是通過TCON和SCON來實現(xiàn)的。2.中斷控制89C51中斷系統(tǒng)中有4個功能比較特殊的寄存器:TCON<定時器控制寄存器>、SCON〔串行口寄存器、IE〔中斷允許寄存器、IP〔中斷優(yōu)先級寄存器[8]2.1兩個特殊寄存器〔TCON和SCON>的中斷標(biāo)志位TCON中的中斷標(biāo)志位8FH8EH8DH8CH8BH8AH89H88HIT0TF1TF0IT1IE1IE0IT0TF1TF0IT1IE1IE0〔1TF1:定時器計數(shù)器〔T1溢出中斷請求標(biāo)志。當(dāng)單片機開始工作后,T1開始計數(shù),從初值開始加1一直到最高位產(chǎn)生溢出,TF1置一,且向CPU發(fā)出中斷,響應(yīng)以后,自動將TF1置0?!?TF0:定時器計數(shù)器〔T0溢出中斷請求標(biāo)志。作用與TF1相同。〔3IE1:中斷請求標(biāo)志位〔外部中斷1。當(dāng)外部中斷引腳上有中斷請求時,IE1為1;當(dāng)CPU響應(yīng)了中斷請求后,IE1為0。〔4IT1:中斷觸發(fā)控制位〔外部中斷1。當(dāng)IT1為0時,外部中斷為電平觸發(fā)。若外部輸入為低電平,IE1為1;若外部輸入為高電平,IE1為0。當(dāng)IT1為1時,外部中斷為邊沿觸發(fā)。若在兩個機器周期內(nèi)電平以高低的方式呈現(xiàn),IE1為0;當(dāng)CPU響應(yīng)了該中斷,IE1為0?!?IE0:外部中斷0的中斷標(biāo)志位。作用與IE1相同?!?IT0:外部中斷0的中斷觸發(fā)方式控制位。作用與IT1相同。2SCON中的中斷標(biāo)志位99H98HRITIRITI〔1TI:串行口發(fā)送中斷請求標(biāo)志位。CPU使得一個數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送。在每發(fā)送完一陣串行數(shù)據(jù)后,硬件置位TI。但在CPU響應(yīng)中斷時,不清除TI,必須在中斷服務(wù)程序中由軟件使得TI清0。〔2RI:串行口接受中斷請求標(biāo)志位。當(dāng)串行口允許接受時,每接受完一個串行幀,硬件置位RI。在CPU響應(yīng)中斷時不清除RI,必須實用軟件對其清0。在中斷服務(wù)程序中有軟件使得TI清0。2.2中斷允許控制位AFHAEHADHACHABHAAHA9HA8HET0ET1EX1ESEAEX0ET0ET1EX1ESEAEX0〔1EA:中斷允許總控制位。EA=0時,屏蔽所有中斷請求;EA=1時,CPU開放中斷。對個中斷源的中斷請求是否被允許,還需 取決于個中斷源的中斷允許控制位的狀態(tài)?!?ES:串行口中斷允許位。當(dāng)ES=0時,禁止串行口中斷;當(dāng)ES=1時,允許串行口中斷〔3ET1:定時器/計數(shù)器T1的溢出中斷允許位。當(dāng)ET1=0時,禁止T1中斷;當(dāng)ET1=1時,允許T1中斷?!?EX1:外部中斷1中斷允許位。當(dāng)EX1=0時,禁止外部中斷1中斷;當(dāng)EX1=1時,允許外部中斷1中斷?!?ET0:定時器/計數(shù)器T0的溢出中斷允許位。當(dāng)ET0=0時,禁止T0中斷;當(dāng)ET0=1時,允許T0中斷?!?EX0:外部中斷0中斷允許位。當(dāng)EX0=0時,禁止外部中斷0中斷;當(dāng)EX0=1時,允許外部中斷0中斷。2.3中斷優(yōu)先級控制89C51有兩個中斷優(yōu)先級。每一個中斷請求源都可以編程為高優(yōu)先級中斷或低優(yōu)先級中斷。在中斷系統(tǒng)中有兩個不可尋址的"優(yōu)先級生效"觸發(fā)器,其中一個指出CPU是否正在執(zhí)行高優(yōu)先級的中斷服務(wù)程序,另一個指出CPU是否正在執(zhí)行低優(yōu)先級中斷服務(wù)程序。當(dāng)這兩個觸發(fā)器為1時,則分別屏蔽所有的中斷請求。89C51內(nèi)有一個中斷優(yōu)先級寄存器IP。IP中的低5位為個中斷源優(yōu)先級的控制位,可以使用軟件來設(shè)定。各位的含義如下所示:BCHBBHBAHB9HB8HPT1PX1PSPX0PT0PT1PX1PSPX0PT0〔1PS:串行口中斷優(yōu)先級控制位。〔2PT1:定時器/計數(shù)器T1中斷優(yōu)先級控制位?!?PX1:外部中斷1中斷優(yōu)先級控制位?!?PT0:定時器/計數(shù)器T0中斷優(yōu)先級控制位?!?PX0:外部中斷0中斷優(yōu)先級控制位。2.3.3中斷響應(yīng)及中斷處理過程1.中斷響應(yīng)1.中斷響應(yīng)條件CPU響應(yīng)中斷條件有:〔1有中斷源發(fā)出中斷請求?!?中斷總允許位EA為1?!?申請中斷的中斷源的中斷允許為1?!?無同級或更高級中斷正在被響應(yīng)?!?當(dāng)前的指令周期已經(jīng)結(jié)束。2.中斷響應(yīng)的自主操作過程89C51單片機CPU在每一個機器周期才分別采樣每一個中斷源,按照優(yōu)先級順序查詢中斷標(biāo)志位。若一些中斷的中斷允許位都在在允許狀態(tài)〔即為1,在接下來的某時間段內(nèi)按其優(yōu)先級進行中斷處理。這就表現(xiàn)為CPU的自主操作。3.中斷響應(yīng)時間CPU地不同情況下的中斷請求的響應(yīng)時間是不一樣的,甚至也不是響應(yīng)所有情況下的中斷請求的。同時在中斷請求處理過程中若是受到了阻礙,中斷請求的時間也是會有所延長的。2.中斷處理中斷處理就是從中斷服務(wù)程序的第一條指令開始到返回指令結(jié)束。其中包括:保護現(xiàn)場、中斷源服務(wù)。中斷服務(wù)子程序流程為:關(guān)閉之后中斷請求,保護現(xiàn)場,開啟現(xiàn)在響應(yīng)的中斷,開始中斷服務(wù),關(guān)閉處理好的中斷,恢復(fù)現(xiàn)場,開啟中斷請求允許位,中斷返回。[10]3.中斷返回當(dāng)一個中斷源發(fā)出中斷請求,CPU對該請求響應(yīng)與否能自主決定。若響應(yīng),就需要在某條指令完成后,需要把中斷地址放入堆棧中保護起來,即為中斷保護。當(dāng)中斷處理完以后,再將之前仿佛堆棧中的指令的后面的指令地址返回PC中,這被稱之為恢復(fù)斷點,程序返回到之前中止的地方,繼續(xù)原來的工作。中斷返回也表現(xiàn)為CPU的自主操作。2.4光線報警電路該電路是由光敏電阻控制電路和聲光報警電路組成。主要的作用是,在滿足了光敏脈沖控制條件時,由聲光報警電路發(fā)出提示音,告知使用者周圍的光線不足,需要更好的光照條件,保護使用者的視力。2.4.1光敏電阻控制電路當(dāng)光照條件良好時,光敏電阻較小時,三極管B級電壓較低,處于截止?fàn)顟B(tài),,經(jīng)過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號,通過反相器傳送給單片機。傳送信號為低電平,則輸出的信號也為低電平。若光照條件不好時,光敏電阻較大,三極光B級電壓很高,處于導(dǎo)通狀態(tài)。輸出為低電平,經(jīng)反相器則為1。圖圖2-7光敏控制電路原理圖2.4.2光線發(fā)聲報警電路圖2-9顯示了一個聲光報警電路,IC2采用的KD-56028的語言,其為COMS大規(guī)模集成電路,儲存有"注意近視,調(diào)亮燈光"的語言信號。經(jīng)過高電平信號這個平臺,立即廣播發(fā)聲,放大器放大,揚聲器發(fā)音,以此同時,燈光閃爍。圖圖2-8光線報警發(fā)聲電路原理圖2.5定時報警電路當(dāng)在定時器/計數(shù)器定時器模式下,計數(shù)器在12分頻信號振蕩器于1的信號里產(chǎn)生的,即每個機器周期,加1計數(shù),直到計滿溢出。每個單片機的計數(shù)時間是與該單片機的計數(shù)系統(tǒng)振蕩頻率有關(guān)。眾所周知,一個機器周期等于十二個振蕩周期,即fcount=1/12osc也即如果晶振為12MHZ,則技術(shù)周期為:T=1/〔12x106HZx1/12=1us此為最短的定時周期。若想在實際的設(shè)計應(yīng)用中延長時間,則需改變定時器的初始值,也需根據(jù)設(shè)計的需要選擇定時器的長度。2.5.1單片機控制電路單片機的控制電路是由單片機的P3.4口和P3.5口,也即是定時器/計數(shù)器通過匯編語言平臺來加以實現(xiàn)的。在本次的視力保護器的設(shè)計中需要定時時間為45分鐘,有公式可以計算初值,得之如下:45min×60=2700s=27000×100ms由上可知計數(shù)初值需要分兩次可獲得,100ms設(shè)置為定時<T0>,27000設(shè)置為計數(shù)<T1>,其中定時的工作方式需為方式1,計數(shù)的工作方式需為11。T0的定時初值為:216-100ms/2us=15536=C3B0H;T1的計數(shù)初值為:65536-27000=38536=96A3H。2.5.2定時器報警發(fā)聲電路如圖2-9所示,振蕩脈沖的方波脈沖產(chǎn)生了單片機的定時功能,同時在該脈沖開啟的高水平下也能IC2提供工作所需的電壓。IC2采用語言電路且內(nèi)存有"時間已到,注意休息"的語音信號。一旦電平觸發(fā),通過揚聲器播出語音信號,同時,燈光閃爍。圖2-圖2-9定時器報警發(fā)聲原理圖

第三章開發(fā)系統(tǒng)軟件設(shè)計對于使用單片機系統(tǒng)而言,系統(tǒng)程序的主要任務(wù)是通過有限的硬件資源,供應(yīng)管理系統(tǒng)內(nèi)合理分布設(shè)計,設(shè)計出最直接,最有效的程序設(shè)計語言,實現(xiàn)了微控制器外圍設(shè)備的控制,從而通過這些外圍的設(shè)備實現(xiàn)設(shè)計者最初的設(shè)計目的。系統(tǒng)的軟件設(shè)計通常是對于系統(tǒng)的可靠性和效率性在較大的部分在系統(tǒng)設(shè)計任務(wù)量極顯著影響。3.1KeilC51軟件簡介KeilC51軟件內(nèi)置了非常豐富的庫函數(shù),而且還允許使用者自定義函數(shù)。同時能夠調(diào)用的開發(fā)調(diào)試工具也是非常實用和強大的,而且所有的界面都是以windows方式呈現(xiàn)。還有很重要的一點是,只要看看編譯器生成的匯編代碼,你可以知道用KeilC51生成的目標(biāo)代碼效率非常高,大部分生成的匯編代碼的陳述是很緊湊,很容易理解。在開發(fā)大型軟件系統(tǒng)更能反映其高級語言的優(yōu)點。KeilC51工具包的整體結(jié)構(gòu)主要包括uVision和Ishell,它們分別是C51forWindows與forDos的集成開發(fā)環(huán)境〔IDE,要完成編輯,編譯,調(diào)試,仿真,連接整個開發(fā)過程。開發(fā)人員可以使用簡易瀏覽裝置或其他編輯器編輯C或匯編源文件,然后由C51和C51的編輯器編譯的目標(biāo)文件〔.OBJ。目標(biāo)文件不僅可以生成庫文件,也可以生成絕對目標(biāo)文件〔.ABS。但需要通過LIB51和L51創(chuàng)建。同時絕對目標(biāo)文件可以生成Hex需文件在OH51創(chuàng)建下,達到調(diào)試器進行源代碼級調(diào)試的目的,同時也能通過仿真器使得目標(biāo)板調(diào)試。3.2程序的模塊化劃分程序的模塊化的中心理念就是化整為零,這種思想在程序設(shè)計中是十分常用的,也即是將一個能實現(xiàn)完整功能的程序,劃分成若干個較小的程序,這些程序只能完成整個功能中的某一小部分的功能,但他們完整的組織起來就可以實現(xiàn)整個的程序功能。同時這些較小模塊的程序自身也能進行設(shè)計、編譯、調(diào)試,它們互不影響干擾對方。這樣的做法優(yōu)點很多,例如,能完成這個程序設(shè)計的優(yōu)化、程序的可讀性大大提高、同時也因為每個較小的程序模塊的功能是獨立的,這樣十分便利于整個程序模塊功能的擴充和升級、也能使得對于經(jīng)常需要調(diào)用子程序的實際設(shè)計能夠得到極大程度上的簡化。圖3-1系統(tǒng)軟件設(shè)計總流程圖在本章節(jié)的系統(tǒng)硬件的設(shè)計中,根據(jù)最初設(shè)計視力保護器的最初目的——保護使用者的視力,以程序模塊的設(shè)計思想,達到系統(tǒng)的實用性和可靠性的同時,也能極大改善簡化本設(shè)計的設(shè)計步驟,減少設(shè)計的難度。本章節(jié)的軟件設(shè)計的目的就是令單片機能夠加載附錄中的程序,使之運行,達到測距,定時,光檢的三個能夠保護視力的基礎(chǔ)手段。在整體設(shè)計中,當(dāng)系統(tǒng)開始工作,首先初始化,然后再確定照度,如果周圍環(huán)境光強度太弱,報警發(fā)聲電路發(fā)出的提示音。如果對光照進行判定以達到國家標(biāo)準(zhǔn)給定值,則需要開始對定時部分開始計數(shù)。如定時時間到了最初給定的時間45分鐘,報警發(fā)聲電路發(fā)出提示音。若定時時間沒有達到最初設(shè)定值,就直接進行距離的測定。若果測得的使用者眼睛距離書桌小于25cm,則報警發(fā)聲電路發(fā)出提示音。反之,如果測得使用者眼睛距離書桌大于25cm,則返回對光照值的判定。有上述可知,感光、定時、測距這三個部分的檢測是沒有固定的順序的,需要重復(fù)進行的。3.3程序模塊整個控制程序可以分為測光照、測距以及定時三個子模塊。光照檢測模塊程序在可以在主程序中完成,因此在此主要闡述測距模塊和定時模塊。因為在定時這個模塊中,需要用到中斷這個概念,故而需要對中斷流程有一定的了解。3.3.1超聲波測距模塊在測距模塊的功能開始啟動后,在這里需要一個位置標(biāo)志位,故而選擇了定時計數(shù)達到1s的位置,在達到這個位置的時間時,開始發(fā)射超聲波,同時也要開啟定時器〔T1和外部中斷〔0。如果時間沒有到1s。就返回繼續(xù)計數(shù)定時。如果外部中斷被觸發(fā),表示發(fā)出的超聲波返回了,定時器〔T1停止,計算所測距離。反之,若沒有外部中斷觸發(fā),則需返回,繼續(xù)發(fā)射超聲波。在計算所測距離時,若距離小于25cm,報警發(fā)聲電路發(fā)出提示音。反之,距離若大于25cm,返回主程序,進行下一個功能。超聲波測距模塊流程圖如下圖所示。圖3-2測距模塊流程圖定時模塊定時子模塊可提供定時功能,在單片機控制系統(tǒng)中實現(xiàn)定時,通常有以下幾種方法可供選擇:〔1軟件定時。軟件定時也就是累加單片機中的軟件運行指令所需要耗費的時間,從而達到所需的定時效果。這種方法一般是運用循環(huán)程序嵌套來實現(xiàn)的,也可以是循環(huán)一個程序。該辦法優(yōu)缺點并存。優(yōu)點主要有定時時間較精確,也不需要附加新的一個電路。缺點是需要占用CPU內(nèi)存,故而在定時時間長度較長的情況下不能采用?!?硬件定時。硬件定時主要是附加一個硬件電路來完成所需的定時,該方法不占用CPU運行時間,故而可以用來完成較長時間的定時。但是需要調(diào)節(jié)電路元件參數(shù),在實際的運用中不夠靈活?!?可編程定時器定時。通過單片機內(nèi)部時鐘脈沖的計數(shù)是該方法的主要手段。本定時方法可以修改計數(shù)值從而改變定時時間,使用方便靈活。本設(shè)計主要是通過定時器〔T0,工作方式為方式1,來實現(xiàn)視力保護器的定時模塊的。先設(shè)置兩個變量,秒變量S,分鐘變量M。單片機的初始定時時間為45分鐘,使用定時器T0定時3ms,然后通過變量遞增。20次后中斷為1s,然后秒變量S遞增。遞增60次后,分鐘變量遞增。直至遞增45次,然后設(shè)置標(biāo)志位。報警發(fā)聲電路發(fā)出提示音,提示學(xué)習(xí)時間已達45分鐘,可以休息了。使用者關(guān)閉電源,休息片刻。若再次使用視力保護器時,就開啟電源。T0流程圖如圖3-3所示。圖3-3定時模塊流程圖3.3.3外部中斷模塊定時模塊當(dāng)中斷開啟后,檢測的超聲波的個數(shù)加1。如果超聲波的個數(shù)到2,則允許定時器1中斷,同時開啟定時器1并且允許中斷0。此時回波的標(biāo)志位置1,超聲波的個數(shù)賦值為0,然后返回主程序;若超聲波的個數(shù)不到2,則直接返回主程序以進行其他功能的檢測。中斷流程圖如圖3-4所示。圖3-4外部中斷模塊流程圖第四章結(jié)論與展望本人此次的畢業(yè)設(shè)計完成了一個以C51為核心同時包括了光敏電阻,傳感器等的多功能視力保護器的硬件設(shè)計,同時以KeilC51為軟件設(shè)計的平臺,完成了其軟件設(shè)計。再經(jīng)過多次的使用實際檢測后,發(fā)現(xiàn)能基本滿足設(shè)計目標(biāo),使用者也能完成事先設(shè)定的基本功能。在本次的系統(tǒng)實際開發(fā)過程中遇到了許多的困難,不過在劉言林老師的知道下一一的解決了,在此次的畢設(shè)中,獲益良多,學(xué)習(xí)到了許多的知識,了解了傳感器的基本運用。當(dāng)然由于本人的知識水平有限,不能很好的了解傳感器和單片機進一步的知識。同時加上需要實習(xí),時間有限。所以在本次的設(shè)計中存在也不完善的地方:在使用傳感器測距時,因周圍環(huán)境的干擾和使用的方法不是十分的準(zhǔn)確,故而不能精確測得使用者頭部距離書桌的距離。定時功能不完善,只要一通電就自動的開始計時。在檢測周遭環(huán)境強度時,也存在著干擾,不能很好的對周圍的環(huán)境的光線強度進行精確的檢測。通過本次的設(shè)計可以看出,只要進行一些完善,視力保護器的應(yīng)用前景是非常廣泛的,它可以很好的預(yù)防和緩解使用者的視力問題,同時也利于預(yù)防使用者坐姿不正確的學(xué)習(xí)習(xí)慣,減少駝背的人數(shù)。但由于現(xiàn)在視力保護器的研發(fā)投入少,市場宣傳少,并未大量進入市場,所以有著很好的市場前景。加大對視力保護器的研究和開發(fā),是十分有必要的,不管是從解決視力問題,造福人類方面,還是在市場需求的調(diào)研方面都是如此。參考文獻[1]于永,戴佳,常江.51單片機C語言常用模塊與綜合系統(tǒng)設(shè)計.電子工業(yè)出版社,2007.[2]蘇凱,劉國慶,陳國平.MCS-51系列單片機系統(tǒng)原理與設(shè)計.冶金工業(yè)出版社,2003.[3]劉衛(wèi)國.C語言程序設(shè)計[M].中國鐵道出版社,2008.[4]王煜東.傳感器應(yīng)用電路400例[M].中國電力出版社,2008.[5]楊素行.模擬電子技術(shù)基礎(chǔ)簡明教程〔第三版[M].高等教育出版社,2008.[6]余孟嘗.?dāng)?shù)字電子技術(shù)基礎(chǔ)簡明教程〔第三版[M].高等教育出版社,2008.[7]張淑清,姜萬錄.單片微型計算機接口技術(shù)及應(yīng)用.北京:國防工業(yè)出版社,2001.[8]張振榮,晉明武,王毅平.單片機原理及實用技術(shù).北京:人民郵電出版社,2001.[9]王幸之,王雷等.單片機應(yīng)用系統(tǒng)抗干擾技術(shù).北京:北京航空航天大學(xué)出版社,2000.[10]孫涵芳,徐愛卿.MCS-51/96系統(tǒng)單片機原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,1988.[11]PhilipsSemiconductorsTHEI2C-BUSSPCIFICATIONVERSION2.1JANUARY2000.[12]MartinAbreu,J.M.,Ceres,R.AndFreire,T.,"UltrasonicRanging:EnvelopeAnalysisGivesImprovedAccuracy",SensorReview,Vol.12No.1,1992.[13]MartinAbreu,J.M.,Ceres,R.andFreire,T.,"UltrasonicRanging:EnvelopeAnalysisGivesImprovedAccuracy",SensorReview,Vol.12No.1,1992.附錄附錄A原理圖附錄B程序P1.0-------->LED1輸出光照太弱報警P1.1-------->LED1輸出時間到閃爍燈及聲音P1.2---P1.7其它LED不可使用P0.7-------->輸出距離太近聲音報警P3.0-------->使能超聲波發(fā)射P3.2-------->輸入中斷方式取得返回來的距離P3.1---------P3.74X4矩陣鍵盤P2.0-------->光照輸入查詢使用了1個中斷兩個定時器定時器T0計算時間中斷0返回來的超聲波/***********************************************************************/#include<reg52.h>#include<intrins.h> //調(diào)用庫函數(shù)#defineucharunsignedchar#defineuintunsignedint#defineSOUNDSPEED340#defineDISBOUND8//設(shè)置更改的距離//函數(shù)聲明voiddelayms<uintms>;//延時子程序voidInit<void>;//初始化voidSendSound<ucharnums>;//發(fā)射超聲波//接口位定義sbitASoundTime=P0^7; //時間到聲音報警部分sbitATime=P1^1;//時間到LED報警部分sbitALight=P1^0;//光照弱LED報警部分sbitADistance=P1^2;//距離LED報警部分sbitGetLight=P2^0; //光照輸入sbitGetDis=P3^2;//測距中斷sbitSet40=P3^0;//555超聲波發(fā)射使能端//全局變量定義ucharminutes,seconds,counter;//分、秒、時計數(shù)uchartimeflag=0;//45分鐘到標(biāo)志uchartime5sflag=0;//光照太弱uinttime=0;//超聲波傳播的距離ucharbackwaveflag=0;//檢測到回波標(biāo)志uintdistance=0;//計算的距離ucharcountwave=0;//接收到的超聲波個數(shù)忽略幾個減少干擾voidmain<void>{ //變量定義 uintcountlight=0,counttime=0,countdis=0; uinti=0; //端口初始化 Set40=0;//發(fā)送超聲波禁止 ASoundTime=1; P1=0XFF;//關(guān)LED P2=0XFF;//準(zhǔn)備輸入 Init<>; while<1> { //光照太弱進行報警 if<GetLight==0> { countlight++; if<countlight==15000>{ALight=~ALi

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論