第1章基礎(chǔ)知識(shí)_第1頁(yè)
第1章基礎(chǔ)知識(shí)_第2頁(yè)
第1章基礎(chǔ)知識(shí)_第3頁(yè)
第1章基礎(chǔ)知識(shí)_第4頁(yè)
第1章基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)原理及應(yīng)用講授:任雯2014-2015年第2學(xué)期授課班級(jí):13物理學(xué)2參考書(shū):謝維成,楊加國(guó)主編:?jiǎn)纹瑱C(jī)原理與應(yīng)用及C51程序設(shè)計(jì)(第3版),清華大學(xué)出版社。張俊謨編著:?jiǎn)纹瑱C(jī)中級(jí)教程—原理與應(yīng)用(第二版),北京航空航天大學(xué)出版社。2包括平時(shí)成績(jī)考核、實(shí)驗(yàn)考核、期末卷面考核三部分,期末卷面考核采取閉卷形式。各部分成績(jī)比例如下:(1)平時(shí)成績(jī):包括出勤、課堂提問(wèn)、作業(yè)、實(shí)驗(yàn)報(bào)告等,占10%。(2)實(shí)驗(yàn)成績(jī):三次實(shí)驗(yàn)測(cè)評(píng),一次10分,共30分,占30%。(3)期末考試成績(jī):占70%。(4)綜合考核成績(jī):總成績(jī)=平時(shí)(10%)+實(shí)驗(yàn)(30%)+期末(60%)??己朔绞脚c總評(píng)成績(jī):3緒論主要內(nèi)容單片機(jī)單片機(jī)與嵌入式系統(tǒng)本教程的特點(diǎn)和教學(xué)安排4單片機(jī)

1.單片機(jī)的含義2.單片機(jī)的發(fā)展

3.

MCS-51和80C51系列簡(jiǎn)介

4.單片機(jī)的應(yīng)用緒論51.單片機(jī)的含義隨著大規(guī)模集成電路技術(shù)的發(fā)展,可以將CPU、RAM、ROM,定時(shí)器/計(jì)數(shù)器,以及輸入/輸出(I/0)接口電路等計(jì)算機(jī)的主要部件,集成在一塊集成電路芯片上。這樣所組成的芯片級(jí)的微型計(jì)算機(jī)直譯為單片微型計(jì)算機(jī)(Singlechipmicrocomputer)

或單片微機(jī),在我國(guó),我們習(xí)慣稱其為單片機(jī)。6單片機(jī)雖然只是一個(gè)芯片,但從組成和功能上看,它已具有了微機(jī)系統(tǒng)的含義。由于單片機(jī)從功能和形態(tài)來(lái)說(shuō)都是作為控制領(lǐng)域應(yīng)用的要求而誕生的,并且發(fā)展到新一代80C5l、M68HCO5、M68HC11系列單片機(jī)時(shí),在其中著力擴(kuò)展了各種控制功能,如模數(shù)轉(zhuǎn)換(A/D)、脈寬調(diào)制(PWM)、計(jì)數(shù)器捕獲/比較邏輯(PCA)、高速I/O口、WDT

(WatchdogTimer)等,已突破了微型計(jì)算機(jī)(Microcomputer)的傳統(tǒng)內(nèi)容。所以更準(zhǔn)確地反映單片機(jī)本質(zhì)的叫法應(yīng)是微控制器(MicroControllerUnit,MCU)。7根據(jù)單片機(jī)的結(jié)構(gòu)和微電子設(shè)計(jì)的特點(diǎn),應(yīng)用系統(tǒng)中雖然往往僅以單片機(jī)為核心,但是它已完全融入應(yīng)用系統(tǒng)之中,故而也有將單片機(jī)稱為嵌入式微控制器(EmbeddedMicrocontroller)的。在我國(guó),單片機(jī)的叫法甚為普遍,這里我們把它認(rèn)為是一個(gè)單片形態(tài)的微控制器。因而在本教程中還是將其稱為單片機(jī)。8⒉單片機(jī)的發(fā)展下面列舉單片機(jī)發(fā)展過(guò)程中的一些重要事件對(duì)單片機(jī)的發(fā)展情況作概要說(shuō)明:1976年Intel公司首先推出能稱為單片機(jī)的MCS-48系列單片微型計(jì)算機(jī),它以體積小,功能全、價(jià)格低等特點(diǎn),贏得了廣泛的應(yīng)用,為單片機(jī)的發(fā)展奠定了基礎(chǔ)。成為單片機(jī)發(fā)展進(jìn)程中的一個(gè)重要階段。9在MCS-48成功的刺激下,許多半導(dǎo)體公司和計(jì)算機(jī)公司爭(zhēng)相研制和發(fā)展自己的單片機(jī)系列。到目前為止,世界各地廠商己研制出大約50個(gè)系列,30多個(gè)品種的單片機(jī)產(chǎn)品,其中有Motorola公司的6801、6802,Zilog(美國(guó)齊格洛)公司的Z-8系列,Rockwell公司的6501、6502等,此外日本的NEC公司,日立公司及EPSON公司等也都相繼推出了各具特色的單片機(jī)品種。10

盡管目前單片機(jī)的品種很多,但其中最具典型性的當(dāng)屬Intel公司的MCS-51系列單片機(jī)系列。MCS-51是在MCS-48的基礎(chǔ)上于80年代初發(fā)展起來(lái)的,雖然它仍然是8位的單片機(jī),但其功能有很大的增強(qiáng)。此外它還具有品種全、兼容性強(qiáng)、軟硬件資料豐富等特點(diǎn)。因此應(yīng)用非常廣泛,成為繼MCS-48之后最重要的單片機(jī)品種。直到現(xiàn)在,MCS-51仍不失為單片機(jī)中的主流機(jī)型。國(guó)內(nèi)尤以MCS-51系列單片機(jī)應(yīng)用最廣。11

在8位單片機(jī)之后,16位單片機(jī)也有很大發(fā)展,例如1983年Intel公司推出的MCS-96系列單片機(jī)就是其中的典型代表。與MCS-51相比,MCS-96不但字長(zhǎng)增加一倍,而且還具有4路或8路的lO位A/D轉(zhuǎn)換功能,此外,在其它性能方面也有一定的提高。近年來(lái),隨著ARM(主要是多媒體)處理器在全球范圍的流行,32位的RISC(ReducedInstruction-SetComputer)嵌入式處理器已經(jīng)開(kāi)始成為高中端嵌入式應(yīng)用和設(shè)計(jì)的主流。這是因?yàn)椋?2一方面由于像數(shù)碼相機(jī)、MP3播放機(jī)、PDA、游戲機(jī)和移動(dòng)電話手機(jī)等手持設(shè)備以及各種信息家電等有更高性能要求的多媒體和通信設(shè)備的推出。在這些應(yīng)用中,龐大的多媒體數(shù)據(jù)必然需要更大的存儲(chǔ)空間,目前許多32位微控制器都可以使用SDRAM,因此可極大地降低使用更大容量數(shù)據(jù)存儲(chǔ)器的成本。13此外,除了處理應(yīng)用控制功能之外,需支持互聯(lián)網(wǎng)接入的應(yīng)用,在MCU運(yùn)行TCP/IP或其它通信協(xié)議的情況下,要求系統(tǒng)建立在RTOS(RealTimeOperatingSystem)上就必然成為一種現(xiàn)實(shí)需求。另外,有越來(lái)越多的像電視機(jī)、汽車音響及電子玩具等傳統(tǒng)應(yīng)用也與時(shí)俱進(jìn)地提出數(shù)字化和“硬件軟化”的要求,它們對(duì)計(jì)算性能的要求及存儲(chǔ)器容量的需求都超出絕大多數(shù)8位或16位微控制器能提供的范圍。14

另一方面由于IT技術(shù)發(fā)展的推動(dòng),32位ARM體系結(jié)構(gòu)已經(jīng)成為一種事實(shí)上的標(biāo)準(zhǔn),8位機(jī)除MCS-51外,其它的8位機(jī)和16位機(jī)都沒(méi)有一種能成為標(biāo)準(zhǔn)或準(zhǔn)標(biāo)準(zhǔn)產(chǎn)品的。15

隨著高端32位CPU價(jià)格的不斷下降和開(kāi)發(fā)環(huán)境的成熟,促使32位嵌入式處理器日益擠壓原先由8位微控制器主導(dǎo)的應(yīng)用空間。有更多、更復(fù)雜特點(diǎn)和功能需求的便攜式電子設(shè)備正促使嵌入式系統(tǒng)工程師考慮用32位MCU取代8/16位MCU。另外,越來(lái)越多的設(shè)計(jì)師認(rèn)識(shí)到,轉(zhuǎn)用32位架構(gòu)不僅能提升性能,還能降低相同成本下的系統(tǒng)功耗和節(jié)約總成本以及縮短產(chǎn)品上市時(shí)間。這個(gè)轉(zhuǎn)變?yōu)樵O(shè)計(jì)師提供了可隨著產(chǎn)品的性能和需求不斷擴(kuò)展而升級(jí)的方案。16

