大學畢業(yè)論文--基于單片機的室內云臺運動控制電路_第1頁
大學畢業(yè)論文--基于單片機的室內云臺運動控制電路_第2頁
大學畢業(yè)論文--基于單片機的室內云臺運動控制電路_第3頁
大學畢業(yè)論文--基于單片機的室內云臺運動控制電路_第4頁
大學畢業(yè)論文--基于單片機的室內云臺運動控制電路_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

11成都工業(yè)學院畢業(yè)設計(論文)設計(論文)題目: 基于單片機的室內云臺運動控制電路系咅B(yǎng)名稱: 機電工程系 專 業(yè): 數(shù)控技術專業(yè) 班 級: 學生姓名: 學 號: 指導教師: O一二年6月摘要論文在分析了云臺結構和控制的而要求上,設計了以AT89C52單片機為控制器的云臺控制系統(tǒng),同時通過RS-232總線的串口通信實現(xiàn)與PC機之間的通信。改控制系統(tǒng)有單片機的控制模塊、鍵盤模塊、遠程控制模塊組成,并進行相應的軟件設計、調試和仿真。關鍵字:AT89C52;云臺控制;步進電機;串口通信;仿真頁第1章引言1.1云臺安全監(jiān)控是隨著人們生活生產需求應運而生的一項安全技術, 安防系統(tǒng)由前端、傳輸、信息處理/控制/顯示/通信三大單元組成。云臺系統(tǒng)作為前端轉動控制部件,在整個系統(tǒng)中起到非常重要的作用。攝像機云臺是一種安裝在攝像機支撐物上的工作平臺,用于攝像機與支撐物之間的連接,同時它具有水平和垂直運動的功能,在云臺水平、垂直運動的同時,它也帶動攝像機做相同的運動,這樣就可以通過控制云臺的運動來控制攝像機的運動,它與攝像機配套使用能達到擴大監(jiān)視范圍的目的,提高了攝像機的使用價值。云臺分為固定云臺和電動云臺,固定云臺適用于監(jiān)視范圍不大的情況,在固定云臺上安裝好攝像機后可調整攝像機的水平和俯仰的角度, 達到最好的工作姿態(tài)后只要鎖定調整機構就可以了。電動云臺適用于對大范圍進行掃描監(jiān)視,它可以擴大攝像機的監(jiān)視范圍。目前這兩類云臺廣泛應用于各種場所,固定云臺適用于小范圍的監(jiān)視;電動云臺適用于對大范圍進行掃描監(jiān)視,它可以擴大攝像機的監(jiān)視范圍。電動云臺是由兩臺執(zhí)行電動機來實現(xiàn),電動機接受來自控制器的信號精確地運行定位。在控制信號的作用下,云臺上的攝像機既可自動掃描監(jiān)視區(qū)域,也可在監(jiān)控中心值班人員的操縱下跟蹤監(jiān)視對象。步進電機作為云臺的轉動器件,它的工作可靠性直接影響了云臺的質量。目前國內外的云天控制技術系統(tǒng)已經相當?shù)某墒欤o人們的生產生活帶來了極大的便利,為人們的生命財產安全提供了相當大的保障。云臺系統(tǒng)已經運用到了生活的幾乎每一個場所,當需要對某個地方進行實時監(jiān)控時,就可以很方便的運用其代替人力,很大程度上降低了人力資源,并且還可以根據需要進行遠程監(jiān)控,這一點在生活中是及其有利的,它很大程度上節(jié)約了時間。目前市面上所生產的云臺控制器,大都采用一體化設計,這種設計方法具有密封性能好、集成度高便于安裝等優(yōu)點。1.2單片機單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管它的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件: CPU內部和外部總線系統(tǒng)。單片機是將中央處理器,隨機存儲器,只讀存儲器,定時器芯片和I/O接口電路集成于一個芯片上的微控制器。單片機以其價格低廉,功耗小,工作可靠,可編程等優(yōu)點,得到應用者的青睞。單片機是靠程序的,并且可以修改。通過不同的程序實現(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很多力氣才能做到的, 有些則是花大力氣也很難做到的。單片機通過編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性。單片機所具有的特占:八、、?高集成度,體積小,高可靠性控制功能強低電壓,低功耗,便于生產便攜式產品易于擴展優(yōu)異的性價比目前單片機滲透到人們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數(shù)據傳輸,工業(yè)自動化過程的實時控制和數(shù)據處理,廣泛使用的各種智能 IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。1.3本設計完成的任務設計目的及原始數(shù)據像監(jiān)控系統(tǒng)目前已廣泛應用于銀行、交通、學校、智能小區(qū)等場合,它進一步提高了人們生產、生活的安全系數(shù)。在數(shù)字視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)中,對云臺的方位控制是系統(tǒng)執(zhí)行的重要任務之一。云臺控制系統(tǒng)主要包括兩大功能:一是控制攝像機在上、下、左、右四個方向進行運動以達到控制攝像方向的目的;二是控制攝像機進行變焦、聚焦、光圈調整等動作以保證圖像的清晰?;谏鲜鰞纱蠊δ埽Y合應用實際,利用單片機能夠實現(xiàn)對云臺的準確控制。通過綜合運用所學知識以AT89C52為核心,設計一頂裝式云臺硬件控制電路,掌握單片機原理與接口技術,培養(yǎng)學生對屬龍設備控制系統(tǒng)的分析設計能力。設計指標與動能設計1、 云臺的載重:5kg?50kg2、云臺轉動角度:可以實現(xiàn)水平轉動角度 360°無限位連續(xù)旋轉,垂直角度+30°?-90°云臺轉動速度:10°/秒?150°秒3、 用戶能通過鍵盤設定云臺在任意兩點之間進行低、中、高速水平和俯仰線掃描。4、 可米用主、從單片機控制方案5、 能由上位機通過RS232實現(xiàn)遠程運動控制。6、 云臺運動有手動工作方式和連續(xù)工作方式。手動方式:利用按鈕對云臺的每一步運動進行單獨控制。連續(xù)工作方式:云臺在原位時,按下“自動”按鈕,云臺自動連續(xù)地執(zhí)行用戶設定的周期動作進行掃描;按下“停止”按鈕時,云臺保持當前狀態(tài),重新恢復后云臺按照停止前的運動繼續(xù)工作。第2章云臺2.1云臺概述攝像機云臺是一種安裝在攝像機支撐物上的工作平臺,用于攝像機與支撐物之間的連接,同時它具有水平和垂直運動的功能,在云臺水平、垂直運動的同時,它也帶動攝像機做相同的運動,這樣就能通過控制云臺的運動來控制攝像機的運動,它與攝像機配套使用能達到擴大監(jiān)視范圍的目的,提高了攝像機的使用價值。云臺的核心器件是步進電機,所以本設計的重點就是如何靈活的控制步進電機的運轉,從而達到靈活的控制攝像機的目的。云臺可以按照運動功能、工作電壓、承載重量、安裝方式、使用環(huán)境等分類。2.1.1云臺內部結構全方位云臺內部有兩個電機,分別負責云臺的上下和左右各方向的轉動。其工作電壓的不同業(yè)決定了該云臺的整體工作電壓,一般有交流 24V、交流220V、及直流24V。當接到上下動作電壓時,垂直電機轉動,接到左右動作電壓時,水平電機轉動。需要說明的是云臺都有水平、垂直的限位拴,云臺分別由兩個微動開關實現(xiàn)限位功能。當轉動角度達到預先設定的限位時,微動開關動作切斷電源,云臺停止轉動。限位裝置可以位于云臺外部,調整過程簡單,也可以位于云臺內部,通過外設的調整機構進行調整,調整過程相對復雜。但外置限位裝置的云臺密封性不如內置限位裝置的云臺。室外云臺與室內云臺大體一致,只是由于室外防護罩重量較大,使云臺的載重能力必須加大。同時,室外環(huán)境的冷熱變化大,易遭到雨水或潮濕的侵蝕。因此室外云臺一般都沒有設計成密封防雨型。另外室外云臺還具有高轉矩和扼流保護電路以防止云臺凍結時強行啟動而燒毀電機。在低溫的惡劣條件下還可以在云臺內部加裝溫控型加熱器。2.1.2云臺的性能指標(一) 云臺的轉動速度云臺的轉動速度衡量云臺檔次高低的重要指標。 云臺水平和垂直方向是由兩個步進電機驅動的,因此云臺的轉動速度也分為水平轉速和垂直轉速。由于載重的原因,垂直電機在啟動和運行保持時的扭矩大于水平方向的扭矩, 在加上實際監(jiān)控時對水平轉速的要求要高于垂直轉速, 因此一般來說云臺的垂直轉速要低于水平轉速。直流型云臺大都采用的是直流步進電機,具有轉速高、可變速的優(yōu)點,十分適合需要快速捕捉目標的場合。直流型云臺都具有變速功能,提供的電壓是直流0至36V之間的變化電壓。變速的效果由控制系統(tǒng)和解碼器的性能決定,以使云臺電機根據輸入的電壓大小做相應速度的轉動。(二) 云臺的轉動角度云臺的轉動角度尤其是垂直轉動角度與負載(防護罩/攝像機/鏡頭總成)安裝方式有很大關系。云臺的水平轉動角度一般都能達到 355°,因為限位拴會占用一定的角度,但是出現(xiàn)少許的監(jiān)控死角。當前的云臺都改進了限位裝置使其可以達到360°甚至365°(有5°的覆蓋角度),以消除監(jiān)控死角。使用時可以根據現(xiàn)場的實際情況進行限位設置。例如安裝在墻壁上的壁裝式,即使云臺具有365°的轉動角度,實際上只需要監(jiān)視云臺正面的 180°角度,即使轉動到后面的180°也只能看到墻壁,沒有實際監(jiān)控意義,因此壁裝式只需要監(jiān)視水平的180°的范圍即可,角裝式只需監(jiān)視270。即可。這樣避免云臺過多地轉動到無需監(jiān)控的位置,也提供了云臺的使用效率。頂裝式云臺的垂直轉動角度一般為+30°至-90。,側裝的垂直轉動角度可以達到土180°,不過正常使用垂直轉動角度再+20°至-90。即可。(三) 云臺的載重量云臺的最大負載是指垂直方向承受的最大負載能力。攝像機的重心(包括防護罩)到云臺工作面距離為50mm該重心必須通過云臺回轉中心,并且與云臺工作面垂直,這個中心即為云臺的最大負載點,云臺的承載能力是以此點作為設計計算的基準。如果負載位置安裝不當,重心偏離回轉中心,增大了負載力矩,實際的載重量將小于最大負載量的設計值。 因此云臺垂直轉動角度越大,重心偏離也越大,相應的承載重量就越小。云臺的載重量是選用云臺的關鍵,如果云臺載重量小于實際負載重量不僅會使操作功能下降,而且云臺電機、齒輪也會因為長時間超負荷而損壞。云臺的實際載重量可以從3Kg到50Kg不等,同一系列的云臺產品,側裝時的承載能力要大于頂撞,高速型的承載能力要小于普通型。(四)云臺使用環(huán)境指標室內使用的云臺的要求不高,云臺的使用環(huán)境的各項指標主要針對室外使用的云臺。其中包括使用環(huán)境溫度限制、濕度限制、防塵防水的 IP防護等級。一般室外環(huán)境使用的云臺溫度范圍為-20C至+60C,如果使用在更低溫度環(huán)境下,可以在云臺內部加裝溫控型加熱器。濕度指標一般為95%f凝結。防塵防水的IP等級應達到IP66以上。IP防護等級的高低反映了設備的密封程度,主要指防塵和液體的侵入。另外在實際使用中應根據環(huán)境選擇使用相適合的材料和防護層,如鐵質外殼不適合使用在潮濕和具有腐蝕性的環(huán)境中。2.1.3云臺電機電機是電動云臺中非常重要的元器件之一,選用是否正確將直接影響電動云臺的性能與價格。全方位電動云臺需要兩個不同方位的旋轉自由度,所以都具有兩個相互獨立的傳動機構。電動云臺的傳動機構主要是由蝸輪、蝸桿和齒輪組合而成,根據電機轉速,確定總傳動比,然后依據傳動裝置的總體布置,將傳動比合理地分配到各級傳動中去。合理分配傳動比是設計傳動機構的一個重要環(huán)節(jié), 它將直接影響到傳動裝置的外形尺寸、重量、潤滑條件和減速齒輪的中心距等。各級傳動比分配的一般原則是:使各級傳動的承載能力接近相等;使減速機構能獲得最小的外形尺寸、重量;使傳動零件的圓周速度降低。另外,選用微型變速箱的齒輪傳動,也可以減小體積、提高效率、減小噪聲。確定電動云臺的最大負載,然后選用合適的電機。盡可能選用低壓電機。由于全方位電動云臺是由垂直和水平兩部分獨立的傳動機構組的, 而垂直方向的傳動機構是主要承載機構,所以在設計時是以垂直方向的傳動機構作為主要承載機構來設計,而水平方向的傳動機構只受水平磨擦轉矩和電纜拖帶等所產生的轉矩影響。根據設計經驗,水平方向所選用的電機功率一般為垂直方向的一半。2.2步進電機在工業(yè)控制系統(tǒng)中,通常要控制機械部件的平移和轉動,這些機械部件的驅動大多都采用交流電機、直流電機、和步進電機。在中三種電機中,步進電機最適合數(shù)字控制。本設計中單片機作為數(shù)字控制器件,因此在本系統(tǒng)中毫無疑問的選擇了步進電機。如何運用步進電機無疑是單片機云臺控制系統(tǒng)中的重點。 因此需要詳細的了解步進電機。

