時代進步,單片機悄悄的進入了21世紀的行列并應用到了各個領域里,最有代表性的就是電子產品了,有了單片機的電子產品又加上了一個新名字,就是智能電子產品、如智能電視、智能冰箱、智能空調等等,于是這門技術也成了炙手可熱的,越來越多的人都在學習單片機開發技術,那么單片機開發項目是怎樣的一個流程呢,就讓小編來具體講一下。
單片機開發項目流程詳解:
一、制定需求
首先要清楚你要做一個什么樣的產品,這個產品包含哪些功能,要采集哪些信號?要控制哪些設備?要走哪些通訊協議?通訊協議走什么接口?是不是要顯示界面?是不是要聲光提示?是不是要低功耗?清楚了這些需求以后就可以選型了。
比如說我要做一個單片機密碼鎖,要求:
1. 有4位數碼管顯示;
2. 控制一個繼電器;
3. 控制一個蜂鳴器;
4. 控制五個LED燈;
5. 兩個按鍵輸入;
二、 芯片選型
根據你的需求來確定所選芯片型號。如第一部分的功能需求,這5個需求都只需要用到單片機的IO口,沒有用到片上資源,所以只要IO口夠用就可以了。
1. 4位數碼管:為了方便大家學習,這里選用74HC595來驅動,該芯片與單片機相連只需要3個IO口;
2. 控制一個繼電器;這個地方主要考慮線圈電壓,單片機是5V供電,所以選用5V的繼電器,占用1個IO口;
3. 控制蜂鳴器:選用有源蜂鳴器,即只要給電蜂鳴器就發聲,占用1個IO口;
4. 控制5個LED燈:采用灌電流的方式,占用5個IO口;
5. 兩個按鍵輸入:采用上拉電阻,按下低電平實現,占用2個IO口;
總共用了3+1+1+5+2=12個IO口;為了方便初學者,那我們就選用STC的51單片機來完成這個設計吧,所選型號為STC89C51,封裝形式為DIP40,相信大家在大學里學單片機的時候老師都是用這一款教的吧。
三、硬件原理設計
芯片選型完畢之后,又有了設計思路,那就趕快把電路圖畫出來吧。畫電路圖用什么軟件呢?這樣的EDA工具很多,像Protel99se、DXP、Altium Designer 等,這些都是軟件都是一家出的,還有Cadence、PowerPcb等。本人用的是AD09。原理圖設計的內容是什么呢?設計的內容包括單片機的最小系統、還有擴展出來的功能。
如果大家感興趣,可以看《單片機原理是什么 了解單片機學習事半功倍》這篇文章
四、硬件PCB設計
當原理圖畫完,并且檢查沒有錯誤后,就開始畫PCB吧,什么是PCB?PCB就是電路板,什么是電路板,就像下圖這樣的:
這是焊接之前的電路板,PCB文件設計好后,發給廠家去打樣制版,做回來的就是這樣的電路板。上圖中的電路板用的都是直插元件。什么是直插元件,什么是貼片元件?這就設計到元器件的封裝問題了。
如果大家感興趣,我明后天把畫pcb板的過程推送給大家。
五、樣板焊接
什么是樣板焊接?就是把電子元器件焊接在pcb板上。如果封裝簡單、樣板數量少那完全可以自己動手焊接了,順便也鍛煉一下自己的焊接水平,對于一個搞電的人而言,一般都是從焊電路板過來的。如果搞電但不會焊接,別人會笑話你的。
六、調試程序
程序該怎么寫?用什么工具寫?不同的單片機有不同的編程環境,比如PIC單片機使用MPLAB編程環境,MSP430單片機使用IAR Embedded Workbench編程環境,DSP使用CCS編程環境。這里重點介紹的編程環境是Keil,Keil是目前所有編程環境中最好用的,也是支持芯片最多的,可以說Keil是目前最主流的編程環境,本人使用的是Keil的編程環境,Keil的C51版本和MDK版本都在用。
七、程序燒錄
程序燒錄的意思就是把寫好的程序下載到單片機里,這樣單片機才會按照用戶編寫的程序來執行命名、實現功能。程序要怎么樣才能燒寫到單片機中去呢?每種單片機都有各自的程序燒錄接口。
以上7個步驟完成之后,這個產品的電氣部分就算完成了,但這卻不是終點。為什么?因為一款產品貫穿著很多設計環節,比如說結構設計環節、電氣設計環節、樣機測試環節等。所以在電氣開發的過程之中要和做結構的人多配合、多探討,還要和產品經理多探討,反復修改需求,這樣才能做出一款漂亮、實用、受歡迎的產品。