盡管由于市場(chǎng)對(duì)多功能產(chǎn)品需求的增加和IT技術(shù)的推動(dòng),使32位MCU產(chǎn)品日益成為市場(chǎng)的熱點(diǎn);但目前8位MCU仍然是技術(shù)市場(chǎng)的主流,并且還有相當(dāng)廣闊的應(yīng)用空間和旺盛的生命力,16位MCU也占有一定的市場(chǎng)份額。各種MCU根據(jù)自己在市場(chǎng)上的定位,也都有了很大發(fā)展。綜觀近三十年單片機(jī)的發(fā)展歷程,它正朝多功能、多選擇、高速度、低功耗、低價(jià)格、擴(kuò)大存儲(chǔ)容量和加強(qiáng)I/O功能及結(jié)構(gòu)兼容方向發(fā)展。預(yù)計(jì)其今后的發(fā)展趨勢(shì)不外乎在以下幾個(gè)方面:17

(1)微控制器多功能化

微控制器(MCU)已可集成越來(lái)越多的內(nèi)置部件,成為名副其實(shí)的單片機(jī)。常用的部件有:存儲(chǔ)器類,包括程序存儲(chǔ)器MROM/OTPROM/EPROM/EEPROM/FlashROM和數(shù)據(jù)存儲(chǔ)器SRAM/SDRAM/SSRAM;18

串行接口類,包括UART、SPI、I2C、CAN、IR、Ethernet、HDLC;并行接口類,包括Centronics、PCI、IDE、GPIO等;定時(shí)和時(shí)鐘類,包括,定時(shí)器/計(jì)數(shù)器、實(shí)時(shí)時(shí)鐘(RTC)、Watchdog、Clockout;專用和外圍接口類,包括Comparer(比較器)、ADC、DAC、LCD控制器、DMA、PWM、PLL、MAC、溫度傳感器等。19

甚至有的MCU,例如NS公司的MCU,已把語(yǔ)音、圖像部件也集成到單片機(jī)中,目的就是在單個(gè)器件中集成所有所需要用到的部件,構(gòu)成片上系統(tǒng)(SoC)。Cygnal公司推出的C8051F系列的MCU在一個(gè)芯片中集成了構(gòu)成數(shù)據(jù)采集系統(tǒng)或控制系統(tǒng)所需要的幾乎所有的數(shù)字和模擬外圍接口和功能部件,這種混合信號(hào)芯片實(shí)質(zhì)上已構(gòu)成了片上系統(tǒng)(SoC)。20

(2)多核結(jié)構(gòu)處理器隨著嵌入式應(yīng)用的深入,特別是在數(shù)字通信和網(wǎng)絡(luò)中的應(yīng)用,對(duì)處理器提出了更高的要求。為適應(yīng)這種情況,現(xiàn)在已出現(xiàn)多核結(jié)構(gòu)的處理器。

Freesaale(飛思卡爾)公司研發(fā)的MPC8260PowerQUiCCⅡ就是一種先進(jìn)的為電信和網(wǎng)絡(luò)市場(chǎng)而設(shè)計(jì)的集成通信微處理器。它融合了兩個(gè)CPU——嵌入式PowerPC內(nèi)核和通信處理模塊(CPM)。由于CPM分擔(dān)了嵌入式PowerPC核的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗反而要低于傳統(tǒng)體系結(jié)構(gòu)的處理器。21

Infineon(英飛凌)公司推出的TCl0GP和增強(qiáng)型TCll30都是三核(TriCore)結(jié)構(gòu)的微處理器。它同時(shí)具備RISC、CISC和DSP功能,是一種建立在SoC概念上的結(jié)構(gòu)。這種單片機(jī)由三個(gè)核組成:微控制器和DSP核、數(shù)據(jù)和程序存儲(chǔ)器核、外圍專用集成電路(ASIC)。這種單片機(jī)的最大特點(diǎn)是把DSP和MCU(微控制器)融合成一個(gè)單內(nèi)核,大大提高了微控制器的功能。具有類似結(jié)構(gòu)的還有Hitachi(日立)公司的SH7410、SH7612等;它們用于既需要MCU又需要DSP功能的場(chǎng)合,比使用單獨(dú)MCU和DSP的組合提供了更優(yōu)越的性能。22

(3)更低功耗現(xiàn)在新推出的MCU的功耗越來(lái)越低,很多MCU都有多種工作方式,包括等待、暫停、休眠、空閑、節(jié)電等工作方式。例如Philips的P87LPC762,空閑狀態(tài)下的電流為1.5mA,而在節(jié)電方式下電流只有0.5mA。很多MCU還允許在低振蕩頻率下以極低的功耗工作。例如,P87LPC764在32.768kHz低頻下,正常工作電流僅為IDD=16μA(VDD=3.6V),空閑模式下IDD=7μA(VDD=3.6V)。23

(4)更寬工作電壓范圍擴(kuò)大電源電壓范圍以及在較低電壓下仍然能工作是現(xiàn)在新推出的MCU的一個(gè)特點(diǎn)。目前一般MCU都可以在3.3~5.5V的范圍內(nèi)工作,有些產(chǎn)品則可以在2.2~6V的范圍內(nèi)工作。例如,F(xiàn)ujitsu(富士通)的MB8919X、MB8912X和MB89130系列以及F2MC-8L系列MCU,絕大多數(shù)工作電壓范圍都為2.2~6V;而TI的MSP430X11X系列的工作電壓可以低達(dá)2.2V。Motorola針對(duì)長(zhǎng)時(shí)間處在待機(jī)模式的裝置所設(shè)計(jì)的超省電HCS08系列MCU,已經(jīng)把可工作的最低電壓降到了1.8V。24

(5)更先進(jìn)的工藝和更小的封裝現(xiàn)在MCU的封裝水平已大大提高,有越來(lái)越多的

MCU采用了各種貼片封裝形式,以滿足便攜式手持設(shè)備的需要。Microchip公司推出了目前世界上體積最小的6引腳PICl0F2XX系列MCU。為了適應(yīng)各種應(yīng)用的需要,減少驅(qū)動(dòng)電路,很多MCU的輸出能力都有了很大提高,MotorolaMCU的I/O口灌電流可達(dá)8mA以上,而

Microchip的MCU可達(dá)20~25mA,其它如AMD、Fujitsu、NEC、Infineon、Hitachi、Atmel、Toshiba等都在8~20mA之間。

25

(6)低噪聲布線技術(shù)在過(guò)去一般MCU中,電源與地引腳是安排在芯片封裝的對(duì)角上,即左上、右下或右上、左下位置上。這種安排會(huì)使電源噪聲對(duì)MCU的內(nèi)部電路造成的干擾相對(duì)較大。現(xiàn)在很多MCU都把電源和地引腳安排在兩個(gè)相鄰的引腳上。這樣既降低了干擾,還便于在印制電路板上對(duì)去耦電容器進(jìn)行布線,降低系統(tǒng)的噪聲。

26

⒊MCS-51和80C51系列簡(jiǎn)介從最初的單片機(jī)發(fā)展到如今的新一代單片機(jī),大致經(jīng)歷了三個(gè)年代。如以Intel8位單片機(jī)為例,這三個(gè)年代劃分大致是:第一代:以1976年推出的MCS-48系列為代表,其主要的技術(shù)特征是將CPU和計(jì)算機(jī)外圍電路集成到了一個(gè)芯片上,作為與通用CPU分道揚(yáng)鑣的標(biāo)志,為單片機(jī)的進(jìn)一步發(fā)展開(kāi)辟了成功之路。27

第二代:以MCS-51的8051、8052為代表。最主要技術(shù)特點(diǎn)是向外部接口電路擴(kuò)展,以實(shí)現(xiàn)微控制器(Microcontroller)化。

MCS-51系列8位高檔單片機(jī)是在總結(jié)MCS-48系列單片機(jī)的基礎(chǔ)上,于80年代初推出的新產(chǎn)品。其主要的技術(shù)特征是:擴(kuò)大了片內(nèi)存儲(chǔ)容量、外部尋址空間:程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器的尋址都增加為64K。4K×8ROM作為內(nèi)部程序存儲(chǔ)器,用來(lái)存放系統(tǒng)程序、用戶的專用程序和固定常數(shù)。28

