官术网_书友最值得收藏!

1.2 單片機開發流程

單片機應用系統的開發主要包括單片機的外部電路設計和單片機的控制程序設計,其中以單片機的控制程序設計為核心。一般來說,一個完整的單片機應用系統設計包括系統分析、單片機選型、程序設計、仿真測試并最終下載到實際硬件電路中執行。單片機開發的整個流程如圖1.2所示。

圖1.2 單片機開發流程

1.2.1 系統分析

設計者在開始單片機應用系統開發之前,除了需要掌握單片機的硬件及程序設計方法外,還需要對整個系統進行可行性分析和系統總體方案分析。這樣,可以避免因盲目地工作而浪費寶貴的時間。可行性分析用于明確整個設計任務在現有的技術條件和個人能力上是可行的。

首先,要保證設計要求可以利用現有的技術來實現。一般可以通過查找相關文獻、尋找類似設計等方法找到與該任務相關的設計方案。這樣可以參考這些相關的設計,分析該項目是否可行以及如何實現。如果設計的是一個全新的項目,則需要了解該項目的功能需求、體積和功耗等,同時需要對當前的技術條件和器件性能非常熟悉,以確保合適的器件能夠完成所有的功能。

其次,需要了解整個項目開發所需要的知識是否都具備。如果不具備,則需要估計在現有的知識背景和時間限制下能否掌握并完成整個設計。必要的時候,可以選用成熟的開發板來加快學習和程序設計的速度。

當完成可行性分析后,便進入系統總體方案設計階段。設計者可以參考前面可行性分析中查找到的相關資料以及本系統的應用要求和現有技術條件,初步規劃本設計所采用的器件以及實現的功能和技術指標。接著,制定合理的時間計劃表,編寫設計任務書,從而完成系統的總體方案設計。

1.2.2 單片機選型

在單片機應用系統開發中,單片機是整個設計的核心。設計者需要為單片機安排合適的外部器件,同時還需要設計整個控制軟件,因此選擇合適的單片機型號很重要。目前,市場上的單片機種類繁多,在進行正式的單片機應用系統開發之前,需要根據不同單片機的特性,從中作出合理的選擇。

1. 單片機選型注意事項

在單片機選型時,主要需要注意以下幾點。

? 仔細調查市場,盡量選用主流的、貨源充足的單片機型號,這些器件使用的比較廣泛,有許多設計資料供學習或參考。

? 盡量選擇所需的硬件資源集成在單片機內部的型號,例如ADC、DAC、I2C、SPI和USB等。這樣便于整個控制系統的軟件管理,減少外部硬件的投入,縮小整體電路板的面積,從而減少總體投資等。

? 對于手持式設備、移動設備或者其他需要低功耗的設備,盡量選擇低電壓、低功耗的單片機型號。這樣可以減少能量的消耗,延長設備的使用壽命。

? 在資金等條件允許的情況下,盡量選擇功能豐富、擴展能力強的單片機,這樣便于以后的功能升級和擴展。

? 對于體積有限制的產品,盡量選擇貼片封裝的單片機型號,這樣可以減少電路板面積,從而降低硬件成本,同時也有助于電磁兼容設計。

2. 各大公司單片機簡介

目前,市場上的單片機種類很多,不同廠商均推出很多不同側重功能的單片機類型。設計者需要了解目前主流的一些單片機,這樣便于選擇合適的芯片進行設計。下面分別介紹各個主要廠商提供的單片機系列。

(1)Atmel單片機介紹

Atmel公司的產品非常豐富,除基本的51系列單片機外,還包括針對不同設計領域的專用51內核單片機。Atmel公司的51內核單片機有如下幾類。

? 單周期8051內核單片機。例如AT89LP213、AT89LP214、AT89LP216、AT89LP2052、AT89LP4052等。

? Flash ISP在系統編程單片機。例如AT89C51、AT89LS51、AT89LS52、AT89S2051、AT89S4051、AT89S51、AT89S52、AT89S8253等。

? USB接口單片機。例如AT83C5134、AT83C5135、AT83C5136、AT89C5130、AT89C5131、AT89C5132等。

? 智能卡接口單片機。例如AT83C5121、T83C5121、AT83C5122、AT83C5123、AT83C5127、AT85C5121、AT85C5122、AT89C5121等。

? MP3專用單片機。例如AT85C51SND3、AT89C51SND2C、AT89C51SND1C、AT83SND2C、AT83SND1C等。

(2)Cypress單片機介紹

Cypress公司的51內核單片機主要擴展了USB接口。其中包括USB嵌入式主機、USB低速、全速和高速設備等。其中典型的USB嵌入式主機為SL811HST,典型的USB全速設備為AN21xx系列,使用最為廣泛的USB高速設備為CY7C68013系列。

