|
自己搭建最小系統(tǒng)要注意的地方:
EA引腳一定要接高電平即VCC,這是最容易忽略的,這個引腳是用來選擇是用片內(nèi)存儲器還是用片外存儲器。51單片機(jī)內(nèi)部存儲器一般都夠我們使用,在以前的單片機(jī)需要外擴(kuò)存儲器,我們燒錄的程序就是存在片內(nèi)存儲器。
要將P0組引腳當(dāng)普通IO用時,需要接10K的上拉電阻。P1-P3里面都有上啦電阻。
1、做地址/數(shù)據(jù)總線時和做輸入I/O口時,p0口不用接上拉電阻。
2、 但當(dāng)做輸出I/O口時,p0口必須要接上拉電阻才可以。
P0口是集電極開路輸出,也就是OC門,這種結(jié)構(gòu)沒有輸出高電平的能力就相當(dāng)于一個一端接地的開關(guān),按下去就輸出低電平0V,斷開就沒有電壓,是懸空狀態(tài)。
至于用不用上拉電阻,取決于外部電路,如果要輸出高電平控制一個器件,而這個器件本身又沒有內(nèi)置上拉,就必須自己接一個上拉電阻,如果要用低電平控制一個器件,則可以不用加上拉。
QQ截圖20130626035710.jpg (66.39 KB, 下載次數(shù): 292)
下載附件
2013-6-26 19:24 上傳
復(fù)位原理:
51單片機(jī)是高電平脈沖復(fù)位,在RST引腳。復(fù)位脈沖的高電平寬度必須大于2個機(jī)器周期。為了方便計算,我們假設(shè)晶振頻率為12M,那么它的時鐘周期為1/12us(微秒)。它的一個機(jī)器周期是12*(1/12)=1us(微秒)。復(fù)位脈沖高電平寬度必須大于2個機(jī)器周期即2us,那么就要保證RST引腳高電平的時間大于2us單片機(jī)即可自動復(fù)位。
上電復(fù)位:
當(dāng)通電時,開關(guān)是斷開的,那么電流從VCC→電容→RST、R32→GND。剛上電的時候,電容開始充電,充滿電后相當(dāng)于斷路,在電容充電到充滿的過程中電壓逐漸從高到低(從5V到0V)。也就是說一上電,RST端得到就是高電平,當(dāng)這個時間超過2us時單片機(jī)復(fù)位,電容快充滿到充滿后RST得到是低電平,電源不斷那么RST就一直是低電平而不會一直復(fù)位。RST高電平持續(xù)的時間取決于電容充電時間.。(這個電容要取多大?怎么計算的?)
手動復(fù)位:
通電之后,RST會自動復(fù)位一次,當(dāng)單片機(jī)在運(yùn)行的過程中我們需要它復(fù)位時可以斷電使之上電復(fù)位。或者按下SW0開關(guān)也能實(shí)現(xiàn)復(fù)位。當(dāng)SW0開關(guān)按下時電流從VCC→R33→RST、R32→GND形成回路。為方便計算R33假設(shè)為300歐即0.3K,我們可以先計算R33得到的電壓是 5V* (0.3k/(4.7k+0.3k))= 0.3V R32得到的電壓為 5V*(4.7k/(4.7k+0.3k))=4.7V RST端的電壓也為4.7V,那么4.7對于單片機(jī)來說也算高電平,當(dāng)按下手動按下SW按鈕到松開肯定超過2us,所以單片機(jī)自動復(fù)位。
晶振電路:
兩個電容一定要相等,取值范圍為20-50pf 越大啟動越慢。
|
|