在MCS-51系列單片機(jī)中,8031、8751與8051的內(nèi)部結(jié)構(gòu)基本相同,其區(qū)別僅在于8031內(nèi)部不含有程序存儲(chǔ)器,必須由外部擴(kuò)展。8751內(nèi)部程序存儲(chǔ)器為可編程、可改寫的只讀存儲(chǔ)器EPROM,其內(nèi)部程序由用戶自行寫入。在片內(nèi)數(shù)據(jù)存儲(chǔ)器方面,采用8位地址,尋址范圍為256字節(jié),其中OOH~7FH為128字節(jié)的內(nèi)部RAM,用來(lái)存放用戶的隨機(jī)數(shù)。29

在80H~FFH范圍內(nèi),離散地分布著21個(gè)特殊功能寄存器,其中11個(gè)特殊功能寄存器具有位尋址能力。在內(nèi)部RAM中,OOH~1FH可分為4個(gè)寄存器工作區(qū)。寄存器工作區(qū)由選擇指令進(jìn)行切換,從而有效地提高了CPU的現(xiàn)場(chǎng)保護(hù)能力和實(shí)時(shí)響應(yīng)速度;2OH~2FH單元可進(jìn)行位尋址。30

增強(qiáng)了并行口,增設(shè)了全雙工串行口I/O:4個(gè)8位并行I/O接口可用于地址和數(shù)據(jù)的傳送,也可與8243、8155等聯(lián)接,進(jìn)行外部I/O接口的擴(kuò)展。串行I/O接口是一個(gè)全雙工串行通信口,可用于數(shù)據(jù)的串行接收和發(fā)送,這為構(gòu)成串行通信網(wǎng)絡(luò)提供了方便。2個(gè)定時(shí)器/計(jì)數(shù)器均為16位(比8048長(zhǎng)一倍),且有4種工作方式,這樣既提高了定時(shí)/計(jì)數(shù)范圍,又使用戶使用靈活方便。31

增強(qiáng)了中斷系統(tǒng):在MCS-51單片機(jī)中,設(shè)置有2級(jí)中斷優(yōu)先級(jí),可接受5個(gè)中斷源的中斷請(qǐng)求,中斷優(yōu)先級(jí)別可由用戶定義。這樣,就使MCS-51單片機(jī)很適合用于數(shù)據(jù)采集與處理、智能儀器儀表和工業(yè)過(guò)程控制中。32

具備較強(qiáng)的指令尋址和運(yùn)算等功能:MCS-51系列單片機(jī)有111條指令,可分為4大類,使用了7種尋址方式。這些指令44%為單字節(jié)指令,41%為雙字節(jié)指令,15%為三字節(jié)指令。若用l2MHz的晶體頻率,50%的指令可在1μs內(nèi)執(zhí)行完畢,40%的指令在2μs內(nèi)執(zhí)行完畢。此外,還設(shè)有減法、比較和8位乘、除法指令。乘、除法指令的執(zhí)行時(shí)間僅為4μs,這樣大大地提高了CPU的運(yùn)算與數(shù)據(jù)處理能力。33

增設(shè)了頗具特色的布爾處理機(jī):在MCS-51的指令系統(tǒng)中設(shè)置有位操作指令,可用于位尋址空間,這些位操作指令與位尋址空間一起構(gòu)成布爾處理機(jī)。布爾處理機(jī)對(duì)于實(shí)時(shí)邏輯控制處理具有突出的優(yōu)點(diǎn)。34

可以看出,這一代單片機(jī)主要的技術(shù)特征是為單片機(jī)配置了完善的外部并行總線(AB、DB、CB)和具有多機(jī)識(shí)別功能的串行通訊接口(UART),規(guī)范了功能單元的特殊功能寄存器(SFR)控制模式及適應(yīng)控制器特點(diǎn)的布爾處理系統(tǒng)和指令系統(tǒng),為發(fā)展具有良好兼容性的新一代單片機(jī)奠定了良好的基礎(chǔ)。但是,無(wú)論是第一代還是第二代單片機(jī)都還未突破單片微機(jī)的內(nèi)涵。35

第三代以80C5l系列單片機(jī)為代表。這個(gè)時(shí)期的產(chǎn)品以CMOS化為特色,以完善的單片機(jī)的控制功能為已任。它們是在MCS-51的HMOS基礎(chǔ)上發(fā)展起來(lái)的,具有CHMOS結(jié)構(gòu)。注:

CMOS:互補(bǔ)金屬氧化物半導(dǎo)體HMOS:高性能金屬氧化物半導(dǎo)體CHMOS:互補(bǔ)高性能金屬氧化物半導(dǎo)體36

80C51系列單片機(jī)保留了MCS-51單片機(jī)的所有特性,內(nèi)部組成基本相同。它包括了Intel公司發(fā)展MCS-51系列的新一代產(chǎn)品,如8XC152、80C5lFA/FB、80C51GA/GB、8XC451、8XC452,還包括了Philips、Siemens、ADM、Fujutsu、OKI、ATMEL等公司以80C5l為核心推出的大量各具特色、與MCS-51兼容的單片機(jī)。37

80C51系列單片機(jī)增設(shè)了兩種可以用軟件進(jìn)行選擇的低功耗工作方式:空閑方式和掉電方式。

87C51單片機(jī)是屬于80C51系列,含EPROM的產(chǎn)品,89C51單片機(jī)也是屬于80C51系列的產(chǎn)品含E2PROM。這種單片機(jī)有兩級(jí)或三級(jí)程序存儲(chǔ)器保密系統(tǒng),用于保護(hù)EPROM或E2PROM中的程序,以防止非法拷貝。近幾年微控制器競(jìng)相采用Flash存儲(chǔ)器,這已成為趨勢(shì)。因?yàn)樗啥雀摺r(jià)格便宜、技術(shù)先進(jìn),可以取代PROM、EPROM、OTP和E2PROM。利用Flash存儲(chǔ)器可高速讀、寫的特點(diǎn)實(shí)現(xiàn)在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)。38

ISP(In-SystemProgramming)技術(shù)是在已焊成的板級(jí)系統(tǒng)上,直接對(duì)微控制器進(jìn)行擦除和編程的先進(jìn)技術(shù)。一般的來(lái)說(shuō),ISP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映象為兩個(gè)存儲(chǔ)體,當(dāng)在一個(gè)存儲(chǔ)體上運(yùn)行用戶程序時(shí),而在后臺(tái)可對(duì)另一個(gè)存儲(chǔ)體中的程序?qū)崟r(shí)更新,之后再將控制轉(zhuǎn)向更新的程序上運(yùn)行。39

80C51系列單片機(jī)除了上述的結(jié)構(gòu)特性外,其最主要技術(shù)特點(diǎn)是向外部接口電路擴(kuò)展,以實(shí)現(xiàn)微控制器完善的控制功能。如:為單片機(jī)配置了芯片間的串行總線,為單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)提供了更加靈活的方式。Philips公司還為80C51系列8XC592單片機(jī)引入了具有較強(qiáng)功能的設(shè)備間網(wǎng)絡(luò)系統(tǒng)總線—CAN(ControllerAreaNetworkBUS)等。這一系列的單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。40

80C51系列產(chǎn)品中增加了一些外部接口功能單元如A/D、PWM、WDT(監(jiān)視定時(shí)器)、高速I/O口、PCA(可編程計(jì)數(shù)器陣列)、計(jì)數(shù)器的捕獲/比較邏輯等。此外,由于80C51系列采用了CMOS技術(shù)制造而成,較之MCS-51系列集成度高,速度快,功耗低。41

值得注意的是,在單片機(jī)硬件得到迅速發(fā)展的同時(shí),開(kāi)發(fā)單片機(jī)所用軟件的開(kāi)發(fā)語(yǔ)言也發(fā)生了變化。過(guò)去大部分8/16位MCU都沒(méi)有太多的性能冗余,軟件編寫必須完全適合其有限的處理功能,因此軟件開(kāi)發(fā)大部分用匯編語(yǔ)言編寫。在8/16位MCU上采用C、PL/M等高級(jí)語(yǔ)言編程,再用相關(guān)編譯器轉(zhuǎn)換成相應(yīng)機(jī)器語(yǔ)言執(zhí)行,早在十幾年前就已嘗試并推廣;42

但由于當(dāng)時(shí)編譯器的編譯效率還不夠高,高級(jí)語(yǔ)言程序的額外開(kāi)銷相對(duì)比較大、運(yùn)行效率下降,再加上8/16位MCU本身處理裕度有限,推廣進(jìn)度緩慢。最近幾年,就8/16位MCU而言,隨著C編譯器效率和MCU性能的大幅度提高,用高級(jí)語(yǔ)言代替匯編語(yǔ)言也漸成趨勢(shì),典型的MCU都推出了自己的C編譯器。其中KeilC51的編譯效率已達(dá)到很高水平,經(jīng)過(guò)優(yōu)化的用KeilC51編寫的程序編譯后的運(yùn)行效率甚至要高于普通開(kāi)發(fā)者直接用匯編語(yǔ)言編寫的程序。43

