單片機是大學電類專業的一門普通課,有些學校甚至把它列為選修課,在眾多課程中,沒有顯出它有多么重要。為什么要學習它呢?因為,市場對學者繼承人的需求太少,大量需要的是產品的研發者,研發產品是需要干實際事情的,需要研發工具,而單片機課程就是學習研發工具使用的課程。
學習單片機課程與理論課程不一樣,不能只做作業,而是要實際使用單片機。很多想學單片機的人問的第一句話就是:“怎樣才能學好單片機”?今天和大家討論對于如何開始學單片機、如何開始上手、如何開始熟練這些問題。
編程硬件
所謂編程就是把單片機運行的程序燒寫到單片機的存儲器中,目前大部分單片機都是使用FLASH存儲器,這些存儲器的寫入次數一般是1000次左右,也有1萬次或是10萬次的。編程也叫程序下載或是燒寫。
實時仿真硬件
實時仿真是使用PC機,用軟件監視在單片機中實際運行的程序,也就是當程序下載到單片機中后,實時運行程序,在程序中設置斷點,通過仿真接口,監視和控制程序的運行。這個過程其實就是調試程序(實際驗證程序的正確性)。編程器和仿真器可以是一個裝置,也可以是各自獨立的裝置。
軟件
單片機開發需要單片機開發軟件的支持,軟件分為:
編程軟件:該軟件支持編程器工作,幫助編程器把程序寫入單片機。
實時仿真軟件:該軟件可以在仿真接口的支持下,調試單片機程序。
虛擬仿真:該類軟件支持在沒有單片機硬件情況下的單片機程序調試。
支持C語言:所有的單片機開發軟件都支持匯編語言編程,但是目前人們更喜歡C語言編程,主要是C語言功能強大,可以縮短開發時間。目前就有支持上述功能的軟件,例如51系列的Keil51、PIC系列的MPLAB,MSP430系列的IAR等。
學習單片機的手段
學習單片機的手段分為如下幾種:
買本單片機書,仔細研究。
網上下載一個具有仿真功能的單片機開發軟件(最好支持C語言),在計算機上對單片機虛擬仿真。
購編程器(支持編程器的下載軟件有編程器商提供)和實驗板(又稱為演示板或是目標板),網上下載開發軟件。在開發軟件的支持下對單片機虛擬仿真,確認單片機程序正確后,用編程器將程序下載到單片機中,觀察程序的實際運行。
購仿真接口和實驗板,在網上下載單片機開發軟件(支持編程、虛擬仿真、實時仿真和C語言),在虛擬仿真完成后,將程序下載到單片機中實時仿真。對于個人學習單片機,具有上述(4)的條件已經是很好了。
學習單片機過程中的困擾
單片機種類很多,各個公司提供的單片機、開發硬件和軟件功能、價格都不一樣,對于初學單片機有很多困惑。
單片機問題
目前單片機很多,學哪一個,其實學哪一個都可以,單片機雖然型號不同,但是芯片內部的資源種類都差不多,而且這些資源的使用方法也大同小異,可以說學會一種,其他種將融會貫通。究竟學哪一種,主要看具備的條件。
51系列是老型號,書多、資料多、軟件開放和硬件支持還可以,特別是Atmel公司的產品AT89系列,很多人就是學習這款單片機發家致富的。
AVR90系列,該系列也是Atmel公司的產品,指令少,學起來容易,芯片種類多,適合各種場合和需要,根據有關資料顯示,目前該單片機芯片的使用數量很大,大有超過51系列芯片數量的趨勢。
PIC系列,該系列是Microchip公司的產品,種類多,芯片抗干擾能力強,使用的人很多,特別是PIC16F877芯片,由于適合學校使用,在該公司大學計劃的支持下,免費贈送開發器和實驗板,因而使用該芯片的人群大增,也是可以和51系列單片機抗衡的單片機。
MSP430系列,是TI公司的產品,最近幾年才被杭州利爾達公司引進,是16位、超低功耗單片機,特別適合手持設備等低功耗設備的開發,實際上,由于該系列引腳多,內部資源多(具有硬件乘法器),所以在很多產品開發上都有用武之地,據有關人士預測,該系列是最具前途的單片機。
還有很多單片機型號,由于不太了解,不敢妄加評論,但可以想象,一定是不錯的單片機,否則就不會在競爭激烈的市場中存在。
開發軟件問題
不同種類的單片機都配套有相應的開發軟件,這些軟件很多都是專業軟件公司開發的。
51系列,目前開發軟件是Keil51,該軟件支持C語言,但是在網上下載的版本,只支持2K程序。
PIC系列的開發軟件是MPLAB,在HI-TECH公司C語言支持軟件PICC的支持下,該軟件很好用,但是PICC是需要激活密碼才能運行的。
MSP430系列的開發軟件是IAR,該軟件有開放1個月的全功能限期版本和C語言4k支持版本,可見該系列的軟件開放是最好的。
哪種單片機的開發軟件開放的好,就會引起人們對該單片機的興趣,單片機提供商也深諳此道,所以網上經常可以找到更開放版本的軟件。
仿真接口
仿真接口,又稱為仿真器,老式單片機由于沒有FLASH存儲器,所以仿真編程難度很大,新型號的單片機,幾乎都有FLASH存儲器的芯片,這樣的芯片都支持在電路編程(在系統編程),所謂在電路編程,就是用3~5根線就可以將程序寫入單片機,并能夠將單片機內的程序運行情況、寄存器內容等信息傳輸到PC機上。
這種編程方法需要在單片機與PC機之間安裝一個仿真接口,該接口一般需要購買。AT89S51、PIC16F877就是具有這種能力的單片機。但是,對于初學者來說,支持該單片機編程和仿真的接口需要購買,而且簡單接口在仿真時會占用芯片資源,給單片機系統開發帶來不便。
MSP430系列單片機也是具有這種能力的單片機,但是該單片機采用標準JTAG接口,JTAG是一種標準(IEEE1149.1),是為測試芯片而制定的,目的是用TCK、TDI、TDO和TMS四個信號來測試芯片的內部狀態,為什么測試芯片還需要專門制定標準呢?
這是因為復雜芯片引腳太多,特別是還有些芯片一旦安裝到多層電路板上就無法看到引腳,更不要說測量了,這時就可以在計算機軟件的支持下通過JTAG接口,對芯片進行測量,如果各個公司的芯片都符合該標準,就可以將各個芯片的JTAG口串聯起來(外國人稱為菊花鏈),無論在電路板上有多少芯片,只需4個引腳,就可以測量電路板上的所有芯片。既然可以測量芯片,當然可以將數據寫入芯片,在可編程邏輯器件的數據下載中也使用JTAG接口,出現了在系統編程(ISP)的概念。也就是,即使可編程邏輯器件安裝到了系統中,也可以對其內部電路進行修改,JTAG技術和EDA軟件的進步,使可編程邏輯器件的開發與使用得到快速發展。單片機也是在向這個方向努力,前幾年出現在市場上的C8051單片機就是使用JTAG接口的單片機,不幸的是該單片機JTAG接口裝置和開發軟件很貴,阻礙人們使用該單片機。使用JTAG口,必須在計算機與芯片JTAG接口之間連接一個接口裝置,該裝置隨芯片而異,實際上JTAG接口裝置都是很簡單的(就是一個緩沖器),但是由于各個公司的早期產品不完全支持JTAG接口,而JTAG接口裝置又必須兼容這些早期產品,就使得JTAG接口裝置變的復雜了。
實驗板
實驗板是學習單片機所必須的,實驗板又稱為演示板、目標板,其實就是具有單片機的電路板,實驗板可以購買,各個單片機的供應商都提供多種多樣的實驗板。實驗板也可以根據需要自制,自制實驗板是具有挑戰的,需要學會畫電路板圖。
選擇單片機類型
軟件:支持C語言,免費下載。
仿真器:用于仿真編程的JTAG接口裝置可以自制(很重要,可以節省開支)。
單片機:型號多、功能強、資源多、功耗低,程序存儲器容量大。
責任編輯:pj
-
芯片
+關注
關注
454文章
50425瀏覽量
421858 -
單片機
+關注
關注
6032文章
44520瀏覽量
633076 -
存儲器
+關注
關注
38文章
7453瀏覽量
163608
發布評論請先 登錄
相關推薦
評論