關於如何學習微控制器,你可以看看《如何學好微控制器?》這個問答,裡面有關於怎麼學習的詳細解讀。
今天重點說說你的第二個問題:用那些軟體模擬比較好?
首先來說,每一款微控制器的程式設計軟體都有軟體模擬功能。我們可以透過這個軟體模擬功能學習一些微控制器的功能。
例如,可以透過軟體模擬功能實現微控制器埠輸出高低電平,然後透過觀察相應的埠暫存器的值來看程式是否正確執行了;還可以編寫定時程式實現固定時間(例如定時1秒)執行埠的輸出功能,可以用軟體模擬看看是否按照設定的時間進入了中斷,等等。但是,軟體模擬的功能實在有限,我們最多隻能看到相應的暫存器是否執行正確,因為沒有硬體電路的配合,完全看不到電路是否正確執行了。
所以,用微控制器程式設計軟體的軟體模擬功能能學習微控制器很有限。
這方面的軟體首推proteus,這是目前為止我見過、用過的,可以模擬單片機種類最多的軟體。
proteus這款軟體支援的微控制器有:51微控制器,AVR微控制器,PIC微控制器,MSP430微控制器,飛思卡爾微控制器,還支援LPC21xx系列的ARM7,以及部分cortex m3晶片。
尤其對於51微控制器而言,proteus已經把51微控制器的程式設計軟體keil嵌到裡面了,可以同志在proteus裡面進行程式編寫,電路搭建、系統模擬、PCB生成等工作。等於是可以實現一個微控制器的軟體設計、硬體設計、PCB製圖等全部功能,非常方便。
proteus的功能非常強大,我們可以先畫好電路圖,再把編譯好的微控制器燒錄檔案裝載到電路圖中的微控制器中,然後即可以讓整個微控制器系統執行起來,觀察電路中各個部分是否與我們設計的軟體功能一樣,例如是否實現了LED的點亮,LCD的顯示,按鍵的檢測,IIC器件存取資料是否正常等等。甚至proteus還提供了很多虛擬儀器,例如虛擬示波器,電壓表,電流表,邏輯分析儀等。可以用這些儀器觀察程式及電路的執行情況,例如可以用示波器觀察我們設計的PWM的輸出波形是否符合設計要求。
關於如何學習微控制器,你可以看看《如何學好微控制器?》這個問答,裡面有關於怎麼學習的詳細解讀。
今天重點說說你的第二個問題:用那些軟體模擬比較好?
一、微控制器的軟體模擬首先來說,每一款微控制器的程式設計軟體都有軟體模擬功能。我們可以透過這個軟體模擬功能學習一些微控制器的功能。
例如,可以透過軟體模擬功能實現微控制器埠輸出高低電平,然後透過觀察相應的埠暫存器的值來看程式是否正確執行了;還可以編寫定時程式實現固定時間(例如定時1秒)執行埠的輸出功能,可以用軟體模擬看看是否按照設定的時間進入了中斷,等等。但是,軟體模擬的功能實在有限,我們最多隻能看到相應的暫存器是否執行正確,因為沒有硬體電路的配合,完全看不到電路是否正確執行了。
所以,用微控制器程式設計軟體的軟體模擬功能能學習微控制器很有限。
二、可以模擬很多微控制器微控制器程式、電路的軟體這方面的軟體首推proteus,這是目前為止我見過、用過的,可以模擬單片機種類最多的軟體。
proteus這款軟體支援的微控制器有:51微控制器,AVR微控制器,PIC微控制器,MSP430微控制器,飛思卡爾微控制器,還支援LPC21xx系列的ARM7,以及部分cortex m3晶片。
尤其對於51微控制器而言,proteus已經把51微控制器的程式設計軟體keil嵌到裡面了,可以同志在proteus裡面進行程式編寫,電路搭建、系統模擬、PCB生成等工作。等於是可以實現一個微控制器的軟體設計、硬體設計、PCB製圖等全部功能,非常方便。
proteus的功能非常強大,我們可以先畫好電路圖,再把編譯好的微控制器燒錄檔案裝載到電路圖中的微控制器中,然後即可以讓整個微控制器系統執行起來,觀察電路中各個部分是否與我們設計的軟體功能一樣,例如是否實現了LED的點亮,LCD的顯示,按鍵的檢測,IIC器件存取資料是否正常等等。甚至proteus還提供了很多虛擬儀器,例如虛擬示波器,電壓表,電流表,邏輯分析儀等。可以用這些儀器觀察程式及電路的執行情況,例如可以用示波器觀察我們設計的PWM的輸出波形是否符合設計要求。