雖然,現(xiàn)在MCS-51仍不失為單片機(jī)中的主流機(jī)型,國(guó)內(nèi)仍以Intel的MCS-51系列單片機(jī)應(yīng)用最廣。但是,由于80C51系列所具有的一系列特點(diǎn),已獲得廣泛的應(yīng)用。加之C語(yǔ)言的應(yīng)用的廣泛使用,故而本教程的講授,硬件將仍以80C51為主線,而在軟件方面則從由匯編“獨(dú)尊”改為匯編與C語(yǔ)言并重。44

⒋單片機(jī)的應(yīng)用以下大致介紹一些典型的應(yīng)用領(lǐng)域和應(yīng)用特點(diǎn)。⑴家用電器領(lǐng)域目前國(guó)內(nèi)各種家用電器已普遍采用單片機(jī)控制取代傳統(tǒng)的控制電路,而做成單片機(jī)控制系統(tǒng)。例如洗衣機(jī)、電冰箱、空調(diào)機(jī)、微波爐、電飯煲、電視機(jī)、錄像機(jī)及其它視頻音像設(shè)備的控制器。45

⑵辦公自動(dòng)化領(lǐng)域現(xiàn)代辦公室中所使用的大量通信、信息產(chǎn)品多數(shù)都采用了單片機(jī),如通用計(jì)算機(jī)系統(tǒng)中的鍵盤譯碼、磁盤驅(qū)動(dòng)、打印機(jī)、繪圖儀、復(fù)印機(jī)、電話、傳真機(jī)、考勤機(jī)等。46

⑶商業(yè)營(yíng)銷領(lǐng)域由于在商業(yè)營(yíng)銷系統(tǒng)已廣泛使用的電子稱、收款機(jī)、條形碼閱讀器、倉(cāng)儲(chǔ)安全監(jiān)測(cè)系統(tǒng)、商場(chǎng)保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保鮮系統(tǒng)等中,目前已紛紛采用單片機(jī)構(gòu)成專用系統(tǒng),主要由于這種系統(tǒng)有明顯的抗病菌侵害、抗電磁干擾等高可靠性能的保證。47

⑷工業(yè)自動(dòng)化如工業(yè)過(guò)程控制、過(guò)程監(jiān)測(cè)、工業(yè)控制器及機(jī)電一體化控制系統(tǒng)等,這些系統(tǒng)除一些小型工控機(jī)之外,許多都是由單片機(jī)為核心的單機(jī)或多機(jī)網(wǎng)絡(luò)系統(tǒng)。如工業(yè)機(jī)器人的控制系統(tǒng)是由中央控制器、感覺(jué)系統(tǒng)、行走系統(tǒng)、擒拿系統(tǒng)等節(jié)點(diǎn)構(gòu)成的多機(jī)網(wǎng)絡(luò)系統(tǒng)。48

⑸智能儀表與集成智能傳感器傳統(tǒng)的控制電路目前各種變送器、電氣測(cè)量?jī)x表普遍采用單片機(jī)應(yīng)用系統(tǒng)替代傳統(tǒng)的測(cè)量系統(tǒng),使測(cè)量系統(tǒng)具有各種智能化功能,如存儲(chǔ)、數(shù)據(jù)處理、查找、判斷、聯(lián)網(wǎng)和語(yǔ)音功能等。 將單片機(jī)與傳感器相結(jié)合可以構(gòu)成新一代的智能傳感器,它將傳感器初級(jí)變換后的電量作進(jìn)一步的變換、處理,輸出能滿足遠(yuǎn)距離傳送、能與微機(jī)接口的數(shù)字信號(hào)。49

⑹汽車電子與航空航天電子系統(tǒng)通常在這些電子系統(tǒng)中的集中顯示系統(tǒng)、動(dòng)力監(jiān)測(cè)控制系統(tǒng)、自動(dòng)駕馭系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視器(黑匣子)等都要構(gòu)成冗余的網(wǎng)絡(luò)系統(tǒng)。50

從上述可以看出,單片機(jī)應(yīng)用的意義絕不限于它的功能,以及所帶來(lái)的經(jīng)濟(jì)效益上。更重要的意義在于,單片機(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在已能使用單片機(jī)通過(guò)軟件方法實(shí)現(xiàn)了,這種以軟件取代硬件并能提高系統(tǒng)性能的控制技術(shù),稱之為微控制技術(shù)。這標(biāo)志著一種全新概念的建立。隨者單片機(jī)應(yīng)用技術(shù)的推廣普及,微控制技術(shù)必將不斷發(fā)展,日益完善,更加充實(shí)。

51

單片機(jī)與嵌入式系統(tǒng)⒈嵌入式系統(tǒng)⒉ 單片機(jī)與嵌入式系統(tǒng)的發(fā)展道路52

⒈嵌入式系統(tǒng)數(shù)字計(jì)算機(jī)在其1946年誕生后,始終以其高貴的身份被供養(yǎng)在特殊的機(jī)房中。直到20世紀(jì)70年代,微處理器出現(xiàn)之后,才出現(xiàn)了歷史性的變化。以微處理器為核心的微型計(jì)算機(jī)以其小型、價(jià)廉、高可靠性特點(diǎn),以及其表現(xiàn)出的高度的智能化水平引起了控制專業(yè)人士的興趣,要求將微型機(jī)嵌入到一個(gè)對(duì)象體系中,實(shí)現(xiàn)對(duì)象體系的智能化控制,從而促使具有計(jì)算機(jī)身價(jià)的微型計(jì)算機(jī)走出機(jī)房。53

例如,將微型計(jì)算機(jī)經(jīng)電氣加固、機(jī)械加固,并配置各種外圍接口電路,安裝到大型艦船中構(gòu)成自動(dòng)駕駛儀或輪機(jī)狀態(tài)監(jiān)測(cè)系統(tǒng)。這樣一來(lái),計(jì)算機(jī)便失去了原來(lái)的形態(tài)與通用的計(jì)算機(jī)功能。為了區(qū)別于原有的通用計(jì)算機(jī)系統(tǒng),人們把嵌入到對(duì)象體系中,實(shí)現(xiàn)對(duì)象體系智能化管理和控制的這種專用計(jì)算機(jī),稱為“嵌入式計(jì)算機(jī)系統(tǒng)”或簡(jiǎn)稱為“嵌入式系統(tǒng)”。54

由于在應(yīng)用中對(duì)嵌入式計(jì)算機(jī)系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)提出了完全不同的技術(shù)要求,因而他們的技術(shù)發(fā)展方向也完全不同:對(duì)通用計(jì)算機(jī)系統(tǒng)的技術(shù)要求是高速、海量的數(shù)值計(jì)算,因而其技術(shù)發(fā)展方向是總線速度的無(wú)限提升,存儲(chǔ)容量的無(wú)限擴(kuò)大。對(duì)嵌入式計(jì)算機(jī)系統(tǒng)的技術(shù)要求,是對(duì)對(duì)象的智能化的管理和控制能力,因此,它的技術(shù)發(fā)展方向則是與對(duì)象系統(tǒng)密切相關(guān)的嵌入性能、控制能力與控制的可靠性。55

嵌入式系統(tǒng)主要由嵌入式處理器、存儲(chǔ)器及外設(shè)器件和I/O端口、圖形控制器等相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用系統(tǒng)等軟件組成。嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理器。嵌入式處理器可以分為三類:嵌入式微處理器、嵌入式微控制器、嵌入式DSP(DigitalSignalProcessor)。56

嵌入式微處理器就是和通用計(jì)算機(jī)的微處理器對(duì)應(yīng)的CPU。在應(yīng)用中,一般是將微處理器裝配在專門設(shè)計(jì)的電路板上,在母板上只保留和嵌入式相關(guān)的功能即可,這樣可以滿足嵌入式系統(tǒng)體積小和功耗低的要求。目前的嵌入式處理器主要包括:PowerPC、Motorola68000、ARM系列等等。嵌入式微控制器又稱為單片機(jī),它將CPU、存儲(chǔ)器(少量的RAM、ROM或兩者都有)和其它外設(shè)封裝在同一片集成電路里。常見(jiàn)的有8051系列。57

