微控制器實習報告微控制器實訓報告怎麼寫

微控制器實習報告微控制器實訓報告怎麼寫

  隨著個人素質的提升,報告的使用頻率呈上升趨勢,報告中提到的所有資訊應該是準確無誤的。相信許多人會覺得報告很難寫吧,下面是小編精心整理的微控制器實習報告微控制器實訓報告怎麼寫,希望對大家有所幫助。

  一 實習目的

  1. 透過對微控制器小系統的設計、焊接、裝配,掌握電路原理圖及電子線路的基本焊接裝配工藝、規範及注意事項;

  2. 透過對系統板的測試,瞭解系統板的工作原理及效能,掌握元器件及系統故障的排除方法;

  3. 掌握程式編制及除錯方法,完成系統初始化、儲存器操作、埠操作、鍵盤顯示等程式的編制及除錯(組合語言、C語言均可);

  4. 透過微控制器系統的組裝,除錯以及程式編制、除錯及執行,與理論及實驗的有機結合和指導教師的補充介紹,使學生掌握控制系統的工作原理、開發方法和操作方法。

  5. 培養學生解決實際問題的能力,提高對理論知識的感性認識。

  二 實習意義

  透過本實習不但可以掌握微控制器軟、硬體的綜合除錯方法,而且可以熟練掌握電路原理圖,激發對微控制器智慧性的探索精神,提高學生的綜合素質,培養學生應用微控制器實現對工業控制系統的設計、開發與除錯的能力。在製作學習過程中,不但可以掌握軟、硬體的綜合除錯方法,而且可以使學生對微控制器智慧性產生強烈的慾望。達到最大限度地掌握微機應用技術,軟體及介面設計和資料採集與處理的技能,培養電綜合實踐素質的目的。

  三 系統基本組成及工作原理

  1 系統基本組成

  系統以微控制器STC89C52作為控制核心,各部分基本組成框圖如圖1所示。

  流水燈部分由微控制器、鍵盤模組等組成;

  四位數碼顯示,程式設計實現30秒倒計時部分由微控制器、鍵盤模組、液晶顯示模組等組成;

  按鍵功能部分透過按鍵控制流水燈部分、四位數碼顯示部分;

  電子鐘部分由微控制器、鍵盤模組、液晶顯示模組等組成;

  使用功能鍵實現相應的功能組合部分透過流水燈部分、30秒倒計時部分實現;

  模數轉換部分由微控制器、ADC0809轉換模組、鍵盤模組、液晶顯示模組等組成。

  2 系統工作原理

  本設計採用STC89C52RC微控制器作為本系統的控制模組。微控制器可把由ADC0809及微控制器中的資料利用軟體來進行處理,從而把資料傳輸到顯示模組,實現阻值大小的顯示。以數碼管顯示為顯示模組,把微控制器傳來的資料顯示出來。在顯示電路中,主要靠按鍵來實現各種顯示要求的選擇與切換。

  對於模數轉換部分,微控制器89C51透過P0口的I/O線向ADC0809傳送鎖存地址以及復位、啟動轉換等訊號,並查詢轉換狀態。 ADC0809啟動轉換後,將0-8個通道一次輸入的電壓訊號轉換成相應的數字量,供89c51讀取使用,並且將EOC置1供微控制器查詢轉換狀態。而滑動變阻器負責將阻值訊號轉換成電壓訊號,再送到ADC0809的八個通道。當微控制器查詢到轉換結束後依次讀取資料並按照現實的需要進行二進位制轉BCD碼等處理最後控制顯示電路顯示出數字。 其實現方式是:ADC0809轉換來自3通道的阻值變化訊號。80c51的P2口與ADC0809的輸出相連用於讀取轉換結果,同時P0.0-P0.6作控制匯流排,向ADC0809傳送鎖存、啟動等控制資訊,並查詢EOC狀態。ALE經分頻後給ADC0809提供時鐘訊號。P3.0和P3.1口用於向顯示電路輸出段碼,P3.2-P3.7用於數碼管的位選。

  四 系統硬體設計

  結合本設計的要求和技術指標,透過對系統大致程式量的估計和系統工作的估計,考慮價格因素。選定AT89C51微控制器作為系統的主要控制晶片,8位模擬轉換器ADC0809進行阻值轉換。 逐次比較法A/D轉換器是目前種類最多、應用最廣的A/D轉換器,其原理即“逐位比較”,其過程類似於用砝碼在天平上稱物體重量。它由N位暫存器、A/D轉換器、比較器和控制邏輯等部分組成,N位暫存器代表N位二進位制碼。目前應用最廣的逐次比較法A/D轉換器有ADC0809。它是一種8路模擬輸入8位數字輸出的逐次比較法A/D轉換器件。其主要效能指標和特性如下:

  分表率:8位

  轉換時間:取決於晶片時鐘頻率,轉換一次時間位64個時鐘週期

  單一電源:+5v

  模擬輸入電壓範圍:單極性0-+5v;雙極性-5v-+5v

  具有可控三態輸出鎖存器

  啟動轉換控制位脈衝式,上升沿使內部所有暫存器清零,下降沿使A/D轉換開始。

  透過以上效能比較,我們不難看出ADC0809滿足本設計的要求,所以本設計採用ADC0809作為A/D轉換器

  1 按鍵電路設計

  利用微控制器的P1口擴充套件一個8位鍵盤。

  2 晶振與復位電路設計

  本設計採用的是上電覆位的'形式,如圖3.3所示,上電順進RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,只要高電平能保持復位所需要的兩個機器週期以上時間,微控制器就能實現復位操作。 晶振電路為微控制器提供工作所需要的時鐘訊號。震盪頻率越高,系統時鐘頻率也越高,微控制器執行的速度就越快。其電路如圖3.4所示。89C51的XTAL1和XTAL2兩個引腳跨接晶體振盪器和微調電容C1、C2形成反饋電路,就構成了穩定的自激振盪器,本設計的震盪器頻率為12MHZ。

  3 下載電路設計

  4 流水燈模組設計

  5 模數轉換模組設計

  6 顯示電路設計

  本設計採用六位數碼管。本系統採用共陽極動態掃描的方式連線。數碼管的段碼資料由89C51的P3.0-P3.1口送出,89C51的P3.2-P3.7輸出位選通訊號,只有被選中的那位數碼管才會顯示段碼

  7 整體電路設計

  五 系統軟體設計

  1主程式設計

  主程式採用分支結構,以狀態號標識系統所處的狀態。在上電初始化後即進入狀態號的輪詢掃描,狀態號的值決定了分支程式的入口。其中分支程式分別為:AD轉換模組(狀態號為0),數字模組狀態號為1),倒計時模組(狀態號為2),電子鐘模組(狀態號為3),功能組合模組(狀態號為4),流水燈模組(狀態號為5)。

  2 功能子程式設計

  2.1 流水燈模組

  流水燈模組利用微控制器的P3口,透過給P3口的各位送低電平,相應的實現流水燈有規律的點亮。

  2.2 30秒倒計時模組

  30秒倒計時模組利用微控制器的P3.0與P3.1口送相應的段控資料,P3.2-P3.7口送相應的位控資料。透過程式實現30秒倒計時。

  2.3 數字加減模組

  利用數碼管實現數字顯示,透過加一鍵或者是減一鍵實現數字變數的加一或者減一,進而實現利用數碼管顯示加一鍵、減一鍵功能。

  2.4 電子鐘模組

  利用數碼管實現時間顯示,透過加一鍵或者是減一鍵實現小時變數或者是分鐘變數的加一,從而實現調時功能。

  2.5 模數轉換模組

  對於模數轉換部分,微控制器89C51透過P0口的I/O線向ADC0809傳送鎖存地址以及復位、啟動轉換等訊號,並查詢轉換狀態。 ADC0809啟動轉換後,將0-8個通道一次輸入的電壓訊號轉換成相應的數字量,供89c51讀取使用,並且將EOC置1供微控制器查詢轉換狀態。而滑動變阻器負責將阻值訊號轉換成電壓訊號,再送到ADC0809的八個通道。

  當微控制器查詢到轉換結束後依次讀取資料並按照現實的需要進行二進位制轉BCD碼等處理最後控制顯示電路顯示出數字。 其實現方式是:ADC0809轉換來自3通道的阻值變化訊號。80c51的P2口與ADC0809的輸出相連用於讀取轉換結果,同時P0.0-P0.6作控制匯流排,向ADC0809傳送鎖存、啟動等控制資訊,並查詢EOC狀態。ALE經分頻後給ADC0809提供時鐘訊號。P3.0和P3.1口用於向顯示電路輸出段碼,P3.2-P3.7用於數碼管的位選。

  六 實習總結、體會

  本次微控制器實習我們一共完成了個模組的程式設計,包括:led顯示模組、數碼管顯示模組和鍵盤模組。分別實現了流水燈的迴圈點亮控制、數碼管的靜態和動態計數顯示,還有矩陣鍵盤按鍵控制數碼管顯示的程式設計。然後我們分別用protues系統模擬軟體對各個模組進行了模擬模擬,用keil軟體編制了組合語言程式,驗證了我們所設計的程式。 這次實習還使我理解了編寫程式的一些技巧。微控制器應用系統一般由包含多個模組的主程式和由各種子程式組成。每一模組都要完成一個明確的任務,實現某個具體的功能,如計算、接受、傳送、延時、顯示等。採用模組化程式設計方法,就是將這些具體功能程式進行獨立設計和分別除錯,最後將這些模組程式裝配成整體程式並進行聯合除錯。

  模組化程式設計方法的優點:一個模組可以為多個程式所共享;單個功能明確的程式模組的設計和除錯比較方便,容易完成;利用已經編好的成熟模組,將大大縮短開發程式的時間,降低開發成本。採用迴圈結構和子程式結構可以使程式的容量大大減少,提高程式的效率,節省記憶體。對於多重迴圈,要注意各重迴圈的初值和迴圈結束的條件,避免出現程式無休止迴圈的“死迴圈”現象; 透過這次的實習我發現,只有理論水平提高了,才能夠將課本知識與實踐相結合,理論知識服務於教學實踐,以增強自己的動手能力。這次實習十分有意義,這次實習我們知道了理論和實踐的距離,也知道了理論和實踐相結合的重要性。

  回顧起此次課程設計,感覺受益匪淺,從拿到題目到完成整個程式設計,從理論到實踐,學到很多很多的課堂理論中沒學到過的東西,不僅對鍵盤的識別技術這一章節的知識點有了深刻的認識,而且對這學期開設的微控制器這門課程有了更全面的瞭解,尤其是在學習使用proteus軟體片程式設計和模擬時收穫良多。透過這次微控制器課程設計,還使我懂得了實踐的重要性。同時在程式除錯的過程中提高自己的發現問題、解決問題、實際動手和獨立思考的能力。 這次課程設計能順利的完成,除了我們的努力外,當然也離不開指導老師申老師的辛勤指導,致使我在設計的過程中學到了很多實用性的知識。同時,對給過我幫助的所有同學和各位指導老師表示忠心的感謝!

最近訪問