概述 絕大多數現在的單片機都是基于馮·諾伊曼結構的,這種有單片機所必需的四個基本部分:一個中央處理器核心,程序存儲器(只讀存儲器或者閃存)、數據存儲器(隨機存儲器)、一個或者更多的定時/計時器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出端口——所有這些都被集成在單個集成電路芯片上。 單片機與通用型中央處理單元芯片不同,是因為前者一般很容易配合最小型的外部支持芯片制成工作計算機。這樣就可以很容易的把單片機系統植入裝置內部來控制裝置了。近年來為了在指令和數據上使用不同的字寬,并提高處理器流水線速度,哈佛結構在微控制器(Microcontrollers)和數字信號處理器(Digital Signal Processor, DSP)也逐漸得到了廣泛的應用。 傳統的微處理器是不允許這么做的。它要完成單片機的工作,就必須連接一些其他芯片。比如說,因為芯片上沒有數據存儲器,就必須要添加一些RAM的存儲芯片,雖然所添加存儲器的容量很靈活,但是至少還是要添加。另外還需要添加很多連線來傳遞芯片之間的數據。與以上的情況相比,單片機的工作則相對獨立,一個典型的微控制器只需要一個時鐘發生器和很少的RAM和ROM(或者EPROM, E2PROM)就可以在軟件和晶振下工作了。同時,微控制器具有豐富的輸入輸出設備,例如模擬數字轉換器(Analog-to-Digital Converter, ADC),定時器,串口,以及其他串行通訊接口,比如I2C,SPI(串行周邊接口),CAN(控制器局域網)等。通常,這些集成在內部的設備可以通過特殊的指令來操作。 單片機時鐘頻率通常較同時代的計算機芯片低,但它價格低廉,能夠提供充足的程序存儲器、豐富的片上接口。某些架構的單片機生產廠商眾多,例如8051系列、Z80系列。一些現代的微控制器支持一些內建的高級編程語言,比如BASIC語言、C語言、C++等。
單片機的位元數 根據總線或資料暫存器的寬度,單片機又分為4位元、8位元、16位元和32位元單片機。4位單片機多用于冰箱、洗衣機、微波爐等家電控制中;8位、16位單片機主要用于一般的控制領域,一般不使用操作系統;32位用于網絡操作、多媒體處理等復雜處理的場合,一般要使用嵌入式操作系統。
常見的單片機 微芯公司的PIC系列出貨量居于業界領導者地位;Atmel的51系列及AVR系列種類眾多,受支持面廣;德州儀器的MSP430系列以低功耗聞名,常用于醫療電子產品及儀器儀表中;瑞薩單片機在日本使用廣泛。
單片機的開發 單片機的軟件開發中,以往多使用匯編語言,如今越來越多的使用C語言,又或者使用BASIC語言等更適合初學者的語言,部分集成開發環境支持C++。單片機的軟件測試需要使用單片機開發器或模擬器。 隨著技術的發展,2000年后已經有很多單片機自帶了ISP(在線編程設計)或支持IAP,徹底地改變了傳統的開發模式,使得開發單片機系統時不會損壞芯片的引腳,加速了產品的上市并降低了研發成本,縮短了從設計、制造到現場調試的時間,簡化了生產流程,大大提高了工作效率。這類單片機包括AT89S系列單片機、AVR系列單片機等。
硬件 開發板可以進一步簡化程序的開發和燒制過程。開發板可能包含實際芯片或是仿真器。通過配套的下載線連接電腦與開發板,在電腦上編寫程序下載到開發板。批量生產會用到編程器。
軟件開發環境 一些知名的微控制器開發環境有: 微芯公司的 MPLAB IDE 可用于該公司全系列微控制器的開發與除錯,除支持該公司的 ASM 組譯器 C 語言編譯器外,也支援許多第三方的編譯器。 ARM 公司的 μVision 集成開發環境(原為 Keil 公司產品,2005年該公司已由 ARM 購并),包含組譯器與 C 編譯器,可用于51單片機及ARM開發。
PROTEUS Proteus軟件是初學者入門的首選軟件,它是Labcenter Electronics公司的一款商業版電路設計與仿真軟件。內包括ISIS、ARES等軟件模塊。ARES模塊主要用來完成PCB的設計,ISIS模塊用來完成電路原理圖的布圖與仿真。 Proteus的軟件仿真基于VSM技術,它與其他軟件最大的不同也是最大的優勢就在于能仿真大量的單片機芯片,比如MCS-51系列、PIC系列等等,甚至ARM處理器,以及單片機外圍電路,比如鍵盤、LED、LCD等等。該軟件還附帶了一些案例和豐富的幫助文件。
|