嵌入式DSP專門用來(lái)對(duì)離散時(shí)間信號(hào)進(jìn)行極快的處理計(jì)算,提高編譯效率和執(zhí)行速度。在數(shù)字濾波、FFT、譜分析、圖像處理的分析等領(lǐng)域,DSP正在大量進(jìn)入嵌入式市場(chǎng)。軟件部分包括操作系統(tǒng)軟件,要求實(shí)時(shí)和多任務(wù)操作和應(yīng)用程序編程。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)則控制著應(yīng)用程序編程與硬件的交互作用。58

1970年左右出現(xiàn)嵌入式系統(tǒng)的概念時(shí),嵌入式系統(tǒng)很多都不采用操作系統(tǒng)的,它們只是為了實(shí)現(xiàn)某個(gè)控制功能,使用一個(gè)簡(jiǎn)單的循環(huán)控制對(duì)外界的控制請(qǐng)求進(jìn)行處理。當(dāng)應(yīng)用系統(tǒng)越來(lái)越復(fù)雜、利用的范圍越來(lái)越廣泛的時(shí)候,每添加一項(xiàng)新的功能,都可能需要從頭開(kāi)始設(shè)計(jì)。沒(méi)有操作系統(tǒng)已成為一個(gè)最大的缺點(diǎn)了。59

C語(yǔ)言的出現(xiàn)使操作系統(tǒng)開(kāi)發(fā)變得簡(jiǎn)單。從上世紀(jì)80年代開(kāi)始,出現(xiàn)了各種各樣的商用嵌入式操作系統(tǒng)百家爭(zhēng)鳴的局面,比較著名的有VxWorks、pSOS和WindowsCE等等,這些操作系統(tǒng)大部分是為專有系統(tǒng)而開(kāi)發(fā)的。另外,源代碼開(kāi)放的嵌入式Linux,由于其強(qiáng)大的網(wǎng)絡(luò)功能和低成本,近來(lái)也得到了越來(lái)越多的應(yīng)用。60

⑴嵌入式系統(tǒng)通常是面向特定應(yīng)用的,嵌入式CPU與通用型的最大不同就是,嵌入式處理器大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中,它通常都具有低功耗、小體積、高集成度等特點(diǎn),能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,因此,器件的移動(dòng)能力大大增強(qiáng),同時(shí)跟網(wǎng)絡(luò)的耦合也越來(lái)越緊密。嵌入式計(jì)算機(jī)系統(tǒng)同通用型計(jì)算機(jī)系統(tǒng)相比,具有以下特點(diǎn):61

⑵嵌入式系統(tǒng)的硬件和軟件都必須高效地設(shè)計(jì),量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力。⑶因?yàn)榍度胧较到y(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也和具體產(chǎn)品同步進(jìn)行,所以,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),一般都具有較長(zhǎng)的生命周期。⑷為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)之中,而不是存貯于磁盤等載體中。62

通用計(jì)算機(jī)系統(tǒng)與嵌入式計(jì)算機(jī)系統(tǒng)的專業(yè)化分工,導(dǎo)致20世紀(jì)末、21世紀(jì)初,計(jì)算機(jī)技術(shù)的飛速發(fā)展。作為近代計(jì)算機(jī)技術(shù)兩大分支之一的嵌入式系統(tǒng)已經(jīng)滲透到每個(gè)家庭、每個(gè)人身邊。目前,嵌入式技術(shù)已成為通信和消費(fèi)類產(chǎn)品的共同發(fā)展方向。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA(PersonalDigitalAssistant)、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。

63

⒉單片機(jī)與嵌入式系統(tǒng)的發(fā)展道路就歷史而言,嵌入式系統(tǒng)的發(fā)展和單片機(jī)的發(fā)展是緊密相連的。如果按早期嵌入式計(jì)算機(jī)系統(tǒng)的習(xí)慣叫法,將所有實(shí)現(xiàn)嵌入式應(yīng)用的不同形式的計(jì)算機(jī)系統(tǒng)統(tǒng)稱為嵌入式系統(tǒng),那么,嵌入式系統(tǒng)就是一個(gè)龐大的家族。嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(jí)(工控機(jī))、板級(jí)(單板、模塊)、芯片級(jí)(MCU、SoC)。64

(1)

設(shè)備級(jí)(工控機(jī))工控計(jì)算機(jī)是早期嵌入式計(jì)算機(jī)系統(tǒng)常常采取的方式。大多將通用計(jì)算機(jī)系統(tǒng)進(jìn)行機(jī)械加固、電氣加固后構(gòu)成,以滿足應(yīng)用系統(tǒng)的應(yīng)用環(huán)境要求。工控機(jī)有通用計(jì)算機(jī)豐富的軟件及周邊外設(shè)支持,有很強(qiáng)的數(shù)據(jù)處理能力,應(yīng)用軟件開(kāi)發(fā)十分方便。但由于體積龐大,適用于具有大空間嵌入應(yīng)用的環(huán)境中,如艦船、大型試驗(yàn)裝置、分布式測(cè)控系統(tǒng)等。65

(2)板級(jí)(通用CPU模塊)通用CPU模塊是由通用CPU構(gòu)成的各種形式的主機(jī)板系統(tǒng)、各種類型的帶CPU的主板及OEM產(chǎn)品。與工控計(jì)算機(jī)相比,體積較小,可以滿足較小空間的嵌入應(yīng)用環(huán)境。為了滿足工控測(cè)控對(duì)象要求,在模塊上常常會(huì)設(shè)置一些滿足測(cè)控對(duì)象要求的接口電路。由于通用CPU模塊具有較強(qiáng)的數(shù)據(jù)處理能力,借助通用計(jì)算機(jī)系統(tǒng)可方便地開(kāi)發(fā)應(yīng)用軟件。通用CPU模塊常用在需要大量數(shù)據(jù)處理和邏輯判斷的系統(tǒng)中,如大中型試驗(yàn)系統(tǒng)、電視機(jī)頂置盒(Topbox)、收銀機(jī)等。66

(3)芯片級(jí)(嵌入式微處理器、MCU及SoC)早期微處理器MPU(MicroProcessorUnit)主要用來(lái)構(gòu)成通用計(jì)算機(jī)系統(tǒng)的;而后,隨著嵌入式應(yīng)用的發(fā)展及其龐大的市場(chǎng)潛力,眾多的MPU生產(chǎn)廠家開(kāi)始發(fā)展嵌入式微處理器。67

嵌入式微處理器是在通用微處理器MPU的基核上,添加MPU外圍單元和滿足對(duì)象測(cè)控要求的外圍接口電路,構(gòu)成一個(gè)嵌入式應(yīng)用的單芯片形態(tài)計(jì)算機(jī)系統(tǒng)。早期Intel公司將通用微處理器80386與定時(shí)器/計(jì)數(shù)器、DMA、中斷系統(tǒng)、串行接口、并行口、WDT及MMU存儲(chǔ)器管理部件集成在一個(gè)芯片上,構(gòu)成的386EX是典型的嵌入式微處理器。嵌入式微處理器由于其總線I/O地址與微處理器構(gòu)成的PC機(jī)兼容,易于開(kāi)發(fā),有較好的操作系統(tǒng)支持,又是單片形態(tài)的嵌入式系統(tǒng),因此,在許多中小型嵌入式應(yīng)用系統(tǒng)中廣泛使用。68

芯片級(jí)則以單片機(jī)最為典型。在幾種嵌入式系統(tǒng)中,單片機(jī)有唯一的專門為嵌入式應(yīng)用設(shè)計(jì)的體系結(jié)構(gòu)與指令系統(tǒng),因此,它最能滿足嵌入式的應(yīng)用要求。目前,國(guó)內(nèi)外公認(rèn)的標(biāo)準(zhǔn)體系結(jié)構(gòu)是Intel的MCS-5l系列,其中8051已被許多廠家作為基核,發(fā)展了許多兼容系列,所有這些系列都統(tǒng)稱為80C51系列。69

單片機(jī)是完全按嵌入式系統(tǒng)要求設(shè)計(jì)的單芯片形態(tài)的嵌入式系統(tǒng),它最廣泛地應(yīng)用在中、小型工控領(lǐng)域,是電子系統(tǒng)智能化的最重要工具。嵌入式微控制器則是嵌入式系統(tǒng)概念廣泛使用后,給傳統(tǒng)單片機(jī)定位的稱呼。70

對(duì)于嵌入式計(jì)算機(jī)系統(tǒng)而言,微型計(jì)算機(jī)的體積、價(jià)位、可靠性都無(wú)法滿足廣大對(duì)象系統(tǒng)的嵌入式應(yīng)用要求,因此,它必須走一條完全不同的、自己的獨(dú)立發(fā)展的道路。這條道路就是芯片化道路。從上述的敘述中,可以看出,在探索嵌入式計(jì)算機(jī)系統(tǒng)的發(fā)展過(guò)程時(shí),對(duì)于嵌入式處理器曾出現(xiàn)過(guò)兩種模式,即“加減模式”與“創(chuàng)新模式”。71

