新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)(一):單片機(jī)最小系統(tǒng)組成與I/O輸出控制

51單片機(jī)(一):單片機(jī)最小系統(tǒng)組成與I/O輸出控制

作者: 時(shí)間:2012-07-27 來源:網(wǎng)絡(luò) 收藏

下面就圖2 所示的各部分電路進(jìn)行詳細(xì)說明。

1. 時(shí)鐘電路

在設(shè)計(jì)時(shí)鐘電路之前,讓我們先了解下51 上的時(shí)鐘管腳:

XTAL1(19 腳) :芯片內(nèi)部振蕩電路輸入端。

XTAL2(18 腳) :芯片內(nèi)部振蕩電路端。

XTAL1 和XTAL2 是獨(dú)立的輸入和反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時(shí)鐘驅(qū)動。圖2 中采用的是內(nèi)時(shí)鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時(shí)元件(一個(gè)石英晶體和兩個(gè)電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振可以在1.2 ~ 12MHz 之間任選,甚至可以達(dá)到24MHz 或者更高,但是頻率越高功耗也就越大。在本實(shí)驗(yàn)套件中采用的11.0592M 的石英晶振。和晶振并聯(lián)的兩個(gè)電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時(shí),電容可以在20 ~ 40pF 之間選擇(本實(shí)驗(yàn)套件使用30pF);當(dāng)采用陶瓷諧振器件時(shí),電容要適當(dāng)?shù)卦龃笠恍?0 ~ 50pF 之間。通常選取33pF 的陶瓷電容就可以了。

另外值得一提的是如果讀者自己在設(shè)計(jì)的印刷電路板(PCB) 時(shí),晶體和電容應(yīng)盡可能與單片機(jī)芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。檢測晶振是否起振的方法可以用示波器可以觀察到XTAL2 的十分漂亮的正弦波,也可以使用萬用表測量( 把擋位打到直流擋,這個(gè)時(shí)候測得的是有效值)XTAL2 和地之間的電壓時(shí),可以看到2V 左右一點(diǎn)的電壓。

2. 復(fù)位電路

在單片機(jī)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運(yùn)行不正常)或死機(jī)(停止運(yùn)行)時(shí),就需要進(jìn)行復(fù)位。

MCS-5l 系列單片機(jī)的復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST 持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。

復(fù)位操作通常有兩種基本形式:上電自動復(fù)位和開關(guān)復(fù)位。圖2 中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時(shí)電容的負(fù)極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,通過按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動復(fù)位的效果。一般來說,只要RST 管腳上保持10ms 以上的高電平,就能使單片機(jī)有效的復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實(shí)際制作是可以用同一數(shù)量級的電阻和電容代替,讀者也可自行計(jì)算RC 充電時(shí)間或在工作環(huán)境實(shí)際測量,以確保單片機(jī)的復(fù)位電路可靠。

3. EA/VPP(31 腳) 的功能和接法

51 單片機(jī)的EA/VPP(31 腳) 是內(nèi)部和外部程序存儲器的選擇管腳。當(dāng)EA 保持高電平時(shí),單片機(jī)訪問內(nèi)部程序存儲器;當(dāng)EA 保持低電平時(shí),則不管是否有內(nèi)部程序存儲器,只訪問外部存儲器。

對于現(xiàn)今的絕大部分單片機(jī)來說,其內(nèi)部的程序存儲器(一般為flash)容量都很大,因此基本上不需要外接程序存儲器,而是直接使用內(nèi)部的存儲器。

在本實(shí)驗(yàn)套件中,EA 管腳接到了VCC 上,只使用內(nèi)部的程序存儲器。這一點(diǎn)一定要注意,很多初學(xué)者常常將EA 管腳懸空,從而導(dǎo)致程序執(zhí)行不正常。

4. P0 口外接上拉電阻

51 單片機(jī)的P0 端口為開漏輸出,內(nèi)部無上拉電阻(見圖3)。所以在當(dāng)做普通 輸出數(shù)據(jù)時(shí),由于V2 截止,輸出級是漏極開路電路,要使“1”信號(即高電平)正常輸出,必須外接上拉電阻。

圖3 P0端口的1位結(jié)構(gòu)
圖3 P0端口的1位結(jié)構(gòu)

另外,避免輸入時(shí)讀取數(shù)據(jù)出錯(cuò),也需外接上拉電阻。在這里簡要的說下其原因:在輸入狀態(tài)下,從鎖存器和從引腳上讀來的信號一般是一致的,但也有例外。例如,當(dāng)從內(nèi)部總線輸出低電平后,鎖存器Q = 0, Q = 1,場效應(yīng)管V1 開通,端口線呈低電平狀態(tài)。此時(shí)無論端口線上外接的信號是低電平還是高電平,從引腳讀入單片機(jī)的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當(dāng)從內(nèi)部總線輸出高電平后,鎖存器Q = 1, Q = 0,場效應(yīng)管V1 截止。如外接引腳信號為低電平, 從引腳上讀入的信號就與從鎖存器讀入的信號不同。所以當(dāng)P0 口作為通用 接口輸入使用時(shí),在輸入數(shù)據(jù)前,應(yīng)先向P0 口寫“1”,此時(shí)鎖存器的Q 端為“0”,使輸出級的兩個(gè)場效應(yīng)管V1、V2 均截止,引腳處于懸浮狀態(tài),才可作高阻輸入。

總結(jié)來說:為了能使P0 口在輸出時(shí)能驅(qū)動NMOS 電路和避免輸入時(shí)讀取數(shù)據(jù)出錯(cuò),需外接上拉電阻。在本實(shí)驗(yàn)套件中采用的是外加一個(gè)10K 排阻。此外,51 單片機(jī)在對端口P0—P3 的輸入操作上,為避免讀錯(cuò),應(yīng)先向電路中的鎖存器寫入“1”,使場效應(yīng)管截止,以避免鎖存器為“0”狀態(tài)時(shí)對引腳讀入的干擾。

塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