




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章緒論1.1單片微型計(jì)算機(jī)1.2單片機(jī)的應(yīng)用1.3AVR、51和PIC系列8位單片機(jī)性能的比較
1.451系列單片機(jī)的主要生產(chǎn)廠家及特點(diǎn)
習(xí)題與思考題1.1單片微型計(jì)算機(jī)
微型計(jì)算機(jī)的出現(xiàn)是電子數(shù)字計(jì)算機(jī)廣泛應(yīng)用到人們?nèi)粘9ぷ骱蜕铑I(lǐng)域中的一個(gè)重大轉(zhuǎn)折點(diǎn),對(duì)社會(huì)產(chǎn)生了極大的影響。單片微型計(jì)算機(jī)是微型計(jì)算機(jī)發(fā)展的一個(gè)重要分支,它以獨(dú)特的結(jié)構(gòu)和性能,已經(jīng)廣泛地應(yīng)用到國(guó)民經(jīng)濟(jì)建設(shè)的各個(gè)領(lǐng)域。圖1-1單片機(jī)結(jié)構(gòu)總之,一個(gè)單片機(jī)就相當(dāng)于一臺(tái)微型計(jì)算機(jī),可以用下面一個(gè)表達(dá)式來(lái)描述:?jiǎn)纹瑱C(jī)=CPU+ROM+RAM+I/O+功能部件單片機(jī)在整體性能上不如微型計(jì)算機(jī),但單片機(jī)與微型計(jì)算機(jī)相比有其顯著的優(yōu)點(diǎn):體積小、編程方便、功耗低、成本低。正是這些優(yōu)點(diǎn)使單片機(jī)得到了廣泛的應(yīng)用。生活中到處是單片機(jī)應(yīng)用的影子,如VCD機(jī)、手機(jī)、微波爐、空調(diào)、自動(dòng)洗衣機(jī)以及汽車電子設(shè)備等。1.1.1單片機(jī)的發(fā)展概況
1975年,美國(guó)德州儀器(TI)公司推出了TMS-1000,Intel公司則推出了40044位單片機(jī);1980年,Intel公司在MCS-48系列的基礎(chǔ)上,又推出高性能的MCS-51系列8位單片機(jī);1982年,16位單片機(jī)問(wèn)世后,Intel又推出了MCS-96系列16位單片機(jī)。而今,具有強(qiáng)大的片內(nèi)功能的32位單片機(jī)也已問(wèn)世。無(wú)論是哪一種位數(shù)的單片機(jī),也無(wú)論是哪一個(gè)系列的單片機(jī),都為新產(chǎn)品的開(kāi)發(fā)、應(yīng)用系統(tǒng)的研制、智能控制器的研究等創(chuàng)造了極其有利的硬件環(huán)境??梢哉f(shuō),由于世界各生產(chǎn)廠家生產(chǎn)的通用型4位、8位、16位、32位單片機(jī)以及衍生出的五花八門的系列及型號(hào)的產(chǎn)品,使單片機(jī)技術(shù)的應(yīng)用達(dá)到了無(wú)處不在的地步。但就國(guó)內(nèi)近30年的應(yīng)用實(shí)踐而言,使用量最大的仍是8位單片機(jī),應(yīng)用范圍最廣的也是8位單片機(jī)。目前,8位單片機(jī)的銷量占全球單片機(jī)銷量的65%左右,仍是當(dāng)前應(yīng)用的主流。1.1.2單片機(jī)的發(fā)展趨勢(shì)
單片機(jī)技術(shù)正以驚人的速度向前發(fā)展,主要表現(xiàn)在以下幾個(gè)方面。
1.CPU的發(fā)展增加CPU的字長(zhǎng)或提高時(shí)鐘頻率均可提高CPU的數(shù)據(jù)處理能力和運(yùn)算速度。CPU的字長(zhǎng)已有8位、16位、32位和64位之分,時(shí)鐘頻率也已發(fā)展到20MHz以上。標(biāo)準(zhǔn)的8051單片機(jī)一個(gè)機(jī)器周期要占用12個(gè)時(shí)鐘周期,執(zhí)行一條指令最少要一個(gè)機(jī)器周期,而現(xiàn)在的單片機(jī),其執(zhí)行指令的速度大大提高了。如Cygnal公司的C8051FXXX系列是全集成混合信號(hào)的片上系統(tǒng)單片機(jī)(SOC單片機(jī)),采用了CIP-51微處理器內(nèi)核,該微處理器70%指令的執(zhí)行是在1個(gè)或2個(gè)系統(tǒng)時(shí)鐘周期內(nèi)完成的,只有4條指令的執(zhí)行需4個(gè)以上的時(shí)鐘周期。Atmel公司的AT89系列單片機(jī)是采用RISC(ReducedInstructionSetCPU)結(jié)構(gòu)的單片機(jī),該系列單片機(jī)可在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令,即在執(zhí)行前一條指令時(shí)就取下一條指令,然后以一個(gè)周期執(zhí)行指令。還有一些8051單片機(jī)兼容廠商為了在不提高時(shí)鐘頻率的條件下,加快單片機(jī)的運(yùn)算速度,改善了單片機(jī)的內(nèi)部時(shí)序。如Motorola單片機(jī)使用了鎖相環(huán)技術(shù)或內(nèi)部倍頻技術(shù),使內(nèi)部總線速度大大高于時(shí)鐘發(fā)生器的頻率;68HC08單片機(jī)使用頻率為4.9MHz的外部振蕩器,而內(nèi)部時(shí)鐘頻率則高達(dá)32MHz。
2.片內(nèi)存儲(chǔ)器的發(fā)展
早期單片機(jī)的片內(nèi)存儲(chǔ)器,一般RAM為64~128B,程序存儲(chǔ)器ROM在1~2KB之間,新型的單片機(jī)片內(nèi)的RAM在256B以上,片內(nèi)程序存儲(chǔ)器也采用了快速閃存(Flash)技術(shù),可在V電壓下進(jìn)行程序的燒錄,容量可達(dá)128KB以上。由于采用了Flash技術(shù),使得在線編程(InSystemProgramming,ISP)和在應(yīng)用中編程(InApplicationProgramming,IAP)技術(shù)得以實(shí)現(xiàn)。
3.片內(nèi)輸入/輸出接口功能的加強(qiáng)
最初的單片機(jī),片內(nèi)只有并行輸入/輸出接口、定時(shí)器/計(jì)數(shù)器,它們的功能也較差,在實(shí)際應(yīng)用中往往還要通過(guò)特殊的接口擴(kuò)展功能,這樣既增加了應(yīng)用系統(tǒng)結(jié)構(gòu)的復(fù)雜性,也降低了系統(tǒng)的穩(wěn)定性。近幾年來(lái),新型單片機(jī)的接口,無(wú)論從類型上還是從數(shù)量上都有很大的發(fā)展,這不僅大大地提高了單片機(jī)的功能,而且也大大地簡(jiǎn)化了系統(tǒng)的總體結(jié)構(gòu)。例如,有些單片機(jī)的并行I/O口能直接輸出大電流和高電壓,可直接用以驅(qū)動(dòng)數(shù)碼管(LED)、液晶顯示器(LCD)等。集成在片內(nèi)的部件也越來(lái)越多,常見(jiàn)的有A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、串行通信接口、看門狗電路、網(wǎng)絡(luò)控制模塊、用于變頻控制的脈寬調(diào)制控制電路等。
4.半導(dǎo)體工藝技術(shù)的發(fā)展
早期的單片機(jī)采用PMOS工藝,隨后逐漸采用NMOS、HMOS和CMOS工藝,現(xiàn)在的單片機(jī)基本上都采用CMOS工藝。半導(dǎo)體工藝技術(shù)的發(fā)展,對(duì)提高單片機(jī)的綜合性能有很大好處,主要表現(xiàn)在以下幾個(gè)方面:(1)提高集成度。早期單片機(jī)采用5μm的工藝,后來(lái)采用4~3μm的工藝時(shí),芯片上的電路復(fù)雜度已可提高2~4倍。當(dāng)前的單片機(jī)大部分采用0.6μm以下的工藝,有的甚至采用0.13μm的工藝,在一塊硅片上能集成的部件更多。(2)低功耗化。采用COMS工藝制作的單片機(jī)本身具有低功耗的優(yōu)點(diǎn),為了進(jìn)一步降低功耗,很多單片機(jī)都設(shè)置了等待(Wait)、停止(Stop)和睡眠(Sleep)等低功耗的工作方式。例如TI公司的MSP430系列單片機(jī),它具有LPM1、LPM3和LPM4三種低功耗的工作方式,在工作電壓為3V,工作方式為L(zhǎng)PM1時(shí),CPU靜止,振蕩頻率介于1~4MHz之間,外圍電路處于活動(dòng)的情況下,只消耗約50μA的電流;在工作方式為L(zhǎng)PM4時(shí),CPU、外圍電路、振蕩器都處于靜止?fàn)顟B(tài),只消耗約0.1μA的電流。(3)工作電壓范圍加寬。采用NMOS工藝制作的單片機(jī),工作電壓一般為4.5~5.5V,而采用CMOS工藝制作的單片機(jī),一般都可以在3~6V的條件下工作。目前有的單片機(jī)的工作電壓更低,如TI公司的MSP430X11X系列單片機(jī)的工作電壓為2.2V。(4)單片機(jī)的外型封裝多樣化。早期單片機(jī)的外型封裝都采用雙列直插式(DIP)封裝,如今,外型封裝可為方形(PQFP、PLCC),還可采用貼片工藝方式封裝,以減小體積。單片機(jī)的外型封裝方式如圖1-2所示。圖1-2單片機(jī)的封裝方式
5.低噪聲與高可靠性技術(shù)的發(fā)展
為提高單片機(jī)系統(tǒng)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工作環(huán)境,滿足電磁兼容性方面更高標(biāo)準(zhǔn)的要求,各單片機(jī)廠家在單片機(jī)內(nèi)部電路中采用了一些新的技術(shù)措施。如很多系列單片機(jī)在片內(nèi)增加了看門狗定時(shí)器,Motorola公司的MC68HC08系列單片機(jī)采用了EFT(ElectricalFastTransient)的抗干擾技術(shù)等。
6.ISP及IAP的應(yīng)用
在線編程(ISP)及在應(yīng)用中編程(IAP)是通過(guò)計(jì)算機(jī)的并口或串口對(duì)單片機(jī)進(jìn)行程序下載編程的技術(shù)。單片機(jī)引出的編程線與I/O口線復(fù)用,不增加單片機(jī)引腳數(shù)量。ISP技術(shù)為單片機(jī)的開(kāi)發(fā)、調(diào)試提供了方便,并使單片機(jī)系統(tǒng)遠(yuǎn)程調(diào)試、升級(jí)成為現(xiàn)實(shí)。IAP技術(shù)可實(shí)現(xiàn)單片機(jī)在應(yīng)用中的再編程,為儀器儀表的智能化提供了重要的技術(shù)手段。1.2單片機(jī)的應(yīng)用
單片機(jī)主要可用于以下幾方面。
1.控制系統(tǒng)控制系統(tǒng),特別是工業(yè)控制系統(tǒng)的工作環(huán)境惡劣,各種干擾大,而且往往要求實(shí)時(shí)控制,故要求控制系統(tǒng)工作穩(wěn)定、可靠、抗干擾能力強(qiáng)。單片機(jī)是最適宜于控制領(lǐng)域的應(yīng)用,如數(shù)控機(jī)床、電鍍生產(chǎn)線自動(dòng)控制等。
2.智能儀表
用單片機(jī)制作的測(cè)量、控制儀表,能使儀表向數(shù)字化、智能化、多功能化、柔性化方向發(fā)展,并使檢測(cè)、處理、控制等功能一體化,使儀表重量大大減輕,便于攜帶和使用,同時(shí)降低了成本,提高了性能/價(jià)格比,如數(shù)字式RLC測(cè)量?jī)x、智能轉(zhuǎn)速表、計(jì)時(shí)器等。
3.智能產(chǎn)品
單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化,構(gòu)成新型的機(jī)電一體化產(chǎn)品,如數(shù)控車床、電腦空調(diào)機(jī)、各種家電和通信設(shè)備等。
4.計(jì)算機(jī)外設(shè)在計(jì)算機(jī)應(yīng)用系統(tǒng)中,除通用外部設(shè)備(鍵盤(pán)、顯示器、打印機(jī))外,還有許多用于外部通信的設(shè)備,如數(shù)據(jù)采集、多路分配管理、驅(qū)動(dòng)控制接口等。在接口中采用單片機(jī)進(jìn)行控制和管理后,主機(jī)和單片機(jī)就能并行工作,這不僅大大提高了系統(tǒng)的運(yùn)算速度,而且單片機(jī)還可對(duì)接口信息進(jìn)行預(yù)處理,以減少主機(jī)和接口的通信密度,提高接口控制管理的水平,如繪圖儀控制器、打印機(jī)控制器等。1.3AVR、51和PIC系列8位單片機(jī)性能的比較1.3.151系列
應(yīng)用最廣泛的8位單片機(jī)首推Intel的51系列,該產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)。世界上有許多著名的芯片公司都購(gòu)買了51芯片的核心專利技術(shù),并在其基礎(chǔ)上進(jìn)行性能上的擴(kuò)充,使得芯片得到了進(jìn)一步的完善,形成了一個(gè)龐大的體系,直到現(xiàn)在仍在不斷改進(jìn)和發(fā)展。有人推測(cè),51芯片可能最終形成事實(shí)上的標(biāo)準(zhǔn)MCU芯片。
51系列單片機(jī)的優(yōu)點(diǎn)之一是它從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,或布爾處理器。它的處理對(duì)象不是字或字節(jié),而是位。它不僅能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來(lái)得心應(yīng)手。雖然其他種類的單片機(jī)也具有位處理功能,但能進(jìn)行位邏輯運(yùn)算的卻屬少見(jiàn)。51系列單片機(jī)在片內(nèi)RAM區(qū)間還特別開(kāi)辟了一個(gè)雙重功能的地址區(qū)間(16個(gè)字節(jié),單元地址為20H~2FH),它既可作字節(jié)處理,也可作位處理(作位處理時(shí),約128個(gè)位,相應(yīng)的位地址為00H~7FH),使用極為靈活。這一功能無(wú)疑給使用者提供了極大的方便,這是由于一個(gè)較復(fù)雜的程序在運(yùn)行過(guò)程中會(huì)遇到很多分支,因而需建立很多標(biāo)志位,需要對(duì)有關(guān)的標(biāo)志位進(jìn)行置位、清零或檢測(cè),以確定程序的運(yùn)行方向,而實(shí)施這一處理功能(包括前面所有的位功能),只需用一條位操作指令即可。
【例1-1】對(duì)21H的第0位(相應(yīng)位地址為08H)置位。只需用一條位指令:
SETB08H對(duì)周圍的其他位不會(huì)產(chǎn)生影響。有的單片機(jī)并不能直接對(duì)RAM單元中的位進(jìn)行操作,如AVR系列單片機(jī)中,若想對(duì)RAM中的某位置位,則必須通過(guò)狀態(tài)寄存器SREG的T位進(jìn)行中轉(zhuǎn)。
【例1-2】對(duì)RAM中的R0寄存器的第4位置位。位指令:
BSET6;狀態(tài)寄存器T置位
BLDR0,4;將T位復(fù)制到R0的第4位顯然,通過(guò)中轉(zhuǎn)的方式置位比直接置位要復(fù)雜。
51系列單片機(jī)的另一個(gè)優(yōu)點(diǎn)體現(xiàn)在其乘法和除法指令上,它們給編程帶來(lái)了便利。8位除以8位的除法指令,商為8位,精度不夠,用得不多,而8位乘8位的乘法指令,其積為16位,精度能滿足要求,因此用得較多。作乘法時(shí),只需一條指令就行了,即MULAB(兩個(gè)乘數(shù)分別在累加器A和寄存器B中,積的低位字節(jié)在累加器A中,高位字節(jié)在寄存器B中)。很多8位單片機(jī)并不具備乘法功能,作乘法時(shí)還得編上一段子程序,十分不便。在51系列單片機(jī)中,還有一條二進(jìn)制-十進(jìn)制調(diào)整指令DA,它能將二進(jìn)制變?yōu)锽CD碼,這對(duì)于十進(jìn)制的計(jì)算十分方便。而在其他的單片機(jī)中,則需調(diào)用專用的子程序才行。Intel公司51系列單片機(jī)的典型產(chǎn)品是8051,其片內(nèi)有4KB的一次性程序存儲(chǔ)器(OTP)。Atmel公司將其改為電可擦寫(xiě)的快速閃存(Flash),容許擦寫(xiě)1000次以上,這給編程和調(diào)試帶來(lái)了極大的便利,其產(chǎn)品AT89C52、AT89S52……成為當(dāng)今最流行的8位單片機(jī)。
51系列單片機(jī)的I/O腳的設(shè)置和使用非常簡(jiǎn)單,當(dāng)該腳作輸入腳使用時(shí),只需將該腳設(shè)置為高電平(復(fù)位時(shí),各I/O口均置高電平)即可;當(dāng)該腳作輸出腳使用時(shí),則為高電平或低電平均可。低電平時(shí),輸入電流可達(dá)20mA,具有一定的驅(qū)動(dòng)能力;高電平時(shí),輸出電流僅數(shù)十微安培甚至更小(電流實(shí)際上是由腳的上拉電流形成的),基本上沒(méi)有驅(qū)動(dòng)能力。其原因是高電平時(shí)該腳也同時(shí)作輸入腳使用,而輸入腳必須具有高的輸入阻抗,因而上拉的電流必須很小才行。作輸出腳使用而欲進(jìn)行高電平驅(qū)動(dòng)時(shí),需利用外電路實(shí)現(xiàn)(見(jiàn)圖1-3),當(dāng)I/O腳為高電平時(shí),電流經(jīng)R驅(qū)動(dòng)LED發(fā)光;低電平時(shí),I/O腳導(dǎo)通,電流由該腳入地,LED燈滅(I/O腳導(dǎo)通時(shí)對(duì)地的電壓降小于1V,LED的閾值為1.5~1.8V)。圖1-3單片機(jī)驅(qū)動(dòng)發(fā)光二極管原理圖
51系列單片機(jī)的I/O腳使用簡(jiǎn)單,但高電平時(shí)無(wú)輸出能力,可謂有利有弊,故其他系列的單片機(jī)(如PIC系列、AVR系列等)對(duì)I/O口進(jìn)行了改進(jìn),增加了方向寄存器以確定輸入或輸出,但使用也變得復(fù)雜。一些簡(jiǎn)裝的51產(chǎn)品也相應(yīng)出現(xiàn),如Atmel公司的AT89C1051、AT89C2051、AT89C4051等(快速閃存的容量分別為1KB、2KB、4KB等,但不能外接數(shù)據(jù)存儲(chǔ)器),指令系統(tǒng)與AT89C51完全兼容,但引腳均為20腳,不光體積小,而且價(jià)格低廉,這使得其他公司競(jìng)相仿照。不過(guò),原51系列也有許多值得改進(jìn)之處,如運(yùn)行速度過(guò)慢等。當(dāng)晶振頻率為12MHz時(shí),機(jī)器周期達(dá)1μs,顯然適應(yīng)不了現(xiàn)代高速運(yùn)行的需要。華邦公司(Winbond)生產(chǎn)的產(chǎn)品型號(hào)為W77系列和W78系列。W78系列與AT89C系列完全兼容。W77系列為增強(qiáng)型,它們對(duì)原有的8051的時(shí)序作了改進(jìn),每個(gè)機(jī)器周期從12個(gè)時(shí)鐘周期改為4個(gè)周期,使速度提高了2倍,同時(shí),晶振頻率最高可達(dá)40MHz。W77系列還增加了看門狗(WatchDog)、兩組UART、兩組DPTR數(shù)據(jù)指針、ISP等多種功能。此處要特別提及的是雙數(shù)據(jù)指針,它能給編程帶來(lái)很大的便利。在51系列單片機(jī)中,數(shù)據(jù)指針DPTR是片內(nèi)與片外的數(shù)據(jù)存儲(chǔ)器打交道的主要途徑(由片外數(shù)據(jù)存儲(chǔ)器讀入片內(nèi)累加器A或由片內(nèi)累加器A寫(xiě)入片外數(shù)據(jù)存儲(chǔ)器),也是程序存儲(chǔ)器與累加器A之間的數(shù)據(jù)傳送的必由之路。由于頻繁的數(shù)據(jù)交換,特別是數(shù)據(jù)塊的搬運(yùn)和比較,數(shù)據(jù)指針?lè)浅3跃o,它需要不斷地實(shí)施現(xiàn)場(chǎng)保護(hù)與還原,不光編程變得復(fù)雜,而且運(yùn)行速度也減慢。而當(dāng)采用兩個(gè)數(shù)據(jù)指針時(shí),可以各負(fù)其責(zé),互不干擾,輕松地完成上述過(guò)程。兩個(gè)數(shù)據(jù)指針的選取取決于特殊功能寄存器AUXR1的第D0位DPS。當(dāng)DPS為0時(shí),選中數(shù)據(jù)指針DPTR0(復(fù)位時(shí)DPS也為0);DPS為1時(shí),選中數(shù)據(jù)指針DPTR1。DPS位不能位尋址,故不能進(jìn)行布爾操作,但由于AUXR1的D1位被強(qiáng)制為邏輯“0”,不可能發(fā)生由D0位向D1位進(jìn)位之可能,因而可以通過(guò)對(duì)AUXR1進(jìn)行增1來(lái)使D0位由0變?yōu)?或由1變?yōu)?,從而達(dá)到雙數(shù)據(jù)指針快速切換的目的。
【例1-3】雙數(shù)據(jù)指針的快速切換指令。
MOVAUXR1,#0;DPS為0,DPTR0有效
INCAUXR1;DPS為1,DPTR1有效
INCAUXR1;DPS為0,DPTR0有效
ISP功能能實(shí)現(xiàn)在系統(tǒng)可編程,可以省去通用的編程器,單片機(jī)在用戶板上即可下載和燒錄用戶程序,而無(wú)需將單片機(jī)從生產(chǎn)好的產(chǎn)品上取下。未定型的程序還可以邊生產(chǎn)邊完善,加快了產(chǎn)品的開(kāi)發(fā)速度,減少了新產(chǎn)品因軟件缺陷帶來(lái)的風(fēng)險(xiǎn)。由于可以將程序下載并觀看運(yùn)行結(jié)果,因此也可以不用仿真器單片機(jī)的提速運(yùn)行、雙數(shù)據(jù)指針及ISP功能并非是W77系列所特有的,一些新的型號(hào)的51系列產(chǎn)品大都有該功能,如Philips的51LPC系列、AT89系列中的某些型號(hào)、STC89C系列等等。有的單片機(jī)還附有A/D、D/A轉(zhuǎn)換、片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器、PWM輸出、I2C總線、上電復(fù)位檢測(cè)、欠壓復(fù)位檢測(cè)等等。這些新系列的單片機(jī),它們都兼容8051的指令系統(tǒng)。增強(qiáng)功能的實(shí)現(xiàn),大都是由片內(nèi)新增的特殊功能寄存器來(lái)進(jìn)行設(shè)置的,這些寄存器被安排在片內(nèi)特殊功能寄存器區(qū)間(80H~FFH)的預(yù)留地址上。比較有代表性的產(chǎn)品還有STC89C51RC、C8051F331/330等等??梢赃@么說(shuō),新的51產(chǎn)品幾乎可以涵蓋所有新的功能。由于新型號(hào)的芯片種類太多,此處不可能一一列舉,讀者可根據(jù)使用的需求查閱相關(guān)的資料。1.3.2PIC系列
PIC系列單片機(jī)是美國(guó)微芯公司(Microship)的產(chǎn)品,是當(dāng)前市場(chǎng)份額增長(zhǎng)最快的單片機(jī)品種之一。它的CPU采用RISC結(jié)構(gòu),分別有33、35、58條指令(視單片機(jī)的級(jí)別而定),屬精簡(jiǎn)指令集,而51系列有111條指令,AVR單片機(jī)有118條指令,都比前者復(fù)雜。它采用Harvard雙總線結(jié)構(gòu),運(yùn)行速度快(指令周期約160~200ns),能使程序存儲(chǔ)器的訪問(wèn)和數(shù)據(jù)存儲(chǔ)器的訪問(wèn)并行處理。這種指令流水線結(jié)構(gòu),在一個(gè)周期內(nèi)完成兩部分工作,一是執(zhí)行指令,二是從程序存儲(chǔ)器取出下一條指令,這樣,總的看來(lái)每條指令只需一個(gè)周期(個(gè)別除外),這也是高效率運(yùn)行的原因之一。此外,它還具有低工作電壓、低功耗、驅(qū)動(dòng)能力強(qiáng)等特點(diǎn)。
PIC系列單片機(jī)共分三個(gè)級(jí)別,即基本級(jí)、中級(jí)、高級(jí)。其中又以中級(jí)的PIC16F873(A)、PIC16F877(A)用得最多,下面以這兩種單片機(jī)為例進(jìn)行說(shuō)明。這兩種芯片除了引出腳不同外(PIC16F873(A)為28腳的PDIP或SOIC封裝;PIC16F877(A)為40腳的PDIP或44腳的PLCC/QFP封裝),其他的差別并不大。
PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器(TRISn,其中n對(duì)應(yīng)各口,如A、B、C、D、E等),從而解決了51系列I/O腳為高電平時(shí)同為輸入和輸出狀態(tài)的缺點(diǎn)。當(dāng)置位1時(shí)為輸入狀態(tài),且不管該腳呈高電平或低電平,對(duì)外均呈高阻狀態(tài);置位0時(shí)為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動(dòng)能力,低電平時(shí)輸入電流達(dá)25mA,高電平時(shí)輸出電流可達(dá)20mA。相對(duì)于51系列而言,這是一個(gè)很大的優(yōu)點(diǎn),它可以直接驅(qū)動(dòng)數(shù)碼管顯示且外電路簡(jiǎn)單。PIC系列單片機(jī)的A/D為10位,能滿足精度要求。同時(shí),它還具有在線調(diào)試及編程(ISP)的功能。
PIC系列單片機(jī)的專用寄存器(SFR)并不像51系列那樣都集中在一個(gè)固定的地址區(qū)間(80H~FFH)內(nèi),而是分散在四個(gè)地址區(qū)間內(nèi),即存儲(chǔ)體0(Bank0:00H~7FH)、存儲(chǔ)體1(Bank1:80H~FFH)、存儲(chǔ)體2(Bank2:100H~17FH)和存儲(chǔ)體3(Bank3:180H~1FFH)。只有5個(gè)專用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個(gè)存儲(chǔ)體內(nèi)同時(shí)出現(xiàn)。在編程過(guò)程中,要經(jīng)常與專用寄存器打交道,需反復(fù)地選擇對(duì)應(yīng)的存儲(chǔ)體,也即對(duì)狀態(tài)寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。
【例1-4】
PIC系列單片機(jī)選擇存儲(chǔ)體的指令。
CLRFSTATUS[KG6];清零RP1,RP0,即選擇存儲(chǔ)體0BSFSTATUS,RP0;置位RP0,即選擇存儲(chǔ)體1
BCFSTATUS,RP0;清零RP0,即選擇存儲(chǔ)體0選擇存儲(chǔ)體多少給編程帶來(lái)了一些麻煩。對(duì)于PIC系列單片機(jī),它的位指令操作通常限制在存儲(chǔ)體0區(qū)間(00H~7FH)。
PIC系列單片機(jī)的數(shù)據(jù)傳送和邏輯運(yùn)算基本上都得通過(guò)工作寄存器W(相當(dāng)于51系列的累加器A)來(lái)進(jìn)行,而51系列的單片機(jī)還可以通過(guò)寄存器在相互之間直接傳送(如:MOV30H,20H;指令將寄存器20H的內(nèi)容直接傳送至寄存器30H中),因而PIC系列單片機(jī)的瓶頸現(xiàn)象比51系列還要嚴(yán)重,這一點(diǎn)在編程中將有切身的感受。1.3.3AVR系列
AVR系列單片機(jī)是Atmel公司推出的較為新穎的單片機(jī),其顯著的特點(diǎn)為高性能、高速度、低功耗。它取消了機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè)。AVR系列單片機(jī)指令以字為單位,且大部分指令都為單周期指令,而單周期既可執(zhí)行本條指令,同時(shí)還可完成下一條指令的讀取。時(shí)鐘頻率通常為4~8MHz,故最短指令執(zhí)行時(shí)間為125~250ns。該系列的型號(hào)較多,但可用下面三種作為代表:AT90S2313(簡(jiǎn)裝型)、AT90S8515、AT90S8535(帶A/D轉(zhuǎn)換)。此系列單片機(jī)的通用寄存器一共32個(gè)(R0~R31),前16個(gè)寄存器(R0~R15)都不能直接與立即數(shù)打交道,因而其通用性有所下降,而在51系列中,它所有的通用寄存器(地址00H~7FH)均可以直接與立即數(shù)打交道,顯然要優(yōu)于前者。
AVR系列沒(méi)有類似累加器A的結(jié)構(gòu),它主要通過(guò)R16~R31寄存器來(lái)實(shí)現(xiàn)A的功能。在AVR中,沒(méi)有像51系列的數(shù)據(jù)指針DPTR,而是由X(由R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個(gè)16位的寄存器(相當(dāng)于有三組DPTR)來(lái)完成數(shù)據(jù)指針的功能的,而且還能作后增量或先減量等的運(yùn)算。
【例1-5】
AVR系列單片機(jī)的指令舉例。
LDRd,X;將X所指的地址的內(nèi)容裝入寄存器Rd中
LDRd,Y+;將Y所指的地址的內(nèi)容裝入寄存器Rd中,然后Y的地址加1
LDRd,-X;將X的地址減1所指的地址的內(nèi)容裝入寄存器Rd中在51系列中,所有的邏輯運(yùn)算都必須在A中進(jìn)行,而AVR系列卻可以在任兩個(gè)寄存器之間進(jìn)行,這些比51系列強(qiáng)。
AVR的專用寄存器集中在00H~3FH地址區(qū)間,無(wú)需像PIC那樣要先進(jìn)行選存儲(chǔ)器的操作,使用起來(lái)比PIC方便。AVR的片內(nèi)RAM的地址區(qū)間為0060H~00DFH(AT90S2313)和0060H~025FH(AT90S8515、AT90S8535),它們占用的是數(shù)據(jù)空間的地址,這些片內(nèi)RAM僅僅是用來(lái)存儲(chǔ)數(shù)據(jù)的,通常不具備通用寄存器的功能。當(dāng)程序復(fù)雜時(shí),通用寄存器R0~R31就顯得不夠用,而51系列的通用寄存器多達(dá)128個(gè)(為AVR的4倍),編程時(shí)不會(huì)有這種感覺(jué)。
AVR的I/O腳類似PIC,它也有用來(lái)控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平的輸出電流在10mA左右,低電平的輸入電流為20mA,雖不如PIC系列,但比51系列強(qiáng)。以上的三種AVR型號(hào),其管腳與對(duì)應(yīng)的51系列兼容,如AT90S2313與51系列的AT89C2051的管腳兼容(PDIP-20腳),AT90S8515、AT90S8535與51系列的AT89C51兼容(PDIP-40腳),等等。1.451系列單片機(jī)的主要生產(chǎn)廠家及特點(diǎn)
51系列單片機(jī)生產(chǎn)廠家非常多,型號(hào)也非常豐富。但總的來(lái)說(shuō),51系列的單片機(jī)開(kāi)發(fā)平臺(tái)都可以用Keil,編程軟件都可以用A51和C51。所不同的是,不同廠家和型號(hào)的產(chǎn)品,在外設(shè)和下載方式上不同。比如Atmel公司的89C51和89S51,89S51兼容89C51,不同的是89S51可以用ISP下載方式,而89C51不能。其他廠家,比如SST公司SST89E58RD可以用串口下載,等等。讀者在選擇51系列單片機(jī)時(shí)可以從以下幾個(gè)方面考慮廠家和型號(hào):(1)存儲(chǔ)器大小,分為RAM和Flash部分。如需要較大的RAM和Flash存儲(chǔ)器,則需要注意該指標(biāo)。比如,在設(shè)計(jì)點(diǎn)陣式液晶控制時(shí)就需要有大量的變量和常量,這時(shí)就需要考慮大容量RAM和Flash來(lái)存放數(shù)據(jù)。這個(gè)指標(biāo)對(duì)價(jià)格的影響非常大。(2)時(shí)鐘頻率?,F(xiàn)在市場(chǎng)上單片機(jī)能“跑”的速度都較高,一般都在20MHz以上,有些用戶對(duì)速度有特殊的需要時(shí),就需要考慮內(nèi)部帶倍頻的單片機(jī),當(dāng)然價(jià)格也較高。還有些單片機(jī)有雙時(shí)鐘,其中有一個(gè)低速的時(shí)鐘,主要用于實(shí)時(shí)時(shí)鐘電路使用。(3)外設(shè)。單片機(jī)的不同很大部分體現(xiàn)在外設(shè)上,因此選擇單片機(jī)時(shí)就需要特別注意外設(shè):比如串口,有些系統(tǒng)需要兩個(gè);比如CAN總線,一般單片機(jī)沒(méi)有CAN總線外設(shè);再比如USB口,只有少數(shù)單片機(jī)有。(4)程序下載方式。以前,單片機(jī)程序一般是通過(guò)燒寫(xiě)器燒錄的,采用這種方式開(kāi)發(fā)時(shí),需將單片機(jī)從應(yīng)用板上取下,放到燒寫(xiě)器上進(jìn)行燒寫(xiě),燒寫(xiě)后再放回應(yīng)用板調(diào)試,反復(fù)該過(guò)程直到程序調(diào)試成功。這種調(diào)試方法非常不方便,而且燒寫(xiě)器價(jià)格高,不適合初學(xué)者使用?,F(xiàn)在,單片機(jī)程序下載的方式有:ISP下載方式、串口下載方式和JTAG下載方式等。(5)程序仿真。以前的單片機(jī)仿真基本都是另外購(gòu)買仿真器,比如南京偉福公司就是專業(yè)生產(chǎn)51系列單片機(jī)仿真器的廠家,但它們的仿真器價(jià)格高,不太適合初學(xué)者學(xué)習(xí)使用?,F(xiàn)在,有些單片機(jī)具有JTAG調(diào)試方式,可以直接通過(guò)JTAG調(diào)試器來(lái)調(diào)試單片機(jī),比如Cygnal公司的C8051Fxxx系列單片機(jī)。另外,選用SST公司的SST89E58單片機(jī)也成為廉價(jià)的51系列單片機(jī)仿真器的方案,讀者可以參考SST公司的網(wǎng)站。單片機(jī)生產(chǎn)廠家非常多,下面介紹幾個(gè)廠家的產(chǎn)品系列及它們的特點(diǎn)。1.4.1Atmel公司的51系列單片機(jī)
Atmel(愛(ài)特梅爾)公司提供大量基于8051結(jié)構(gòu)的微控制器。此系列產(chǎn)品的特點(diǎn)為:具有MCS-51內(nèi)核,嵌入了符合工業(yè)標(biāo)準(zhǔn)的各種外設(shè),具有系統(tǒng)內(nèi)編程功能,提供20腳小封裝。各種衍生品用于ROMless、ROM、OTP及Flashflavors(參見(jiàn)網(wǎng)上選擇表)。一些設(shè)備還利用了高速核心(X2)方式,它依據(jù)選擇不同為CPU和外圍設(shè)備加倍內(nèi)部時(shí)鐘頻率。8051的各種衍生產(chǎn)品還包括具有特殊功能的特殊應(yīng)用產(chǎn)品,以服務(wù)特定的市場(chǎng):(1)CAN網(wǎng)絡(luò);(2)MP3應(yīng)用;(3)智能卡讀卡器;(4)USB應(yīng)用。
Atmel還提供基于強(qiáng)大的C251結(jié)構(gòu)的8/16位微控制器。C251設(shè)備允許通過(guò)升級(jí)現(xiàn)有的基于80C51的應(yīng)用實(shí)現(xiàn)直接和方便的性能增長(zhǎng)。附錄D中是Atmel公司的51系列產(chǎn)品的選型單。1.4.2Cygnal公司的51系列單片機(jī)
C8051Fxxx系列單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容,除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。讀者參照表1-1的產(chǎn)品選擇指南可快速查看每個(gè)MCU的特性。表1-1C8051Fxxx產(chǎn)品選擇指南
MCU中的外設(shè)或功能部件包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準(zhǔn)、溫度傳感器、SMBus/I2C、UART、SPI、可編程計(jì)數(shù)器/定時(shí)器陣列(PCA)、定時(shí)器、數(shù)字I/O端口、電源監(jiān)視器、看門狗定時(shí)器(WDT)和時(shí)鐘振蕩器等。所有器件都有內(nèi)置的Flash程序存儲(chǔ)器和256B的內(nèi)部RAM,有些器件內(nèi)部還有位于外部數(shù)據(jù)存儲(chǔ)器空間的RAM,即XRAM。
C8051Fxxx系列單片機(jī)采用流水線結(jié)構(gòu),機(jī)器周期由標(biāo)準(zhǔn)的12個(gè)系統(tǒng)時(shí)鐘周期降為1個(gè)系統(tǒng)時(shí)鐘周期,處理能力大大提高,峰值性能可達(dá)25MIPS。
C8051Fxxx系列單片機(jī)是真正能獨(dú)立工作的片上系統(tǒng)(SOC)。每個(gè)MCU都能有效地管理模擬和數(shù)字外設(shè),可以關(guān)閉單個(gè)或全部外設(shè)以節(jié)省功耗。Flash存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場(chǎng)更新8051軟件。應(yīng)用程序可以使用MOVC和MOVX指令對(duì)Flash進(jìn)行讀或改寫(xiě),每次讀或?qū)懸粋€(gè)字節(jié)。這一特性允許將程序存儲(chǔ)器用于非易失性數(shù)據(jù)存儲(chǔ)以及在軟件控制下更新程序代碼。片內(nèi)JTAG調(diào)試支持功能允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式(不占用片內(nèi)資源)、全速的在系統(tǒng)調(diào)試。該調(diào)試系統(tǒng)支持觀察和修改存儲(chǔ)器和寄存器功能,支持?jǐn)帱c(diǎn)、單步、運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。每個(gè)MCU都可在工業(yè)溫度范圍(-45~+85℃)內(nèi)用2.7~3.6V(F018/019為2.8~3.6V)的電壓工作。端口I/O、RST[TX-]和JTAG引腳都容許5V的輸入信號(hào)電壓。
1.CIP-51內(nèi)核
C8051Fxxx系列器件使用Cygnal的專利CIP-51微控制器內(nèi)核。CIP-51與MCS-51TM指令集完全兼容,可以使用Keil進(jìn)行軟件開(kāi)發(fā)。CIP-51內(nèi)核具有標(biāo)準(zhǔn)8052的所有外設(shè)部件,包括3個(gè)16位的計(jì)數(shù)器/定時(shí)器、1個(gè)全雙工UART、256B內(nèi)部RAM空間、128B特殊功能寄存器(SFR)地址空間及4個(gè)8位的I/O端口。CIP-51還有另外增加的模擬和數(shù)字外設(shè)或功能部件。
CIP-51采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比,指令執(zhí)行速度有很大的提高。在一個(gè)標(biāo)準(zhǔn)的8051中,除MUL和DIV以外所有指令都需要12或24個(gè)系統(tǒng)時(shí)鐘周期,而對(duì)于CIP-51內(nèi)核,70%的指令的執(zhí)行時(shí)間為1或2個(gè)系統(tǒng)時(shí)鐘周期,只有4條指令的執(zhí)行時(shí)間大于4個(gè)系統(tǒng)時(shí)鐘周期。
C8051Fxxx系列MCU與標(biāo)準(zhǔn)8051相比,在CPU內(nèi)核的內(nèi)部和外部有幾項(xiàng)關(guān)鍵性的改進(jìn),提高了整體性能,更易于在最終應(yīng)用中使用。擴(kuò)展的中斷系統(tǒng)向CIP-51提供22個(gè)中斷源(C8051F3xx為12個(gè),標(biāo)準(zhǔn)8051只有7個(gè)),允許大量的模擬和數(shù)字外設(shè)中斷微控制器。一個(gè)中斷驅(qū)動(dòng)的系統(tǒng)需要較少的MCU干預(yù),卻有更高的執(zhí)行效率。在設(shè)計(jì)一個(gè)多任務(wù)實(shí)時(shí)系統(tǒng)時(shí),這些增加的中斷源是非常有用的。MCU可有多達(dá)7個(gè)復(fù)位源:一個(gè)片內(nèi)VDD監(jiān)視器、一個(gè)看門狗定時(shí)器、一個(gè)時(shí)鐘丟失檢測(cè)器、一個(gè)由比較器提供的電壓檢測(cè)器、一個(gè)強(qiáng)制軟件復(fù)位位、CNVSTR引腳及引腳。引腳是雙向的,可接受外部復(fù)位或?qū)?nèi)部產(chǎn)生的上電復(fù)位信號(hào)輸出到引腳。除了VDD監(jiān)視器和復(fù)位輸入引腳以外,每個(gè)復(fù)位源都可以由用戶用軟件禁止。
MCU內(nèi)部有一個(gè)能獨(dú)立工作的時(shí)鐘發(fā)生器,在復(fù)位后被默認(rèn)為系統(tǒng)時(shí)鐘。如有需要,時(shí)鐘源可以在運(yùn)行時(shí)切換到外部振蕩器。外部振蕩器可以使用晶體、陶瓷諧振器、電容、RC或外部時(shí)鐘源產(chǎn)生系統(tǒng)時(shí)鐘。這種時(shí)鐘切換功能在低功耗系統(tǒng)中是非常有用的,它允許MCU從一個(gè)低頻率(節(jié)電)外部晶體源運(yùn)行,當(dāng)需要時(shí)再周期性地切換到高速(可達(dá)16MHz)的外部時(shí)鐘。
2.存儲(chǔ)器
CIP-51有標(biāo)準(zhǔn)8052的程序和數(shù)據(jù)地址配置。它包括256B的數(shù)據(jù)RAM,其中高128B為兩個(gè)地址空間。用間接尋址方式訪問(wèn)通用RAM的高128B,用直接尋址方式訪問(wèn)128B的SFR地址空間。數(shù)據(jù)RAM的低128B可用直接或間接尋址方式訪問(wèn)。前32個(gè)字節(jié)為4個(gè)通用工作寄存器區(qū),接下來(lái)的16B既可以按字節(jié)尋址也可以按位尋址。某些器件中還有位于外部數(shù)據(jù)存儲(chǔ)器地址空間的1~4KB的RAM塊。這個(gè)RAM塊可以在整個(gè)64KB外部數(shù)據(jù)存儲(chǔ)器地址空間中被尋址。
C8051F02x中有可用于訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的外部存儲(chǔ)器接口(EMIF)。這個(gè)片內(nèi)外部數(shù)據(jù)存儲(chǔ)器地址空間可以只映射到片內(nèi)存儲(chǔ)器或片外存儲(chǔ)器,或兩者的組合(4KB以下的地址指向片內(nèi),4KB以上的地址指向EMIF)。EMIF可以被配置為地址/數(shù)據(jù)線復(fù)用方式或非復(fù)用方式。
MCU的程序存儲(chǔ)器為8~64KB的Flash。該存儲(chǔ)器以512B為一個(gè)扇區(qū),可在系統(tǒng)編程,且不需在片外提供編程電壓。
3.JTAG調(diào)試和邊界掃描
C8051Fxxx具有片內(nèi)JTAG和調(diào)試電路,通過(guò)4腳JTAG接口并使用安裝在最終應(yīng)用系統(tǒng)中的器件就可以進(jìn)行非侵入式、全速的在系統(tǒng)調(diào)試(C8051F3xx具有片內(nèi)C2調(diào)試電路,通過(guò)2腳C2接口并使用安裝在最終應(yīng)用系統(tǒng)中的器件就可以進(jìn)行非侵入式、全速的在系統(tǒng)調(diào)試)。該JTAG接口完全符合IEEE1149.1標(biāo)準(zhǔn),為生產(chǎn)和測(cè)試提供完全的邊界掃描功能(C8051F2xx的JTAG接口沒(méi)有邊界掃描功能)。Cygnal的調(diào)試系統(tǒng)支持觀察和修改存儲(chǔ)器和寄存器功能,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、堆棧指示器和單步執(zhí)行功能。調(diào)試時(shí)不需要額外的目標(biāo)RAM、程序存儲(chǔ)器、定時(shí)器或通信通道,并且所有的模擬和數(shù)字外設(shè)都正常工作。當(dāng)MCU單步執(zhí)行或遇到斷點(diǎn)而停止運(yùn)行時(shí),所有的外設(shè)(ADC除外)都停止運(yùn)行,以保持同步。對(duì)于開(kāi)發(fā)和調(diào)試嵌入式應(yīng)用來(lái)說(shuō),該系統(tǒng)的調(diào)試功能比采用標(biāo)準(zhǔn)MCU仿真器要優(yōu)越得多。標(biāo)準(zhǔn)的MCU仿真器要使用在板仿真芯片和目標(biāo)電纜,還需要在應(yīng)用板上有MCU的插座。Cygnal的調(diào)試環(huán)境既便于使用又能保證精確模擬外設(shè)的性能。
4.可編程數(shù)字I/O和交叉開(kāi)關(guān)
C8051Fxxx具有標(biāo)準(zhǔn)8051兼容的I/O端口。有的端口在某些器件中沒(méi)有引出腳,沒(méi)有引出腳的端口可用作通用寄存器。I/O端口的工作情況與標(biāo)準(zhǔn)8051相似,但有一些改進(jìn)。每個(gè)端口I/O引腳都可以被配置為推挽或漏極開(kāi)路輸出。在標(biāo)準(zhǔn)8051中,固定的“弱上拉”可以被禁止,這為低功耗應(yīng)用提供了進(jìn)一步節(jié)電的能力。最突出的改進(jìn)是引入了數(shù)字交叉開(kāi)關(guān)(C8051F2xx除外)。這是一個(gè)大的數(shù)字開(kāi)關(guān)網(wǎng)絡(luò),允許將內(nèi)部數(shù)字系統(tǒng)資源分配給端口I/O引腳。與具有標(biāo)準(zhǔn)復(fù)用數(shù)字I/O的微控制器不同,這種結(jié)構(gòu)可支持所有的功能組合。可通過(guò)設(shè)置交叉開(kāi)關(guān)控制寄存器將片內(nèi)的計(jì)數(shù)器/定時(shí)器、串行總線、硬件中斷、ADC轉(zhuǎn)換啟動(dòng)輸入、比較器輸出以及微控制器內(nèi)部的其他數(shù)字信號(hào)配置為出現(xiàn)在端口I/O引腳。這就允許用戶根據(jù)自己的特定應(yīng)用選擇通用端口I/O和所需數(shù)字資源的組合。
5.可編程計(jì)數(shù)器陣列
除了通用計(jì)數(shù)器/定時(shí)器之外,C8051F00x/01x/02xMCU還有一個(gè)片內(nèi)可編程計(jì)數(shù)器/定時(shí)器陣列(PCA)。PCA包括一個(gè)專用的16位計(jì)數(shù)器/定時(shí)器時(shí)間基準(zhǔn)和5個(gè)(C8051F3xx為3個(gè))可編程的捕捉/比較模塊。時(shí)間基準(zhǔn)的時(shí)鐘可以是下面的六個(gè)時(shí)鐘源之一:系統(tǒng)時(shí)鐘/12、系統(tǒng)時(shí)鐘/4、定時(shí)器0溢出、外部時(shí)鐘輸入(ECI)、系統(tǒng)時(shí)鐘和外部振蕩源頻率/8(C8051F00x/01x沒(méi)有后兩個(gè)時(shí)鐘源)。每個(gè)捕捉/比較模塊都有四或六種工作方式:邊沿觸發(fā)捕捉、軟件定時(shí)器、高速輸出、8位脈沖寬度調(diào)制器、頻率輸出、16位脈沖寬度調(diào)制器(C8051F00x/01x沒(méi)有后兩種工作方式)。PCA捕捉/比較模塊的I/O和外部時(shí)鐘輸入可以通過(guò)數(shù)字交叉開(kāi)關(guān)連到MCU的端口I/O引腳。
6.串行端口
C8051Fxxx系列MCU內(nèi)部有一個(gè)全雙工UART、SPI總線和SMBus/I2C總線。每種串行總線都完全用硬件實(shí)現(xiàn),都能向CIP-51產(chǎn)生中斷,因此很少需要CPU的干預(yù)。這些串行總線不“共享”定時(shí)器、中斷或端口I/O,所以可以使用任何一個(gè)或全部同時(shí)使用。C8051F02x系列MCU內(nèi)部還有第二個(gè)UART,這是一個(gè)增強(qiáng)型全雙工UART,具有硬件地址識(shí)別和錯(cuò)誤檢測(cè)功能。
7.模/數(shù)轉(zhuǎn)換器
除了C8051F230/1/6之外,其他C8051Fxx器件內(nèi)部都有一個(gè)ADC子系統(tǒng),由逐次逼近型ADC、多通道模擬輸入選擇器和可編程增益放大器(F018/19沒(méi)有可編程增益放大器)組成。ADC工作在100kb/s的最大采樣速率時(shí)可提供真正的8位、10位或12位精度。ADC完全由CIP-51通過(guò)特殊功能寄存器控制,系統(tǒng)控制器可以關(guān)斷ADC以節(jié)省功耗。C8051F00x/01x/02x還有一個(gè)15mV(峰峰值)的電壓基準(zhǔn)和內(nèi)部溫度傳感器,并且八個(gè)外部輸入通道的每一對(duì)都可被配置為兩個(gè)單端輸入或一個(gè)差分輸入。
8.數(shù)/模轉(zhuǎn)換器
C8051F00x/01x/02x(F018/19除外)內(nèi)部有兩個(gè)12位電壓輸出DAC,MCU可以將任何一個(gè)DAC置于低功耗關(guān)斷方式。C8051F02x的DAC有靈活的輸出更新機(jī)制,允許用軟件命令和定時(shí)器2、定時(shí)器3及定時(shí)器4的溢出信號(hào)更新DAC輸出。DAC在作為比較器的參考電壓或?yàn)锳DC差分輸入提供偏移電壓時(shí)非常有用。
9.比較器
大多數(shù)C8051FxxxMCU內(nèi)部都有兩個(gè)比較器,即CP0和CP1(在F002/007/012/017300/301/302/303中沒(méi)有第二個(gè)比較器CP1),MCU可以將任何一個(gè)比較器置于低功耗關(guān)斷方式,可以用軟件設(shè)置比較器的回差電壓。每個(gè)比較器都能在上升沿或下降沿產(chǎn)生中斷,或在兩個(gè)邊沿都產(chǎn)生中斷,比較器的輸出狀態(tài)可以用軟件查詢。比較器中斷能將MCU從等待方式喚醒??赏ㄟ^(guò)設(shè)置交叉開(kāi)關(guān)或端口MUX的方式將比較器的輸出接到端口I/O引腳。1.4.3SST公司的51系列單片機(jī)
SST89系列單片機(jī)為MCS-51標(biāo)準(zhǔn)系列單片機(jī),包括SST89E/V52RD2、SST89E/V54RD2、SST89E/V58RD2、SST89E/V554RC和SST89E/V564RD等。
SST89系列單片機(jī)有如下技術(shù)特點(diǎn):(1)與8052系列單片機(jī)兼容,片內(nèi)RAM有1024B,三個(gè)16位定時(shí)計(jì)數(shù)器,四個(gè)8位I/O端口和
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新型功能材料合作協(xié)議書(shū)
- 2025年高考語(yǔ)文滿分作文7篇
- 聘用護(hù)士合同協(xié)議書(shū)
- 維修大棚合同協(xié)議書(shū)
- 股東合作合同協(xié)議書(shū)
- 聯(lián)合推廣酒店協(xié)議書(shū)
- 聯(lián)營(yíng)聯(lián)建用地協(xié)議書(shū)
- 股東死亡股東協(xié)議書(shū)
- 聯(lián)合幫助戒毒協(xié)議書(shū)
- 職高老師聘用協(xié)議書(shū)
- 2024-2030年中國(guó)郵輪行業(yè)市場(chǎng)發(fā)展?fàn)顩r及發(fā)展前景與趨勢(shì)研究報(bào)告
- 文言文二則 囊螢夜讀 公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)+說(shuō)課稿+(共25張)
- 第18課 科技文化成就 新授課課件-2024-2025學(xué)年統(tǒng)編版八年級(jí)歷史下冊(cè)
- 孵化器與產(chǎn)業(yè)園區(qū)協(xié)同發(fā)展
- 小學(xué)綜合實(shí)踐活動(dòng)《來(lái)之不易的糧食》課件
- 呼和浩特市消防救援支隊(duì)招聘政府專職消防員筆試真題2022
- 施工方案防火門卷簾門
- 畜牧獸醫(yī)考試題庫(kù)
- (高清版)JTG D81-2017 公路交通安全設(shè)施設(shè)計(jì)規(guī)范
- 數(shù)學(xué)的天空智慧樹(shù)知到期末考試答案章節(jié)答案2024年上海交通大學(xué)
- (正式版)JTT 1490-2024 港口安全設(shè)施分類與編碼
評(píng)論
0/150
提交評(píng)論