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