2019-02-21 10:10:27分類:嵌入式硬件開發(fā)設(shè)計6427
本人與單片機系統(tǒng)打交道已15年有余,熟悉單片機系統(tǒng)的軟件、硬件開發(fā),曾主持或參與開發(fā)過的單片機系統(tǒng)產(chǎn)品,大大小小的項目不計其數(shù),現(xiàn)與廣大熱愛單片機系統(tǒng)開發(fā)的工程師、在校大學(xué)生等朋友分享本人原創(chuàng)的單片機軟件硬件技術(shù)開發(fā)經(jīng)驗。
本文旨在引導(dǎo)尚未入門的朋友快速進入單片機系統(tǒng)之門,已經(jīng)熟悉單片機系統(tǒng)開發(fā)的朋友敬請拍磚指教或留言補充信息,后續(xù)分享的技術(shù)文章將逐步深入。
一、入門知識儲備
想學(xué)習(xí)單片機系統(tǒng)的開發(fā),必須先有以下幾個方面的知識儲備:
(一)微機原理
(二)C語言編程
微機原理既是計算機技術(shù)的入門課程,也是單片機的入門課程。其實單片機就是一臺“高度濃縮的計算機”,其基本原理與計算機及其相似,單片機麻雀雖小,計算機的五臟俱全。
C語言是目前單片機開發(fā)的必備編程語言。單片機軟件在N年前是用匯編語言開發(fā)的,每種單片機的匯編語言都不一樣。由于采用匯編語言開發(fā)單片機軟件太過于復(fù)雜,效率及其底下,現(xiàn)在基本上都用C語言開發(fā)單片機軟件了,僅在一些很特殊的場合才需要用到匯編語言,例如要求精確控制CPU某段程序的執(zhí)行時長。如果還沒有C語言基礎(chǔ),建議先學(xué)C語言再學(xué)單片機。
二、單片機系統(tǒng)開發(fā)基本條件
條件之一:手上必須有單片機實物。學(xué)習(xí)單片機重在動手,在腦子里空想是學(xué)不起來的??梢宰约河秒娐吩O(shè)計軟件(如Altium Designer等)做一塊電路板;或者直接上某寶買一塊現(xiàn)成的單片機開發(fā)板。
條件之二:單片機程序下載器或在線仿真器。這個設(shè)備一般沒有通用的,單片機系列不同,仿真器也不同。直接上某寶,搜“XXX單片機仿真器”,一般都能找到你想要的。
條件之三:在PC機上安裝好單片機開發(fā)平臺。單片機開發(fā)平臺也叫單片機開發(fā)環(huán)境,是單片機軟件代碼的編輯工具和代碼編譯工具的結(jié)合體。單片機品牌和系列不同,其開發(fā)平臺也不一樣,例如STM8可以用IAR進行軟件開發(fā),也可以采用ST公司自己開發(fā)的STVD進行軟件開發(fā)。
具備以上三個條件,你就可以開工了。
三、后話
雖然世界上的單片機種類有上千種,但單片機技術(shù)基本上是相通的,只要掌握了一款單片機的開發(fā),以后遇到其他品種的單片機就非常容易上手了。如果學(xué)習(xí)第一款單片機需要2個月時間,那么學(xué)習(xí)第二款單片機就只需要2天時間。
以上只是談到單片機系統(tǒng)開發(fā)的最基本的條件,但我們知道單片機最終還是應(yīng)用于產(chǎn)品之內(nèi)的,單片機系統(tǒng)開發(fā)最終還是為了產(chǎn)品開發(fā)。因此,僅僅學(xué)會單片機軟件編程還是遠遠不夠的。一款單片機系統(tǒng)產(chǎn)品從項目立項到最終實現(xiàn)產(chǎn)品量產(chǎn),其中涉及到的方方面面技術(shù)問題還有很多很多,例如如何選擇最合適的單片機、硬件的電磁兼容問題、軟件的bug調(diào)試和軟件可靠性、數(shù)字量和模擬量信號采集、一般高低電平輸出和PWM輸出、操作系統(tǒng)、產(chǎn)品成本…,太多太多了!