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