單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路。下面給出一個51單片機的最小系統(tǒng)電路圖。 復(fù)位電路:一、復(fù)位電路的用途:單片機復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機,按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機也一樣,當(dāng)單片機系統(tǒng)在運行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。單片機復(fù)位電路如下圖: 二、復(fù)位電路的工作原理在書本上有介紹,51單片機要復(fù)位只需要在第9引腳接個高電平持續(xù)2US就可以實現(xiàn),那這個過程是如何實現(xiàn)的呢?在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當(dāng)按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會復(fù)位。所以可以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復(fù)位。 開機的時候為什么會復(fù)位:在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是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單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.1S內(nèi),單片機系統(tǒng)自動復(fù)位(RST引腳接收到的高電平信號時間為0.1S左右)。 按鍵按下的時候為什么會復(fù)位:在單片機啟動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引腳又接收到高電平。單片機系統(tǒng)自動復(fù)位。 晶振電路:晶振電路:晶振是晶體振蕩器的簡稱 在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò) 電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點 以頻率的高低分其中較低的頻率是串聯(lián)諧振 較高的頻率是并聯(lián)諧振 由于晶體自身的特性致使這兩個頻率的距離相當(dāng)?shù)慕咏?在這個極窄的頻率范圍內(nèi) 晶振等效為一個電感 所以只要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路 這個并聯(lián)諧振電路加到一個負(fù)反饋電路中就可以構(gòu)成正弦波振蕩電路 由于晶振等效為電感的頻率范圍很窄 所以即使其他元件的參數(shù)變化很大 這個振蕩器的頻率也不會有很大的變化 晶振有一個重要的參數(shù) 那就是負(fù)載電容值 選擇與負(fù)載電容值相等的并聯(lián)電容 就可以得到晶振標(biāo)稱的諧振頻率 一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振 再有兩個電容分別接到晶振的兩端 每個電容的另一端再接到地 這兩個電容串聯(lián)的容量值就應(yīng)該等于負(fù)載電容 請注意一般IC的引腳都有等效輸入電容 這個不能忽略 一般的晶振的負(fù)載電容為15pF或12.5pF 如果再考慮元件引腳的等效輸入電容 則兩個22pF的電容構(gòu)成晶振的振蕩電路就是比較好的選擇 如上圖:晶振是給單片機提供工作信號脈沖的 這個脈沖就是單片機的工作速度 比如 12M晶振 單片機工作速度就是每秒12M 當(dāng)然 單片機的工作頻率是有范圍的 不能太大 一般24M就不上去了 不然不穩(wěn)定 晶振與單片機的腳XTAL0和腳XTAL1構(gòu)成的振蕩電路中會產(chǎn)生偕波(也就是不希望存在的其他頻率的波) 這個波對電路的影響不大 但會降低電路的時鐘振蕩器的穩(wěn)定性 為了電路的穩(wěn)定性起見 ATMEL公司只是建議在晶振的兩引腳處接入兩個10pf-50pf的瓷片電容接地來削減偕波對電路的穩(wěn)定性的影響 所以晶振所配的電容在10pf-50pf之間都可以的 沒有什么計算公式 P0口的上拉電阻:P0口作為I/O口輸出的時候時 輸出低電平為0 輸出高電平為高組態(tài)(并非5V,相當(dāng)于 懸空狀態(tài))。也就是說P0 口不能真正的輸出高電平,給所接的負(fù)載提供電流,因此必須接上拉電阻(一電阻連接到VCC),由電源通過這個上拉電阻給負(fù)載提供電流。 由于P0口內(nèi)部沒有上拉電阻,是開漏的,不管它的驅(qū)動能力多大,相當(dāng)于它是沒有電源的,需要外部的電路提供,絕大多數(shù)情況下P0口是必需加上拉電阻的。 1.一般51單片機的P0口在作為地址/數(shù)據(jù)復(fù)用時不接上拉電阻。 2.作為一般的I/O口時用時,由于內(nèi)部沒有上拉電阻,故要接上上拉電阻!! 3.當(dāng)p0口用來驅(qū)動PNP管子的時候,就不需要上拉電阻,因為此時的低電平有效; 4.當(dāng)P0口用來驅(qū)動NPN管子的時候,就需要上拉電阻的,因為此時只有當(dāng)P0為1時候,才能夠使后級端導(dǎo)通。 31腳EA/Vpp接電源:STC89C51/52或其他51系列兼容單片機特別注意:對于31腳(EA/Vpp),當(dāng)接高電平時,單片機在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行,當(dāng)接低電平時,復(fù)位后直接從外部ROM的0000H開始執(zhí)行,這一點是初學(xué)者容易忽略的。
|