1. 程式人生 > >學微控制器從構建最小系統開始

學微控制器從構建最小系統開始

微控制器最小系統統是指能讓微控制器執行起來的所需的最少器件構成的電路系統。如果您構建的最小系統作為研究、學習使用,應該滿足以下要求:1.有電源;2.有微控制器主晶片;3.有程式下載電路;4.有時鐘源電路;5.有復位電路;6.I/O口的負載電路。這樣的系統才能滿足您下載程式和除錯程式的要求。

下圖是AT89S51/52微控制器的最小系統電路原理圖。

電源部分:從電腦USB介面DC5V取電,C4C5構成USB介面電源的簡單濾波電路。開關電源的輸出電壓往往波紋較大,不像線性穩壓器輸出的電壓那麼穩定,所以進行必要的濾波。如果需要接一個電源開關應接在C4和C5的前面,在您接通開關的瞬間產生的抖動能被這兩個電容吸收。

復位電路:C1R1構成微控制器的上電自動復位電路。AT89S51/52微控制器屬於高電平復位,RST管腳上需要持續兩個機器週期(24個時鐘週期)以上的高電平,微控制器才能復位。復位原理:上電的瞬間,電源給C1充電,在R1產生壓降,R1上端為高電平,RST管腳檢測到高電平,微控制器的各個暫存器清零或恢復初始狀態,特別是PC計數器清零,程式便從頭開始執行。C1R1常用取值:C110ufR110K歐姆;C122ufR14.7K5.1K歐姆;如果C1R1取值過大或C1R1取值過小都會引起微控制器復位時間過長或過短,不利於微控制器啟動。如果需要加手動復位,那就在C1兩端並聯一個按鈕即可。

時鐘電路:C2C3Y構成微控制器的時鐘源電路。C2C3是晶振Y的負載電容,過大或過小都會影響晶振的頻率和幅度。AT8951/52微控制器對晶振負載電容的取值有明確的要求:在20pf40pf,最佳值為30pfY的取值可從1MHZ24MHZ選擇,常用的是12MHZ。因為51微控制器12個時鐘週期為一個機器週期,用12MHZ晶振,一個機器週期剛好是1微妙,程式設計時計時很方便。焊接時這三個元件應儘量靠近微控制器的管腳,以減少線路上寄生電容的影響。

負載電路:R2LED構成微控制器P2.0 I/O的負載電路。注意發光二極體的方向,51微控制器I/O可吸收灌電流可達20毫安,但輸出高電平驅動電流才幾十微安,所以I/O

負載電流比較大時只能接成吸收灌電流的形式。R2的取值要保證LED亮度適合,太亮的話,影響LED壽命而且電源功耗大。發光二極體流過510毫安的電流時亮度是比較合適的。順便提醒,如果您使用P0口作為普通I/O,一定要接一個4.7K10K的排阻。另外,微控制器的EA/VPP管腳一定要接高電平。

程式下載電路:10PHAtmelISP並口下載線10P接頭。如果您還沒有AtmelISP並口下載線的話,可按照筆者提供的原理圖DIY。如果嫌麻煩,可到筆者的網店購買。

筆者的建議是,下載線和最小系統最好是自己動手焊接製作。不要小看這兩個簡單的東西,你能自己動手做好並正常使用,可以說你的硬體設計已經入門了。接下來您可以在最小系統的基礎上繼續加接數碼管、蜂鳴器、DS1302DS18B20LCD介面、串列埠等資源,一個功能強大的微控制器開發板在您日積月累,一點一滴的辛勤焊接下呈現了。在這個過程中您會碰到硬體設計的很多問題,積累很多經驗。軟體程式設計和硬體設計同步提高,讓您快速掌握微控制器技術,何樂而不為?

最小系統構建好了,下載線也有了,現在,您可以用KeilC51開發軟體編寫一個LED點亮或LED閃爍的簡單程式,然後用WSFISP軟體或者AtmelISP軟體通過並口下載線將程式下載到微控制器裡檢測程式執行效果啦。