2.2.1步進電機的工作原理步進電機是數(shù)字控制電機,它將電脈沖信號轉變成角位移,實質上是一種數(shù)字/角度轉換器。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度。它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的。步進電機的轉子為多級分布,轉子上嵌有多相星型連接的控制繞組,由專門電源輸入脈沖信號,輸出的角位移是斷續(xù)的,所以又稱為脈沖電動機。步進電機分三種:永磁式(PM,反應式(VR和混合式(HB。永磁式步進一般為兩相,轉矩和體積較小,步進角一般為7.5度或15度;反應式步進一般為三相,可實現(xiàn)大轉矩輸出,步進角一般為1.5度,但噪聲和振動都很大;混合式步進是混合了永磁式和反應式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為0.72度。這種步進電機的應用最為廣泛。步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數(shù)決定,而電機的轉速由輸入脈沖的頻率決定。該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖2-1是四個開關信號控制四相反應式步進電機工作原理示意圖。開始時,開關SB接通電源,SASCSD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和CD相繞組磁極產生錯齒,2、5號齒就和DA相繞組磁極產生錯齒。當開關SC接通電源,SBSASD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產生錯齒,2、5號齒就和AD相繞組磁極產生錯齒。依次類推,A、BCD四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖 2-2a、b、TOC\o"1-5"\h\z缶百冃n―n―n— j—i 〔~~ic所示:nnn Li―l 1―l_c相_n_n_TL i―I i—ldib1nnnTjn_n_r~i i—i ra. 單四拍b.a. 單四拍b.雙四拍c八拍圖2-2步進電機工作時序波形圖步進電機的驅動電路依據控制信號工作, 控制信號由單片機產生,完成以下三種功能:?控制換相順序通電換向這一過程稱為脈沖分配。對于四相步進電機而言,其各相通電順序如圖2.4所示,通電控制脈沖必須嚴格按照這一順序分別控制 A、BC、DA、BC、D相的通斷。?控制步進電機的轉向如果按給定方向的正序換相通電,步進電機正轉;如果按反序通電換相,步進電機反轉。?控制步進電機的速度如果給步進電機發(fā)送一個控制脈沖,它就轉一步,再發(fā)送一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉的越快。調整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調速。2.2.2步進電機主要技術指標選擇步進電機需要根據實際需要和技術指標綜合考慮。 步進電機只有在滿足額定的工作條件下,才可以正常工作。主要技術指標有:工作電壓:即步進電機工作所需要的工作電壓。繞組電流:只有繞組有電流時,才能建立磁場,且不同相上電流的有無決定步進電機的步進。不同的步進電機,其額定繞組電流也不一樣。功率小的有幾百毫安,功率大的以安培計。步進電機工作時,應使其工作在此電流下。轉動力矩:轉動力矩是指在額定條件下(電壓、電流),步進電機的軸上所能產生的轉矩,單位通常為牛頓每厘米(N/cm)。轉動力矩會隨轉動的升高而下降,當步進電機轉動時,電機各相繞組的電感將形成一個反向電動勢,頻率越高反向電動勢越大,在它的作用下,電機隨頻率或速度的增大而相電流減小,從而導致力矩下降。保持轉矩:保持轉矩是指步進電機通電但是沒有轉動時,定子鎖住轉子的力矩。通常步進電機在低速時的力矩接近保持轉矩。 由于步進電機的輸出力矩歲轉速增大而不斷衰減,輸出功率也隨速度增大而變化,所以保持轉矩就成為了衡量步進電機的重要參數(shù)。步進角:步進電機每走一步實際上就是轉子轉一個角度。不同的電機,每步轉動的角度不一樣。小的有0.5度每步、1.5度每步,大的到15度每步。在應用中可根據用戶的需求選用。(5) 精度:一般步進電機的進度為步進角的3?5%且不積累。米用細分技術可以提高電機的運轉精度。細分技術實質上是一種電子阻尼技術,起主要目的是減弱或消除步進電機的低頻振動,提高電機的運轉精度只是細分技術的一個附帶功能。(6) 工作頻率:即步進電機每秒鐘走的額定步數(shù)。由于步進電機的走步實際上是轉子的機械運動,不可能很快。例如,有的工作頻率為 500Hz就意味著每走一步需要2ms目前頻率高的可達10KHz但是總的來說步進電機的速度是十分慢的。(7) 空載啟動頻率:即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發(fā)生丟失或堵轉。在有負載的情況下,啟動頻率應更低。如果要是電機達到高速轉動,脈沖頻率應該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉速從低速到高速)。(8)激勵方式:以四相電機為例,驅動它的激勵方式有 1相、2相、1-2相三種。1相激勵方式是指每一時刻4相中只有一相導通,步進電機以此工作方式工作時,溫升較高,電源功率功耗小,但是當速度較高時容易產生失步; 2相激勵方式是指每一時刻4相中都有兩相導通,然后按4相的順序循環(huán);1-2相激勵方式是指驅動時一相導通和兩相導通交替出現(xiàn)的。(9) 外表溫度:步進電機溫度過高會使電機的磁性材料退磁,從而導致力矩下降乃至失步,因此電機外表允許的最高溫度應取決于不同電機磁性材料的退磁點。第3章總體方案3.1云臺控制系統(tǒng)簡析云臺在任意位置,按下啟動按鈕,云臺將依次完成向上一左行一向下一右行四個動作,逆時針方向旋轉實現(xiàn)云臺一個周期的動作。在轉動的同時還可以手動控制云臺。為了限制云臺轉動的范圍,云臺的向上、左轉、向下和右轉動作轉換靠限位開關來控制。本設計主要是設計云臺的轉動,并能按一定的要求動作。起動時,云臺從原點開始按順序動作,停止時,云臺停在現(xiàn)行位置上,重新起動時,云臺按停止前的動作繼續(xù)進行。為滿足控制要求,云臺轉動設置手動方式和自動工作方式兩種。(1) 手動工作方式。利用按鈕對云臺的每一步進行單獨控制,例如,按“向下”按鈕,云臺使攝像頭向下;按“向右”按鈕,云臺使攝像頭向右。(2) 連續(xù)工作方式。云臺在原位時,按下“自動”按鈕,云臺自動連續(xù)的

執(zhí)行周期動作。當按下停止按鈕式,云臺保持當前狀態(tài),重新恢復后云臺按停止前的動作繼續(xù)進行工作。3.2控制系統(tǒng)實現(xiàn)系統(tǒng)總體組成框圖如圖1所示,為保證控制的實時性及準確性,采用了主、從單片機控制方案,其中主單片機主要負責實時接收來自于外部專用球形攝像機控制鍵盤發(fā)出的控制指令并進行指令解釋,若是控制云臺運動的指令,則由主單片機將此指令轉發(fā)給從單片機,由從單片機完成對云臺水平及俯仰兩軸的控制;若是控制攝像機的指令。從單片機功能相對簡單,主要完成對兩軸步進電機速度及位置的控制并記錄當前兩軸位置信息。存儲器顯示器水平電機水平光電開關—?Rs232存儲器顯示器水平電機水平光電開關—?Rs232Rs2-12主單片機<—?通信俯仰光電開關―?ii fRs232鍵盤 攝像機步進電機驅動器1從單片機? - 步進電機驅動器2俯仰電機圖1 系統(tǒng)組成框圖第4章系統(tǒng)硬件設計AT89C52單片機簡介單片機是將中央處理器,隨機存儲器,只讀存儲器,定時器芯片和I/O接口電路集成于一個芯片上的微控制器。ATME公司的89C52單片機,是增強型RISC內載Flash的單片機,在芯片上的Flash存儲器附在用戶的產品中,可隨時編程,在線編程,使用戶的產品設計容易,更新?lián)Q代方便。89C52單片機采用增強的RISC結構,使其具有高速處理能力,在一個時鐘周期內可執(zhí)行復雜的指令,每 MHz可實現(xiàn)1MIPS的處理能力。

89C52單片機工作電壓為2.7?6.0V,可以實現(xiàn)耗電最優(yōu)化。89C52的單片機廣泛應用于計算機外部設備,工業(yè)實時控制,儀器儀表,通訊設備,家用電器,宇航設備等各個領域。4.1.1AT89C52AT89C52是一個低電壓、高性能COMS位單片機,片內含8Kbytes的可反復擦寫的Flash只讀程序存儲器(ROM和256bytes的隨機存取數(shù)據存儲器(RAM),器件采用ATME公司的高密度、非易失性存儲技術生產,兼容標準 MCS-51旨令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為你提供許多復雜較系統(tǒng)控制應用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQF及PLCC等三種封裝形式,以適應不同產品的需求。圖 4-1所示為DIP封裝引腳圖。P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRXD/P3.0TXD/P3.11NT0/R3.2

iNTI/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.6XTAL2XTAL1匸匚匚匚匚匚匚匚匚匚匚匚匸匚LAT89C52vccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/vpp

ale/prOG

pesnP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0圖4-1AT89C52DIP封裝引腳圖AT89C52各引腳功能AT89C52為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標準的C51內核,在內部功能及管腳排布上與通用的 8xc52相同,其主要用于會聚調整時的功能控制。功能包括對會聚主IC內部寄存器、數(shù)據RAM及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接11.0592MHz晶振。RST(9腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負端。P0?P3為可編程通用I/O腳,其功能用途由軟件定義。VCC(40腳):接+5V電壓。GND(20腳):接信號地。RST(9腳):復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。ALE/PROG(30腳):當訪問外部程序存儲器或數(shù)據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。PSEN(29腳):程序儲存允許輸出是外部程序存儲器的讀選通信號,當AT89s52由外部程序存儲器取指令(或數(shù)據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據存儲器,將跳過兩次 PSEN言號。EA/VPP(31腳):外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH,EA端必須保持低電平(接地)。XTAL1(19腳):接外部晶振的一個引腳,且為輸入端。XTAL2(18腳):接外部晶振的另一個引腳,該引腳接地。P0口(39?32腳):雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線低8位及數(shù)據總線復用。P0可以驅動8個LSTTL負載。P1口(1?8腳):具有內部上拉電阻的8位準雙向I/O口,該接口輸出不包含高阻態(tài),輸出不能鎖存。可以驅動4個LSTTL負載。P2口(21?28腳):具有內部上拉電阻的8位準雙向I/O口,在訪問外部存儲器時,作為高8位地址總線??梢则寗?個LSTTL負載。P3口(10?17腳):具有內部上拉電阻的8位準雙向I/O口,P3口的8個引腳還用于專門的功能一一復用雙功能口。它可以驅動4個LSTTL負載。它作為第二功能使用時,其各個引腳的功能如下:P3.0(10腳)RXD:串行口接收端P3.1(11 腳)TXD:串行口發(fā)送端P3.2(12腳)INT0:外部中斷0P3.3(13腳:外部中斷1P3.4(14腳)T0:定時/計數(shù)器0P3.6(16腳)WR:外部數(shù)據存儲器寫選通信號P3.7(17腳)RD:外部數(shù)據存儲器讀選通信號特殊功能寄存器:單片機內含有兩個16位定時/計數(shù)器TO、T1。它們各自由兩個獨立的8位寄存器組成,分別為THOTLO、TH1、TL1,。TMOD用于控制定時/計數(shù)器的工作方式及4種工作模式,其中低4位為定時器TO的方式控制字,高4位為定時器T1的方式控制字。它的字節(jié)地址為89耳其各位的定義如下:GATEC/TM1M0GATEC/TM1MOGATE是選通門,當GATE=1寸,只有INTO或INT1弓I腳為高電平且TR0或TR1置1時,相應的定時/計數(shù)器才被選通工作。C/T是計數(shù)器/定時器方式選擇位。MOWM1是操作模式選擇位。;TCON寄存器的高四位為定時/計數(shù)器TO、T1的控制寄存器和定時/計數(shù)溢出中斷標志。;IE寄存器用于開放或屏蔽單片機各個中斷。;SCON?存器用于設置串口的工作方式和查詢接收、發(fā)送中斷產生標志。4;SBUF串行數(shù)據緩沖器用于存放串口中預發(fā)送或接收的數(shù)據,它由兩個獨立的寄存器構成,一個發(fā)送緩沖器,一個接收緩沖器,他們公用一個地址。當從SBUF取數(shù)據時,訪問接收緩沖器,當寫數(shù)據時,訪問發(fā)送緩沖器。AT89C52串口通信單片機系統(tǒng)設計中,經常需要使用串口與外部進行通信,因此,串口通信部分是單片機功能模塊中極為重要的一部分。串口通信時通過串口來進行的,串口不同于并口,它的數(shù)據和控制信息是一位接一位串行地傳送下去。與并口相比,雖然速度慢,但是傳送距離較并口會更長,因此常用于需要常距離通信而對速度又要求不高的場合。異步通信以幀的形式發(fā)送字符數(shù)據,每一幀信息由起始位、數(shù)據位、奇偶校驗位和停止位構成。異步通信中,每傳輸一個字節(jié)就要使用起始位和停止位,因此傳輸速度有限,常用于低速場合。同步通信使用數(shù)據塊傳送信息,而不是字節(jié),省去了每個字節(jié)的起始位和停止位等數(shù)據,提高了通信的速率。同步通信的每個數(shù)據塊的開始使用同步字符,使接受和發(fā)送同步。與異步通信相比,同步通信發(fā)送的數(shù)據量大、速度快,常用于傳輸速率要求較高的場合。AT89C52內部的串口是一個標準的全雙工串口,支持四種工作方式。波特率是可變的,可由軟件設置。對89C52串口的訪問和設置是通過訪問其相關的特殊寄存器進行的,與89C52串口相關的特殊寄存器共有3個:SCONPCOI和SBUF串口控制寄存器SCON串口控制寄存器SCONR要用于設置串口的工作模式和串口中斷的查詢。其格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISMO、SM1用于設置串口的工作方式SM2串口多機通信控制位。REN:允許串行接收控制。將其置為1時允許接收。TB8:用于設置串口工作方式2和方式3情況下要發(fā)送的第9位數(shù)據,有軟件置位或復位。RB8:用于保存串口工作方式2和方式3情況下要接收到的第9位數(shù)據。TI:串口中斷發(fā)送標志。當串口數(shù)據發(fā)送完畢時置位 TI,同時向CPU發(fā)送串口中斷請求。RI:串口中斷接收標志。當串口數(shù)據接收到一個數(shù)據時置位TI,同時向CPU發(fā)送串口中斷請求。特殊功能寄存器PCON特殊功能寄存器PCONI有最高位與串口有關,SMOP波特率選擇位,SMOD的設置可以影響波特率設置的精度。發(fā)送/接收緩沖器SBUF串口中的發(fā)送/接收緩沖器SBUF實際上共有兩個,分別為發(fā)送緩沖器和接收緩沖器,他們在物理上是完全獨立的,因此可以同時進行發(fā)送和接收。兩個緩沖器公用一個內存地址99耳AT89C52中斷系統(tǒng)程序在執(zhí)行過程中,允許外部或內部事件通過硬件中斷程序的執(zhí)行, 使其轉向出來外部或內部事件的中斷服務中去,完成中斷服務程序后, CPU繼續(xù)與原來被中斷的程序,這樣的過程稱為中斷過程。能產生中斷的外部或內部事件叫中斷源。1.中斷源80C52有6個中斷源,它們是:INTO:外部中斷0.當IT0(TCON.0)=0時,低電平有效;IT0(TCON.0)=1時,下降沿有效。INT1:外部中斷1.當IT1(TCON.2)=0時,低電平有效;IT1(TCON.2)=1時,下降沿有效。TF0:定時/計數(shù)器T0益處中斷。TF1:定時/計數(shù)器T1益處中斷。TF3:定時/計數(shù)器T2益處中斷。RX,TX:串行中斷2.中斷相關寄存器IE和IP51單片機有兩種中斷優(yōu)先級,其中每一個中斷源的優(yōu)先級都可以有程序設定。中斷源的中斷要求能否得到響應,受允許中斷寄存器 IE中各位的控制。它們的優(yōu)先級由中斷優(yōu)先級寄存器IP的各位確定,同一優(yōu)先級內的各中斷源同時要求中斷時,以內部的查詢邏輯來確定響應次序。允許中斷寄存器IE的各位定義如下:MSB LSBEA——ET2ESET1EX1ET0EX0EA是總中斷允位。EA=0時,禁止所有中斷;EA=1時,則每個中斷源被允許還是被禁止,由各自的允許位確定;ET2:是定時器2中斷允許位。ET2=0,禁止定時器2中斷;ES:是串行口中斷允許位。ES=0禁止串行口中斷;ET1:是定時器1中斷允許位;EX1:是外部中斷1允許位;ET0是定時器0中斷允許位;EX0是外部中斷0允許位。中斷優(yōu)先級寄存器IP的各位定義如下:MSB LSB————PT2PSPT1PX1PT0PX0PT2:是定時器2中斷優(yōu)先級設定位;PS:是串行口中斷優(yōu)先級設定位;PT1:是定時器1中斷優(yōu)先級設定位;PX1:是外部中斷1優(yōu)先級設定位;PT0:是定時器0中斷優(yōu)先級設定位;PX0:是外部中斷0優(yōu)先級設定位。4.2單片機系統(tǒng)本設計的所用的單片機系統(tǒng)其實就是單片機最小系統(tǒng),所謂最小系統(tǒng)就是能是單片機正常工作的最少配置。本此設計的單片機系統(tǒng)由AT89C52單片機、復位電路、時鐘電路和電源電路組成,如圖4-2所示。

Xi二一CRYSTAL-PACKAQE-rCM--O3-CZI■ o _ti— Xi二一CRYSTAL-PACKAQE-rCM--O3-CZI■ o _ti— 苗 ,>XTAL1POO/ADOPO-1/AD1PO.27AD2XTAL2PO3/AD3PO-4/A&4P0-5/AD5POJ5/AD0PO_7/ACi7P20/A6P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.S/A13P2.6/A14P2.7/A15田_0/T2P3.0/RXDP1P31JTXDFM-2P3.2ANTQP1-3P3.3j1NT1P1.4P3.4/T0Pd_5pasmPI-SP3.6A>VRPI.7t9AT6SC52FRd<3ftAM=4extRux.CLOCK=11.a53^MI-IZr.?3a382Sl―,.訊,33圖4-2單片機最小系統(tǒng)4.2.1復位電路復位操作完成單片機片內電路的初始化,是單片機從一種確定的狀態(tài)開始運行。當單片機的復位引腳RET出現(xiàn)5ms以上的高電平時,單片機就完成了復位操作。復位操作通常有2中基本形式:上電復位、開關復位。常用的上電且開關復位電路如圖4-2中所示。上電后,由于電容充電,使RET持續(xù)一段高電平時間。當單片機已在運行中時,按下復位鍵也能使RET持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關復位的操作。4.2.2時鐘電路單片機的時鐘信號用來提供單片機內各種操作的時間基準。 單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式和外部振蕩方式。在引腳 XTAL1和XTAL2外接晶體振蕩器,振蕩方式所得的時鐘信號比較穩(wěn)定,所以在本設計中就是采用內部振蕩方式。晶振選用11.0592MHz內部振蕩方式如圖4-2中所示。4.2.3電源電路電源設計部分如圖4-3所示。因為單片機需要的是5V的電源,而輸入的是9-12V的電源,所以需要這個穩(wěn)壓電路把9-12V穩(wěn)壓到5V,電源電路設計為采用7805線性穩(wěn)壓,圖中電容是起到濾波的作用,一個發(fā)光二極管作電源指示燈。

DCINPOWERDCINPOWER圖4-3電源原理圖4.3RS232總線設計PC機使用RS-485總線控制單片機串口通信。它與傳統(tǒng)的 RS-232接口標準相比,其在通信速率、傳輸距離、抗干擾能力有了很大的提高,本設計考慮到遠距離控制,所以采用 RS-485總線。該部分的設計有兩部分: PC機RS-232/RS-485電平轉換電路和RS-485通信接口電路。4.3.1RS-232電平轉換電路PC機只配備了標準的RS-232串口,因此還必須加上RS-232和RS-485轉換電路,才能實現(xiàn)通信。RS232與RS485轉換電路設計選用SN75LBC18芯片。圖4-6所示為SN75LBC18芯片邏輯功能圖。圖4-6SN75LBC184邏輯功能圖SN75LBC184是美國TI公司生產的一種RS232接口芯片,可在總線上連接64個收發(fā)器。其工作原理如圖1所示。發(fā)送使能端DE為高電平,SN75LBC18作為發(fā)送器,數(shù)據從第4腳輸入,第6、7腳輸出,其中7腳輸出信號的非;接收使能RE為高電平,SN75LBC18作為接收器,信號從6腳或7腳輸入,1腳輸出。利用SN75LBC18設計的RS232轉換電路如圖4-7所示。選用PC機的COM2接口,但COM的9個端口只使用其中的RTSRXDTX[與GN四個端口,以構成簡易的四線通信線路。該電路使用了三片光電耦合器TLP521-1進行隔離,這使P(機與SN75LBC18之間完全沒有了電的聯(lián)系,從而提高了工作的可靠性。當RS232圖4-7RS-232電平轉換電路RS232勺RTS端為邏輯電平1(-12V)時,光電耦合器的發(fā)光二極管不發(fā)光,光敏三極管不導通,輸出端為TTL邏輯電平1(+5V),此時選中RS232勺DE端允許RS23接收,這樣,RS232的TXD端就可以發(fā)送數(shù)據(工作邏輯與RTS端相似)。當RS23的RTS端為邏輯電平0(+12V)時,光電耦合器的發(fā)光二極管發(fā)光,光敏三極管導通,輸出端為TTL邏輯電平0(0V),此時選中RS232的R歸允許RS23發(fā)送。當RS232勺R端的輸出為邏輯電平1時,光電耦合器發(fā)光二極管不發(fā)光,光敏三極管不導通,這樣,在RS232俞出停止時,其TXDfe平為-12V,電容被充電到-12V以使其輸出也變成-12V,即邏輯電平1;當其輸出為邏輯電平0時,光電耦合器發(fā)光二極管發(fā)光,光敏三極管導通,這時,其輸出為+5V,也在RS23邏輯電平0的范圍之內,即為邏輯電平04.3.2RS-232終端單片機接口電路由于單片機的邏輯電平一般規(guī)定為TTL電平,所以單片機與SN75LBC18的連接電路就較簡單一些,如圖4-8所示。AT89C52勺P3.0、P3.1引腳分別與SN75LBC18的R、D引腳相連,這樣,當單片機有關串行數(shù)據的操作包括數(shù)據輸入和輸出都能可以由這三個引腳完成。 當然在上位機向下發(fā)送數(shù)據時,對于分布式系統(tǒng)當中的每個單片機系統(tǒng)的接受, 應該遵從一定的數(shù)據傳輸協(xié)議,以便上位機發(fā)送的數(shù)據能有效地被分布,單片機系統(tǒng)能可靠的接受,同時單片機系統(tǒng)采集的現(xiàn)場數(shù)據同樣也可以應該可靠的被上位機接收到。+5V4.4鍵盤鍵盤是由若干個按鍵組成的,是向系統(tǒng)提供操作人員的干預命令及數(shù)據的接口設備。在單片機應用系統(tǒng)中,為了控制系統(tǒng)的狀態(tài),以及向系統(tǒng)中輸入數(shù)據時,鍵盤是不可缺少的輸入設備,它是實現(xiàn)人機對話的紐帶。鍵盤按其結構形式可分為編碼鍵盤和非編碼鍵盤兩種方式。編碼鍵盤通過硬件的方法產生鍵碼,它具有接口簡單,響應速度快,但需要專用的硬件電路。非編碼鍵盤是通過軟件的方法產生鍵碼,它不需專用的硬件電路,結構簡單,成本低廉,但響應速度不如編碼鍵盤。在本設計中,由于按鍵的數(shù)目少,單片機 I/O口資源充裕,所以采用編碼鍵盤。鍵盤是由按鍵構成的,鍵的閉合與否通常用高、低電平來進行檢測。鍵閉合時,該鍵為高電平;鍵斷開時,該鍵為低電平。鍵的閉合與斷開都是利用其機械彈性,由于機械彈性的作用,鍵在閉合與斷開的瞬間均有抖動過程,抖動的時間一般是5~10ms為了使CPU對鍵的一次閉合僅做一次鍵處理,必須去抖動。去抖動有硬件的方法和軟件的方法兩種。軟件去抖動就是檢測到有鍵按下時,執(zhí)行一個10~20ms的延時子程序后,再確認鍵是否仍然保持閉合狀態(tài)。如仍閉合,貝順認為此鍵按下,消除了抖動影響??紤]該系統(tǒng)的復雜程度,決定選用CH451驅動的16為鍵盤,如圖4-9所示:亠CJJ3U8FKACJ0 、\ g■> *■f圖4-9鍵盤第5章軟件基礎C語言簡介用于單片機設計開發(fā)的常用編程語言是匯編語言和 C語言,在本設計中使用C語言編程。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結構化語言,能產生高效率的緊湊代碼。C語言含有許多本應由匯編語言實現(xiàn)的機器級函數(shù),同時與匯編語言相比,它又具有如下優(yōu)點:2不需要了解單片機的指令系統(tǒng),僅僅要求對存儲器結構有初步的了解;2寄存器分配、存儲器尋址以及數(shù)據類型等細節(jié)可由編譯器管理;2程序有規(guī)范的結構,可分為不同的函數(shù),使得程序結構化;2程序更具可讀性;2高的編程及程序調試效率;2提供的庫包含許多標準子程序,具有較強的數(shù)據處理能力;2程序易于做到模塊化,便于移植。Keil編譯器單片機的開發(fā)除了需要硬件的支持以外,同樣離不開軟件。CPU真正可執(zhí)行的是機器碼,用匯編語言或C語言等高級語言編寫的源程序必須轉換為機器碼才能被執(zhí)行。轉換的方法有手工匯編和機器匯編兩種, 前者目前已經極少使用。機器匯編是指通過匯編軟件將源程序變?yōu)闄C器碼的編譯方法。這種匯編軟件稱為編譯器。下面將介紹目前十分流行的Keil8051C編譯器。5.2.1Keil8051C 編譯器簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全 Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹 KeilC51開發(fā)系統(tǒng)各部分功能和使用。KeilC51單片機軟件開發(fā)系統(tǒng)的整體結構C51工具包的整體結構,如下圖5-1所示,其中uVision與Ishell分別是C51forWindows和forDOS的集成圖5-1C51工具包整體機構圖開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試, 也可以直接寫入程序存貯器如EPROM中。5.2.2如何使用Keil軟件開發(fā)1.建立工程打開Keil軟件后,出現(xiàn)圖5-2所示界面。當然,如果Keil在上次關閉時有打開的工程,再一次打開時它會自動加載上一次的工程文件。

圖5-2Keil軟件主界面首先選擇“Project/NewProject... ”菜單,出現(xiàn)一個對話框,如下圖5-3所示。圖5-3 “創(chuàng)建新工程”對話框點擊后,在出現(xiàn)的對話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)如下圖5-4所示界面。在此界面上選擇系統(tǒng)所用的單片機型號,例如:AtmelAT89C52單擊“確定”。

CPVVendor:AcerLabsDevice:CPVVendor:AcerLabsDevice:Family:廠UseExtendedLirLkerCLK51)instead,ofBL51I~UseExtendedAssembler(AX51)insteadofA51Description:AcerLtbsAer^ELexUTMCAxLilogDevicesAnchcrCliipsAtmelAtmelW'irtless&uCChipconCMLWicroeireuitsCyberneticMicroSys1CybraTechCygnslIntegratedFr?CypressSeniconduct01w取消確定取消圖5-4“選擇目標器件”對話框設置完成后,軟件會提示“是否將8051上電初始化程序添加入工程?”如下圖5-5所示,這個一般選擇“否”。匚叩學Standard8051Startup匚dJetoProjectFolderandAddFiletoProject?圖5-5“是否將8051上電初始化程序添加入工程”對話框這樣,就建立了一個空的51工程。接下來的事,就是在這個工程里面加入自己的程序代碼。點擊 fl,或者“File”->“New,便建立了一個空的文本框。現(xiàn)在,就可以開始在里面輸入源程序代碼了。保存時注意:如果是用C語言寫的程序,則將文本保存成*.c,如果是用匯編寫的程序,則將文本存成 *.asm,本系統(tǒng)使用的是 C語言,所以保存為Ijian.C。到目前為步,我們已經建立了一個工程,也寫了一個程序代碼。但現(xiàn)在還不能開始編譯。因為還沒有將程序代碼添加到工程里面去。下一步就是將寫完的程序添加到工程里面,如下圖 5-6所示,在左邊ProjectWorkspace'工程窗口里的“SourceGroupT上右擊,選擇“AddFilestoGroup”’SourceGroupl'。在打開的對話框中,選擇剛存的文件路徑和對應的擴展名。這樣,程序就添加進了這個工程圖5-6工程中添加文件頁面下一步,就開始編譯剛輸入進去的代碼。點擊工具欄中的空按鈕。接著,Keil會打出下面的提示:創(chuàng)建目標’目標1'assemblingled.asm...linking...ProgramSize:data=8.0xdata=0code=100"first"-0Error(s),0Warning(s).其中“"first"-0Error(s),0Warning(s). ”說明現(xiàn)在的工程編譯通過,0個錯誤和0個警告。建立工程的時候,默認是不生成 HEX文件的,得在編譯做如下設置:單擊E田,出現(xiàn)如下圖4-7所示對話框,選擇“Output”所指的多選框勾上,點“確定”。現(xiàn)在再點擊M重新編譯,系統(tǒng)提示:“creatinghexfilefrom"first"...便會在工程所在文件夾里生成HEX文件

Device|TargetOutputListing'C51 A51 \BL51LocateBL51Wise|Debuf|Utilities:tiedFolderforQbjtc^s.. N?nsofExecutable:qi?CreateExecut訕兩DebugInfornatio碩BrowseInformatii—Merg?32KHexfils■■■■■■lu^n■■■ ■康trftateHEXFijHEIMEX-SO''CreateLibrary:.\qi,LEErCreateBatchFiliAfterMakeVJeepThenCompletegtartDebugging'RunUserFrogrwn#1Browse..RimUserProgram養(yǎng)Browse...確建 取消 Defaults圖5-7工程設置中的"Output”頁面2.調試Keil有很強大的調試功能,可以顯示C程序的反匯編代碼、可以計算代碼運行的時間、可以顯示程序中某一變量的值,,能用好這個調試工具對編寫單片機程序會有很大的幫助。同樣的,在這里,只對 Debug進行簡單應用介紹。圖5-8工程設置中的"Target”頁面

首先,單擊民,彈出如上圖5-8所示對話框,在目標頁面上設置對應的晶振頻率。其他不作修改。設置完成后,單擊業(yè)■,進入調試界面如下圖5-9所示圖5-9調試界面點擊跖副田刊祁{「}】中對應的工具按鈕則可以開始調試Proteus仿真軟件Proteus軟件是英國LabCenterElectronice 公司開發(fā)的EDA工具軟件。從1989年問世至今已有20年的歷史,在全球得到廣泛應用。Proteus軟件除具有和其他EDA工具軟件一樣的原理編輯、印制電路板制作外,還具有交互式的仿真功能。它不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設計與仿真平臺,更是目前世界上最先進、最完整的多種型號微處理器系統(tǒng)的設計與仿真平臺, 真正實現(xiàn)了在計算機中完成電路原理圖設計、 電路分析與仿真、微處理器程序設計與仿真、系統(tǒng)測試與功能驗證到形成印制電路板的完整電子設計、研發(fā)過程。Proteus軟件由ISIS(IntelligentSchematicInputSystem)和ARES(AdvaneedRoutingandEditingSoftware)兩個軟件構成,其中ISIS是一款智能電路原理圖輸入系統(tǒng)軟件,可作為電子系統(tǒng)仿真平臺; ARES是一款高級布線編輯軟件,用于制作印制電路板(PCB。

Proteus電路原理圖設計是在ISIS軟件環(huán)境中進行繪制,該軟件編輯環(huán)境具有友好的交互式人機界面,其設計功能強大,使用方便。第6章系統(tǒng)軟件設計6.1系統(tǒng)流程整個云臺控制系統(tǒng)分為初始化,鍵盤掃描,串口中斷,延時程序和步進電機運轉五部分。主函數(shù)通過調用各子程序來實現(xiàn)鍵盤掃描,串口中斷程序的調用來實現(xiàn)步進電機的控制。本設計的系統(tǒng)主程圖如圖6-1所示,中斷子程序流程圖如圖6-2所示。讀取鍵值是云臺向上左轉動—是是是是讀取鍵值是云臺向上左轉動—是是是是圖6-1系統(tǒng)主流程圖6.2初始化模塊所謂初始化就是在應用系統(tǒng)中,需要對軟件進行初始化設置,以能夠滿足該系統(tǒng)的正常工作。在本系統(tǒng)中,如果沒有初始化,則該系統(tǒng)無法正常工作。本系統(tǒng)中初始化程序包括兩部分,一部分是定時器初始化,另一部分是串口初始化。而這些都是通過設置相應的特殊功能寄存器來實現(xiàn)的。本設計中定時器初始化包括定時/計數(shù)器選擇、定時/技術器工作方式、計數(shù)器裝初值、打開定時器;串口初始化包括串口工作方式設置、打開串口、開總中斷。和定時/計數(shù)器有關的特殊功能寄存器有TOMDTCON和串口相關的特殊功能寄存器有SCONPCON前面已經介紹了特殊功能寄存器,這里不再贅述。串口工作方式1的波特率由定時/計數(shù)器T1、T2的溢出速率和SMO共同確定,計算公式為波特率=SMOD(2 132)2(Tl溢出率),TI溢出率=fosc/{12汽256—(TH1)]},本系統(tǒng)波特率為9600bit/s,晶振頻率為11.0592MHz串口選擇工作方式為1,所以初值等于0xfa。定時計數(shù)器的初始化編程步驟:根據定時時間要求或計數(shù)要求計算初值;工作方式控制字送TMOD;送計數(shù)初值到THx和TLx寄存器中;啟動定時/計數(shù)器,即將TRx置位。6.3延時模塊通過用C語言寫一段循環(huán)程序,來占用CPI一段時間從而達到延時的目的。在該系統(tǒng)中,延時程序有至關重要的作用,一是作為普通的延時程序,而是產生步進電機的工作所需脈沖頻率,延時的多少決定步進電機的轉速,在本系統(tǒng)中,對步進電機的轉速沒有做過多要求,所以采用了for循環(huán)語句構成的比較簡單的延時程序,如果對延時時間、步進電機轉速有要求的系統(tǒng)中,則可以使用定時器定時,定時器的精度相當高。下面是采用普通延時的程序源代碼:voiddelay(uintz)//延時{uintx,y;for(x=z;x>0;x__)for(y=110;y>0;y--);}6.4串口中斷模塊在本系統(tǒng)中,單片機通過串口向單片機發(fā)送遠距離控制信號,一旦 PC機發(fā)送控制信號后,單片機接受到信息產生中斷,通過中斷服務程序去控制步進電機動作。由于串口中斷具有優(yōu)先級別高的特點, 所以不需要擔心鍵盤和串口信息發(fā)生沖突。7仿真仿真是一項非常有效的檢測設計工作是否達到預期的結果方法, 而且非常具有實際意義。一項新的系統(tǒng)不經過調試仿真就直接進入實用, 這樣是非常不科學的,既費時又費里,所以一項新的設計只有在經過了仿真的考驗才能真正的得到實際應用。仿真就是一個完成目標模型的建立過程, 對于本次設計來說仿真所要完成的工作有:搭建虛擬串口、Keil軟件中程序的編譯并生成HEX文件、Proteus仿真軟件電路模型的建立。7.1虛擬串口首先安裝好SerialNull虛擬串口軟件和串口調試助手SComAssistantV2.1,分別對其進行設置。打開SerialNull虛擬串口軟件,進入主界面。添加虛擬端口,一般電腦最多為兩個串行口,這里我們選擇端口一為 COM2和端口二為COM3點擊添加端口就添加了這兩個串口,在虛擬端口下就會看到有兩個串口。這樣我們就完成里串口的設置,可以把此軟件關閉,這兩個端口將會一直存在于你的電腦中,下次直接使用就可以了。7.2Keil軟件程序編譯前面已經介紹了Keil軟件的使用方法,這里不再陳述?,F(xiàn)在我們要做的是源程序代碼的編譯,最終目的是生成 HEX文件。操作步驟如下:(1)啟動uVision2,創(chuàng)建一個項目文件,文件名為lijian,并從器件庫中選擇1款合適的CPU我選擇的是AT89C52(2) 創(chuàng)建一個新的源程序文件,文件名為lijian.C,并把這個源文件添加到項目中。(3) 為該單片機添加或配置啟動程序代碼,代碼如附錄所示。(4) 設置工具選項,使之合適目標硬件。(5) 編譯項目并創(chuàng)造一個可供PRO編程的.HEX文件。完成以上步驟我們就完成了源程序代碼生成.HEX文件的任務。Proteus仿真同樣前面已經介紹了ProteusISIS軟件的使用方法,這里不再多說。現(xiàn)在要做的是將系統(tǒng)電路圖繪制在ProteusISIS編輯窗口中,添加完成相應的設置并添加由Keil軟件生成的.HEX文件。主要介紹Proteus仿真軟件的設置。在ProteusISIS編輯窗口中,單擊鼠標右鍵將AT89C52單片機選中并單擊鼠標左鍵,彈出“EditComponen”對話框,如下圖7-2所示。在此對話框的“ClockFrequency”欄中設置單片機的晶振頻率為Frequency”欄中設置單片機的晶振頻率為11.0592MHz在“ProgramFile”欄中單擊圖標匚,選擇先前用KeiluVision2生成的“l(fā)ijian.HEX”文件。在ProteusISIS菜單欄中單擊保存圖標耳ISIS菜單欄中單擊保存圖標耳,保存設計,生成"lijian.DSN"文件。圖7-2 "EditComponent"對話框在ProteusISIS編輯窗口中單擊卜,則會彈出虛擬終端virtualterminal顯示框,它的作用主要是顯示PC通過串口發(fā)送的信息。下面我們再把用VC編寫的PC控制界面打開,再執(zhí)行相應的操作。第8章結束語畢業(yè)設計是本科學習階段一次非常難得的理論與實際相結合的機會, 通過這次比較完整的單片機系統(tǒng)設計,各種元器件的選用,各種設備的適用標準,各種軟件的使用方式,信息遠距離傳輸,抗干擾能力強等問題,隨著設計的不斷深入而不斷熟悉并學會應用的。我擺脫了單純的理論知識學習狀態(tài),和實際設計的結合鍛煉了我的綜合運用所學的專業(yè)基礎知識, 解決實際工程項目問題的能力,同時也提高我查閱文獻資料、設計手冊、設計規(guī)范以及電腦制圖仿真等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了極大的鍛煉,經驗得到了豐富,并且意志品質力,抗壓能力及耐力也都得到了不同程度的提升。本文構建了一個完整的基于單片機的云臺步進電機控制系統(tǒng)。分析云臺控制系統(tǒng)的具體實際要求,提出了詳細的設計方案,設計該系統(tǒng)主要分為單片機外圍,步進電機驅動,RS232總線這三部分。在系統(tǒng)設計中,了解步進電機的控制原理后,我解決了電機的驅動器件;RS232總線設計中,經上網查找相關資料,提出了RS232電平轉換解決方案及接口電路相關問題的解決方案。經過軟件調試仿真,本系統(tǒng)不僅能夠實現(xiàn)鍵盤按鈕控制云臺步進電機,而且還可以通過 PC遠距離控制云臺步進電機,完成了本設計的最終任務,得到了預期的結果。在這次畢業(yè)設計中也遇到了許多問題,程序的編寫、調試工作,經過一次一次程序的修改、一次一次的編譯、一次次的嘗試,不斷在錯誤中進步,最終完成了程序的編譯。經過程序代碼的編寫及成功仿真,我對其有了一定的了解,對其中的某些錯誤有了一定的反應能力。致謝本次畢業(yè)設計論文是在XXX老師悉心指導下完成的。從接受課題到現(xiàn)在完成畢業(yè)設計論文,衷心的感謝老師給予精心的指導和熱情的幫助,尤其在課題設計的準備階段和設計階段,老師提出許多寶貴的設計意見,這樣使得我得以順利的完成畢業(yè)設計開發(fā)工作,在短暫的相處時間里,老師淵博的知識,敏銳的思路和實事求是的工作作風給我留下了深刻的印象,這將使得我終身受益,謹此向老師表示衷心的感謝和崇高的敬意。其次,我要特別感謝蘭發(fā)平同學對本次畢業(yè)設計的指導, 他為完成這篇論文提供了巨大的幫助。最后,再次對關心、幫助我的老師和同學表示衷心地感謝。參考文獻于永,戴佳,常江.51單片機C語言常用模塊與綜合系統(tǒng)設計實例精講[M]. 北京:電子工業(yè)出版社,2007.4求是科技.單片機通信技術與工程實踐[M].北京:人民郵電出版社,2005.1李群芳肖看.單片機原理、接口及應用一嵌入式系統(tǒng)技術基礎[M].北京:清華大學出版社,2003.5徐江海,張志良.單片機使用教程[M].北京:機械工業(yè)出版社,2006.12⑸侯玉寶,陳忠平,李成群.基于Proteus的51系列單片機設計與仿真[M].北京:電子工業(yè)出版社,2008.9⑹康曉明.電機與拖動[M].北京:國防工業(yè)出版社,2005.8劉錦波,張承慧等.電機與拖動[M].北京:清華大學出版社,2006.9戴佳.單片機C51語言應用程序設計[M].北京:電子工業(yè)出版社,2006.7王英杰,林怡

溫馨提示

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

最新文檔

評論

0/150

提交評論