單片機最小系統電路設計,編程及製作方法

admin @ 2014-03-19 , reply:0

概述
 單片機最小系統電路設計,編程及製作方法    單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的以單片機為核心元件的可以正常工作的具有特定……

 單片機最小系統電路設計,編程及製作方法

     單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的以單片機為核心元件的可以正常工作的具有特定功能的單片機系統,是單片機產品開發的核心電路,下面我們就來設計單片機最小系統,實現的功能為八路流水燈,同時應具有上電複位和手動複位功能,並且使用單片機片內程序存儲器村放用戶程序。本文將全面介紹了單片機產品的設計過程,從功能框圖設計、原理圖設計、PCB板布局、硬體電路的焊接、程序的編寫、以及單片機產品的製作步驟和單片機產品調試技巧

   一、單片機最小系統框圖設計

   對51系列單片機來說,單片機要正常工作,必須具有五個基本電路,也稱五個工作條件:

1、電源電路,

2、時鐘電路,

3、複位電路,

4、程序存儲器選擇電路,

5、外圍電路。

因此,單片機最小系統一般應該包括單片機、晶振電路、複位電路、外圍電路等,如下面的框圖所示:

圖 1

  二、單片機最小系統原理圖設計

   1、電源電路設計

   單片機晶元的第40腳為正電源引腳VCC,一般外接+5V電壓。第20腳為接地引腳GND,常見電源電路設計如下圖2所示:

  2、時鐘電路設計

  單片機是一種時序電路,必須要有時鐘信號才能正常工作。單片機晶元的18腳(XTAL2)、19腳(XTAL1)分別為片內反向放大器的輸出端和輸入端,只要在18腳(XTAL2)和19腳(XTAL1)之間接上一個晶振,再加上2個30PF的瓷片電容即可構成單片機所需的時鐘電路。常見的時鐘電路如下:

注意,當採用外部時鐘時,19腳(XTAL1)接地,18腳(XTAL2)接外部時鐘信號,本文就不詳細討論了。

  3、複位電路的設計

  單片機晶元的第9腳RST(Reset)是複位信號輸入端。單片機系統在開機時或在工作中因干擾而使程序失控,或工作中程序處於某種死循環狀態等情況下都需要複位。複位的作用是使中央處理器CPU以及其他功能部件都恢復到一個確定的初始狀態,並從這個狀態開始工作。MCS-51系列單片機的複位靠外部電路實現,信號從RST引腳輸入,高電平有效,只要保持RST引腳高電平2個機器周期,單片機就能正常複位。 常見的複位電路有上電複位電路和按鍵複位電路二種:
 

  4、程序存儲器選擇電路

  單片機晶元的第31腳(EA)為內部與外部程序存儲器選擇輸入端。當EA引腳接高電平時,CPU先訪問片內4KB的程序存儲器,執行內部程序存儲器中的指令,當程序計數器超過0FFFH時,將自動轉向片外程序存儲器,既是從1000H地址單元開始執行指令;當EA引腳接低電平時,不管片內是否有程序存儲器,CPU只訪問片外程序存儲器。
AT89S51內部有4KB的程序存儲器,所以根據該腳的引腳功能,只要將該腳接上高電平,才能先從片內程序存儲器開始取指令。
常見的程序存儲器選擇電路就是將第31腳直接接到正電源上。

  5、外圍電路的設計

  外圍電路的設計主要依據項目要實現的功能,本項目要實現的功能是用單片機控制一個LED,先來分析下面的LED工作原理圖:

如果用“1”表示高電平,“0”表示低電平。當開關K接上高電平,既是K=1時,LED1不亮;當開關K接上低電平,既是K=0時,LED1亮。LED1的亮與滅完全受開關K的控制。
如果把開關K換成單片機的第1個引腳,電路設計如下:

現在只需要通過指令SETB P1.0就可以控制單片機的第1個引腳輸出高電平,進而控制LED的不亮。或通過指令CLR P1.0控制單片機的第1個引腳輸出低電平,進而控制LED的發光。從圖6到圖7實現了開關控制到軟體控制LED的一種轉變。單片機的主要控制功能是通過單片機的I/O口按不同時序輸出不同的高低電平控制外部的電路實現特定的功能。依據單片機的P0、P1、P2、P3口的功能特點和單片機最小系統要實現簡單的點亮一個LED的功能,我們採用P1.0引腳作為控制一個LED的埠,依據單片機的引腳功能和單片機工作的條件,綜合上面的設計電路,設計的AT89S51單片機最小應用系統如下圖8所示,電路原理圖設計如下:

  
圖 8

  三、單片機最小系統程序編寫

  當單片機最小應用系統的硬體電路設計完畢后,單片機最小應用系統的設計工作還沒有完成,因為單片機產品需要硬體+軟體共同支持才能正常工作,這裡提到的軟體主要是指用戶編寫的源程序。這也是區別於傳統的電子產品的地方。

  本系統要實現的主要功能是點亮一個LED,根據外圍電路的設計,只需要通過指令控制單片機的第一個引腳輸出低電平,就可以使第一個LED發光。

  採用彙編語言編程序如下:

