|
PIC單片機(jī)
PIC單片機(jī)系列是美國微芯公司(Microship)的產(chǎn)品,共分三個級別,即基本級、中級、高級,是當(dāng)前市場份額增長最快的單片機(jī)之一,CPU采用RISC結(jié)構(gòu),分別有33、35、58條指令,屬精簡指令集,同時采用Harvard雙總線結(jié)構(gòu),運(yùn)行速度快,它能使程序存儲器的訪問和數(shù)據(jù)存儲器的訪問并行處理,這種指令流水線結(jié)構(gòu),在一個周期內(nèi)完成兩部分工作,一是執(zhí)行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個周期,這也是高效率運(yùn)行的原因之一,此外PIC單片機(jī)之所以成為一時非常熱的單片機(jī)不外乎以下特點(diǎn):
特點(diǎn):
1.具有低工作電壓、低功耗、驅(qū)動能力強(qiáng)等特點(diǎn)。PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器,從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態(tài)。物聯(lián)網(wǎng)電子產(chǎn)品開發(fā)。
2.當(dāng)置位1時為輸入狀態(tài),且不管該腳呈高電平或低電平,對外均呈高阻狀態(tài);置位0時為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動能力,低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。相對于51系列而言,這是一個很大的優(yōu)點(diǎn)
3.它可以直接驅(qū)動數(shù)碼管顯示且外電路簡單。它的A/D為10位,能滿足精度要求。具有在線調(diào)試及編程(ISP)功能。汽車電子產(chǎn)品開發(fā)。
不足之處:
其專用寄存器(SFR)并不像51系列那樣都集中在一個固定的地址區(qū)間內(nèi)(80~FFH),而是分散在四個地址區(qū)間內(nèi)。只有5個專用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個存儲體內(nèi)同時出現(xiàn),但是在編程過程中,少不了要與專用寄存器打交道,得反復(fù)地選擇對應(yīng)的存儲體,也即對狀態(tài)寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。數(shù)據(jù)的傳送和邏輯運(yùn)算基本上都得通過工作寄存器W(相當(dāng)于51系列的累加器A)來進(jìn)行,而51系列的還可以通過寄存器相互之間直接傳送,因而PIC單片機(jī)的瓶頸現(xiàn)象比51系列還要嚴(yán)重,這在編程中的朋友應(yīng)該深有體會
使用最多的器件:PIC16F873、PIC16F877
AVR單片機(jī)
AVR單片機(jī)是Atmel公司推出的較為新穎的單片機(jī),其顯著的特點(diǎn)為高性能、高速度、低功耗。它取消機(jī)器周期,以時鐘周期為指令周期,實行流水作業(yè)。智能穿戴電子產(chǎn)品開發(fā)。AVR單片機(jī)指令以字為單位,且大部分指令都為單周期指令。而單周期既可執(zhí)行本指令功能,同時完成下一條指令的讀取。通常時鐘頻率用4~8MHz,故最短指令執(zhí)行時間為250~125ns。AVR單片機(jī)能成為最近仍是比較火熱的單片機(jī),主要的特點(diǎn):
特點(diǎn):
1.AVR系列沒有類似累加器A的結(jié)構(gòu),它主要是通過R16~R31寄存器來實現(xiàn)A的功能。在AVR中,沒有像51系列的數(shù)據(jù)指針DPTR,而是由X(由R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個16位的寄存器來完成數(shù)據(jù)指針的功能(相當(dāng)于有三組DPTR),而且還能作后增量或先減量等的運(yùn)行,而在51系列中,所有的邏輯運(yùn)算都必須在A中進(jìn)行;而AVR卻可以在任兩個寄存器之間進(jìn)行,省去了在A中的來回折騰,這些都比51系列出色些
2.AVR的專用寄存器集中在00~3F地址區(qū)間,無需像PIC那樣得先進(jìn)行選存儲體的過程,使用起來比PIC方便。AVR的片內(nèi)RAM的地址區(qū)間為0~00DF(AT90S2313)和0060~025F(AT90S8515、AT90S8535),它們占用的是數(shù)據(jù)空間的地址,這些片內(nèi)RAM僅僅是用來存儲數(shù)據(jù)的,通常不具備通用寄存器的功能。當(dāng)程序復(fù)雜時,通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達(dá)128個(為AVR的4倍),編程時就不會有這種感覺。智能醫(yī)療電子產(chǎn)品開發(fā)。
3.AVR的I/O腳類似PIC,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點(diǎn)雖不如PIC,但比51系列還是要優(yōu)秀的…
缺點(diǎn):
1.是沒有位操作,都是以字節(jié)形式來控制和判斷相關(guān)寄存器位的
2.C語言與51的C語言在寫法上存在很大的差異,這讓從開始學(xué)習(xí)51單片機(jī)的朋友很不習(xí)慣
3.通用寄存器一共32個(R0~R31),前16個寄存器(R0~R15)都不能直接與立即數(shù)打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數(shù)打交道,顯然要優(yōu)于前者。
|
|