所謂“加減模式”,本質(zhì)上是將通用計(jì)算機(jī)直接芯片化的模式。它將通用計(jì)算機(jī)系統(tǒng)中的基本單元進(jìn)行裁剪后,集成在一個(gè)芯片上,構(gòu)成所謂的嵌入式微處理器;所謂“創(chuàng)新模式”,則完全按嵌入式應(yīng)用的要求設(shè)計(jì)全新的、滿足嵌入式應(yīng)用要求的體系結(jié)構(gòu)、指令系統(tǒng)、總線方式、管理模式等。72

Intel公司的MCS-48、MCS-51就是按照創(chuàng)新模式發(fā)展起來(lái)的單片形態(tài)的嵌入式微控制器(單片機(jī))。MCS-51是在MCS-48探索基礎(chǔ)上,進(jìn)行全面完善的嵌入式系統(tǒng)。歷史證明,“創(chuàng)新模式”是嵌入式系統(tǒng)獨(dú)立發(fā)展的正確道路,MCS-51的體系結(jié)構(gòu)也因此成為單片嵌入式系統(tǒng)的典型結(jié)構(gòu)體系。因此,在更廣泛、更深刻的意義上來(lái)說(shuō),是單片機(jī)開(kāi)創(chuàng)了嵌入式系統(tǒng)獨(dú)立發(fā)展的道路。從嵌入式計(jì)算機(jī)系統(tǒng)的角度來(lái)看,單片機(jī)的技術(shù)發(fā)展史經(jīng)歷了SCM、MCU、SoC三大階段。73

(1)SCM即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。(2)MCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用系統(tǒng)過(guò)程中,發(fā)展了對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突出其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。74

(3)單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC(SystemonChip)的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。由于“單片機(jī)”是典型的、獨(dú)立發(fā)展起來(lái)的嵌入式系統(tǒng),從學(xué)科建設(shè)的角度出發(fā),應(yīng)該把它統(tǒng)一成“嵌入式系統(tǒng)”??紤]到原來(lái)單片機(jī)的應(yīng)用特點(diǎn),可以把嵌入式系統(tǒng)應(yīng)用分成高端與低端,把原來(lái)的單片機(jī)應(yīng)用理解成嵌入式系統(tǒng)的低端應(yīng)用。75

課程的特點(diǎn)和教學(xué)安排

單片機(jī)系列品種繁多,廣泛應(yīng)用于各行各業(yè)。因此,在應(yīng)用中需要設(shè)計(jì)者對(duì)各種單片機(jī)都應(yīng)了解,以便確定最佳的性能價(jià)格比,也就是說(shuō)要能應(yīng)用各種單片機(jī)進(jìn)行設(shè)計(jì)。76

然而同時(shí)學(xué)習(xí)各種單片機(jī)的軟硬件知識(shí)不僅難度較大而且沒(méi)有必要。通常的方法是學(xué)習(xí)一種典型的單片機(jī)系列,掌握好其硬件結(jié)構(gòu)和軟件知識(shí),在應(yīng)用中,如果需要用到其它系列單片機(jī)時(shí),只需將這兩種系列的不同特點(diǎn)及軟硬件上的不同之處稍加分析即可應(yīng)用了。

77

與其它許多單片機(jī)相比較,MCS-5l系列和80C51系列單片機(jī)硬件結(jié)構(gòu)簡(jiǎn)潔明了、特殊功能寄存器功能規(guī)范和軟件指令系統(tǒng)易于掌握,是一種既便于講授又便于學(xué)習(xí)、理解和掌握的單片機(jī)。加之,這種單片機(jī)在國(guó)內(nèi)介紹較多,資料比較齊全,其本身性能價(jià)格比較高,供應(yīng)渠通也很多,所以一般學(xué)習(xí)單片機(jī)均以此系列為典型范例。本書(shū)以80C51系列為例,來(lái)介紹單片機(jī)知識(shí)。掌握了80C51系列單片機(jī)后,如果開(kāi)發(fā)增強(qiáng)型的51系列或別的系列單片機(jī)應(yīng)用系統(tǒng),讀者只需用很短時(shí)間,觸類旁通地掌握相應(yīng)單片機(jī)的特性和特點(diǎn),即可用它來(lái)開(kāi)發(fā)產(chǎn)品了。78

總而言之,學(xué)習(xí)單片機(jī),先學(xué)習(xí)一個(gè)典型系列,然后在應(yīng)用過(guò)程中根據(jù)需要而選用其它系列,這是較好的學(xué)習(xí)與應(yīng)用方法。學(xué)習(xí)與應(yīng)用80C51,就必須掌握其軟、硬件知識(shí)。所謂軟件知識(shí)是指80C51的尋址方式、指令系統(tǒng),以及它的匯編語(yǔ)言及C語(yǔ)言等,硬件知識(shí)則是指80C51的硬件資源如存儲(chǔ)器容量,I/O口數(shù)量,定時(shí)/計(jì)數(shù)器,串行口以及中斷系統(tǒng)等?;诖擞^點(diǎn),我們將詳細(xì)介紹80C51的性能特點(diǎn)與應(yīng)用方法。791.1計(jì)算機(jī)中的信息及表示1.2微型計(jì)算機(jī)的基本結(jié)構(gòu)和工作原理1.3單片微型計(jì)算機(jī)章節(jié)80幾種常用的數(shù)制數(shù)制: ①每一位的構(gòu)成 ②從低位向高位的進(jìn)位規(guī)則常用到的:十進(jìn)制,二進(jìn)制,八進(jìn)制,十六進(jìn)制補(bǔ)充知識(shí)811.十進(jìn)制

數(shù)字符號(hào)(系數(shù)):0、1、2、3、4、5、6、7、8、9計(jì)數(shù)規(guī)則:逢十進(jìn)一基數(shù):10權(quán):10的冪所以任意一個(gè)十進(jìn)制數(shù)D均可展開(kāi)為:所以任意一個(gè)十進(jìn)制數(shù)D均可展開(kāi)為:數(shù)字符號(hào)(系數(shù)):0、1、2、3、4、5、6、7、8、9計(jì)數(shù)規(guī)則:逢十進(jìn)一基數(shù):10權(quán):10的冪所以任意一個(gè)十進(jìn)制數(shù)D均可展開(kāi)為:數(shù)字符號(hào)(系數(shù)):0、1、2、3、4、5、6、7、8、9計(jì)數(shù)規(guī)則:逢十進(jìn)一基數(shù):10權(quán):10的冪所以任意一個(gè)十進(jìn)制數(shù)D均可展開(kāi)為:4587.29=4103+5102+8101+7100+2101+9102822.二進(jìn)制數(shù)字符號(hào):0、1計(jì)數(shù)規(guī)則:逢二進(jìn)一基數(shù):2權(quán):2的冪例:(1011101)2=

(1×26+0×25+1×24+1×23+1×22+0×21+1×20)10=(93)10833.八進(jìn)制

數(shù)字符號(hào):0~7計(jì)數(shù)規(guī)則:逢八進(jìn)一基數(shù):8權(quán):8的冪例:(127)8=(1×82+2×81+7×80)10=(87)10844.十六進(jìn)制

數(shù)字符號(hào):0~9、A、B、C、D、E、F計(jì)數(shù)規(guī)則:逢十六進(jìn)一基數(shù):16權(quán):16的冪例:(2A.7F)16=(2×161+10×160+7×16-1+15×16-2)10=(42.4960937)1085十進(jìn)制,二進(jìn)制,八進(jìn)制,十六進(jìn)制逢二進(jìn)一逢八進(jìn)一逢十進(jìn)一逢十六進(jìn)一86十進(jìn)制數(shù)二進(jìn)制八進(jìn)制十六進(jìn)制00000000001000101102001002203001103304010004405010105506011006607011107708100010809100111910101012A11101113B12110014C13110115D14111016E15111117F不同進(jìn)制數(shù)的對(duì)照表87不同數(shù)制間的轉(zhuǎn)換一、二-十轉(zhuǎn)換例:88二、十-二轉(zhuǎn)換十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):整數(shù)部分小數(shù)部分a.整數(shù)部分的轉(zhuǎn)換:

