微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微控制器誕生于20世紀(jì)70年代中期,經(jīng)過20多年的發(fā)展,其成本越來越低,而性能越來越強(qiáng)大,這使其應(yīng)用已經(jīng)無處不在,遍及各個(gè)領(lǐng)域。例如電機(jī)控制、條碼閱讀器/掃描器、消費(fèi)類電子、游戲設(shè)備、電話、HVAC、樓宇安全與門禁控制、工業(yè)控制與自動(dòng)化和白色家電(洗衣機(jī)、微波爐)等。
Intel公司作為最早推出微處理器的公司,同樣也是最早推出微控制器的公司。繼1976年推出MCS-48后,又于1980年推出了MCS-51,為發(fā)展具有良好兼容性的新一代微控制器奠定了良好的基礎(chǔ)。在8051技術(shù)實(shí)現(xiàn)開放后,Philips、Atmel、Dallas和Siemens等公司紛紛推出了基于80C5l內(nèi)核(805l的CMC)S版本)的微控制器。這些各具特色的產(chǎn)品能夠滿足大量嵌入式應(yīng)用需求?;?0C51內(nèi)核的微控制器并沒有停止發(fā)展的腳步,例如現(xiàn)在Maxim/Dallas公司提供的DS89C430系列微控制器,其單周期指令速度已經(jīng)提高到了805l的12倍?;贑ISC架構(gòu)的微控制器除了80C51外,還包括Motorola提供的68HC系列微控制器,這也是大量應(yīng)用的8位微控制器系列?;赗ISC架構(gòu)的微控制器則包括Microchip的PIC系列8位微控制器等。在16位RISC架構(gòu)的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代碼執(zhí)行效率,成為許多需要高精度混合信號(hào)處理以及便攜式系統(tǒng)和電池供電系統(tǒng)的理想選擇。
微控制器(Microcontroller Unit,即MCU)可從不同方面進(jìn)行分類:根據(jù)數(shù)據(jù)總線寬度可分為8位、16位和32位機(jī);根據(jù)存儲(chǔ)器結(jié)構(gòu)可分為Harvard結(jié)構(gòu)和Von Neumann結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲(chǔ)器的類別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash;根據(jù)指令結(jié)構(gòu)又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。
基于8051內(nèi)核的CISC微控制器迄今為止,MCS-51已成為8位機(jī)中運(yùn)行最慢的系列?,F(xiàn)在Dallas推出的DS89C430系列產(chǎn)品在保持與80C51引腳和指令集兼容的基礎(chǔ)上,每個(gè)機(jī)器周期僅為一個(gè)時(shí)鐘,實(shí)現(xiàn)了8051系列的最高吞吐率。一般而言,對(duì)于現(xiàn)有的基于8051的應(yīng)用軟件可以直接寫入DS89C430而無需進(jìn)行更改。除此之外,DS89C430還在許多其他方面引入了新的功能,從而為具體應(yīng)用提供了更多靈活性。下面介紹DS89C430不同于8051的功能和特點(diǎn)。片內(nèi)程序存儲(chǔ)器及應(yīng)用片內(nèi)程序存儲(chǔ)器邏輯上分為成對(duì)的8 KB、16 KB或32 KB閃存單元,以支持在應(yīng)用編程。這允許器件在應(yīng)用軟件的控制下修改程序存儲(chǔ)器,應(yīng)用系統(tǒng)能夠在執(zhí)行其主要功能的情況下,完成在線軟件升級(jí)。DS89C430集成了64 B加密陣列,允許用戶以加密形式查看數(shù)據(jù),進(jìn)行程序代碼校驗(yàn)。器件支持通過RS-232串口實(shí)現(xiàn)在系統(tǒng)編程。在系統(tǒng)編程通過將器件的一個(gè)或多個(gè)外部引腳設(shè)置為某特定狀態(tài)來激活引導(dǎo)加載程序。器件啟動(dòng)后,開始執(zhí)行駐留于器件內(nèi)部專用ROM的加載程序。一旦收到一個(gè)回車符號(hào),串口就執(zhí)行自動(dòng)波特率功能,并與主機(jī)的波特率同步。如圖1所示是在系統(tǒng)編程的物理連接.簡單的引導(dǎo)加載程序接口允許使用幾種方法來實(shí)現(xiàn)PC機(jī)與目標(biāo)微控制器間的通信。最簡單的方法是使用Dallas的微控制器工具包(MTK)軟件.它具有高度前端特征,簡化了目標(biāo)配置,上傳、下載代碼以及特殊功能配置等任務(wù)操作。
8051微控制器是通過MOVX指令來訪問片外數(shù)據(jù)空間的,用MOVX@DPTR指令可訪問整個(gè)64 KB的片外數(shù)據(jù)存儲(chǔ)器。傳統(tǒng)的8051只有一個(gè)數(shù)據(jù)指針DPTR,要將數(shù)據(jù)從一個(gè)地址移到另一個(gè)地址非常麻煩。DS89C430則具備雙數(shù)據(jù)指針DPTR0和DPTRl,因此軟件可以使用一個(gè)指針裝載源地址,另一個(gè)指針裝載目的地址。DPTR0的SFR地址與805l相同(82H和83H),因此使用該指針時(shí)源代碼無需更改,DPTRl位于84H和85H地址。所有與數(shù)據(jù)指針相關(guān)的操作都使用活動(dòng)數(shù)據(jù)指針,活動(dòng)指針通過控制位SEL選擇。每個(gè)指針還各有一個(gè)控制位,決定INCDPTR操作是遞增還是遞減數(shù)據(jù)指針值。