(3)Infineon單片機介紹

Infineon公司的產品包括標準的8051內核以及符合工業標準的8051單片機,主要包括XC800系列和C500/C800系列。其中,新型的XC800系列單片機采用高性能8051內核、片上集成閃存和ROM存儲器以及功能強大的外設組,如增強型CAPCOM6(CC6)、CAN、LIN和10位ADC,包括XC886/888CLM、XC886/888LM、XC866等。C500/C800系列單片機是基于工業標準8051架構的微處理器,具有CAN、SPI等資源,包括C515C、C505CA、C868等。

(4)Silicon單片機介紹

Silicon Laboratories公司的C8051F系列單片機,集成了一流的模擬功能、Flash、JTAG的調試功能最高可達100 MIPS的8051 CPU以及系統內現場可編程性。C8051F系列單片機主要有如下幾類。

? USB混合信號微處理器。例如C8051F340、C8051F341、C8051F342、C8051F343、C8051F344、C8051F345、C8051F320、C8051F321等。

? 精密混合信號微處理器。例如C8051F120、C8051F121、C8051F130、C8051F133、C8051F350、C8051F020、C8051F021、C8051F064等。

? CAN總線接口混合信號微處理器。例如C8051F040、C8051F041、C8051F060、C8051F061、C8051F062、C8051F063等。

(5)Maxim單片機介紹

Maxim公司的產品線很豐富,其推出的8051兼容微控制器主要有如下幾類。

? 高速微處理器。這類微處理器每機器周期使用一個時鐘,速度是標準8051的33倍。例如DS89C450、DS87C530、DS87C520、DS83C520、DS80CH11、DS80C323、DS80C320等。

? 安全微控制器。具有防篡改能力的微控制器,例如DS5250、DS5000、DS2250、DS2252T、DS907X、DS2251T等。

? 網絡微控制器。例如DS80C411、DS80C400、DS80C390等。

(6)NXP單片機介紹

NXP半導體公司的前身是Philips半導體公司,它推出了多種單片機微控制器。主要包括LPC7000系列單片機、LPC9000系列多用途Flash單片機和基本的80C51系列單片機。

(7)Winbond單片機介紹

Winbond系列單片機由中國臺灣的華邦電子推出,具有豐富的產品線。主要有如下幾類。

? 標準51單片機。例如W78C32、W78E51B、W78E516、W78E858、W78C54、W78C801等。

? 寬電壓單片機。例如W78L32、W78L51、W78L801、W78LE51、W78LE812等。

? 增強C51單片機。例如W77C32、W77L32、W77E58、W77LE58等。

? 工業溫度級單片機。例如W78IE52、W78IE54、W77IC32、W77IE58等。

(8)Analog Devices單片機介紹

美國ADI公司(Analog Device Inc)公司以生產各種高性能的模擬器件著稱,它推出了集成諸多精密模擬資源的ADuC800系列單片機。例如ADuC812、ADuC824、ADuC831、ADuC832、ADuC836、ADuC841、ADuC842、ADuC848等。

(9)TI單片機介紹

美國德州儀器(TI)提供兩類具有嵌入式8051/8052微控制器的產品系列。其中MicroSystems(MSC)產品系列包括嵌入式數據獲取解決方案,例如MSC1200、MSC1201、MSC1202、MSC1210、MSC1211、MSC1212、MSC1213、MSC1214等。TUSB產品系列包括USB嵌入式連接解決方案,例如TUSB2136、TUSB5052、TUSB6xxx等。

(10)普芯達單片機介紹

上海普芯達電子有限公司提供多種半導體器件,該公司新推出的CW89F系列和CW89FE系列單片機很有特色。其中,CW89F系列單片機,具有標準的8051內核、大電流I/O端口,同時提供了VML虛擬固件庫將常用的數字模塊、模擬模塊、通信接口模塊等集成在一起,減少客戶的程序代碼,方便了用戶的使用。另外,CW89FE系列單片機具有6T8051內核,同樣支持VML虛擬固件庫。

除了上述介紹的單片機之外,還有很多其他的半導體廠商也提供了多種單片機。例如美國的Freescale、Motorola、Microchip等,日本的NEC、Hitachi、Renesas等。用戶可以根據需要在其網站上查找最新的單片機型號及參數。

這里所介紹的國內外眾多單片機類型,都具有很多兼容的特性,同時又各有其突出特點,用戶可以根據項目的需要選擇相應類型的單片機。

1.2.3 程序設計