“輾轉(zhuǎn)相除”法:將十進(jìn)制數(shù)連續(xù)不斷地除以2,直至商為零,所得余數(shù)由低位到高位排列,即為所求二進(jìn)制數(shù)89例:根據(jù)上述原理,可將(37)D按如下的步驟轉(zhuǎn)換為二進(jìn)制數(shù)當(dāng)十進(jìn)制數(shù)較大時(shí),有什么方法使轉(zhuǎn)換過(guò)程簡(jiǎn)化?由上得(37)D=(100101)B90解:由于27為128,而133-128=5=22+20,例:將(133)D轉(zhuǎn)換為二進(jìn)制數(shù)所以對(duì)應(yīng)二進(jìn)制數(shù)k7=1,k2=1,k0=1,其余各系數(shù)均為0,所以得(133)D=(10000101)B91b.小數(shù)部分的轉(zhuǎn)換:例:將(0.8125)10化為二進(jìn)制小數(shù)92解由于精度要求達(dá)到0.1%,需要精確到二進(jìn)制小數(shù)10位,即1/210=1/1024。0.39×2=0.78k-1=00.78×2=1.56k-2=10.56×2=1.12k-3=10.12×2=0.24k-4=00.24×2=0.48k-5=00.48×2=0.96k-6=00.96×2=1.92k-7=10.92×2=1.84k-8=10.84×2=1.68k-9=10.68×2=1.36k-10=1所以例將十進(jìn)制小數(shù)(0.39)D轉(zhuǎn)換成二進(jìn)制數(shù),要求精度達(dá)到0.1%93三、二-十六轉(zhuǎn)換例:將(01011110.10110010)2化為十六進(jìn)制94四、十六-二轉(zhuǎn)換例:將(8FAC6)16化為二進(jìn)制95五、八進(jìn)制數(shù)與二進(jìn)制數(shù)的轉(zhuǎn)換例:將(011110.010111)2化為八進(jìn)制例:將(52.43)8化為二進(jìn)制96六、十六進(jìn)制數(shù)與十進(jìn)制數(shù)的轉(zhuǎn)換

十六進(jìn)制轉(zhuǎn)換為十進(jìn)制

十進(jìn)制轉(zhuǎn)換為十六進(jìn)制:(1)通過(guò)二進(jìn)制轉(zhuǎn)換

(2)直接轉(zhuǎn)換思考:1、十進(jìn)制轉(zhuǎn)換為八進(jìn)制?

2、十六進(jìn)制與八進(jìn)制間的互相轉(zhuǎn)換?

975.十六進(jìn)制的優(yōu)點(diǎn):1)與二進(jìn)制之間的轉(zhuǎn)換容易;2)計(jì)數(shù)容量較其它進(jìn)制都大。假如同樣采用四位數(shù)碼,二進(jìn)制最多可計(jì)至(1111)B=(15)D;八進(jìn)制可計(jì)至(7777)O=(2800)D;十進(jìn)制可計(jì)至(9999)D;十六進(jìn)制可計(jì)至(FFFF)H=(65535)D,即64K。其容量最大。3)書(shū)寫簡(jiǎn)潔。1.1信息在計(jì)算機(jī)中的表示1.1.1數(shù)在計(jì)算機(jī)內(nèi)的表示計(jì)算機(jī)中的數(shù)通常有兩種:無(wú)符號(hào)數(shù)和有符號(hào)數(shù)。

無(wú)符號(hào)數(shù)<-----二進(jìn)制形式表示

例如:123表示成01111011B。

有符號(hào)數(shù)---機(jī)器數(shù),它的數(shù)值稱為機(jī)器數(shù)的真值。98符號(hào)位數(shù)值位機(jī)器數(shù)在計(jì)算機(jī)中有三種表示法:

原碼、反碼和補(bǔ)碼。+0-1機(jī)器數(shù)在計(jì)算機(jī)中表示:99一.原碼符號(hào)位絕對(duì)值注意:(1)原碼表示范圍為-(2n-1-1)~+(2n-1-1),例如:8位的范圍為-127~+127。(2)原碼表示時(shí),-0的編碼為10000000,+0的編碼為00000000。(假設(shè)機(jī)器字長(zhǎng)為8位)【例1-1】求+67、-25的原碼(機(jī)器字長(zhǎng)8位)因?yàn)?67=67=1000011B-25=25=11001B所以[+67]原=01000011B[-25]原=10011001B格式:100二.反碼符號(hào)位0絕對(duì)值符號(hào)位1絕對(duì)值各位取反格式:正數(shù)負(fù)數(shù)注意:(1)反碼表示范圍為-(2n-1-1)~+(2n-1-1),例如:8位的范圍為-127~+127。(2)反碼表示時(shí),-0的編碼為11111111,+0的編碼為00000000。(假設(shè)機(jī)器字長(zhǎng)為8位)101三.補(bǔ)碼

【例1-3】求+67、-25的補(bǔ)碼(機(jī)器字長(zhǎng)8位)。因?yàn)閇+67]原=01000011B[-25]原=10011001B所以[+67]補(bǔ)=01000011B[-25]補(bǔ)=11100111B

符號(hào)位0絕對(duì)值符號(hào)位1絕對(duì)值各位取反格式:正數(shù)負(fù)數(shù)+1102注意:(1)補(bǔ)碼表示范圍為-(2n-1-1)~+(2n-1),例如:8位的范圍為-128~+127。(2)補(bǔ)碼表示時(shí),-0的編碼為00000000,+0的編碼為00000000。(假設(shè)機(jī)器字長(zhǎng)為8位)[X]補(bǔ)

[-X]補(bǔ)

【例1-4】已知+25的補(bǔ)碼為00011001B,用求補(bǔ)運(yùn)算求-25的補(bǔ)碼。因?yàn)閇25]補(bǔ)

[-25]補(bǔ)所以

[-25]補(bǔ)=11100110+1=11100111B103求補(bǔ)運(yùn)算:一個(gè)二進(jìn)制數(shù),符號(hào)位和數(shù)值位一起取反,末位加1。求補(bǔ)運(yùn)算具有以下的特點(diǎn):10410–5=510+7-12=5(舍棄進(jìn)位)由于表盤的最大數(shù)只有12,超過(guò)12以后的進(jìn)位將自動(dòng)消失。因?yàn)?和7相加(7+5=12)正好等于產(chǎn)生進(jìn)位的模數(shù)12,所以7是-5對(duì)模數(shù)12的補(bǔ)碼。結(jié)論:在舍棄進(jìn)位的條件下,減去某個(gè)數(shù)可以用加上它的補(bǔ)碼來(lái)代替。1051011–0111=0100

(11-7=4)1011+1001=10100

=0100(舍棄進(jìn)位)(11+9-16=4)0111+1001=241001是對(duì)模24(16)-0111

的補(bǔ)碼4位二進(jìn)制數(shù)補(bǔ)碼運(yùn)算的例子五.十進(jìn)制數(shù)的表示

十進(jìn)制編碼又稱為BCD碼。分壓縮BCD碼和非壓縮BCD碼。壓縮BCD碼又稱為8421碼,它是用四位二進(jìn)制編碼來(lái)表示一位十進(jìn)制符號(hào)。例如:十進(jìn)制數(shù)124的壓縮BCD碼為000100100100。十進(jìn)制數(shù)4.56的壓縮BCD碼為0100.01010110。106

非壓縮BCD碼是用八位二進(jìn)制來(lái)表示一位十進(jìn)制符號(hào),其中低四位二進(jìn)制編碼與壓縮BCD碼相同,高四位任取。例如:十進(jìn)制數(shù)124的非壓縮BCD碼為001100010011001000110100。1.1.2字符在計(jì)算機(jī)內(nèi)的表示美國(guó)信息交換標(biāo)準(zhǔn)代碼ASCII碼AmericanStandardCodeforInformationInterchange107數(shù)字符號(hào)0~9:30H—39h26個(gè)大寫字母:41H—5AH26個(gè)小寫字母:61H—7AH1.2微型計(jì)算機(jī)的基本結(jié)構(gòu)和工作原理

