單片機最小系統(tǒng)統(tǒng)是指能讓單片機運行起來的所需的最少器件構成的電路系統(tǒng)。如果您構建的最小系統(tǒng)作為研究、學習使用,應該滿足以下要求:1.有電源;2.有單片機主芯片;3.有程序下載電路;4.有時鐘源電路;5.有復位電路;6.有I/O口的負載電路。這樣的系統(tǒng)才能滿足您下載程序和調試程序的要求。
下圖是AT89S51/52單片機的最小系統(tǒng)電路原理圖。
電源部分:從電腦USB接口DC5V取電,C4和C5構成USB接口電源的簡單濾波電路。開關電源的輸出電壓往往波紋較大,不像線性穩(wěn)壓器輸出的電壓那么穩(wěn)定,所以進行必要的濾波。如果需要接一個電源開關應接在C4和C5的前面,在您接通開關的瞬間產生的抖動能被這兩個電容吸收。
復位電路:C1和R1構成單片機的上電自動復位電路。AT89S51/52單片機屬于高電平復位,RST管腳上需要持續(xù)兩個機器周期(24個時鐘周期)以上的高電平,單片機才能復位。復位原理:上電的瞬間,電源給C1充電,在R1產生壓降,R1上端為高電平,RST管腳檢測到高電平,單片機的各個寄存器清零或恢復初始狀態(tài),特別是PC計數(shù)器清零,程序便從頭開始執(zhí)行。C1和R1常用取值:C1取10uf時R1取10K歐姆;C1取22uf時R1取4.7K或5.1K歐姆;如果C1、R1取值過大或C1、R1取值過小都會引起單片機復位時間過長或過短,不利于單片機啟動。如果需要加手動復位,那就在C1兩端并聯(lián)一個按鈕即可。
時鐘電路:C2、C3和Y構成單片機的時鐘源電路。C2和C3是晶振Y的負載電容,過大或過小都會影響晶振的頻率和幅度。AT8951/52單片機對晶振負載電容的取值有明確的要求:在20pf到40pf,最佳值為30pf。Y的取值可從1MHz到24MHZ選擇,常用的是12MHZ。因為51單片機12個時鐘周期為一個機器周期,用12MHZ晶振,一個機器周期剛好是1微妙,編程時計時很方便。焊接時這三個元件應盡量靠近單片機的管腳,以減少線路上寄生電容的影響。
負載電路:R2和LED構成單片機P2.0 I/O的負載電路。注意發(fā)光二極管的方向,51單片機I/O可吸收灌電流可達20毫安,但輸出高電平驅動電流才幾十微安,所以I/O負載電流比較大時只能接成吸收灌電流的形式。R2的取值要保證LED亮度適合,太亮的話,影響LED壽命而且電源功耗大。發(fā)光二極管流過5到10毫安的電流時亮度是比較合適的。順便提醒,如果您使用P0口作為普通I/O口,一定要接一個4.7K或10K的排阻。另外,單片機的EA/VPP管腳一定要接高電平。
程序下載電路:10PH是AtmelISP并口下載線10P接頭。如果您還沒有AtmelISP并口下載線的話,可按照筆者提供的原理圖DIY。如果嫌麻煩,可到筆者的網(wǎng)店購買。
筆者的建議是,下載線和最小系統(tǒng)最好是自己動手焊接制作。不要小看這兩個簡單的東西,你能自己動手做好并正常使用,可以說你的硬件設計已經入門了。接下來您可以在最小系統(tǒng)的基礎上繼續(xù)加接數(shù)碼管、蜂鳴器、DS1302、DS18B20、LCD接口、串口等資源,一個功能強大的單片機開發(fā)板在您日積月累,一點一滴的辛勤焊接下呈現(xiàn)了。在這個過程中您會碰到硬件設計的很多問題,積累很多經驗。軟件編程和硬件設計同步提高,讓您快速掌握單片機技術,何樂而不為?
最小系統(tǒng)構建好了,下載線也有了,現(xiàn)在,您可以用KeilC51開發(fā)軟件編寫一個LED點亮或LED閃爍的簡單程序,然后用WSFISP軟件或者AtmelISP軟件通過并口下載線將程序下載到單片機里檢測程序運行效果啦。