淺談單片機最小系統(tǒng)
我們已經(jīng)大概知道了單片機是一個什么東西,那么接下來我們就正式開始單片機的學(xué)習(xí)吧。
單片機是一門實踐性很強的課程,假如單純的去學(xué)習(xí)理論知識,而不實踐,是很難完全把握單片機的。
單片機雖然是一個只能化的集成芯片,其本質(zhì)上還是一個電子元件的。既然是電子元件,那么,就必須在一定的電路中才能運行起來,才能實現(xiàn)它的功能。這就像電阻一樣,如果把一個電阻獨立的放著,是沒有任何意義的,只有將電阻接在電路中,才能實現(xiàn)它的功能,畢竟是分壓,分流,還是限流,還得看詳細電路。
單片機里雖然集成了很多電路,但仍舊不能獨立運行,必須要外連一些電路,才能使單片機運行起來。這種能使單片機工作的最簡電路,我們叫做單片機最小系統(tǒng)。圖2-1中,有40個引腳的就是AT
閑話少說,現(xiàn)在我們就來分析圖2-1所示電路。
首先,我們來看看單片機的時鐘電路,如上圖用紅圈包著的并且有晶振兩字的部分。通過連接一個晶振和兩個30pF的電容,構(gòu)成了單片機的時鐘電路。晶振是一種能夠輸出穩(wěn)定的震蕩周期的元件,通過它,單片機才能有了時間的概念。
不過晶振并不能獨立的使用,必須配合合適的負(fù)載電容,否則會產(chǎn)生錯誤,或者是使晶振不能工作。
負(fù)載電容的選擇可以根據(jù)單片機的技術(shù)文檔上的說明來選擇。對于51單片機一般選擇不大于40pF的瓷片電容。既然我們知道由晶振和晶振負(fù)載電容組成的時鐘振蕩電路,那么為什么要加這個電路呢?
我們來看一個例子:
一個人在某一時刻,在正常情況下是只能做一件事請(當(dāng)然三心二意的不算),可是一個人卻不可能一整天就做一件事啊,于是我們得把這一天需要做的事按照某一個時間順序進行安排,那么用什么東西來對時間進行劃分呢?智慧的古代人在很早就是用了日晷來進行時間的標(biāo)記,通過日晷,將一日劃分成12個等分,就是我們常說的時辰。有了,時辰這個時間概念,我們就可以方便的進行時間安排了單片機是一個智能設(shè)備,能處理很多事情,那么這些事情的安排,又是怎樣實現(xiàn)的呢?
為了給單片機一個“日晷”,我們使用了能夠輸出振蕩時鐘的晶振。通過晶振輸出的時鐘脈沖,來安排單片機的工作。于是,我們就能對單片機做一些安排,第一個時鐘脈沖出現(xiàn),單片機做什么,第二個時鐘脈沖出現(xiàn),單片機又做什么?……第n個時鐘脈沖出現(xiàn),單片機又做什么……一直這樣的安排下去,我們就能通過使用單片機來實現(xiàn)我們想要做的事了,而我們這種安排從專業(yè)的角度上來講就叫做編程。
其次,我們來看看,51單片機的復(fù)位電路,它由一個10uF的電容和一個4.7K的電阻組成。為什么要這樣接線了,原因是這樣的:在設(shè)計51單片機的時候,規(guī)定在51單片機的第9引腳為復(fù)位功能引腳。當(dāng)在這個引腳有連續(xù)兩個以上機器周期(2us以上)【注2】的高電平時,這個單片機就會復(fù)位。而我們的電路設(shè)計是,電容充電的瞬間,是導(dǎo)通,在這個瞬間,電流通過電容器,然后想電阻方向放電,此時,電容的“-”端就能有一個很高的電勢,在高于3V的情況下,均可認(rèn)為是高電平。而電容的充電是有時間的,當(dāng)選擇合適的電容,其充電時間會大于2us,這時,復(fù)位的條件就成立了。當(dāng)然,我們?yōu)榱四軌蚋€(wěn)定的復(fù)位,我們經(jīng)常會把單片機的復(fù)位引腳的高電平時間控制得更長一點,通常會達到ms級別。
你也許會問,為什么要復(fù)位呢?
評論