現(xiàn)在的計(jì)算機(jī)采用馮·諾伊曼結(jié)構(gòu),由運(yùn)算器、控制器、存貯器、輸入設(shè)備和輸出設(shè)備五大部分組成。集成運(yùn)算器和控制器的這一塊集成電路稱為中央處理器或微處理器,簡(jiǎn)稱CPU。1.2.1微型計(jì)算機(jī)的發(fā)展1971年誕生,一般分為以下幾代:第一代(1971~1973):4位和低檔8位微處理器第二代(1974~1977):中高檔8位微處理器第三代(1978~1984):16位微處理器第四代(1985~1992):32位微處理器第五代(1993~1999):超級(jí)32位Pentium(奔騰)微處理器第六代(2000年以后):64位高檔微處理器1081.2.2微型計(jì)算機(jī)的基本結(jié)構(gòu)中央處理器(CPU)隨機(jī)存儲(chǔ)器RAMI/O接口電路I/O設(shè)備2I/O接口電路只讀存儲(chǔ)器ROM數(shù)據(jù)總線(雙向)地址總線(單向)控制總線I/O設(shè)備1微型計(jì)算機(jī)由中央處理器、存儲(chǔ)器、輸入/輸出設(shè)備和系統(tǒng)總線等組成1091.2.3微處理器由運(yùn)算器、控制器、寄存器組和片內(nèi)總線組成1101、執(zhí)行單元(EU)執(zhí)行部件由運(yùn)算器(ALU)、通用寄存器、標(biāo)態(tài)寄存器和EU控制系統(tǒng)等組成。EU從BIU的指令隊(duì)列中獲得指令,然后執(zhí)行該指令,完成指今所規(guī)定的操作??偩€接口部件BIU同外部總線連接,為執(zhí)行部件EU完成全部的總線操作,并且計(jì)算、形成20位的內(nèi)部存儲(chǔ)器的物理地址,達(dá)到尋址1M字節(jié)內(nèi)存地址空間的目的。2、總線接口單元(BIU)內(nèi)部分為兩個(gè)部分:1113.內(nèi)部寄存器

8086CPU有14個(gè)16位寄存器,分為5個(gè)組112標(biāo)志寄存器標(biāo)志寄存器FLAGS共有9個(gè)標(biāo)志位,其中6個(gè)為狀態(tài)標(biāo)志位,3個(gè)為控制標(biāo)志位。ODITSZAPCC——進(jìn)位標(biāo)志位。P——奇偶標(biāo)志位。A——半加標(biāo)志位。Z——零標(biāo)志位。S——符號(hào)標(biāo)志位。T—陷阱標(biāo)志位(單步標(biāo)志位)。I——中斷允許標(biāo)志位。D——方向標(biāo)志位。O—溢出標(biāo)志位。1131.2.4存儲(chǔ)器指內(nèi)部存儲(chǔ)器(又稱為主存或內(nèi)存)。它是微型計(jì)算機(jī)的存儲(chǔ)和記憶裝置,用來(lái)存放微型計(jì)算機(jī)執(zhí)行的程序和數(shù)據(jù)。存儲(chǔ)單元內(nèi)容和存儲(chǔ)單元地址1141.存儲(chǔ)器的基本結(jié)構(gòu)-------半導(dǎo)體存儲(chǔ)器

地址譯碼器00單元01單元02單元┇┇FF單元000102FF地址單元內(nèi)容ABCBI/O緩沖器控制邏輯DB圖1.10存儲(chǔ)器結(jié)構(gòu)圖115對(duì)內(nèi)存單元的操作有兩種:讀和寫。(1)讀操作地址譯碼器0單元內(nèi)容2BH┇┇FF單元內(nèi)容05控制邏輯地址單元內(nèi)容AB讀信號(hào)DB052BHI/O緩沖器1)CPU通過(guò)地址總線送地址號(hào)05H至存儲(chǔ)器地址譯碼器2)存儲(chǔ)器中的地址譯碼器對(duì)它進(jìn)行譯碼,找到05H號(hào)存儲(chǔ)單元3)CPU發(fā)出讀的控制命令,05H號(hào)存儲(chǔ)單元中的內(nèi)容2BH就出現(xiàn)在數(shù)據(jù)總線116(2)寫操作寫信號(hào)地址譯碼器0單元內(nèi)容┇┇FF單元內(nèi)容I/O緩沖器06地址單元內(nèi)容ABDB061AH1AH控制邏輯1)CPU通過(guò)地址總線送地址號(hào)06H至存儲(chǔ)器地址譯碼器2)存儲(chǔ)器中的地址譯碼器對(duì)它進(jìn)行譯碼,找到06H號(hào)存儲(chǔ)單元3)數(shù)據(jù)寄存器中的內(nèi)容1AH經(jīng)數(shù)據(jù)總線送給存儲(chǔ)器4)CPU發(fā)出寫的控制命令,于是數(shù)據(jù)總線上的信息1AH就可以寫入到06H號(hào)存儲(chǔ)單元中1172.存儲(chǔ)器的分類

隨機(jī)讀寫存儲(chǔ)器RAM(RandomAccessMemory)和只讀存儲(chǔ)器ROM(ReadOnlyMemory)。3.8086中的存儲(chǔ)器總存儲(chǔ)空間為1M字節(jié),地址20位。由于8086的寄存器都是16位,不能直接提供20地址,因此,為了管理方便,8086把1M空間分成若干塊(稱為“邏輯段”),各個(gè)邏輯段之間可在實(shí)際存儲(chǔ)空間中完全分開(kāi),也可以部分重疊,甚至可以完全重疊。每個(gè)邏輯段容量不超過(guò)64K字節(jié),這樣就可用16位寄存器提供地址訪問(wèn)。118物理地址與邏輯地址物理地址:送給存儲(chǔ)器的20位地址。邏輯地址:程序中訪問(wèn)存儲(chǔ)器的地址,“段基址:偏移地址”轉(zhuǎn)換:物理地址=段基址×16+段內(nèi)偏移地址例如:段基址:偏移地址分別是1200H:0345H則物理地址=1200H×16+0345H=12345H。1191.2.5輸入/輸出設(shè)備及I/O接口電路1.I/O接口的功能

(1)數(shù)據(jù)的寄存和緩沖功能(2)信號(hào)轉(zhuǎn)換功能(3)設(shè)備選擇功能(4)外設(shè)的控制和監(jiān)測(cè)功能(5)中斷或DMA管理功能(6)可編程功能2.外部設(shè)備與CPU之間的數(shù)據(jù)傳送方式

(1)無(wú)條件傳送方式(2)查詢傳送方式(3)中斷傳送方式1203.8086中的常用接口電路簡(jiǎn)介

8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片。8253是Intel公司生產(chǎn)的可編程計(jì)數(shù)/定時(shí)器接口電路。8251A是INTEL公司生產(chǎn)的可編程的串行通訊接口芯片。8259A是Intel公司生產(chǎn)的可編程中斷控制器芯片。1211.2.6總線按總線在微機(jī)結(jié)構(gòu)中所處的位置不同,可把總線分為以下四類:(1)片內(nèi)總線:(2)片級(jí)總線:(3)系統(tǒng)總線:(4)外部總線:按總線功能可分三類。(1)地址總線(AB):(2)數(shù)據(jù)總線(DB):(3)控制總線(CB):

總線是連接多個(gè)設(shè)備或功能部件的一簇公共信號(hào)線,它是計(jì)算機(jī)各組成部件之間信息交換的通道。1221.2.7微型計(jì)算機(jī)工作過(guò)程“存儲(chǔ)程序”和“程序控制”指令是指計(jì)算機(jī)完成一個(gè)基本操作的命令。指令系統(tǒng)是一個(gè)計(jì)算機(jī)所能夠處理的全部指令的集合。一條指令一般包括兩個(gè)部分:操作碼和操作數(shù)。例如計(jì)算3+5=?在執(zhí)行程序之前需要做好如下幾項(xiàng)工作:(1)用助記符號(hào)指令(匯編語(yǔ)言)編寫程序(源程序);(2)用匯編軟件(匯編程序)將源程序匯編成計(jì)算機(jī)能識(shí)別的機(jī)器語(yǔ)言程序;(3)將數(shù)據(jù)和程序通過(guò)輸入設(shè)備送入存儲(chǔ)器中存放。123假設(shè)上面例子的匯編語(yǔ)言源程序和機(jī)器語(yǔ)言程序如下:匯編語(yǔ)言 機(jī)器語(yǔ)言 功能MOVAL,03H 1011000000000011B ;把01送入

累加器A。ADDAL,05H 0000010000000101B ;02與A中內(nèi)

容相加,結(jié)果存入A。HLT 11110100B ;停止操作。編譯好的機(jī)器語(yǔ)言程序有5個(gè)字節(jié),設(shè)放于存儲(chǔ)器地址為00H開(kāi)始的單元處。1241.執(zhí)行第一條指令的過(guò)程----(1)取第一條指令

J2I2ALUF內(nèi)部數(shù)據(jù)總線ALBL00PLAIDB0HB0HCPUB0H01H04H02HF4H

3E

DB存儲(chǔ)器PC00+1AR……DRIR②①AB③④⑤⑥⑦

讀1251)當(dāng)前程序計(jì)數(shù)器PC或IP內(nèi)容(00H)送地址寄存器AR。2)PC自動(dòng)加1,等于01H,指向下一個(gè)存儲(chǔ)器單元。這里指向第一條指令的操作數(shù)。3)地址寄存器AR的內(nèi)容00H通過(guò)地址總線AB送至存儲(chǔ)器,經(jīng)地址譯碼器譯碼選中相應(yīng)的00H單元。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論