單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到現(xiàn)在的32位300M的高速單片機。
單片機的最小系統(tǒng)就是使單片機能夠?qū)崿F(xiàn)簡單運行的最少的原件的組合。最小系統(tǒng)一般包括時鐘電路、復(fù)位電路和電源電路三部分組成。
時鐘電路由晶體振蕩器(簡稱“晶振”)和起振電容組成,現(xiàn)在也有內(nèi)置電容的晶振,但是價格偏高。晶振可以為單片機提供一個“相對精準”的時間值,所以晶振電路也叫做時鐘電路。
復(fù)位電路通常是由一個上拉電阻讓其保持高電平即可,若需要將系統(tǒng)進行復(fù)位重置,將復(fù)位引腳與GND短接即可實現(xiàn)服務(wù)重置。(具體的看單片機數(shù)據(jù)手冊,有的是下拉)
供電電路為單片機的運行提供能量,沒有電就無法進行工作。
晶振是單片機最小系統(tǒng)的“心臟”,我們對晶振的選型是通過頻率進行確定的。我們比較熟悉的11.0592MHz晶振、12MHz晶振,反應(yīng)的就是振動的頻率。我們以11.0592MHz晶振為例,11.0592MHz反應(yīng)的是在1秒鐘的時間內(nèi),晶振會完成11.0592M次高低電平的變化。
這里我們來分析Arduino開發(fā)板的單片機——Atmega 328P的最小系統(tǒng)設(shè)計,這里我們先來看一下該芯片數(shù)據(jù)手冊內(nèi)相關(guān)內(nèi)容。
這部分是Atmega 328P單片機的引腳圖,可以看到總共有四種封裝,三種是貼片的、一種是直插的。每個引腳都有它們各自的功能,功能描述如下。
VCC和GNG就無需多說,這個是供電引腳,為系統(tǒng)運行進行供能。
Port B (PB7:0) XTAL1/XTAL2/TOSC1/TOSC2,端口B是一個8位的雙向I/O端口與內(nèi)部上拉電阻(每位選擇)。端口B輸出緩沖器具有對稱驅(qū)動特性,具有高接收器和源能力。作為輸入,端口B引腳是外部拉低將源電流,如果上拉電阻被激活。端口B引腳是tri聲明當復(fù)位條件成為活動,即使時鐘不運行。根據(jù)時鐘選擇熔斷器設(shè)置,PB可作為反相振蕩器放大器和內(nèi)部時鐘工作電路的輸入。根據(jù)時鐘選擇熔斷器設(shè)置,PB7可作為反相振蕩器放大器的輸出。如果使用內(nèi)部校準RC振蕩器作為芯片時鐘源,PB7…6被用作TOSC2…如果設(shè)置了asr中的AS2位,則為異步定時器/Counter2輸入1。
上面我是翻譯數(shù)據(jù)手冊的,是PB這一組的,有些引腳具備多個功能(叫做“引腳復(fù)用”)。這里的XTAL1和XTAL2是改單片機的時鐘引腳,我們需要接入一個時鐘電路。其他的引腳功能根據(jù)自己的需要來配置即可,這部分內(nèi)容會留在我們后期的編程來講解。
端口C是一個7位的雙向I/O端口與內(nèi)部上拉電阻(為每個位選擇)。PC5……0輸出緩沖器具有對稱驅(qū)動特性,具有高吸收和源能力。作為輸入,端口C引腳是外部拉低將源電流,如果上拉電阻被激活。端口C引腳是tri聲明當復(fù)位條件成為活動,即使時鐘不運行。
上面我是翻譯數(shù)據(jù)手冊的,是PC這一組的,PC引腳具備ADC采集的功能,同時其中的PC4和PC5具備IIC通訊的功能,大家在編程使用的時候要小心。
其中PC6是復(fù)位引腳,默認處于高電平。當該引腳處于低電平時,整個系統(tǒng)講進行復(fù)位重啟。
端口D是一個8位的雙向I/O端口與內(nèi)部上拉電阻(為每個位選擇)。端口D輸出緩沖器具有對稱驅(qū)動特性,具有高接收器和源能力。作為輸入,端口D引腳是外部拉低將源電流,如果上拉電阻被激活。當復(fù)位條件變得活躍時,端口D引腳是三種狀態(tài),即使時鐘沒有運行。
上面我是翻譯數(shù)據(jù)手冊的,是PD這一組的,具體的功能大家可以看引腳的描述。PD這一組的功能還是蠻適用的。
最后還有個AVCC和AREF。AREF是A/D轉(zhuǎn)換器的模擬參考引腳,我們的AD采集范圍是0~5V,這是因為AREF引腳的電壓是在5V,如果AREF引腳處于3.3V,那么我們AD采集范圍就是0~3.3V,所以AREF也叫做模擬信號基準電壓。AVCC默認是接在5V的,數(shù)據(jù)手冊寫的我也沒看太明白,說是引腳的基準電壓。
綜上所述,那么我們這個電路圖大概就已經(jīng)出來了!
XTAL1引腳和XTAL2引腳接一組時鐘電路,RESET(PC6)引腳需要上拉,同時我們留出一個按鍵連接GND,當按鍵按下時系統(tǒng)執(zhí)行復(fù)位,AREF是模擬量基準電壓,數(shù)據(jù)手冊說是接一個低通濾波,我們可以直接把改引腳接104電容、接GND即可,VCC個GND提供供電,其他引腳留出供使用即可,那么最終的最小系統(tǒng)圖如下所示。
這是最小系統(tǒng),是保障單片機能運行的最低要求。你可以根據(jù)自己的需求,增加一些電源指示燈啊、12V轉(zhuǎn)5V的電路啊等內(nèi)容。
當然初學(xué)者學(xué)習(xí)該內(nèi)容還是要多去看大佬們做好的電路、去嘗試分析大佬們做好的電路、去驗證大佬們做好的電路,電子電路的學(xué)習(xí)沒用捷徑,只能靠自身的知識積累和眼界。
評論