ORG 0000H ;起始偽指令ORG,指示隨後的指令代碼從0000H地址單元開始存放。
LJMP START ;跳轉到標號START處去執行。
ORG 0030H ;起始偽指令ORG,指示隨後的指令代碼從0030H地址單元開始存放。
START:CLR P1.0;第一個引腳輸出低電平,點亮LED。
END ;結束偽指令,說明程序到此結束。

  採用C語言編程序如下:

#include<reg52.h>//包含頭文件
sbit led1=P1^0;//定義變數led1為P1.0,也就是單片機的第一個引腳。
void main()//主程序開始,C語言唯一的一個主程序。
{
led1=0;//讓單片機的第一個引腳輸出低電平,點亮LED。
}

  四、單片機最小系統所需的元件清單

  要製作本單片機最小系統,需要購買下面的元件,清單如下:

   五、單片機最小系統製作步驟

  (一)硬體電路的焊接步驟

  第一步:到電子市場上購買元件清單上列出的材料,正常的價格在20元以內。
第二步:對所有元件進行檢測,確保每個元件的質量。
第三步:在萬能板上依據單片機最小應用系統原理圖設計PCB電路圖。進行規劃振蕩電路、複位電路、電源電路、外圍電路、單片機晶元的布局時要疏密合理。
第四步:依據PCB電路圖,先焊接振蕩電路,再焊接外圍電路,複位電路,電源電路。焊接的時候要注意晶振電路應盡量靠近單片機晶元,性能會更穩定。

   (二)把用戶編寫的程序寫入單片機晶元中。

  第一步:打開KEIL C51軟體,建立工程文件和程序文件並做好相應的設置,把上面的八路流水燈源程序輸入電腦並保存好。
第二步:用KEIL C51調試、編譯程序,並生成目標文件*.HEX。
第三步:接好編程器,打開DownloadMcu軟體,把目標文件寫入單片機晶元中。
第四步:取下晶元,裝在單片機最小系統上,接上電源,調試程序。

   六、單片機最小系統的調試技巧

   正常情況下,接上電源后都可以正常觀測到結八路流水燈的效果,如果沒有效果,那我們應該從下面幾個步驟來檢測:
第一步:用萬用表檢測電源是否接通,主要是看看40腳和20腳之間是否有5V電壓。
第二步:檢測第31引腳,是否有5V電源,目的是確保使用了片內存儲器。
第三步:檢測P3口或P2口的空閑電壓是否有5V電壓,如果沒有,說明單片機系統沒有工作。
第四步:用萬用表檢測複位電路,通過複位按鍵,檢測第9腳的電壓是否會變化。如果按鍵沒有按下,電壓為0V,按鍵按下后,電壓立刻變為5V,之後很快的降為0V,則表示複位電路正常。
第五步:用示波器檢測振蕩電路,主要是檢測第18、19腳。檢測是否有振蕩波產生。如果有,表示振蕩電路正常。
最後,檢測每條PCB板上的焊接走線是否有短路、斷路、虛焊等焊接故障,一定要確保焊接走線正常導電,初學者是最容易犯這個錯誤的。

   單片機最小系統經過我們一段時間的設計、焊接、編程、調試后,達到了預定的點亮一個LED的功能,雖然只是簡單的焊接和調試,但從中我們也接觸了不少的關於單片機的知識。此次設計讓筆者對單片機有了初步的認識,從而能夠了解單片機工作的模式和具體過程,明白了怎樣利用單片機來設計滿足自己設定功能的作品,以及利用單片機來控制系統等。掌握了這些就可以利用單片機最小系統來拓展功能,製作自己想做的東西,對科研立項等活動有很大的幫助作用。

  本節課我們做一個單片機小製作,這裡面涉及到很的實踐方面的知識,比如編輯軟體的使用,單片機實驗板的使用等知識,下節課我們將陸續給大家講清楚這些關鍵操作。




[admin via 研發互助社區 ] 單片機最小系統電路設計,編程及製作方法已經有2836次圍觀

http://cocdig.com/docs/show-post-39629.html