單片機最小系統(tǒng)電路組成作用
下面我們首先來簡單介紹下51單片機各個管腳的具體作用,然后再重點給大家介紹單片機最小系統(tǒng)的概念、組成及其各部分電路原理圖的實際用途。
按照集成電路的管腳識別方法,缺口朝上,逆時針轉(zhuǎn)一圈,單片機的引腳編號從1到40,如圖所示。圖中同時給出了各個管腳的名稱。我們完全不需要刻意去記這些管腳順序和名稱,在需要的時候查一下就好了,如果用的比較多,后來自然就記住了。
按照圖中的大括號的提示,我們把P0.0~P0.7這樣八個管腳稱為一組IO口,叫做P0,同樣有P1、P2和P3。IO口(IO = Input / Output),顧名思義,就是輸入輸出接口,它是單片機與外界進行信息交流的途徑。之后我們主要的學(xué)習(xí)內(nèi)容,也是圍繞IO口進行的。另外這32個IO口又有一些在括號中標注的管腳名稱,叫做第二功能;第二功能在特定的情況下會被啟用,沒有啟用第二功能時,它們就只是起到IO口的作用。例如P3.0和 P3.1又叫做RXD和TXD,它們有串口的作用,可以用來給單片機下載程序,也可以用來和電腦進行數(shù)據(jù)的收發(fā),即串口通信。除32個IO口外,還有八個管腳:其中29~31號腳一般用得不多,暫不做介紹;40腳VCC、20腳GND、9號腳RST以及18、19號腳XTAL1、XTAL2很快就會在下面的單片機最小系統(tǒng)中進行詳細講解。
什么是單片機最小系統(tǒng)呢?最小系統(tǒng),就是指單片機能正常工作最簡單的電路。對51單片機來說,最小系統(tǒng)一般包括:電源、單片機、時鐘電路和復(fù)位電路。其電路圖如下:
現(xiàn)在向大家介紹下這些電路的作用。
電源電路:作為電子器件,51單片機當然少不了電源供電,它一般使用5V電源,我們可以從大家所熟悉的USB接口獲取5V電源。在圖中,每個VCC符號都是共同連接在5V電源正極的;而所有的GND符號連接在一起,共同接到電源負極。圖中之所以沒有把它們連接到一起,而是使用多個VCC和GND符號,是為了讓電路圖看起來更清晰簡潔(VCC = Volt Current Condenser,表示供電電壓;GND = Ground,接地的意思,可以簡單理解為連接到電源負極,并且我們以GND作為參考電壓,GND的電壓值始終為0V)。
特別注意,一定不要把單片機接到過高的電壓上,或者將電源正負極接反,很可能燒壞單片機,甚至發(fā)生爆炸。如果單片機是插在芯片插座上的,由于VCC和GND剛好在對稱的位置,插反了剛好會出現(xiàn)電源接反的情況,一定要注意避免。
這里補充一點,如果需要知道一種芯片使用的電源電壓,通常可以查官方給出的芯片手冊,后面會對芯片手冊進行介紹。
時鐘電路:連接在引腳XTAL1、XTAL2和GND間的電路是時鐘電路(XTAL = External Crystal Oscillator,表示外接晶振)。前面的電源比較好理解,但是什么是時鐘電路呢?它有什么用處呢?時鐘電路就像是人的心臟一樣,每時每刻不斷跳動著,對于單片機來說是至關(guān)重要的。如同心臟給我們的身體不斷運輸血液和氧氣,讓身體各種器官正常工作,而時鐘電路則是單片機內(nèi)部各部分電路正常工作的驅(qū)動力。
時鐘電路由晶振和電容器組成。晶振是一種由石英制造的電子元件,在通電時,其表面會產(chǎn)生特定頻率的振蕩,最后通過電路可以輸出一個頻率很穩(wěn)定的時鐘信號,驅(qū)動單片機工作。我們?nèi)说男呐K每分鐘跳動幾十到上百次,而對于單片機來說,這實在太慢了。圖中的晶振頻率是 12MHz(1MHz=1,000,000Hz),正常工作起來,每秒鐘振蕩12,000,000次!實際上,時鐘電路的晶振并非必須是12M,也可以是其他的,但是要注意STC89C51這款單片機最高工作頻率不能超過80M(這個同樣可以通過芯片手冊查找)。實際上我們使用更多的是11.0592M的晶振,為什么是這樣奇怪的頻率呢?后面講到串口的時候相信讀者就能明白了。
時鐘電路還用到C2和C3兩個電容,如果不了解電容,可以找找常用電子元器件介紹的相關(guān)資料,這里不做介紹。這兩個電容通常用瓷片電容,容量一般取30pF即可。
順便說一下,如果自己設(shè)計時鐘電路,晶振和單片機之間的連線不要過長,這樣可能會導(dǎo)致電路不能正常工作(不能起振)。
時鐘每產(chǎn)生一次振蕩的時間,叫做一個時鐘周期;對于我們用的這款51單片機,每12個時鐘周期,單片機執(zhí)行一步操作,稱為一個機器周期(STC也推出了 1T單片機,每1個時鐘周期就執(zhí)行一步操作)。如果是12M晶振,時鐘周期就是1/12 us,機器周期剛好是1 us。
大家應(yīng)該還記得前面說的上世紀古老龐大的計算機埃尼阿克吧,埃尼阿克一秒鐘能進行5000次加法運算,那在當時已經(jīng)是相當高的水平了。但是和我們的 51 單片機比起來,實在是小巫見大巫。51單片機可以在一個機器周期里進行一次加法運算(即匯編指令A(yù)DD),用12M晶振,1秒鐘最多可以進行一百萬次加法運算,是埃尼阿克的200倍(不考慮數(shù)據(jù)在寄存器和內(nèi)存之間的移動)?吹竭@里,大家是不是在為自己能用上這么高科技的東西而竊喜呢?^_^
復(fù)位電路:圖中連接到RST引腳的那部分電路就是復(fù)位電路,由電阻和電容組成。復(fù)位電路的作用,就是在剛通電的時候給單片機發(fā)出一個信號(對于51單片機,是連續(xù)至少兩個機器周期的高電平),告訴單片機現(xiàn)在可以開始工作了。于是單片機就從初始狀態(tài)開始,不厭其煩的執(zhí)行特定的程序,直到斷電,或者出現(xiàn)特殊情況導(dǎo)致程序終止。一般情況下,單片機正常工作時是不應(yīng)該出現(xiàn)程序執(zhí)行終止的情況的,有關(guān)這個問題,后文講單片機程序特點時會說明。
復(fù)位電路的原理,是上電時通過電阻給電容充電,讓電容連接到RST管腳的電壓,從5V變?yōu)?V,也就是高電平變?yōu)榈碗娖。電阻和電容的取值,按照圖中給出的參考值即可,如果對模擬電路有了解,也可以自行計算確定其取值。
另外,圖中的EA/VPP管腳,是訪問內(nèi)部或外部程序存儲器選擇信號和提供編程電壓的,一般用的不多。直接連接VCC就可以了。
實際做實驗的時候,我發(fā)現(xiàn)單片機不接復(fù)位電路,晶振上的兩個電容省去,一般也能工作。但是為了安全起見,有條件的情況下還是應(yīng)該把這些都接上。我們需要嚴謹?shù)目茖W(xué)態(tài)度。
有了最小系統(tǒng),單片機就可以正常工作,不斷的執(zhí)行我們讓它執(zhí)行的程序了。單片機這種不怕苦不怕累的精神值得我們學(xué)習(xí)。
編輯:admin 最后修改時間:2018-05-08