當完成系統總體方案并確定單片機型號后,便可以開始電路和程序設計。在進行電路設計時,需要仔細規劃整個硬件電路的資源分配以及擴展器件。同時,需要規劃哪部分的功能用硬件來實現以及用什么器件來實現,哪部分的功能用軟件來實現等。這里需要注意以下幾點。

? 如果所選單片機的硬件資源豐富且性能指標達到要求,則應盡量使用其內部集成的硬件資源來實現,這樣可以減少額外的器件投資,同時提高系統的集成度和降低電路的復雜性。

? 合理規劃和使用單片機的硬件資源,充分發揮單片機的性能。

? 盡量選擇一些標準化、模塊化的典型電路,這樣可以加速電路設計速度,提高設計的靈活性,確保成功率等。

? 硬件電路上最好將不用的引腳留為擴展的接口,以方便后期的電路維護及硬件升級。

? 要仔細考慮各部分硬件的功耗以及驅動能力,確保電源具有足夠的驅動能力,同時也需要保證相連接的兩個器件之間的驅動能力,否則將導致系統無法正確運行。

在整個單片機應用系統設計中,單片機的程序設計至關重要。在單片機程序設計時,主要需要從以下幾點來考慮。

? 選擇合適易用的程序開發工具,例如Keil μ Vision系列等。

? 盡量選擇使用單片機C51語言來進行設計,避免使用匯編語言,這樣可以使程序易懂,便于代碼交流和后期維護。

? 對于執行速度有特殊要求的場合,可以采用C51語言嵌入匯編代碼來實現。

? 采用結構化的程序設計,將各個主要的功能部件設計為子程序或者子函數,這樣便于調試以及后續的移植修改等。

? 合理使用單片機的硬件資源,包括RAM、ROM、串口、定時器/計數器和中斷等。

? 程序中盡量采用執行速度快的指令,以充分發揮單片機的運算性能。

? 充分考慮軟件運行時的狀態,避免未處理的運行狀態。否則,程序運行時進入未處理的狀態便容易出錯致使軟件死機。

? 必要時可以在軟件中采用看門狗定時器來進行強制復位。

? 編寫程序代碼時,要盡量添加注釋,這樣可以提高程序的可讀性,便于代碼交流和維護。

1.2.4 仿真測試

單片機程序在實際使用前,一般均需要進行代碼仿真。單片機仿真測試和程序設計是緊密相關的。在實際設計過程中,通過仿真測試,可以及時發現問題,確保模塊及程序的正確性。當發現問題時,需要重新進行修改設計,直到程序通過仿真測試。單片機程序的仿真測試需要從如下幾點考慮。

? 對于模塊化的程序,可以通過仿真測試單獨測試每一個模塊的功能是否正確。

? 對于通信接口,如串口等,可以在仿真程序中測試通信的流程。

? 通過程序仿真測試可以預先了解軟件的整體運行情況是否滿足要求。

? 選擇一個好的程序編譯仿真環境,例如Keil公司的μ Vision系列、英國Labcenter electronics公司的PROTEUS軟件等。

? 如果條件允許,可以選擇一款和單片機型號匹配的硬件仿真器。硬件仿真器一般支持在線仿真調試,可以實時觀察程序中的各個變量,最大程度上對程序進行測試。

1.2.5 程序下載

當程序設計完畢并初步通過仿真測試后,便可以將其下載到單片機中,并結合硬件電路來測試系統整體運行。此時,主要測試單片機程序和外部硬件接口是否正常,整個硬件電路的邏輯時序配合是否正確等。如果發現問題,則要返回設計階段,逐個解決問題,直至解決所有問題,達到預期設計功能和指標。在程序下載和實踐電路調試時,可以從如下幾點考慮。

? 在設計調試時,盡量選擇可重復編程的單片機,這樣便于及時修改程序。

? 在投入生產時,可以根據需要選擇一次性編程的器件。

? 盡量選擇Flash編程的單片機,相比早期的單片機來說,其程序下載方式簡單,下載器投資較少。

? 選擇合適的程序下載器,最好同時具有在線調試功能,這樣便于硬件的仿真調試。

主站蜘蛛池模板: 雅江县| 恭城| 庄河市| 广东省| 聂荣县| 湖州市| 汕头市| 博野县| 庆城县| 临城县| 辽宁省| 祁东县| 太谷县| 广德县| 四会市| 临泉县| 长宁区| 乐至县| 任丘市| 西乡县| 土默特左旗| 宁河县| 东辽县| 德安县| 香格里拉县| 锡林郭勒盟| 西丰县| 霍城县| 西乡县| 太和县| 利川市| 嘉鱼县| 都匀市| 湛江市| 三江| 宜良县| 中牟县| 女性| 灵寿县| 郸城县| 大余县|