版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實(shí)用標(biāo)準(zhǔn)文案本科學(xué)生畢業(yè)設(shè)計基于單片機(jī)的數(shù)字式光照強(qiáng)度檢測系統(tǒng)的設(shè)計CAD圖紙+單片機(jī)實(shí)驗(yàn)程序,聯(lián)系 153893706系部名稱: 機(jī)電工程學(xué)院專業(yè)班級:機(jī)械設(shè)計制造及其自動化 08-3班學(xué)生姓名:指導(dǎo)教師:職 稱: 教授精彩文檔實(shí)用標(biāo)準(zhǔn)文案二○一二年六月TheGraduationDesignforBachelor'sDegreeTheDigitalLightIntensityDetectorSystemBaseonMCUCandidate:Specialty:Machinery DesignandManufacturingandItsAutomationClass:08-3Supervisor:HeilongjiangInstituteofTechnology2012-06·Harbin精彩文檔實(shí)用標(biāo)準(zhǔn)文案目 錄摘要ABSTRACT第1章緒論............................................11.1....................................11.1.1...........................................11.1.2...........................................11.1.3...........................................21.2.......................31.3......................................43.141.326第2章系統(tǒng)概述.................................................92.1.......................................92.2..............................................102.3..................................................13第3章系統(tǒng)的硬件部分........................................143.1............................143.1.1................................143.1.2..................................163.2........................................173.3........................................183.4A/D....................................203.5......................................203.6.................................................22第4章系統(tǒng)軟件部分.........................................234.1................................................244.2Keil............................................264.3..................................................264.4PROTUES....................................284.5..........................................294.5.1........................................294.5.2............................................30精彩文檔實(shí)用標(biāo)準(zhǔn)文案4.6 本章小結(jié) 32結(jié) 論 33參考文獻(xiàn) 34附錄 35致謝 37精彩文檔實(shí)用標(biāo)準(zhǔn)文案摘 要該數(shù)字式光照強(qiáng)度檢測儀以單片機(jī)和模數(shù)轉(zhuǎn)換為技術(shù)核心,具體由單片機(jī)最小系統(tǒng)、下載通信模塊、A/D模數(shù)轉(zhuǎn)換模塊、光照方向檢測模塊、輸出選擇模塊和數(shù)碼管顯示模塊組成。在本系統(tǒng)的設(shè)計中,利用光敏電阻阻值隨光強(qiáng)的變化特性來檢測光強(qiáng),采用單片機(jī)控制輸出選擇模塊和數(shù)模轉(zhuǎn)換芯片依次測量不同方向的光照強(qiáng)度,并通過編程處理數(shù)據(jù)進(jìn)行光強(qiáng)的比較,最后通過數(shù)碼管顯示檢測結(jié)果。總之,通過對電路的設(shè)計和實(shí)際裝調(diào),最終基本實(shí)現(xiàn)了基于單片機(jī)的數(shù)字式光照強(qiáng)度檢測儀的整體功能,可顯示最大光照強(qiáng)度及光強(qiáng)照射方向。關(guān)鍵詞:單片機(jī) ;光敏電阻 ;ADC0804;IC4051;數(shù)碼管精彩文檔實(shí)用標(biāo)準(zhǔn)文案ABSTRACTThedigitallightintensitydetectorwithmicrocontrollerandanalog-digitalconversionasa coretechnology, specifically by the microcomputer system,download thecommunicationmodule,A/Danalog-digitalconversionmodule,lightdirection detectionmodule, the output selection module and digital display module composition.Inthissystemdesign,useofphotosensitiveresistorcharacteristicswiththelightintensitytodetectchangesinlightintensity,theoutputselectcontrolofsingle-chipmoduleandseveralanalogconverterfollowedbymeasuringthelightintensityindifferentdirections,andhandlingdatathroughtheprogramintensitycomparison,thefinaltestresultsviadigitaldisplay.Inshort,throughthecircuitdesignandtheactualalignment,finallyrealizingasinglechipbasedondigitallightintensitydetectoroftheoverallfunction,canshowamaximumlightintensityandlightintensityirradiationdirection.Keywords:SCM;PhotosensitiveResistance;ADC0804;IC405;DigitalTube精彩文檔實(shí)用標(biāo)準(zhǔn)文案第1章緒 論1.1課題的意義、目的和要求1.1.1課題的意義本系統(tǒng)是一個基于單片機(jī)的數(shù)字式光照檢測儀,通過數(shù)碼管顯示光度,并且具有判斷光照方位能力。以89C51單片機(jī)為核心,控制A/D芯片采集數(shù)據(jù),輔以數(shù)碼管、比較器、數(shù)據(jù)選擇器等器件,實(shí)現(xiàn)功能。本系統(tǒng)采用光敏電阻采集光照強(qiáng)度信息。光照強(qiáng)度直接反映在光敏電電阻阻值上,進(jìn)而反映在光敏電阻兩端的電壓值上。然后通過單片機(jī)控制A/D模數(shù)轉(zhuǎn)換對電壓信號進(jìn)行采集,經(jīng)換算后通過數(shù)碼管顯示光強(qiáng)強(qiáng)度。判斷光照方向時可采用兩個位于不同方向的光敏電阻。光照方向會導(dǎo)致他們兩端的電壓值不同,把兩個電壓值輸入到比較器進(jìn)行比較,單片機(jī)根據(jù)比較結(jié)果控制數(shù)據(jù)選擇器選擇光照較強(qiáng)的那一路的電壓值給A/D進(jìn)行數(shù)模轉(zhuǎn)換。用數(shù)碼管的亮滅顯示方向。本設(shè)計適當(dāng)?shù)乩昧斯饷綦娮璧奶匦砸约皢纹瑱C(jī)的強(qiáng)大的運(yùn)算控制功能,實(shí)現(xiàn)了光照強(qiáng)度的檢測,并在數(shù)碼管上顯示。設(shè)置了兩個方向的光敏電阻,比較光照強(qiáng)度數(shù)值大小確定了當(dāng)前光照方向。本系統(tǒng)充分利用了現(xiàn)有資源,結(jié)構(gòu)合理,性能穩(wěn)定,成本低,滿足題目要求。加強(qiáng)對單片機(jī)的學(xué)習(xí)和認(rèn)識,正確運(yùn)用所學(xué)單片機(jī)的理論知識,將理論與實(shí)際相結(jié)合,單片機(jī)在我們的生活中得到越來越廣泛的應(yīng)用,單片機(jī)注定影響一個時代,只要存在計算機(jī)的地方就會有他的存在,學(xué)好單片機(jī)對今后的學(xué)習(xí)與工作有很多益處。1.1.2 課題的目的采用光敏電阻為光傳感器,利用光敏電阻的光照特性完成光強(qiáng)的檢測。具體方法是將三路光敏電阻支路并聯(lián)接入電路中,其中一路串接一固定電阻,另外兩路分別串接電位器,利用光敏電阻值隨光照強(qiáng)度變化的特性,使得電路的輸出電壓而變化。根據(jù)這一特性,結(jié)合光照強(qiáng)度和輸出模擬電壓之間的關(guān)系,分別對三路電壓值進(jìn)行采集得到某一光強(qiáng)度下對應(yīng)的模擬電壓,將模擬電壓通過 ADC0804模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字電壓,通過C語言編程,將其集于單片機(jī)中,進(jìn)行比較以后通過兩位數(shù)碼管將最大值顯示出來,相應(yīng)地控制點(diǎn)亮對應(yīng)的小數(shù)點(diǎn)以顯示光照強(qiáng)度的方向。從ADC0804的模擬量通道輸入0-5V之間的模擬量,通過ADC0804轉(zhuǎn)換成數(shù)字量送給單片機(jī),經(jīng)單片機(jī)處理后在數(shù)碼管上以十進(jìn)制形成顯示出來,學(xué)習(xí)用單片機(jī)精彩文檔實(shí)用標(biāo)準(zhǔn)文案控制A/D模數(shù)轉(zhuǎn)換。光照強(qiáng)度檢測儀的主體是光敏電阻,光敏電阻是采用半導(dǎo)體材料制作,利用內(nèi)光電效應(yīng)工作的光電元件。它在光線的作用下其阻值往往變小,這種現(xiàn)象稱為光導(dǎo)效應(yīng),因此,光敏電阻又稱光導(dǎo)管。在光敏電阻兩端的金屬電極之間加上電壓,其中便有電流通過,受到適當(dāng)波長的光線照射時,電流就會隨光強(qiáng)的增加而變大,從而實(shí)現(xiàn)光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一個電阻器件,使用時既可加直流電壓,也可以加交流電壓。光敏電阻的特性是光照變化時其電阻值隨著變化,所以可以通過電阻值的變化得出光照強(qiáng)度的變化,而電阻值的變化可以反映在電阻兩端的電壓值的變化情況上,這樣可以設(shè)計一個簡單的電路,該電路由光敏電阻分壓并可以將光敏電阻兩端的電壓信號作為輸入信號輸入單片機(jī),然后進(jìn)行數(shù)模轉(zhuǎn)換,將輸入單片機(jī)的電壓模擬信號轉(zhuǎn)換成數(shù)字信號,再由單片機(jī)處理轉(zhuǎn)換出來的數(shù)字信號。然后由數(shù)碼顯示管顯示出光照強(qiáng)度結(jié)果并判斷光照方向。1.1.3 課題的要求結(jié)合單片機(jī)最小電路和光敏電阻電路共同設(shè)計一個基于單片機(jī)的數(shù)字式光照強(qiáng)度檢測系統(tǒng),用數(shù)碼管顯示光照強(qiáng)度。還可以設(shè)置多個不同方向的光敏電阻,通過比較它們的光強(qiáng)數(shù)值以判斷光照方位。技術(shù)要求:(1)對光照強(qiáng)度實(shí)施實(shí)時采集,光照強(qiáng)度的測量范圍為:2~600LX,精度±0.2%;(2)用數(shù)碼管顯示光照強(qiáng)度;(3)可以設(shè)置多個不同方向的光敏電阻,通過比較它們的光強(qiáng)數(shù)值以判斷光照方位;(4)通過比較不同方向測得的光強(qiáng)數(shù)值判斷光照方向, 在數(shù)碼管上顯示其方向。1.2數(shù)字式光照強(qiáng)度檢測儀的發(fā)展前景及趨勢本課題通常與儀器測量的光束強(qiáng)度,是專門針對一個電路測量光強(qiáng)度關(guān)聯(lián)到一個時間信號的光強(qiáng)度。其中有一個光通過介質(zhì)傳遞光束強(qiáng)度是在現(xiàn)有條件中的指示廣泛的應(yīng)用。例如,雅培制藥,這一問題的受讓人申請,已制定了在現(xiàn)有的某些有機(jī)樣品的色譜條件下測定免疫分析儀的數(shù)目。該方法一般利用一個夾層硝化棉或類似附著在玻璃纖維墊地帶一個一次性住房。該法是暴露在參考光的來源是通過媒介通過后,發(fā)出的光,是在衡量其強(qiáng)度取樣器收集。光的強(qiáng)度是該樣本的條件指示。這種類型的測量是特別有用的篩選和質(zhì)量提供了人類對懷孕和懷孕的問題,及時發(fā)現(xiàn)絨毛膜評價試驗(yàn)。精彩文檔實(shí)用標(biāo)準(zhǔn)文案光照強(qiáng)度的分析與使用這些計劃的檢測電路通常比較熟悉。通常情況下,光強(qiáng)度檢測用感光元素,是產(chǎn)生一個電壓信號,然后放大并轉(zhuǎn)換成由模擬到數(shù)字( A/D)轉(zhuǎn)換為數(shù)字信號的能力。該A/D轉(zhuǎn)換器生成一個變量引入到一個微處理器平信號, 其中,信號電平進(jìn)行比較參考信號,以便與預(yù)定相關(guān)的職權(quán)收集信號 “讀”的樣本。實(shí)例的A/D轉(zhuǎn)換器顯示和美國八所描述。 4779074號,題為:低等級電壓脈沖轉(zhuǎn)換器,發(fā)給稀土惠特:等。 10月18日,1988年,和美國專利。4178585號,題為:模擬數(shù)字轉(zhuǎn)換器,發(fā)出的光高木, 12月11日,1979年。利用光的強(qiáng)度取樣,以確定樣本的條件,產(chǎn)生了不同程度的轉(zhuǎn)換,相應(yīng)的數(shù)字信號沿普遍使用在上述專利中描述的線的 A/D轉(zhuǎn)換器,以確定已知的光強(qiáng)度測量設(shè)備光的強(qiáng)度。例如,歐洲專利申請由 R.飛利浦等人第0479394A3。,8月7日提出,1987年,公開了一種方法和分析物的測定儀器。 A光源是為了一個樣本及一個探測器所發(fā)出的光收集。光照強(qiáng)度的排放水平是用來確定樣本的條件。由于該應(yīng)用程序中顯示,所發(fā)出的光被轉(zhuǎn)換成模擬信號,然后放大并轉(zhuǎn)換成數(shù)字信號通過一個 A/D轉(zhuǎn)換器轉(zhuǎn)換器的數(shù)字輸出,被介紹到微處理器。 .第4766083題為:為生物凝集光度測定法等。8月23日,1988年,公開了一種測量生物樣品凝集反應(yīng)系統(tǒng)測試使用的凝集試驗(yàn)檢測樣本散射光激光束源和探測器1光度法和器具。由光敏元件收集的光線是從模擬信號轉(zhuǎn)換為數(shù)字信號處理前。雖然這些設(shè)備提供準(zhǔn)確的抽樣技術(shù),并模擬向數(shù)字轉(zhuǎn)換計劃是適合實(shí)現(xiàn)預(yù)期的效果,但仍然是對的A/D轉(zhuǎn)換器使用存在的弊端,光照強(qiáng)度分析系統(tǒng)。首先,成本與高分辨率A/D芯片相關(guān)已禁止光頻譜分析系統(tǒng)的廣泛應(yīng)用。一個典型的模擬到數(shù)字轉(zhuǎn)換器網(wǎng)絡(luò)有16位轉(zhuǎn)換器功能可要花好幾百美元。凡需要 24位分辨率,成本可大幅增加比例。因此,最昂貴的,昂貴的系統(tǒng)組成部分之一,是轉(zhuǎn)換器網(wǎng)絡(luò)。因此,如果信號的轉(zhuǎn)換成本可以大大降低,光頻譜分析儀器的適用性,可大大提高,同時降低成本,提供更好更廣泛的取樣系統(tǒng)的檢測能力。目前,仍然有必要制定一個系統(tǒng),使光強(qiáng)度檢測的有效使用,而又能準(zhǔn)確有效地轉(zhuǎn)換設(shè)備系統(tǒng)的應(yīng)用。隨著紅外技術(shù)的推廣,紅外滿方的檢測儀器將朝著快速、便攜、低成本、低功耗以及自動化的方向發(fā)展。(1)快速性要求檢測的時間短,能迅速得到檢測結(jié)果,以適應(yīng)檢測。(2)便攜,體積小,能夠在離線、現(xiàn)場后在線環(huán)境下,實(shí)現(xiàn)準(zhǔn)確,無損檢測。(3)低成本,價格便宜,是普通老百姓買得起,用得起。(4)低功耗,易于操作,檢測人員不需要對儀器進(jìn)行復(fù)雜的調(diào)整,只需啟動幾個按鈕就可以進(jìn)行檢測。精彩文檔實(shí)用標(biāo)準(zhǔn)文案1.3本課題主要研究的內(nèi)容(1)結(jié)合單片機(jī)最小電路和光敏電阻電路設(shè)計一個基于單片機(jī)的數(shù)字式光照強(qiáng)度檢測系統(tǒng);(2)單片機(jī)最小系統(tǒng)及光敏電阻網(wǎng)絡(luò)的設(shè)計;(3)編寫單片機(jī)程序,將獲得的電信號轉(zhuǎn)換成光照強(qiáng)度單位下的數(shù)值,并用數(shù)碼管顯示。精彩文檔實(shí)用標(biāo)準(zhǔn)文案第2章系統(tǒng)概述2.1系統(tǒng)方案的選擇與論證2.1.1 設(shè)計方案一采用光敏電阻、二極管和555定時器構(gòu)成多諧振蕩電路,利用多諧振蕩電路的兩個暫穩(wěn)態(tài)輸出由此產(chǎn)生矩形波脈沖信號。而光敏電阻阻值會隨著光照強(qiáng)度的變化而發(fā)生變化,進(jìn)而使得多諧振蕩電路的周期變化,其輸出波形頻率也隨之改變。將其輸出模擬信號波形輸入到一個簡易數(shù)字式頻率計通過兩位數(shù)碼管顯示出來,數(shù)字式頻率計主要由時基電路、閘門電路計數(shù)器、鎖存器、譯碼顯示電路和邏輯控制電路組成。具體實(shí)現(xiàn)框圖如下圖 2.1所示。光敏電阻阻多諧振蕩器電值變化路周期變化簡易數(shù)字頻率計時閘計鎖譯碼基門數(shù)存顯電電器器示路路器邏輯控制電路\圖2.1設(shè)計方案一原理框圖精彩文檔實(shí)用標(biāo)準(zhǔn)文案本方案采用性能穩(wěn)定且便宜的光敏電阻作為光照傳感器,通過光敏電阻值變化影響多諧振蕩電路的周期而檢測光強(qiáng),性能較穩(wěn)定一些,靈敏度也較高,但是電路結(jié)構(gòu)比較復(fù)雜,所用元器件種類較多,實(shí)現(xiàn)和調(diào)試工作會比較困難,造價也較高,雖然能滿足穩(wěn)定性和靈敏度的要求,但不宜采用。2.1.2 設(shè)計方案二本方案采用光電二極管,利用其產(chǎn)生的電流隨光照增強(qiáng)的線性特性輸出模擬采樣電壓,并聯(lián)三條光敏二極管和電阻支路,將這三路電壓通過選通器循環(huán)輸入到模數(shù)轉(zhuǎn)換器 ADC0804將模擬信號轉(zhuǎn)換為數(shù)字信號,將數(shù)字信號通過通信模塊輸送給STC89C51單片機(jī),通過比較后得出最大值,將最大值輸出并利用兩位數(shù)碼管顯示出來。具體框圖如下圖2.2所示。光敏二極管 輸出電流 采集電阻兩接受光照 變化 端電壓兩位數(shù)碼89C51模數(shù)轉(zhuǎn)換管顯示單片機(jī)ADC圖2.2設(shè)計方案二原理框圖
運(yùn)算放大器對于本方案,采用線性好,響應(yīng)速度快的光敏二極管作為光照傳感器,故電路響應(yīng)速度快,靈敏度高。缺點(diǎn)是單獨(dú)使用輸出電流(或電壓)很小,需要加放大電路將采樣電壓進(jìn)一步放大,而加入運(yùn)放環(huán)節(jié)會由于運(yùn)放的零漂和易受溫度影響使得電路穩(wěn)定性降低,誤差增大。另外限于實(shí)驗(yàn)元器件的供給,實(shí)驗(yàn)中也不采用本方案。2.1.3設(shè)計方案三采用三路光敏電阻支路并聯(lián)檢測光照強(qiáng)度,通過每一路可以得到一個模擬采樣電壓,將這三路電壓通過 CD4051單8通道數(shù)字控制模擬電子開關(guān)循環(huán)輸入到模數(shù)轉(zhuǎn)換器 ADC0804將模擬信號轉(zhuǎn)換為數(shù)字信號,將數(shù)字信號通過通 信模塊輸送給STC89C51單片機(jī),通過比較后得出最大值,將最大值輸出并利用兩位數(shù)碼管顯示出來。對于光強(qiáng)的方位,則通過控制兩位數(shù)碼管的兩個小數(shù)點(diǎn)的關(guān)斷與否來顯示出來,具體是兩個小數(shù)點(diǎn)分別單獨(dú)亮?xí)r對應(yīng)兩個方位,而兩個小數(shù)點(diǎn)均不亮?xí)r對應(yīng)另外一個方位。至此,可以將光照的強(qiáng)度以及光照的方位通過兩位數(shù)碼管顯示出來,完成了本精彩文檔實(shí)用標(biāo)準(zhǔn)文案設(shè)計選題的任務(wù)及要求。具體框圖如下圖 2.3所示:光敏電阻網(wǎng)絡(luò) 輸出選擇 A/D模數(shù)轉(zhuǎn)換光照數(shù)碼管顯示 單片機(jī)通信下載模塊圖2.3設(shè)計方案三原理框圖本方案采用性能穩(wěn)定且便宜的光敏電阻作為光照傳感器,STC89C51單片機(jī)作為主控制器。性能穩(wěn)定,抗干擾能力強(qiáng),不易受外界環(huán)境溫度等因素影響,靈敏度也較高,但是由于光照傳感器采用光敏電阻且為三條支路并聯(lián)采集模擬電壓信號,會存在一定的誤差??傮w上來說,本方案電路結(jié)構(gòu)簡單、所用元器件供給充足、成本造價低、性能穩(wěn)定且誤差范圍也在設(shè)計選題的要求之內(nèi),能在簡單低成本的基礎(chǔ)上很好的完成設(shè)計選題的任務(wù),故實(shí)驗(yàn)中采用本方案。2.1.4 方案綜合比較和選擇通過以上三種方案的設(shè)計,方案一采用光敏電阻作為光照傳感器,穩(wěn)定性和靈敏度雖然都能滿足設(shè)計選題的要求,但是電路結(jié)構(gòu)過于復(fù)雜,實(shí)現(xiàn)和調(diào)試都比較困難,在實(shí)驗(yàn)中不采用;方案二采用光敏二極管作為光照傳感器,線性度好,響應(yīng)速度快,但是需要額外添加運(yùn)放環(huán)節(jié),對系統(tǒng)穩(wěn)定性和誤差都會帶來不利影響,另外限于元器件的供應(yīng),本實(shí)驗(yàn)中也不采用:而方案三采用光敏電阻作為光照傳感器,進(jìn)行模擬電壓采樣,通過ADC數(shù)模轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號傳送到 51單片機(jī)中,進(jìn)而控制兩位數(shù)碼管顯示具體數(shù)值和方位,簡單可行,成本造價低,故在實(shí)驗(yàn)中采用本方案。2.2 系統(tǒng)工作原理設(shè)計中采用光敏電阻為光傳感器, 利用光敏電阻的光照特性完成光強(qiáng)的檢測。 具體方法是將三路光敏電阻支路并聯(lián)接入電路中,其中一路串接一固定電阻,另外兩路精彩文檔實(shí)用標(biāo)準(zhǔn)文案分別串接電位器,利用光敏電阻值隨光照強(qiáng)度變化的特性,使得電路的輸出電壓而變化。根據(jù)這一特性,結(jié)合光照強(qiáng)度和輸出模擬電壓之間的關(guān)系,分別對三路電壓值進(jìn)行采集得到某一光強(qiáng)度下對應(yīng)的模擬電壓,將模擬電壓通過 ADC0804模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字電壓,通過C語言編程,將其集于單片機(jī)中,進(jìn)行比較以后通過兩位數(shù)碼管將最大值顯示出來,相應(yīng)地控制點(diǎn)亮對應(yīng)的小數(shù)點(diǎn)以顯示光強(qiáng)的方位。2.3 本章小結(jié)本章主要講述了系統(tǒng)方案的選擇與論證并對系統(tǒng)進(jìn)行了概述,通過對不同方案的選擇了解整個系統(tǒng)的工作流程,根據(jù)實(shí)際情況與技術(shù)要求,畫出了系統(tǒng)結(jié)構(gòu)框圖,并擬定了系統(tǒng)總體設(shè)計方案,也對系統(tǒng)工作原理作了簡要概述。精彩文檔實(shí)用標(biāo)準(zhǔn)文案第3章 系統(tǒng)硬件設(shè)計3.1單片機(jī)的選擇3.1.1 單片機(jī)定義及特點(diǎn)在一塊芯片上集成CPU、數(shù)據(jù)存儲器、程序存儲器、輸入輸出和定時/計數(shù)器等部件的一臺小型計算機(jī),它體積小、結(jié)構(gòu)緊湊、功耗低,嵌入到某應(yīng)用系統(tǒng)中,主要完成信號控制功能,又稱“嵌入式微控制器”。本設(shè)計采用89C51單片機(jī),89C51單片機(jī)引腳圖如圖3.1所示。圖3.1 89C51單片機(jī)引腳圖89C51單片機(jī)各個引腳介紹:輸入輸出引腳:(1)P0口:P0口為一個 8位漏級開路雙向 I/O口,每腳可吸收 8TTL門電流。當(dāng)P1口的管腳第一次寫 1時,被定義為高阻輸入。 P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的低八位。在 FIASH編程時,P0口作為精彩文檔實(shí)用標(biāo)準(zhǔn)文案原碼輸入口,當(dāng) FIASH進(jìn)行校驗(yàn)時, P0輸出原碼,此時 P0外部必須被拉高。(2)P1口:P1口是一個內(nèi)部提供上拉電阻的 8位雙向I/O口,P1口緩沖器能接收輸出 4TTL門電流。P1口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P2口當(dāng)用于外部程序存儲器或 16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址 “1時”,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時, P2口輸出其特殊功能寄存器的內(nèi)容。 P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。(4)P3口:P3口管腳是 8個帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個TTL門電流。當(dāng) P3口寫入“1后”,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3口將輸出電流( ILL)這是由于上拉的緣故。P3口也可作為 AT89C51的一些特殊功能口,如下表所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷 0)P3.3/INT1(外部中斷 1)P3.4T0(記時器 0外部輸入)P3.5T1(記時器 1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)其它的控制或復(fù)用引腳:XTAL1/XTAL2:XTAL1是片內(nèi)振蕩器的反相放大器輸入端, XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到 XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為 12MHz,時鐘頻率就為6MHz。晶振的頻率最高可以達(dá)到 33MHz。電容取30pF±10pF。單片機(jī)程序指令的執(zhí)行是以振蕩器的振蕩來驅(qū)動的。在 MCS-51架構(gòu)中,每 12個振蕩器周期組成一個指令周期(或稱機(jī)器周期)。單片機(jī)執(zhí)行指令的時間是以指令周期為單位的。不同指令的執(zhí)行時間可能是不同的,一條指令的執(zhí)行時間最短為一個精彩文檔實(shí)用標(biāo)準(zhǔn)文案指令周期。因此,單片機(jī)所接的振蕩器頻率越高,它執(zhí)行指令的速度就越快RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH編程期間,此引腳用于輸入編程脈沖。在平時, ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行 MOVX,MOVC指令是 ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次 /PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN信號將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器 (0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式 1時,/EA將內(nèi)部鎖定為 RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。3.1.2 單片機(jī)發(fā)展歷史及應(yīng)用單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU隨機(jī)存儲器RAM、只讀存儲器 ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機(jī)系統(tǒng)。單片機(jī)由運(yùn)算器、控制器、存儲器、輸入輸出設(shè)備構(gòu)成。單片機(jī)誕生于1971年,經(jīng)歷了SCM、MCU、ScO三大階段。20世紀(jì)80年代初,Intel公司在MCS-48系列單片機(jī)的基礎(chǔ)上,推出了MCS-51系列8位高檔單片機(jī)。MCS-51系列單片機(jī)無論是片內(nèi)RAM容量,I/O口功能,系統(tǒng)擴(kuò)展方面都有了很大的提高。我國單片機(jī)起步較晚,我國使用最多的是 Intel公司的 MCS-51系列單片機(jī)及其增強(qiáng)型、拓展型的衍生機(jī)型, MCS-51是最早進(jìn)入我國的單片機(jī)主流品種之一,在我國得到廣泛應(yīng)用,直到現(xiàn)在仍為單片機(jī)主流系列。當(dāng)今社會,應(yīng)用單片機(jī)的產(chǎn)品已經(jīng)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的足跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理, 廣泛使用的各種智能 IC卡,精彩文檔實(shí)用標(biāo)準(zhǔn)文案民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制域。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師??萍荚桨l(fā)達(dá),智能化的東西就越多。以下大致介紹一些典型的應(yīng)用領(lǐng)域和應(yīng)用特點(diǎn)。家用電器領(lǐng)域,國內(nèi)各種家用電器已普遍采用單片微機(jī)控制取代傳統(tǒng)的控制電路,做成單片微機(jī)控制系統(tǒng),如洗衣機(jī)、電冰箱、空調(diào)機(jī)、微波爐、電飯堡、電視機(jī)、錄像機(jī)及其它視頻音像設(shè)備的控制器。辦公自動化領(lǐng)域,比如一臺PC機(jī)可能嵌入了10個單片微機(jī),如控制鍵盤、鼠標(biāo)、顯示器、CD-ROM、聲卡、打印機(jī)、軟/硬盤驅(qū)動器、調(diào)制解調(diào)器等?,F(xiàn)代辦公室中所使用的大量通信、信息產(chǎn)品,如繪圖儀、復(fù)印機(jī)、電話、傳真機(jī)等,多數(shù)都采用了單片微機(jī)。工業(yè)自動化領(lǐng)域的在線應(yīng)用,如工業(yè)過程控制、過程監(jiān)測、工業(yè)控制器及機(jī)電一體化控制系統(tǒng)等,許多都是以單片微機(jī)為核心的單機(jī)或多機(jī)網(wǎng)絡(luò)系統(tǒng)。如工業(yè)機(jī)器人的控制系統(tǒng)是由中央控制器、感覺系統(tǒng)、行走系統(tǒng)、擒拿系統(tǒng)等節(jié)點(diǎn)構(gòu)成的多機(jī)網(wǎng)絡(luò)系統(tǒng)。而其中每一個小系統(tǒng)都是由單片微機(jī)進(jìn)行控制的。智能儀器儀表與集成智能傳感器領(lǐng)域,應(yīng)用單片微機(jī)來對傳統(tǒng)的儀器儀表行業(yè)的產(chǎn)品進(jìn)行“更新?lián)Q代”,提供了非常理想的的條件。目前各種變送器、電氣測量儀表普遍采用單片微機(jī)應(yīng)用系統(tǒng)替代傳統(tǒng)的測量系統(tǒng),使測量系統(tǒng)具有各種智能化功能,如存儲、數(shù)據(jù)處理、查找、判斷、聯(lián)網(wǎng)和語音功能等。汽車電子與航空航天電子系統(tǒng),通常在這些電子系統(tǒng)中的集中顯示系統(tǒng)、動力監(jiān)測控制系統(tǒng)、自動駕馭系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視器(黑匣子)等,都要構(gòu)成冗余的網(wǎng)絡(luò)系統(tǒng)。比如一臺RMW-7系列寶馬轎車就用了63個單片微機(jī),大部分還是16位單片微機(jī)。單片微機(jī)的應(yīng)用從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法,從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在已能使用單片微機(jī)通過軟件方法實(shí)現(xiàn)了。這種以軟件取代硬件,并能提高系統(tǒng)性能的控制技術(shù),稱之為微控制技術(shù)。這標(biāo)志著一種全新概念的建立。學(xué)習(xí)單片機(jī)是社會發(fā)展的必然需求,也是大學(xué)期間的必修課?,F(xiàn)在可以說單片機(jī)是百花齊放,百家爭鳴的時期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器 (CPU)、隨機(jī)存取數(shù)據(jù)存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時電路、時鐘精彩文檔實(shí)用標(biāo)準(zhǔn)文案電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如 A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。從單片機(jī)的發(fā)展歷程看,未來單片機(jī)技術(shù)將向多功能、高性能、高速度、低電壓、低功耗、外圍電路內(nèi)裝化及片內(nèi)儲存器容量增加的方向發(fā)展。3.2單片機(jī)最小系統(tǒng)和通信模塊的設(shè)計3.2.1單片機(jī)最小系統(tǒng)的設(shè)計單片機(jī)最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括 :單片機(jī)、晶振電路、復(fù)位電路。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成 ,結(jié)合"電容電壓不能突變"的性質(zhì),可以知道當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且這個高電平持續(xù)的時間由電路的 RC值來決定典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個機(jī)器周期以上就將復(fù)位,所以 ,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位,一般教科書推薦C取10u,R取8.2K.當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機(jī)周期的高電平。在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當(dāng)按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會復(fù)位。所以可以通過按鍵的斷開和閉合在運(yùn)行的系統(tǒng)中控制其復(fù)位。在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。也就是說在電腦啟動的0.1S內(nèi),電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電壓為從5~1.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機(jī)中小于1.5V的電壓信號為低電平信號,而大于 1.5V的電壓信號為高電平信號。所以在開機(jī) 0.1S內(nèi),單片機(jī)系統(tǒng)自動復(fù)位(RST引腳接收到的高電平信號時間為 0.1S左右)。在單片機(jī)啟動 0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小,根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為 3.5V,甚至更大,所以 RST引腳又接收到高電平,單片機(jī)系統(tǒng)自動復(fù)位。晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到 9600波特率和19200精彩文檔實(shí)用標(biāo)準(zhǔn)文案波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生精確的uS級時歇,方便定時操作)單片機(jī)工作時,從取指令到譯碼再進(jìn)行微操作,必須在時鐘信號控制下才能有序地進(jìn)行,時鐘電路就是為單片機(jī)工作提供基本時鐘的。 單片機(jī)的時鐘信號通常有兩種產(chǎn)生方式:內(nèi)部時鐘方式和外部時鐘方式,內(nèi)部時鐘方式在單片機(jī) XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩(wěn)頻電容,可以與單片機(jī)片內(nèi)的電路構(gòu)成一個穩(wěn)定的自激振蕩器。晶振的取值范圍一般為 0~24MHz,常用的晶振頻率有 6MHz、12MHz、11.0592MHz、MHz等。一些新型的單片機(jī)還可以選擇更高的頻率。外接電容的作用是對振蕩器進(jìn)行頻率微調(diào),使振蕩信號頻率與晶振頻率一致,同時起到穩(wěn)定頻率的作用,一般選用20~30pF的瓷片電容。外部時鐘方式則是在單片機(jī) XTAL1引腳上外接一個穩(wěn)定的時鐘信號源,它一般適用于多片單片機(jī)同時工作的情況,使用同一時鐘信號可以保證單片機(jī)的工作同步。時序是單片機(jī)在執(zhí)行指令時CPU發(fā)出的控制信號在時間上的先后順序。AT89C51單片機(jī)的時序概念有4個,可用定時單位來說明,包括振蕩周期、時鐘周期、機(jī)器周期和指令周期。振蕩周期:是片內(nèi)振蕩電路或片外為單片機(jī)提供的脈沖信號的周期。時序中1個振蕩周期定義為1個節(jié)拍,用P表示。時鐘周期:振蕩脈沖送入內(nèi)部時鐘電路,由時鐘電路對其二分頻后輸出的時鐘脈沖周期稱為時鐘周期。時鐘周期為振蕩周期的2倍。時序中1個時鐘周期定義為1個狀態(tài),用S表示。每個狀態(tài)包括2個節(jié)拍,用P1、P2表示。機(jī)器周期:機(jī)器周期是單片機(jī)完成一個基本操作所需要的時間。一條指令的執(zhí)行需要一個或幾個機(jī)器周期。一個機(jī)器周期固定的由6個狀態(tài)S1~S6組成。指令周期:執(zhí)行一條指令所需要的時間稱為指令周期。一般用指令執(zhí)行所需機(jī)器周期數(shù)表示。AT89C51單片機(jī)多數(shù)指令的執(zhí)行需要1個或2個機(jī)器周期,只有乘除兩條指令的執(zhí)行需要4個機(jī)器周期。了解了以上幾個時序的概念后,我們就可以很快的計算出執(zhí)行一條指令所需要的時間。若單片機(jī)使用 12MHz的晶振頻率,則振蕩周期 =1/(12MHz)=1/12us,時鐘周期=1/6us,機(jī)器周期=1us,執(zhí)行一條單周期指令只需要1us,執(zhí)行一條雙周期指令則需要2us。單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容C1的大小直接影響單片機(jī)的復(fù)位時間,一般采用10~30uF,51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時間越短。51單片機(jī)最小系統(tǒng)晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處精彩文檔實(shí)用標(biāo)準(zhǔn)文案理速度越快。單片機(jī)的主要功能是負(fù)責(zé)整個系統(tǒng)的控制,不承擔(dān)復(fù)雜的數(shù)據(jù)處理任務(wù),因此在設(shè)計本系統(tǒng)時選用STC89C51。其中,時鐘電路為在引腳XTALl和XTAL2跨接晶振和兩個補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu)中Y1、C1、C2,根據(jù)情況本設(shè)計中選擇12MHz的晶振,補(bǔ)償電容選擇30pF左右的瓷片電容;復(fù)位電路則采用手動按鍵復(fù)位兩種方式實(shí)現(xiàn),其結(jié)構(gòu)如圖中R0、C3和S1,通過按鍵將電阻R0與VCC接通即可實(shí)現(xiàn)復(fù)位;P0口外接上拉電阻,其結(jié)構(gòu)如圖中3.2,采用10K的排阻以提供給I/O口合適的電流。下圖為一個51單片機(jī)的最小系統(tǒng)電路圖。圖3.2 單片機(jī)最小系統(tǒng)電路圖3.2.2下載通信模塊的設(shè)計下載通信模塊選用MAX232芯片。MAX232是MAXIM公司專門為PC視RS-232標(biāo)準(zhǔn)串口設(shè)計的電平轉(zhuǎn)換電路。該芯片與TTL/COMS電平兼容,片內(nèi)有2個發(fā)送器,2個接收器,且使用+5V單電源供電,使用非常方便。串口通信的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如 IEEE488定義并行通行狀態(tài)時,規(guī)定設(shè)備線總長不得超過20米,并且任意兩個設(shè)備間的長度不得超過 2米;而對于串口而言,長度可達(dá)1200米。典型地,串口用于 ASCII碼字符的傳輸。精彩文檔實(shí)用標(biāo)準(zhǔn)文案通信使用3根線完成:(1)地線,(2)發(fā)送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對于兩個進(jìn)行通信的端口,這些參數(shù)必須匹配:a,波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的 bit的個數(shù)。例如300波特表示每秒鐘發(fā)送300個bit。當(dāng)我們提到時鐘周期時,我們就是指波特率例如如果協(xié)議需要4800波特率,那么時鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。b,數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計算機(jī)發(fā)送一個信息包,實(shí)際的數(shù)據(jù)不會是8位的,標(biāo)準(zhǔn)的值是5、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。擴(kuò)展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。c,停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機(jī)校正時鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。d,奇偶校驗(yàn)位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗(yàn),校驗(yàn)位位 1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機(jī)會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。現(xiàn)從MAX232芯片中兩路發(fā)送接收中任選一路作為接口, 其發(fā)送接收的引腳一一對應(yīng)。本系統(tǒng)中使T2IN接單片機(jī)的發(fā)送端 TXD,同時R2OUT接單片機(jī)的RXD端,C1+、C1-腳和C2+、C2-腳接104瓷片電容,其接口電路如圖 3.3所示。精彩文檔實(shí)用標(biāo)準(zhǔn)文案圖3.3 通信模塊的電路圖3.3光敏電阻網(wǎng)絡(luò)的設(shè)計光敏電阻又稱光導(dǎo)管,常用的制作材料為硫化鎘,另外還有硒、硫化鋁、硫化鉛和硫化鉍等材料。這些制作材料具有在特定波長的光照射下,其阻值迅速減小的特性。這是由于光照產(chǎn)生的載流子都參與導(dǎo)電,在外加電場的作用下作漂移運(yùn)動,電子奔向電源的正極,空穴奔向電源的負(fù)極,從而使光敏電阻器的阻值迅速下降。光敏電阻的工作原理是基于內(nèi)光電效應(yīng)。在半導(dǎo)體光敏材料兩端裝上電極引線,將其封裝在帶有透明窗的管殼里就構(gòu)成光敏電阻,為了增加靈敏度,兩電極常做成梳狀。光敏電阻器一般用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。常用的光敏電阻器硫化鎘光敏電阻器,它是由半導(dǎo)體材料制成的。光敏電阻器的阻值隨入射光線(可見光)的強(qiáng)弱變化而變化,在黑暗條件下,它的阻值(暗阻)可達(dá)1~10M歐,在強(qiáng)光條件(100LX)下,它阻值(亮阻)僅有幾百至數(shù)千歐姆。光敏電阻器對光的敏感性(即光譜特性)與人眼對可見光(0.4~0.76)μm的響應(yīng)很接近,只要人眼可感受的光,都會引起它的阻值變化。設(shè)計光控電路時,都用白熾燈泡(小電珠)光線或自然光光線作控制光源,使設(shè)計大為簡化。用于制造光敏電阻的材料主要是金屬的硫化物、硒化物和碲化物等半導(dǎo)體。通常采用涂敷、噴涂、燒結(jié)等方法在絕緣襯底上制作很薄的光敏電阻體及梳狀歐姆電極,接出。引線,封裝在具有透光鏡的密封殼體內(nèi),以免受潮影響其靈敏度。在黑暗環(huán)境里,它的電阻值很高,當(dāng)受到光照時,只要光子能量大于半導(dǎo)體材料的禁帶寬度,則價帶中的電子吸收一個光子的能量后可躍遷到導(dǎo)帶,并在價帶中產(chǎn)生一個帶正電荷的空穴,這種由光照產(chǎn)生的電子—空穴對了半導(dǎo)體材料中載流子的數(shù)目,使其電阻率變小,從而造成光敏電阻阻值下降。光照愈強(qiáng),阻值愈低。入射光消失后,由光子激發(fā)產(chǎn)生的電子—空穴對將復(fù)合,光敏電阻的阻值也就恢精彩文檔實(shí)用標(biāo)準(zhǔn)文案復(fù)原值。在光敏電阻兩端的金屬電極加上電壓,其中便有電流通過,受到波長的光線照射時,電流就會隨光強(qiáng)的而變大,從而實(shí)現(xiàn)光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一個電阻器件,使用時既可加直流電壓,也加交流電壓。半導(dǎo)體的導(dǎo)電能力取決于半導(dǎo)體導(dǎo)帶內(nèi)載流子數(shù)目的多少。光照強(qiáng)度檢測接收光源的器件是光敏電阻,光敏電阻是采用半導(dǎo)體材料制作,利用內(nèi)光電效應(yīng)工作的光電元件。它在光線的作用下其阻值往往變小,這種現(xiàn)象稱為光導(dǎo)效應(yīng),因此,光敏電阻又稱光導(dǎo)管。在光敏電阻兩端的金屬電極之間加上電壓,其中便有電流通過,受到適當(dāng)波長的光線照射時,電流就會隨光強(qiáng)的增加而變大,從而實(shí)現(xiàn)光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一個電阻器件,使用時既可加直流電壓,也可以加交流電壓。光敏電阻的工作原理是基于內(nèi)光電效應(yīng)。在半導(dǎo)體光敏材料兩端裝上電極引線,將其封裝在帶有透明窗的管殼里就構(gòu)成光敏電阻,為了增加靈敏度,兩電極常做成梳狀。用于制造光敏電阻的材料主要是金屬的硫化物、硒化物和碲化物等半導(dǎo)體。通常采用涂敷、噴涂、燒結(jié)等方法在絕緣襯底上制作很薄的光敏電阻體及梳狀歐姆電極,接出引線,封裝在具有透光鏡的密封殼體內(nèi),以免受潮影響其靈敏度。這種由光照產(chǎn)生的電子—空穴對了半導(dǎo)體材料中載流子的數(shù)目,使其電阻率變小,從而造成光敏電阻阻值下降。光照愈強(qiáng),阻值愈低。入射光消失后,由光子激發(fā)產(chǎn)生的電子—空穴對將復(fù)合,光敏電阻的阻值也就恢復(fù)原值。在光敏電阻兩端的金屬電極加上電壓,其中便有電流通過,受到波長的光線照射時,電流就會隨光強(qiáng)的而變大,從而實(shí)現(xiàn)光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一個電阻器件,使用時既可加直流電壓,也加交流電壓。光敏二極管是一種將光能變換為電能的器件,它利用了半導(dǎo)體的光生伏特效應(yīng)的原理。光敏二極管的優(yōu)點(diǎn)是線性好,響應(yīng)速度快,對寬范圍波長的光具有較高的靈敏度,噪聲低;缺點(diǎn)是單獨(dú)使用輸出電流(或電壓)很小,需要加放大電路。光敏電阻的特性是光照變化時其電阻值隨著變化,所以可以通過電阻值的變化得出光照強(qiáng)度的變化,而電阻值的變化可以反映在電阻兩端的電壓值的變化情況上,這樣可以設(shè)計一個簡單的電路,該電路由光敏電阻分壓并可以將光敏電阻兩端的電壓信號作為輸入信號輸入單片機(jī),然后進(jìn)行數(shù)模轉(zhuǎn)換,將輸入單片機(jī)的電壓模擬信號轉(zhuǎn)換成數(shù)字信號,再由單片機(jī)處理轉(zhuǎn)換出來的數(shù)字信號。光敏電阻的入射光強(qiáng),電阻減小;入射光弱,電阻增大。該器件一般可用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。本電路制作中,將光敏電阻分別串聯(lián)2K電阻和10K滑動變阻器,再接通電源,調(diào)試過程中,還需將三個光敏電阻進(jìn)行校準(zhǔn),使得在同一光強(qiáng)下從光敏電阻一端的電壓值盡量保精彩文檔實(shí)用標(biāo)準(zhǔn)文案持一致。光敏電阻網(wǎng)絡(luò)電路如圖 3.4。圖3.4 光敏電阻網(wǎng)絡(luò)電路3.4輸出選擇電路的設(shè)計輸出選擇電路可用數(shù)據(jù)選擇器來實(shí)現(xiàn)。數(shù)據(jù)選擇器的邏輯功能是在地址選擇信號的控制下,從多路數(shù)據(jù)中選擇一路數(shù)據(jù)作為輸出信號。本設(shè)計中采用芯片IC4051作為主要芯片。該器件為8選1的數(shù)據(jù)選擇器,其中A、B、C管腳分別接單片機(jī)的P0.7、P0.6和P0.5以實(shí)現(xiàn)對地址的選擇,如當(dāng)ABC為001時,X4端的信號作為輸出信號送至X端,其具體結(jié)構(gòu)和電路接法見圖3.5。圖3.5 輸出選擇模塊精彩文檔實(shí)用標(biāo)準(zhǔn)文案3.5A/D模數(shù)轉(zhuǎn)換電路的設(shè)計A/D轉(zhuǎn)換器就是模擬/數(shù)字轉(zhuǎn)換器是將輸入的模擬信號轉(zhuǎn)換成為數(shù)字信號。本實(shí)驗(yàn)中利用模數(shù)轉(zhuǎn)換將模擬電壓值轉(zhuǎn)換為離散的數(shù)字量再送入單片機(jī)進(jìn)行數(shù)據(jù)處理。制作中選用芯片ADC0804為8位CMOS逐次比較型模數(shù)轉(zhuǎn)換器。該芯片工作電源電壓為5V,它的轉(zhuǎn)換分辨率為 8位256級,即表現(xiàn)為輸入電壓分辨率為 0.02V;也就是說輸入電壓每增加0.02V,轉(zhuǎn)換輸出的數(shù)據(jù)才加 1,經(jīng)計算可知在誤差允許的范圍之內(nèi), 故方案可行。模數(shù)轉(zhuǎn)換的過程:模數(shù)轉(zhuǎn)換包括采樣、保持、量化和編碼四個過程。在某些特定的時刻對這種模擬信號進(jìn)行測量叫做采樣,量化噪聲及接收機(jī)噪聲等因素的影響,采樣速率一般取 fs 2.5fmax。通常采樣脈沖的寬度 tw 是很短的,故采樣輸出是斷續(xù)的窄脈沖。要把一個采樣輸出信號數(shù)字化,需要將采樣輸出所得的瞬時模擬信號保持一段時間,這就是保持過程。 量化是將連續(xù)幅度的抽樣信號轉(zhuǎn)換成離散時間、離散幅度的數(shù)字信號,量化的主要問題就是量化誤差。假設(shè)噪聲信號在量化電平中是均勻分布的, 則量化噪聲均方值與量化間隔和模數(shù)轉(zhuǎn)換器的輸入阻抗值有關(guān)。編碼是將量化后的信號編碼成二進(jìn)制代碼輸出。 這些過程有些是合并進(jìn)行的,例如,采樣和保持就利用一個電路連續(xù)完成,量化和編碼也是在轉(zhuǎn)換過程中同時實(shí)現(xiàn)的, 且所用時間又是保持時間的一部分。 表3.1為芯片ADC0804的管腳和對應(yīng)功能功能。表3.1ADC0804管腳功能1.CS片選端,CS=0時芯片被選中2.RD讀控制端,RD=0時,DB0-DB7才會輸出3.WR寫控制端4.CLK-IN時鐘輸入端5.INTR中斷輸出端,低電平有效,接單片機(jī)外部中斷6.Vin+模擬電壓同相輸入端7.Vin-模擬電壓反相輸入端,使用時一般接模擬地8.A-GND模擬地9.Vref/2參考電壓端,此腳電壓為輸入最高電壓的1/210.DGND數(shù)字地11-18.D7-D0數(shù)據(jù)輸出19.CLKR時鐘外接電阻端20.VCC電源,5VADC0804是8位全MOS中速A/D轉(zhuǎn)換器、它是逐次逼近式A/D轉(zhuǎn)換器,片內(nèi)精彩文檔實(shí)用標(biāo)準(zhǔn)文案有三態(tài)數(shù)據(jù)輸出鎖存器,可以和單片機(jī)直接接口。單通道輸入,轉(zhuǎn)換時間大約為 100us。ADC0804轉(zhuǎn)換時序是:當(dāng)CS=0許可進(jìn)行A/D轉(zhuǎn)換。WR由低到高時,A/D開始轉(zhuǎn)換,一次轉(zhuǎn)換一共需要66-73個時鐘周期。CS與WR同時有效時啟動A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束產(chǎn)生INTR信號(低電平有效),可供查詢或者中斷信號。當(dāng)CS=0和RD=0時可以讀取數(shù)據(jù)結(jié)果。電路設(shè)計中,用單片機(jī)的P0.4、P0.3和P0.2分別控制芯片的使能端和讀寫控制端,電壓模擬量經(jīng)電阻R5送給6管腳,11-18管腳對應(yīng)連接單片機(jī)的P2口,即可將數(shù)字量讀出。另外管腳4和19外接大小為10K的電阻R4,管腳4與地之間接電容C8,大小為200pF,計算可得片內(nèi)時鐘為450KHz左右,具體電路如圖3.6。圖3.6 A/D模數(shù)轉(zhuǎn)換電路圖3.6 數(shù)碼管顯示電路的設(shè)計數(shù)碼管顯示電路采用兩位共陽數(shù)碼管 LG5022BH,其中由單片機(jī)的 P0.1和P0.0作為位選口,輸出低電平時數(shù)碼管被選中;P1口作為段選,輸出低電平時相應(yīng)的段被點(diǎn)亮。數(shù)碼管的驅(qū)動選用三極管S8550,電阻R9和R10選取1K的阻值大小,以提供合適的電流使三極管導(dǎo)通。數(shù)碼管顯示原理:數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管, 八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示) ;按能顯示多少個 “8”分為可 1位、2位、位等等數(shù)碼管。按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。 共陽數(shù)碼管精彩文檔實(shí)用標(biāo)準(zhǔn)文案是指將所有發(fā)光二極管的陽極接到一起形成公共陽極 (COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極 COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極 (COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極 COM接到地線 GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字。根據(jù)數(shù)碼管的驅(qū)動方式的不同, 可以分為靜態(tài)式和動態(tài)式兩類。下圖為數(shù)碼管顯示電路。圖3.7 數(shù)碼管顯示電路3.7 本章小結(jié)本章從這五個方面對系統(tǒng)各個功能模塊的內(nèi)容與工作方式做了介紹,是本論文主要介紹的內(nèi)容。經(jīng)查閱相關(guān)資料確定了本文所需要設(shè)計的單片機(jī)的類型—AT89C51。根據(jù)實(shí)際情況與技術(shù)要求,結(jié)合已確定的系統(tǒng)結(jié)構(gòu)框圖對各部分進(jìn)行設(shè)計,包括單片機(jī)最小系統(tǒng)、光敏電阻網(wǎng)絡(luò)、A/D模數(shù)轉(zhuǎn)換、數(shù)碼管顯示電路以及輸出選擇電路,并對每一部分都進(jìn)行了較詳細(xì)的敘述。精彩文檔實(shí)用標(biāo)準(zhǔn)文案第4章 系統(tǒng)軟件設(shè)計4.1軟件流程圖軟件流程圖如下圖:開始單片機(jī)初始化A/D 模數(shù)轉(zhuǎn)換函數(shù)定義光強(qiáng)數(shù)值顯示函數(shù)和光照方向顯示函數(shù)定義掃描三個光敏電阻對應(yīng)的端口判斷它們大小并給出其中最大值及其方向顯示數(shù)值為( X-40)*10/21光強(qiáng)顯示及方向顯示,并延時圖4.1 軟件流程圖精彩文檔實(shí)用標(biāo)準(zhǔn)文案4.2 Keil軟件4.2.1 Keil軟件簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī) C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比, C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。 C語言豐富而實(shí)用的語句決定了 C語言程序靈活性以及強(qiáng)大的代碼組織能力,利用 C語言,我們可以很方便地編寫出龐大的工程,可以很輕松地實(shí)現(xiàn)多人協(xié)作編程。用過匯編語言后再使用C來開發(fā),體會更加深刻。 KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全 Windows界面。下圖為 Keil軟件主界面。圖4.2Keil 軟件界面精彩文檔實(shí)用標(biāo)準(zhǔn)文案4.2.2Keil 工程的建立及編譯首先啟動Keil軟件的集成開發(fā)環(huán)境,可以從桌面上直接雙擊uVision的圖標(biāo)以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有 3個標(biāo)簽,分別是Files、Regs、和Books,這三個標(biāo)簽頁分別顯示當(dāng)前項(xiàng)目的文件結(jié)構(gòu)、 CPU的寄存器及部份特殊功能寄存器的值(調(diào)試時才出現(xiàn))和所選 CPU的附加說明文件1、源文件的建立使用菜單“File->New”或者點(diǎn)擊工具欄的新建文件按鈕 ,即可在項(xiàng)目窗口的右側(cè)打開一個新的文本編緝窗口,在該窗口中輸入?yún)R編語言源程序保存該文件,注意必須加上擴(kuò)展名(匯編語言源程序一般用 asm或a51為擴(kuò)展名),這里假定將文件保存為 exam1.asm。需要說明的是,源文件就是一般的文本文件 ,不一定使用 Keil軟件編寫,可以使用任意 文本編緝器編寫,而且,Keil的編緝器對漢字的支持不好, 建議使用UltraEdit之類的編緝 軟件進(jìn)行源程序的輸入。2、建立工程文件在項(xiàng)目開發(fā)中,并不是僅有一個源程序就行了,還要為這個項(xiàng)目選擇CPU(Keil支持?jǐn)?shù)百種CPU,而這些CPU的特性并不完全相同),確定編譯、匯編、連接的參數(shù),指定調(diào)試的方式,有一些項(xiàng)目還會有多個文件組成等,為管理和使用方便, Keil使用工程(Project)這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中,只能對工程而不能對單一的源程序進(jìn)行編譯(匯編)和連接等操作,下面我們就一步一步地來建立工程。點(diǎn)擊“Project->NewProject”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,你可以在編緝框中輸入一個名字(設(shè)為exam1),不需要擴(kuò)展名。點(diǎn)擊“保存”按鈕,出現(xiàn)第二個對話框,如圖5.2所示,這個對話框要求選擇目標(biāo)CPU(即你所用芯片的型號),Keil支持的CPU很多,我們選擇Atmel公司的89C51芯片。點(diǎn)擊ATMEL前面的“+”號,展開該層,點(diǎn)擊其中的89C51,然后再點(diǎn)擊“確定”按鈕,回到主界面,此時,在工程窗口的文件頁中,出現(xiàn)了“Target1”,前面有“+”號,點(diǎn)擊“+”號展開,可以看到下一層的“SourceGroup1”,這時的工程還是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入,點(diǎn)擊“ SourceGroup1”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個下拉菜單,如圖 2所示。選中其中的“AddfiletoGroup”“SourceGroup1”,出現(xiàn)一個對話框,要求尋找源文件,注意,該精彩文檔實(shí)用標(biāo)準(zhǔn)文案對話框下面的“文件類型” 默認(rèn)為Csourcefile(*.c),也就是以C為擴(kuò)展名的文件,而我們的文件是以 asm為擴(kuò)展名的,所以在列表框中找不到 exam1.asm,要將文件類型改掉,點(diǎn)擊對話框中“文件類型”后的下拉列表,找到并選中“ AsmSourceFile(*.a51,*.asm),這樣,在列表框中就可以找到 exam1.asm文件了。雙擊exam1.asm文件,將文件加入項(xiàng)目,注意,在文件加入項(xiàng)目后,該對話框并不消失,等待繼續(xù)加入其它文件,但初學(xué)時常會誤認(rèn)為操作沒有成功而再次雙擊同一文件,這時會出現(xiàn)如圖4所示的對話框,提示你所選文件已在列表中,此時應(yīng)點(diǎn)擊“確定”,返回前一對話框,然后點(diǎn)擊“Close”即可返回主界面,返回后,點(diǎn)擊“SourceGroup1”前的加號,會發(fā)現(xiàn) exam1.asm文件已在其中。雙擊文件名,即打開該源程序。圖4.3工程建立好以后,還要對工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。首先點(diǎn)擊左邊Project窗口的Target1,然后使用菜單“Project->Optionfortarget‘target1’”即出現(xiàn)對工程設(shè)置的對話框,這個對話框可謂非常復(fù)雜,共有8個頁面,要全部搞清可不容易,好在絕大部份設(shè)置項(xiàng)取默認(rèn)值就行了。設(shè)置對話框中的 Target頁面,如圖5所示,Xtal后面的數(shù)值是晶振頻率值,默認(rèn)值是所選目標(biāo)CPU的最高可用頻率值,對于我們所選的 AT89C51而言是 24M,該數(shù)值與最終產(chǎn)生的目標(biāo)代碼無關(guān),僅用于軟件模擬調(diào)試時顯示程序執(zhí)行時間。正確設(shè)置該數(shù)值可使顯示時間與實(shí)際所用時間一致,一般將其設(shè)置成與你的硬件所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時間,也可以不設(shè),這里設(shè)置為 12。MemoryModel用于設(shè)置RAM使用情況,有三個選擇項(xiàng),Small是所有變量都在單片機(jī)的內(nèi)部RAM中;Compact是可以使用一頁外部擴(kuò)展RAM,而Larget則是可以使用全部外部的擴(kuò)展RAM。CodeModel用于設(shè)置ROM空間的使用,同樣也有三個選擇項(xiàng),即Small模式,只用低于2K的程序空間;Compact模式,單個函數(shù)的代碼量不能超過2K,整個程序可以使用64K程序空間;Larget模式,可用全部64K空間。精彩文檔實(shí)用標(biāo)準(zhǔn)文案Useon-chipROM選擇項(xiàng),確認(rèn)是否僅使用片內(nèi)ROM(注意:選中該項(xiàng)并不會影響最終生成的目標(biāo)代碼量);Operating項(xiàng)是操作系統(tǒng)選擇,Keil提供了兩種操作系統(tǒng):Rtxtiny和Rtxfull,關(guān)于操作系統(tǒng)是另外一個很大的話題了,通常我們不使用任何操作系統(tǒng),即使用該項(xiàng)的默認(rèn)值 :None(不使用任何 操作系統(tǒng));OffChipCodememory用以確定系統(tǒng)擴(kuò)展 ROM的地址范圍,OffChipxDatamemory組用于確定系統(tǒng)擴(kuò)展 RAM的地址范圍,這些選擇項(xiàng)必須根據(jù)所用硬件來決定,由于該例是單片應(yīng)用,未進(jìn)行任何擴(kuò)展,所以均不重新選擇,按默認(rèn)值設(shè)置。圖4.4設(shè)置對話框中的OutPut頁面,如圖4.4所示,這里面也有多個選擇項(xiàng),其中CreatHexfile用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機(jī)芯片的HEX格式文件,文件的擴(kuò)展名為.HEX),默認(rèn)情況下該項(xiàng)未被選中,如果要寫片做硬件實(shí)驗(yàn),就必須選中該項(xiàng),這一點(diǎn)是初學(xué)者易疏忽的,在此特別提醒注意。選中 Debuginformation將會產(chǎn)生調(diào)試信息,這些信息用于調(diào)試,如果需要對程序進(jìn)行調(diào)試,應(yīng)當(dāng)選中該項(xiàng)。Browseinformation是產(chǎn)生瀏覽信息,該信息可以用菜單view->Browse來查看,這里取默認(rèn)值。按鈕“SelectFolderforobjects”是用來選擇最終的目標(biāo)文件所在的文件夾,默認(rèn)是與工程文件在同一個文件夾中。NameofExecutable用于指定最終生成的目標(biāo)文件的名字,默認(rèn)與工程的名字相同,這兩項(xiàng)一般不需要更改。工程設(shè)置對話框中的其它各頁面與C51編譯選項(xiàng)、A51的匯編選項(xiàng)、BL51連接器的連接選項(xiàng)等用法有關(guān),這里均取默認(rèn)值,不作任何修改。圖4.5以下僅對一些有關(guān)頁面中常用的選項(xiàng)作一個簡單介紹。Listing標(biāo)簽頁用于調(diào)整生成的列表文件選項(xiàng)。在匯編或編譯完成后將產(chǎn)生精彩文檔實(shí)用標(biāo)準(zhǔn)文案(*.lst)的列表文件,在連接完成后也將產(chǎn)生( *.m51)的列表文件,該頁用于對列表文件的內(nèi)容和形式進(jìn)行細(xì)致的調(diào)節(jié),其中比較常用的選項(xiàng)是“ CCompileListing”下的“AssambleCode”項(xiàng),選中該項(xiàng)可以在列表文件中生成 C語言源程序所對應(yīng)的匯編代碼。C51標(biāo)簽頁用于對Keil的C51編譯器的編譯過程進(jìn)行控制,其中比較常用的是“CodeOptimization”組,該組中Level是優(yōu)化等級,C51在對源程序進(jìn)行編譯時,可以對代碼多至9級優(yōu)化,默認(rèn)使用第8級,一般不必修改,如果在編譯中出現(xiàn)一些問題,可以降低優(yōu)化級別試一試。Emphasis是選擇編譯優(yōu)先方式,第一項(xiàng)是代碼量優(yōu)化(最終生成的代碼量?。?;第二項(xiàng)是速度優(yōu)先(最終生成的代碼速度快);第三項(xiàng)是缺省。默認(rèn)的是速度優(yōu)先,可根據(jù)需要更改。設(shè)置完成后按確認(rèn)返回主界面,工程文件建立、設(shè)置完畢。在設(shè)置好工程后,即可進(jìn)行編譯、連接。選擇菜單Project->Buildtarget,對當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改,軟件會先對該文件進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;如果選擇RebuildAlltargetfiles將會對當(dāng)前工程中的所有文件重新進(jìn)行編譯然后再連接,確保最終生產(chǎn)的目標(biāo)代碼是最新的,而 Translate .項(xiàng)則僅對該文件進(jìn)行編譯,不進(jìn)行連接。以上操作也可以通過工具欄按鈕直接進(jìn)行。圖 5.5是有關(guān)編譯、設(shè)置的工具欄按鈕,從左到右分別是:編譯、編譯連接、全部重建、停止編譯和對工程進(jìn)行設(shè)置。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置。圖4.6對源程序反復(fù)修改之后,最終會得到如圖 5.6所示的結(jié)果,提示獲得了名為exam1.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時還產(chǎn)生了一些其它相關(guān)的文件,可被用于Keil的仿真與調(diào)試,這時可以進(jìn)入下一步調(diào)試的工作。圖4.7精彩文檔實(shí)用標(biāo)準(zhǔn)文案4.3 程序清單#include<at89x51.h>#defineucharunsignedchar#defineuintunsignedint#defineadcdataP0#defineledP1#defineclockP2_0#definestartP2_1#defineeocP2_3#defineaddaP2_4#defineaddbP2_5#defineaddcP2_6#defineoeP2_7uchartemp;floattemp1;uinttemp2;voiddelay(ucharxms){uchari,j;for(i=xms;i>0;i--)for(j=120;j>0;j--);}voidleddisply(){temp1=temp*1.0/255*500;P3_3=0;P1=temp1/100;P3_2=1;delay(10);P3_2=0;temp2=temp1;temp2=temp2%100;精彩文檔實(shí)用標(biāo)準(zhǔn)文案P1=temp2/10;P3_1=1;delay(10);P3_1=0;P1=temp2%10;P3_0=1;delay(10);P3_0=0;}main(){adda=0;addb=0;addc=0;led=0;start=0;start=1;start=0;while(1){clock=~clock;adcdata=0xff;if(eoc==1){oe=1;temp=adcdata;oe=0;leddisply();start=0;start=1;start=0;}}}精彩文檔實(shí)用標(biāo)準(zhǔn)文案4.4PROTEUS軟件繪圖及仿真Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件,它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。 雖然目前國內(nèi)推廣剛起步, 但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。 Proteus是世界上著名的 EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到 PCB設(shè)計,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、 PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33 、AVR、ARM、8086和MSP430等,2010年又增加了 Cortex 和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持 IAR、Keil 和MPLAB等多種編譯器。下圖為 Proteus 主界面。圖4.8Protues 主界面Protues基本操作選擇要使用的元件在PickDevice窗口雙擊相應(yīng)元件名稱,即可將元件添加到主界面左側(cè)的列表中精彩文檔實(shí)用標(biāo)準(zhǔn)文案放置元件到繪圖區(qū)單擊列表中的元件,然后在右側(cè)的繪圖區(qū)單擊,即可將元件放置到繪圖區(qū)。(每單擊一次鼠標(biāo)就繪制一個元件,在繪圖區(qū)空白處單擊右鍵結(jié)束這種狀態(tài))刪除元件右擊元件一次表示選中 (被選中的元件呈紅色) ,選中后再一次右擊則是刪除。移動元件右擊選中,然后用左鍵拖動。旋轉(zhuǎn)元件左下角旋轉(zhuǎn)工具欄元件連線在引腳上鼠標(biāo)指針變成 X狀,單擊,移動到目的引腳,再次單擊。刪除連線同刪除元件繪制電源和地單擊工具欄上的左起第8個工具(Inter-Sheet
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽理工大學(xué)《面向?qū)ο蟪绦蛟O(shè)計》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《機(jī)械工程控制基礎(chǔ)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《粉體材料科學(xué)基礎(chǔ)》2022-2023學(xué)年第一學(xué)期期末試卷
- 關(guān)于空氣維保合同的情況說明
- 國企購車合同范本
- 合同 能源管理方式
- 合同法937條原文內(nèi)容
- 2024不銹鋼制作合同范本產(chǎn)品制作合同范本
- 2024小區(qū)簡易房屋裝修合同范本
- 2024家庭裝修合同補(bǔ)充協(xié)議書范本
- MSC232(82)-通過經(jīng)修訂的電子海圖顯示和信息系統(tǒng)(ECDIS)性能標(biāo)準(zhǔn)(中英)
- 中醫(yī)住院病歷與中醫(yī)門診病歷書寫規(guī)范格式以及范例
- 法律有情無情辯論-反方資料-總結(jié)整理-合肥市中學(xué)生辯論賽
- 山大《毛澤東思想和中國特色社會主義理論體系概論》教案第3章 社會主義改造理論
- 《石油建設(shè)安裝工程預(yù)算定額》工程量計算規(guī)則
- (完整版)企業(yè)專利培訓(xùn)課件
- 如何成為一位合格管理者(1)ppt課件
- 《道德與法治》期中考試質(zhì)量分析教學(xué)
- 體溫記錄表【范本模板】
- 易綱貨幣銀行學(xué)利率的計算
- 陳忠喜——大慶油田采出水處理工藝及技術(shù)最終稿PPT課件
評論
0/150
提交評論