單片機(jī)原理及應(yīng)用(理論)教案_第1頁(yè)
單片機(jī)原理及應(yīng)用(理論)教案_第2頁(yè)
單片機(jī)原理及應(yīng)用(理論)教案_第3頁(yè)
單片機(jī)原理及應(yīng)用(理論)教案_第4頁(yè)
單片機(jī)原理及應(yīng)用(理論)教案_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

宿州學(xué)院

《單片機(jī)原理及應(yīng)用》教案

課程編碼:16DL0804W------------------------

總學(xué)時(shí)/周學(xué)時(shí):48?------------------------------------

開(kāi)課時(shí)間:___________17-18J---------------------------------

授課班級(jí):______________________________________

使用教材:______________________________________

教研室:-------------------------------------

授課教師:______________________________________

(2)課程進(jìn)度計(jì)劃表

章次內(nèi)容講授

-'單片機(jī)概述2

二AT89S51單片機(jī)的硬件結(jié)構(gòu)2

三AT89S51單片機(jī)指令系統(tǒng)4

四匯編語(yǔ)言程序設(shè)計(jì)6

五中斷系統(tǒng)6

AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器6

七AT89S51單片機(jī)的串行口4

八AT89S51單片機(jī)外部存儲(chǔ)器的擴(kuò)展4

九AT89S5I單片機(jī)的I/O擴(kuò)展6

十單片機(jī)與輸入/輸出外設(shè)的接口6

十一單片機(jī)與D/A、A/D轉(zhuǎn)換器的接口6

十二單片機(jī)的串行擴(kuò)展技術(shù)2

十三單片機(jī)的應(yīng)用設(shè)計(jì)與調(diào)試4

苞學(xué)時(shí)48

第1章單片機(jī)概述

1.1什么是單片機(jī)

單片機(jī)是將計(jì)算機(jī)主機(jī)(CPU、內(nèi)存和I/O接口)集成在一小塊硅片上的微型計(jì)算機(jī)。

1.2單片機(jī)的發(fā)展歷史

第一階段(1976?1978年):低性能單片機(jī)的探索階段。以Intel公司的MCS48為代表。

第二階段(19787982年):高性能單片機(jī)階段,這一類(lèi)單片機(jī)帶有串行I/O□,8位數(shù)據(jù)線、16

位地址線可以尋址的范圍達(dá)到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。

第三階段(19827990年):16位單片機(jī)階段。16位單片機(jī)除CPU為16位外,片內(nèi)RAM和ROM

容量進(jìn)一步增大,實(shí)時(shí)處理能力更強(qiáng),體現(xiàn)了微控制器的特征。例如Intel公司的MCS-96。

第四階段(1990年微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時(shí),向高速、強(qiáng)

運(yùn)算能力、尋址范圍大以及小型廉價(jià)方面發(fā)展。

1.3單片機(jī)的特點(diǎn)

單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把CPU、RAM、ROM、多種I/O口

和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D

轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。

單片機(jī)特點(diǎn):功能齊全,應(yīng)用可靠,抗干擾能力強(qiáng);簡(jiǎn)單方便,易于普及;發(fā)展迅速,前景廣闊。

1.4單片機(jī)的應(yīng)用

儀器儀表、機(jī)電一體化、生產(chǎn)生活中。

1.5單片機(jī)的發(fā)展趨勢(shì)

1.低功耗CMOS化

2微型單片化

增強(qiáng)型的單片機(jī)集成了如A;D轉(zhuǎn)換器、PWM、WDT(看門(mén)狗)、LCD(液晶)驅(qū)動(dòng)電路都集成在單一

的芯片上,功能更加強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶(hù)的要求量身定做,制造出具有自己特色的單

片機(jī)芯片。

3.主流與多品種共存

1.6MCS-51系列與AT89C5x系列單片機(jī)

20世紀(jì)80年代以來(lái),發(fā)展迅速,世界一些著名廠商投放市場(chǎng)的產(chǎn)品就有幾十個(gè)系列,數(shù)百個(gè)品種,

Intel公司的MCS~48、MCS-51,Motorola公司的6801、6802,Zilog公司的Z8系列,Rockwell公司的

6501、6502等。此外,荷蘭的Philips公司、日本的NEC公司、日立公司等也相繼推出了各自的產(chǎn)品。

1.6.1MCS-51系列單片機(jī)

MCS是Intel公司單片機(jī)的系列符號(hào),如MCS-48、MCS-51、MCS-96系列單片機(jī)。

MCS-51系列是在MCS-48系列基礎(chǔ)上于20世紀(jì)80年代初發(fā)展起來(lái)的,是最早進(jìn)入我國(guó),并在我

國(guó)得到廣泛應(yīng)用的單片機(jī)主流品種。

MCS-51系列單片機(jī)主要包括:

基本型:8031/8051/8751(低功耗型80c31/80C51/87C51)

增強(qiáng)型:8032/8052/8752。已為我國(guó)廣大技術(shù)人員所熟悉和掌握。在上世紀(jì)80年代和90年代,MCS-51

系列是在我國(guó)應(yīng)用最為廣泛的單片機(jī)機(jī)型之一。

1.6.2AT89C5x(AT89S5x)系列單片機(jī)

20世紀(jì)80年代中期以后,Intel精力集中在高檔CPU芯片的開(kāi)發(fā)、研制上,淡出單片機(jī)芯片的開(kāi)發(fā)

和生產(chǎn)。MCS-51系列設(shè)計(jì)上的成功,以及較高的市場(chǎng)占有率,已成為許多廠家、電氣公司競(jìng)相選用的

對(duì)象。

Inlel公司以專(zhuān)利形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給ATMEL、Philips、CygnakANALOG、LG、ADI、

Maxim、DALLAS等公司。

生產(chǎn)的兼容機(jī)與8051兼容,采用CMOS工藝,因而常用8OC51系列單片機(jī)來(lái)稱(chēng)呼所有這些具有

8051指令系統(tǒng)的單片機(jī),這些兼容機(jī)的各種衍生品種統(tǒng)稱(chēng)為51系列單片機(jī)或簡(jiǎn)稱(chēng)為51單片機(jī),是在

8051的基礎(chǔ)上又增加一些功能模塊(稱(chēng)其為增強(qiáng)型、擴(kuò)展型子系列單片機(jī))。

1.7其它的51單片機(jī)

世界各半導(dǎo)體器件廠家推出的以8051為內(nèi)核的,各種集成度高、功能強(qiáng)的的增強(qiáng)型單片機(jī)。這些

單片機(jī)目前也得到廣大設(shè)計(jì)工程師的青睞。

1.7.1ADUC812單片機(jī)

美國(guó)ADKAnalogDevicelnc)公司生產(chǎn)的高性能單片機(jī),內(nèi)部包含高精度的自校準(zhǔn)8通道12位模數(shù)

轉(zhuǎn)換器,2通道12位數(shù)模轉(zhuǎn)換器以及可編程的8位的與8051單片機(jī)兼容的MCU內(nèi)核,指令系統(tǒng)與

MCS-51系列兼容。片內(nèi)有8KBFlash程序存儲(chǔ)器、640BFlash數(shù)據(jù)存儲(chǔ)器、256B數(shù)據(jù)SRAM(支持可

編程)。

片內(nèi)集成看門(mén)狗定時(shí)器、電源監(jiān)視器以及ADCDMA功能,為多處理器接口和I/O擴(kuò)展提供了32

條可編程的I/O線、包含有與12c兼容的串行接口、SPI串行接口和標(biāo)準(zhǔn)UART串行接口I/O,

ADUC8I2的MCU內(nèi)核和模數(shù)轉(zhuǎn)換器均設(shè)有正常、空閑和掉電工作模式,軟件可控制從正常模式

到空閑模式,也可切換到更省電的掉電模式。掉電模式,消耗總電流約5|JA。

1.7.2C8051Fxxx單片機(jī)

美國(guó)Cygnal公司產(chǎn)品,集成度高,8051內(nèi)核。

典型產(chǎn)品為C8051F020。內(nèi)部采用流水線結(jié)構(gòu),大部分指令的完成時(shí)間為1或2個(gè)時(shí)鐘周期,峰值

處理能力為25MlpS.

片內(nèi)資源:1個(gè)8位ADC、1個(gè)12位ADC、1個(gè)雙12位DAC:64kB片內(nèi)Flash程序存儲(chǔ)器,256B

RAM,128BSFR;8個(gè)I/O端口共64根I/O口線;5個(gè)16位通用定時(shí)器:5個(gè)捕捉/比較模塊的可

編程計(jì)數(shù)/定時(shí)器陣列(PCA),1個(gè)UART串行口、1個(gè)SMBus/12c串口、1個(gè)SPI串行匚;2路電

壓比較器,VDD監(jiān)視器(電源監(jiān)測(cè)),內(nèi)置溫度傳感器。

C8051Fxxx單片機(jī)最突出的改進(jìn)是引入了數(shù)字交叉開(kāi)關(guān)。

數(shù)字交叉開(kāi)關(guān),改變以往內(nèi)部功能與外部引腳的固定對(duì)應(yīng)關(guān)系。它是一個(gè)大的數(shù)字開(kāi)關(guān)網(wǎng)絡(luò),允許

將內(nèi)部數(shù)字系統(tǒng)

資源分配給端口I/O引腳。與具有標(biāo)準(zhǔn)復(fù)用數(shù)字I/O的單片機(jī)不同,該結(jié)構(gòu)可支持所有功能組合。

可通過(guò)設(shè)置交叉開(kāi)關(guān)控制寄存器將片內(nèi)計(jì)數(shù)器/定時(shí)器、串行總線、硬件中斷、ADC轉(zhuǎn)換啟動(dòng)輸入、比

較器輸出及單片機(jī)內(nèi)部的其它數(shù)字信號(hào)配置為出現(xiàn)在端口I/O引腳。允許用戶(hù)根據(jù)自己的特定應(yīng)用,選

擇通用端口I/O和所需數(shù)字資源的組合。

1.7.3臺(tái)灣華邦公司W(wǎng)78系列和W77系列單片機(jī)

臺(tái)灣華邦公司(Winbond)W78系列單片機(jī)與AT89C5x系列完全兼容,W77系列為增強(qiáng)型。

W77系列對(duì)8051的時(shí)序作了改進(jìn):每個(gè)指令周期只需要4個(gè)

時(shí)鐘周期,速度提高了三倍,工作頻率最富可達(dá)40MHz。

W77系列增加看門(mén)狗WatchDog,兩組UART、兩組DPTR數(shù)據(jù)指針(編寫(xiě)程序非常便利)、ISP(在

系統(tǒng)可編程)等功能。片內(nèi)集成了USB接口,語(yǔ)音處理等功能,具有6組外部中斷源。

華邦公司的W741系列的4位單片機(jī)帶液晶驅(qū)動(dòng),在線燒錄,保密性高,低工作電壓(1.2V-1.8V)。

1.8AVR系列單片機(jī)與PIC系列單片機(jī)

除了51單片機(jī)外,目前某些非51單片機(jī)也得到了較為廣泛的應(yīng)用,目前應(yīng)用較廣泛是AVR系列

與PIC系列單片機(jī),它們博采眾長(zhǎng),具獨(dú)特技術(shù),受到廣大設(shè)計(jì)工程師的關(guān)注。

1.8.1AVR系列單片機(jī)

AVR系列是1997年ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生共同研發(fā)出的精簡(jiǎn)指令集

(RISC—ReducedInstructionSetComputer)的高速8位單片機(jī),簡(jiǎn)稱(chēng)AVR。

AVR單片機(jī)系列全,3個(gè)檔次,適于各種不同要求;

(1)低檔Tiny系歹ij:Tinyl1/12/13/15/26/28等;

(2)中檔AT90S系列:AT90S1200/2313/8515/8535等;

(3)高檔ATmega系列:有ATmcga8/16/32/64/128(存儲(chǔ)容最為8/16/32/64/128KB)以及

ATmega8515/8535等。

1.8.2PIC系列單片機(jī)

美國(guó)Microchip公司的產(chǎn)品。特性如下:

(I)最大的特點(diǎn)是從實(shí)際出發(fā),重視性能價(jià)格比,已經(jīng)開(kāi)發(fā)出多種型號(hào)來(lái)滿(mǎn)足應(yīng)用需求。例如,

一個(gè)摩托車(chē)的點(diǎn)火器需要一個(gè)I/O較少、RAM及程序存儲(chǔ)空間不大、可靠性較高的小型單片機(jī),若用

40腳功能強(qiáng)的單片機(jī),投資大,使用也不方便。

PIC系列從低到高有幾十個(gè)型號(hào)。其中,PIC12c508單片機(jī)僅有8個(gè)引腳,是世界最小的單片機(jī)。

有512字節(jié)ROM、25字節(jié)RAM、一個(gè)8位定時(shí)器、一根輸入線、5根I/O線,價(jià)格非常便宜。用在摩

托車(chē)點(diǎn)火器非常適合。

PIC的高檔型,如PIC16c74(尚不是最高檔型號(hào))有40個(gè)引腳,其內(nèi)部資源為ROM共4K、192

字節(jié)RAM、8路A/D、3個(gè)8位定時(shí)器、2個(gè)CCP模塊、3個(gè)串行口、1個(gè)并行口、11個(gè)中斷源、33

個(gè)I/O腳??梢院推渌放频母邫n型號(hào)媲美。

(2)精簡(jiǎn)指令集使執(zhí)行效率大為提高。PIC系列8位單片機(jī)采用精簡(jiǎn)指令集(RISC),數(shù)據(jù)總線和

指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),指令單字長(zhǎng),且允許指令代碼的位數(shù)可多于8位的數(shù)據(jù)位

數(shù),這與傳統(tǒng)的采用復(fù)雜指令結(jié)構(gòu)(CISC)結(jié)構(gòu)的8位單片機(jī)相比,可以達(dá)到2:1的代碼壓縮,速度提

高4倍。

(3)優(yōu)越的開(kāi)發(fā)環(huán)境。51單片機(jī)的開(kāi)發(fā)系統(tǒng)大都采用高檔型仿真低檔型,實(shí)時(shí)性不理想。PIC

推出一款新型號(hào)單片機(jī)的同時(shí)推出相應(yīng)的仿真芯片,所有的開(kāi)發(fā)系統(tǒng)由專(zhuān)用的仿真芯片支持,實(shí)時(shí)性非

常好。

1.9各類(lèi)嵌入式處理器簡(jiǎn)介

隨著集成電路技術(shù)及電子技術(shù)的飛速發(fā)展,各種體系結(jié)構(gòu)的處理器品種繁多,且都嵌入到系統(tǒng)中實(shí)

現(xiàn)數(shù)據(jù)處理、數(shù)據(jù)傳輸和控制功能,各類(lèi)嵌入式處理器為核心的嵌入式系統(tǒng)的應(yīng)用,是當(dāng)今電子信息技

術(shù)應(yīng)用的一大熱點(diǎn)。

具有各種不同體系結(jié)構(gòu)的處理器,構(gòu)成了嵌入式處理器家族,是嵌入式系統(tǒng)的核心。全世界嵌入式

處理器的品種總量已經(jīng)超過(guò)1000多種,按體系結(jié)構(gòu)主要分為如下幾類(lèi):嵌入式微控制器(單片機(jī))、嵌

入式數(shù)字信號(hào)處理器(簡(jiǎn)稱(chēng)DSP)、嵌入式微處理器以及片上系統(tǒng)(SOC)等。

1.9.1嵌入式微控制器(單片機(jī))

將用于測(cè)控目的的計(jì)算機(jī)小系統(tǒng)集成到?塊芯片中。?一般以某?種微處理器內(nèi)核為核心,片內(nèi)集成

ROM/EPROM、RAM、總線及總線控制邏輯、定時(shí)/計(jì)數(shù)制、WalchDog、I/O、串行口、脈寬調(diào)制輸出、

A/D、D/A、Flash存儲(chǔ)器等各種必要的功能部件和外設(shè)。

單片機(jī)最大特點(diǎn)是單片化,價(jià)廉,功耗和成本下降、可靠性提高。是目前嵌入式系統(tǒng)工業(yè)的主流。

1.9.2嵌入式DSP處理器(DSP)

DSP(DigitalSignalProcessor),非常擅長(zhǎng)于高速實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算(如數(shù)字濾波、FFT、

頻譜分析等)。由于硬件結(jié)構(gòu)和指令的特殊設(shè)計(jì),使其能夠高速完成各種數(shù)字信號(hào)處理算法。

1.93嵌入式微處理器

嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)的基礎(chǔ)足通用計(jì)算機(jī)中的CPU。嵌入式微

處理器僅僅相當(dāng)于單片機(jī)中的CPUo

1.9.4嵌入式片上系統(tǒng)SOC(SystemOnChip)

隨著超大規(guī)模集成電路設(shè)計(jì)技術(shù)發(fā)展,一個(gè)硅片上實(shí)現(xiàn)一個(gè)復(fù)雜的系統(tǒng),即SystemOnChip(SOC),

即片上系統(tǒng)。核心思想是把整個(gè)電子系統(tǒng)全部集成在一個(gè)芯片中。避免大量PCB板設(shè)計(jì)及板級(jí)的調(diào)試

工作。設(shè)計(jì)者面對(duì)的不再是電路及芯片,而是根據(jù)系統(tǒng)的固件特性和功能要求,把各種通用處理器內(nèi)核

及各種外圍功能部件模塊作為SOC設(shè)計(jì)公司的標(biāo)準(zhǔn)庫(kù),成為VLSI設(shè)計(jì)中的標(biāo)準(zhǔn)器件,用VHDL等語(yǔ)

言描述,存儲(chǔ)在器件庫(kù)中。用戶(hù)只需定義整個(gè)應(yīng)用系統(tǒng),仿真通過(guò)后就可以將設(shè)計(jì)圖交給半導(dǎo)體器件廠

商制作樣品。

除無(wú)法集成的器件外,整個(gè)系統(tǒng)大部分均可集成到一塊或幾塊芯片中去,系統(tǒng)電路板簡(jiǎn)潔,對(duì)減小

體積和功耗、提高可靠性非常有利。SOC使系統(tǒng)設(shè)計(jì)技術(shù)發(fā)生革命性變化,標(biāo)志著一個(gè)全新時(shí)代到來(lái)。

第2章AT89S51單片機(jī)的硬件結(jié)構(gòu)

2.1AT89S51單片機(jī)的硬件組成

AT89S51單片機(jī)的硬件結(jié)構(gòu)如圖2.1所示:

圖2.1單片機(jī)的硬件結(jié)構(gòu)圖

1)中央處理器(CPU):中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。MCS-51的CPU能處

理8位二進(jìn)制數(shù)或代碼。

2)內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM)

8051芯片中共有256個(gè)RAM單元,但其中后128單元被專(zhuān)用寄存器占用,能作為寄存器供用戶(hù)使

用狗只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)

稱(chēng)內(nèi)部RAM。

3)內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM)

8051共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此,稱(chēng)之為程序存儲(chǔ)器,

4)定時(shí)/計(jì)數(shù)器

8051共有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。

5)并行I/O口

—T

工PLOVOC

共有個(gè)位的口(、、、)以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出。一

48I/OP0PIP2P3,PL1PO.OT

PI2P0.1

4-PL3P0.2T

在實(shí)訓(xùn)中我們已經(jīng)使用了P1口,通過(guò)PI口連接8個(gè)發(fā)光二極管。二PI.4PDJ

PI5PD.4一

HAP0.5

+一PL?力P0.6

RSTVPD£dt

P0.7v

2.2AT89S51的引腳功能工RXDP3.0_EAVPP

DP3.IgALE.TROGT一

iNTOPJJ00雨

kiNTIP3J-P2.7T一

T0P3.4gP2.6

AT89S51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列如圖2.2TI_P3.5P2.5

WRP3.6P2.4

RI5P3.7P2.3

XTAL2P2.2

所示:XTALIP2.1

vssP2.0

P0.0?P0.7:P0口8位雙向口線。

圖2.2單片機(jī)引腳圖

P1.0?Pl.7:Pl口8位雙向口線。

P2.0?P2.7:P2口8位雙向口線。

P3.0?P3.7:P3口8位雙向口線。

ALE:地址鎖存控制信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口輸出的低8位地址鎖存起來(lái),以

實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的同定頻率輸出的正脈沖,因此,可作為外

部時(shí)鐘或外部定時(shí)脈沖使用。

PSEN:外部程序存儲(chǔ)器讀選通信號(hào)。在讀外部ROM時(shí),PSEN有效(低電平),以實(shí)現(xiàn)外部ROM

單元的讀操作。

EA:訪問(wèn)程序存儲(chǔ)控制信號(hào)。當(dāng)信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;當(dāng)

信號(hào)為高電平時(shí),對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延至外部程序存儲(chǔ)器。

RST:復(fù)位信號(hào)。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用以完成單片

機(jī)的復(fù)位初始化操作。

XTALI和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和

微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。

VSS:t也線;VCC:+5V電源。

P3口線的第二功能。P3的8條口線都定義有第二功能。

2.3AT89S51的CPU

CPU由運(yùn)算器和控制器構(gòu)成。

2.3.1運(yùn)算器

對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、

程序狀態(tài)字寄存器PSW及兩個(gè)暫存器等。

1.算術(shù)邏輯運(yùn)算單元ALU

2.累加器A

使用最頻繁的寄存器,可寫(xiě)為Acc。"A”與“Acc”書(shū)寫(xiě)上的差別,將在第3章介紹。作用如下:

(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。

(2)數(shù)據(jù)傳送大多都通過(guò)累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問(wèn)題,AT89s51增

加了一部分可以不經(jīng)過(guò)累加器的傳送指令。

A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器

3.程序狀態(tài)字寄存器PSW

PSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為DOH。包含了程序運(yùn)行狀態(tài)

的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài)。

D7D6D5D4D3D2DIDO

CyAcFORSIRSOOV—p

PSW中各個(gè)位的功能;

(1)Cy(PSW.7)進(jìn)位標(biāo)志位

可寫(xiě)為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy=I;否則,Cy=Oo在位處理器中,它是

位累加器。

(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位

在BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時(shí),Ac=l;否則,Ac

=0o

(3)FO(PSW.5)用戶(hù)設(shè)定標(biāo)志位

由用戶(hù)使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置.1或清0,控制程序的流向。用戶(hù)應(yīng)充分利用。

(4)RSI、RSO(PSW.4、PSW.3)4組工作寄存器區(qū)選擇

選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)見(jiàn)表2-2。

(5)OV(PSW.2)溢出標(biāo)志位

當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。

(6)PSW.1位:保留位

(7)P(PSW.0)奇偶標(biāo)志位:常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?/p>

2.3.2控制器

任務(wù)識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地

工作??刂破靼ǎ撼绦蛴?jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指

令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。

程序計(jì)數(shù)器PC是一個(gè)獨(dú)立的16位計(jì)數(shù)器,不可訪問(wèn)。單片機(jī)復(fù)位時(shí),PC中內(nèi)容為OOOOH,從

程序存儲(chǔ)器0000H單元取指令,開(kāi)始執(zhí)行程序。

PC工作過(guò)程是:CPU讀指令時(shí),PC的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指

令字節(jié),同時(shí)PC自動(dòng)加1。

PC中內(nèi)容變化軌跡決定程序流程。當(dāng)順序執(zhí)行程序時(shí)自動(dòng)加1;執(zhí)行轉(zhuǎn)移程序或子程序、中斷子

程序調(diào)用時(shí),自動(dòng)將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。

PC的計(jì)數(shù)寬度決定了程序存儲(chǔ)器的地址范圍。PC為16位,故可對(duì)64KB尋址。

2.4AT89S51存儲(chǔ)器的結(jié)構(gòu)

MCS-51單片機(jī)的芯片內(nèi)部有RAM和ROM兩類(lèi)存儲(chǔ)器,即所謂的內(nèi)部RAM和內(nèi)部ROM。

MCS-51的程序存儲(chǔ)器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4KB的ROM,8751片內(nèi)有

4KB的EPROM,8031片內(nèi)無(wú)程序存儲(chǔ)器。MCS-51的片外最多能擴(kuò)展64KB程序存儲(chǔ)器,片內(nèi)外的

ROM是統(tǒng)一編址的。如端保持高電平,8051的程序計(jì)數(shù)器PC在0000H?0FFFH地址范圍內(nèi)(即前4KB

地址)是執(zhí)行片內(nèi)ROM中的程序,當(dāng)PC在1000H?FFFFH地址范圍時(shí),自動(dòng)執(zhí)行片外程序存儲(chǔ)器中

的程序;當(dāng)保持低電平時(shí),只能尋址外部程序存儲(chǔ)器,片外存儲(chǔ)器可以從0000H開(kāi)始編址。

MCS-51的程序存儲(chǔ)器中有些單元具有特殊功能,使用時(shí)應(yīng)予以注意。

其中一組特殊單元是0000H-0002Ho系統(tǒng)復(fù)位后,(PC);OOOOH,單片機(jī)從0000H單元開(kāi)始取指

令執(zhí)行程序。如果程序不從OOOOH單元開(kāi)始,應(yīng)在這三個(gè)單元中存放一條無(wú)條件轉(zhuǎn)移指令,以便直接

轉(zhuǎn)去執(zhí)行指定的程序。

還有一組特殊單元是0003H?002AH,共40個(gè)單元。這40個(gè)單元被均勻地分為5段,作為5個(gè)中

斷源的中斷地址區(qū)。其中:

0003H?000AH外部中斷。中斷地址區(qū)

000BH?0012H定時(shí)/計(jì)數(shù)器。中斷地址區(qū)

00I3H-00IAH外部中斷1中斷地址區(qū)

001BH?0022H定時(shí)/計(jì)數(shù)器1中斷地址區(qū)

OO23H?002AH串行中斷地址區(qū)

中斷響應(yīng)后,按中斷種類(lèi),自動(dòng)轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放

中斷服務(wù)程序。但通常情況下,8個(gè)單元難以存下一個(gè)完整的中斷服務(wù)程序,囚此通常也是從中斷地址

區(qū)首地址開(kāi)始存放一條無(wú)條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過(guò)中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)

際入口地址。

MCS-51內(nèi)部數(shù)據(jù)存儲(chǔ)器:8051的內(nèi)部RAM共有256個(gè)單元,通常把這256個(gè)單元按其功能劃分

為兩部分:低128單元(單元地址00H?7FH)和高128單元(單元地址80H?FFH)。。

寄存器區(qū):8051共有4組寄存器,每組8個(gè)寄存單元(各為8),各組都以R0?R7作寄存單元編

號(hào),寄存器常用于存放操作數(shù)中間結(jié)果等。由于它們的功能及使用不作預(yù)先規(guī)定,因此稱(chēng)之為通用寄存

器,有時(shí)也叫工作寄存器。4組通用寄存器占據(jù)內(nèi)部RAM的00H?1FH單元地址。

在任一時(shí)刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱(chēng)之為當(dāng)前寄存器

組,到底是哪一組,由程序狀態(tài)字寄存器PSW中RSI、RSO位的狀態(tài)組合來(lái)決定。

RAME

R號(hào)城區(qū)

壽一區(qū)OOOOH

通用寄存器為CPU提供了就近存儲(chǔ)數(shù)據(jù)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用

寄存器還能提高程序編制的靈活性,因此,在單片機(jī)的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡(jiǎn)化程序

設(shè)計(jì),提高程序運(yùn)行速度。

位尋址區(qū):內(nèi)部RAM的20H?2FH單元,既可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以

對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱(chēng)之為位尋址區(qū)。位尋址區(qū)共有16個(gè)RAM單元,計(jì)128位,

地址為00H?7FH。MCS-51具有布爾處理機(jī)功能,這個(gè)位尋址區(qū)可以構(gòu)成布爾處理機(jī)的存儲(chǔ)空間。這

種位尋址能力是MCS-51的一個(gè)重要特點(diǎn)。

用戶(hù)RAM區(qū):在內(nèi)部RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,

剩下80個(gè)單元,這就是供用戶(hù)使用的一般RAM區(qū),其單元地址為30H?7FH。對(duì)用戶(hù)RAM區(qū)的使用

沒(méi)有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開(kāi)辟在此區(qū)中。

內(nèi)部數(shù)據(jù)存儲(chǔ)器高128單元:內(nèi)部RAM的高128單元是供給專(zhuān)用寄存器使用的,其單元地址為

80H?FFH。因這叫寄存器的功能已作專(zhuān)門(mén)規(guī)定,故稱(chēng)之為專(zhuān)用寄存器(SpecialFunctionRegister),也

可稱(chēng)為特殊功能寄存器。

8051共有21個(gè)專(zhuān)用寄存器,現(xiàn)把其中部分寄存器簡(jiǎn)單介紹如下:

程序計(jì)數(shù)器(PC—ProgramCounter)。PC是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的執(zhí)行順序。

其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64KB。PC有自動(dòng)加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。

PC沒(méi)有地址,是不可尋址的,因此用戶(hù)無(wú)法對(duì)它進(jìn)行讀寫(xiě),但可以通過(guò)轉(zhuǎn)移、調(diào)用、返回等指令改變

其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在SFR(專(zhuān)用寄存器)之內(nèi),一般不計(jì)作專(zhuān)用寄存器。

累加器(ACC-Accumulator)。累加器為8位寄存器,是最常用的專(zhuān)用寄存器,功能較多,地位重

要,它既可用于存放操作數(shù),也可用來(lái)存放運(yùn)算的中間結(jié)果。MCS-5I單片機(jī)中大部分單操作數(shù)指令的

操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。

B寄存器。B寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時(shí),B存乘數(shù)。乘法操作后,

乘積的高8位存于B中,除法運(yùn)算時(shí),B存除數(shù)。除法操作后,余數(shù)存于B中。此外,B寄存器也可

作為一般數(shù)據(jù)寄存器使用。

程序狀態(tài)字(PSW-ProgramStatusWord)。程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序運(yùn)行中

的各種狀態(tài)信息。

數(shù)據(jù)指針(DPTR)o數(shù)據(jù)指針為16位寄存器。編程時(shí),DPTR既可以按16位寄存器使用,也可以

按兩個(gè)8位寄存器分開(kāi)使用,即:DPHDPTR高位字節(jié),DPLDPTR低位字節(jié)。DPTR通常在訪問(wèn)

外部數(shù)據(jù)存儲(chǔ)器時(shí)作地址指針使用。由于外部數(shù)據(jù)存儲(chǔ)器的尋址范圍為64KB,故把DPTR設(shè)計(jì)為16

位,

堆棧指針(SP—StackPointer)。堆棧是一個(gè)特殊的存儲(chǔ)區(qū),用來(lái)暫存數(shù)據(jù)和地址,它是按“先進(jìn)后

出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。由于MCS-5I單片機(jī)的堆棧設(shè)在內(nèi)部RAM

中,因此SP是一個(gè)8位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,從而復(fù)位后堆棧實(shí)際上是從08H單

元開(kāi)始的。但08H?1FH單元分別屬于工作寄存器1?3區(qū),如程序要用到這些區(qū),最好把SP值改為

1FH或更大的值。

對(duì)專(zhuān)用寄存器的字節(jié)尋址問(wèn)題作如下幾點(diǎn)說(shuō)明:

(1)21個(gè)可字節(jié)尋址的專(zhuān)用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多

空汨地址,但用戶(hù)并不能使用。

(2)程序計(jì)數(shù)器PC不占據(jù)RAM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。

(3)對(duì)專(zhuān)用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器。

2.5AT89S51的并行I/O口

單片機(jī)芯片內(nèi)還有一項(xiàng)主要內(nèi)容就是并行I/O口。MCS-51共有4個(gè)8位的并行I/O口,分別記作

P0、Pl、P2、P3。每個(gè)口都包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。實(shí)際上,它們已被歸入

專(zhuān)用寄存器之列,并且具有字節(jié)尋址和位尋址功能。

在訪問(wèn)片外擴(kuò)展存儲(chǔ)器時(shí),低8位地址和數(shù)據(jù)由P0口分時(shí)傳送,高8位地址由P2口傳送。在無(wú)

片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)口的每一位均可作為雙向的I/O端口使用。

2.5.1P0□

P0口是一個(gè)雙功能的8位并行端口,字節(jié)地址為80H,位地址為80H?87H0端口的各位具有完全

相司但又相互獨(dú)立的電路結(jié)構(gòu),P0口某一位的位電路結(jié)構(gòu)如圖2-8所示。

地址;數(shù)據(jù)控制

讀引腳。

I.位電路結(jié)構(gòu)

P0口某一位的電路包括:

(1)一個(gè)數(shù)據(jù)輸出的鎖存器,用于數(shù)據(jù)位的鎖存。

(2)兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器,分別是用于讀鎖存器數(shù)據(jù)的輸入緩沖器BUFI和讀引腳數(shù)據(jù)的

輸入緩沖器BUF2.

(3)一個(gè)多路轉(zhuǎn)接開(kāi)關(guān)MUX,它的一個(gè)輸入來(lái)自鎖存器的端,另一個(gè)輸入為地址/數(shù)據(jù)信號(hào)的反

相輸出。MUX由“控制”信號(hào)控制,實(shí)現(xiàn)鎖存器的輸出和地址/數(shù)據(jù)信號(hào)之間的轉(zhuǎn)接。

(4)數(shù)據(jù)輸出的控制和驅(qū)動(dòng)電路,由兩個(gè)場(chǎng)效應(yīng)管(FET)組成。

2.工作過(guò)程分析

(1)P0口用作地址/數(shù)據(jù)總線

外擴(kuò)存儲(chǔ)器或I/O時(shí),P0口作為單片機(jī)系統(tǒng)復(fù)用的地址/數(shù)據(jù)總線使用。

當(dāng)作為地址或數(shù)據(jù)輸出時(shí),,,控制”信號(hào)為1,硬件自動(dòng)使轉(zhuǎn)接開(kāi)關(guān)MUX打向上面,接通反相器的

輸出,同時(shí)使與門(mén)處于開(kāi)啟狀態(tài),

當(dāng)輸出的地址/數(shù)據(jù)信息為1時(shí),與門(mén)輸出為1,上方的場(chǎng)效應(yīng)管導(dǎo)通,下方的場(chǎng)效應(yīng)管截止,PO.x

引腳輸出為1;當(dāng)輸出的地址/數(shù)據(jù)信息為0時(shí),上方的場(chǎng)效應(yīng)管截止,下方的場(chǎng)效應(yīng)管導(dǎo)通,PO.x引

腳輸出為0。

輸出電路是上、下兩個(gè)場(chǎng)效應(yīng)管形成的推拉式結(jié)構(gòu),大大提高了負(fù)載能力,上方的場(chǎng)效應(yīng)管這時(shí)起

到內(nèi)部上拉電阻的作用。

由于P0口作為地址/數(shù)據(jù)復(fù)用方式訪問(wèn)外部存儲(chǔ)器時(shí),CPU自動(dòng)向P0口寫(xiě)入FFH,使下方場(chǎng)效應(yīng)

管截止,上方場(chǎng)效應(yīng)管由于控制信號(hào)為。也截止,從而保證數(shù)據(jù)信息的高阻抗輸入,從外部存儲(chǔ)器輸入

的數(shù)據(jù)信息直接由PO.x引腳通過(guò)輸入緩沖器BUF2進(jìn)入內(nèi)部總線。

具有而阻抗輸入的I/O口應(yīng)具有高電平、低電平和高阻抗3種狀態(tài)的端口。因此,P0口作為地址/

數(shù)據(jù)總線使用時(shí)是一個(gè)真正的雙向端口,簡(jiǎn)稱(chēng)雙向口。

(2)P0口用作通用I/O口

當(dāng)P0口不作為系統(tǒng)的地址/數(shù)據(jù)總線使用時(shí),此時(shí)P0口也可作為通用的I/O口使用。

作通用的I/O口時(shí),對(duì)應(yīng)的“控制”信號(hào)為0,MUX打向下面,接通鎖存器的端,“與門(mén)”輸出為

0,上方場(chǎng)效應(yīng)管截止,形成的P0口輸出電路為漏極開(kāi)路輸出。

P0口作輸出口時(shí),來(lái)自CPU的“寫(xiě)”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫(xiě)入D鎖存器,

并由引腳PO.x輸出。

當(dāng)D鎖存器為1時(shí),端為0,下方場(chǎng)效應(yīng)管截止,輸出為漏極開(kāi)路,此時(shí),必須外接上拉電阻才

能有高電平輸出;當(dāng)D鎖存器為0時(shí),下方場(chǎng)效應(yīng)管導(dǎo)通,P0口輸出為低電平。

PO口作輸入口使用時(shí),有兩種讀入方式:“讀鎖存器”和“讀引腳”。

當(dāng)CPU發(fā)出“讀鎖存器”指令時(shí),鎖存器的狀態(tài)由Q端經(jīng)上方的三態(tài)緩沖器BUF1進(jìn)入內(nèi)部總線;

當(dāng)CPU發(fā)出“讀引腳”指令時(shí),鎖存器的輸出狀態(tài)=1(即端為0),而使下方場(chǎng)效應(yīng)管截止,引腳

的狀態(tài)經(jīng)下方的三態(tài)緩沖器BUF2進(jìn)入內(nèi)部總線。

3.P0口的特點(diǎn)

P0口為雙功能口一地址/數(shù)據(jù)復(fù)用口和通用I/O口。

(1)當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時(shí),是一個(gè)真正的雙向口,

輸出低8位地址和輸出/輸入8位數(shù)據(jù)。

(2)當(dāng)P0口用作通用I/O口時(shí),由于需要在片外接上拉電阻,端口不存在高阻抗(懸?。顟B(tài),

因比是一個(gè)準(zhǔn)雙向口。

為保證引腳信號(hào)的正確讀入,應(yīng)首先向鎖存器寫(xiě)1。單片機(jī)復(fù)位后,鎖存器自動(dòng)被置1;當(dāng)P0口

由原來(lái)輸出轉(zhuǎn)變?yōu)檩斎霑r(shí),應(yīng)先置鎖存器為1,方可執(zhí)行輸入操作。

P0口大多作為地址/數(shù)據(jù)更用口使用,就不能再作為通用I/O口使用。

2.5.2P1口

單功能的I/O口,字節(jié)地址為90H,位地址為90H?97H。

I.位電路結(jié)構(gòu)

P1口位電路結(jié)構(gòu)由以下三部分組成:

<1)一個(gè)數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。

2)兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于讀鎖存器數(shù)據(jù)和讀引腳數(shù)據(jù)的輸入緩沖。

(3)數(shù)據(jù)輸出驅(qū)動(dòng)電路,住一個(gè)場(chǎng)效應(yīng)管(FET)和一個(gè)片內(nèi)上拉電阻組成。

2.工作過(guò)程分析

P1口只能作為通用的I/O口使用。

(1)P1口作輸出口時(shí),若CPU輸出1,Q=l,=0,場(chǎng)效應(yīng)管截止,P1口引腳的輸出為1;若

CPU輸出0,Q=0,=1,場(chǎng)效應(yīng)管導(dǎo)通,P1口引腳的輸出為0。

(2)P1口作為輸入口時(shí),分為“讀鎖存器”和“讀引腳”兩種方式。“讀鎖存器”時(shí),鎖存器的輸出端

Q的狀態(tài)經(jīng)輸入緩沖器BUF1進(jìn)入內(nèi)部總線;“讀引腳”時(shí),先向鎖存器寫(xiě)1,使場(chǎng)效應(yīng)管截止,Pl.x引

腳上的電平經(jīng)輸入緩沖器BUF2進(jìn)入內(nèi)部總線。

3.P1口的特點(diǎn)

由于內(nèi)部上拉電阻,無(wú)高阻抗輸入狀態(tài),故為準(zhǔn)雙向口。P1口“讀孔腳”輸入時(shí),必須先向鎖存器

寫(xiě)入k

2.5.3P2口

雙功能口,字節(jié)地址為A0H,位地址為A0H?A7H。

I.位電路結(jié)構(gòu)

P2口某一位的電路包括:

(1)一個(gè)數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。

(2)兩個(gè)三態(tài)數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于讀鎖存器數(shù)據(jù)和讀引腳數(shù)據(jù)的輸入緩沖。

(3)一個(gè)多路轉(zhuǎn)接開(kāi)關(guān)MUX,一個(gè)輸入是鎖存器的Q端,另一個(gè)輸入是高8位地址。

(4)輸出驅(qū)動(dòng)電路,由場(chǎng)效應(yīng)管(FET)和內(nèi)部上拉電阻組成。

2.工作過(guò)程分析

(1)P2□用作地址總線

在控制信號(hào)作用下,MUX與“地址”接通。當(dāng)“地址”為。時(shí),場(chǎng)效應(yīng)管導(dǎo)通,P2口引腳輸出為0;

當(dāng)“地址”線為1時(shí),場(chǎng)效應(yīng)管截止,P2口引腳輸出lo

(2)P2口用作通用I/O口

在內(nèi)部控制信號(hào)作用下,MUX與鎖存器的Q端接通。CPU輸出I時(shí),Q=l,場(chǎng)效應(yīng)管截

止,P2.X引腳輸出I;

CPU輸出0時(shí),Q=0,場(chǎng)效應(yīng)管導(dǎo)通,P2.X引腳輸出0。

P2口輸入時(shí),分“讀鎖存器”和“讀引腳”兩種方式:

“讀鎖存器”時(shí),Q端信號(hào)經(jīng)輸入緩沖器BUF1進(jìn)入內(nèi)部總線

“讀引腳”時(shí),先向鎖存器寫(xiě)I,使場(chǎng)效應(yīng)管截止,P2.x引腳上的電平經(jīng)輸入緩沖器BUF2進(jìn)入內(nèi)部

總線。

3.P2口的特點(diǎn)

作為地址輸出線時(shí),P2口高8位地址,P0口輸出的低8位地址尋址64KB地址空間。

作為通用I/O口時(shí),P2口為準(zhǔn)雙向口。功能與P1口一樣。

一般情況下,P2口大多作為高8位地址總線口使用,這時(shí)就不能再作為通用I/O口。

2.5.4P3口

由于引腳數(shù)目有限,在P3口增加了第二功能。每1位都可以分別定義為第二輸入功能或第二輸

出功能。P3口字節(jié)地址為B0H,位地址B0H?B7H。P3口某一位的位電路結(jié)構(gòu)見(jiàn)圖211。

I.位電路結(jié)構(gòu)

P3口某一位的電路包括:

(1)1個(gè)數(shù)據(jù)輸出鎖存器,鎖存輸出數(shù)據(jù)位。

(2)3個(gè)三態(tài)數(shù)據(jù)輸入緩沖器BUF1、BUF2和BUF3,分別用于讀鎖存器、讀引腳數(shù)據(jù)和第二功

能數(shù)據(jù)的輸入緩沖。

(3)輸出驅(qū)動(dòng),由與非門(mén)、場(chǎng)效應(yīng)管(FET)和內(nèi)部上拉電阻組成。

2.工作過(guò)程分析

(1)P3口用作第二輸入輸出功能

當(dāng)選擇第二輸出功能時(shí),該位的鎖存器需要置1,使與非門(mén)為開(kāi)啟狀態(tài)。

當(dāng)?shù)诙敵鰹?時(shí),場(chǎng)效應(yīng)管截止,P3.x引腳輸出為1;

當(dāng)?shù)诙敵鰹?。時(shí),場(chǎng)效應(yīng)管導(dǎo)通,P3.x引腳愉出為0。

當(dāng)選擇第二輸入功能時(shí),該位的鎖存器和第二輸出功能端均應(yīng)置1,保證場(chǎng)效應(yīng)管截止,P3.x引腳

的信息由輸入緩沖器BUF3的輸出獲得。

(2)P3口用作第一功能一通用I/O口

用作第一功能通用輸出時(shí),第二輸出功能端應(yīng)保持高電平,與非門(mén)開(kāi)啟。CPU輸出I時(shí),Q=l,場(chǎng)

效應(yīng)管截止,P3.x引腳輸出為1;CPU輸出0時(shí),Q=0,場(chǎng)效應(yīng)管導(dǎo)通,P3.x引腳輸出為()。

用作第一功能通用輸入時(shí),P3.x位的輸出鎖存器和第二輸日功能均應(yīng)置1,場(chǎng)效應(yīng)管截止,P3.x引

腳信息通過(guò)輸入BUF3和BUF2進(jìn)入內(nèi)部總線,完成“讀引腳”操作。

當(dāng)P3口第一功能通用輸入時(shí),也可執(zhí)行“讀鎖存器”操作,此時(shí)Q端信息經(jīng)過(guò)緩沖器BUF1進(jìn)入內(nèi)

部總線。

3.P3rl的特點(diǎn)

P3口內(nèi)部有上拉電阻,無(wú)高阻抗輸入態(tài)-準(zhǔn)雙向口。P3口作為第二功能的輸出/輸入,或第一功能

通用輸入,均須將相應(yīng)位的鎖存器置lo實(shí)際應(yīng)用中,由于復(fù)位后P3口鎖存器自動(dòng)置1,滿(mǎn)足第二功

能所需的條件,所以不需任何設(shè)置工作,就可以進(jìn)入第二功能操作。

當(dāng)某位不作為第二功能用時(shí),可作為第一功能通用I/O使用。

引腳輸入部分有兩個(gè)緩沖器,第二功能的輸入信號(hào)取自緩2器BUF3的輸出端,第一功能的輸入信

號(hào)取自緩沖器BUF2的輸出端。

P3口的第二功能定義見(jiàn)表24,讀者應(yīng)熟記。

2.5.5P1?P3口驅(qū)動(dòng)LED發(fā)光二極管

下面討論P(yáng)1?P3口與LED發(fā)光二極管的驅(qū)動(dòng)連接問(wèn)題。

P0口與PI、P2、P3口相比.P0口的驅(qū)動(dòng)能力較大,每位可驅(qū)動(dòng)8個(gè)LSTTL輸入,而Pl、P2、

P3口的每一位的驅(qū)動(dòng)能力,只有P0口的一半。

當(dāng)P0口某位為高電平時(shí),可提供400pA的電流;

當(dāng)P0口某位為低電平(0.45V)時(shí),可提供3.2mA的灌電流。

如低電平允許提高,灌電流可相應(yīng)加大。所以,任何一個(gè)匚要想獲得較大的驅(qū)動(dòng)能力,只能用低電

平渝出。

例如,使用單片機(jī)的并行口P1?P3直接驅(qū)動(dòng)發(fā)光二極管,電路如圖2-12。由于P1?P3內(nèi)部有30kC

左右的上拉電阻。

如高電平輸出,則強(qiáng)行從Pl、P2和P3口輸出的電流M會(huì)造成單片機(jī)端口的損壞,如圖2-12(a)

所示。

如端口引腳為低電平,能使電流/d從單片機(jī)外部流入內(nèi)部,則將大大增加流過(guò)的電流值,如圖2-12

(b)所示。

所以,當(dāng)P1?P3口驅(qū)動(dòng)LED發(fā)光二極管時(shí),應(yīng)該采用低電平驅(qū)動(dòng)。

2.6時(shí)鐘電路與時(shí)序

在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳

XTAL2o而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的

自激振蕩器,這就是單片機(jī)的時(shí)鐘電路。

部MCS-51

XTAL,

時(shí)

源XTAL2

MCS-5I

XTALi

XTAL2

Vss

I.振蕩周期:為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源的周期。

2.時(shí)鐘周期:是振蕩源信號(hào)經(jīng)二分頻后形成的時(shí)鐘脈沖信號(hào)。

3.機(jī)器周期:通常將完成一個(gè)基本操作所需的時(shí)間稱(chēng)為機(jī)器周期。

4.指令周期:是指CPU執(zhí)行一條指令所需要的時(shí)間。一人指令周期通常含有1?4個(gè)機(jī)器周期。

2.7復(fù)位操作和復(fù)位電路

單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功

能部件都處在一個(gè)確定的初始狀態(tài),并從這

(a)(b)

個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后POOOOOH,使單片機(jī)從第一個(gè)單元取指令。實(shí)訓(xùn)中已經(jīng)看出,無(wú)論是在

單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位,所以我們必須弄清楚MCS-51型單片

機(jī)復(fù)位的條件、復(fù)位電路和復(fù)位后狀態(tài)。

2.8低功耗節(jié)電模式

兩種低功耗節(jié)電工作模式:空閑模式(idlemode)和掉電保持模式(powerdownmode)。

掉電保持模式下,V”可由后備電源供電。

兩種節(jié)電模式可通過(guò)PCON的位IDL和位PD的設(shè)置來(lái)實(shí)現(xiàn)。

PCON寄存器各位定義:

SMOD:串行通信波特率選擇(該位見(jiàn)第7章的介紹)。

一:保留位。

GFI、GF0:通用標(biāo)志位,兩個(gè)標(biāo)志位用戶(hù)使用。

PD:掉電保持模式控制位,PD=1,則進(jìn)入掉電保持模式,

IDL:空閑模式控制位,若IDL=1,則進(jìn)入空閑運(yùn)行模式。

2.8.1空閑模式

1.空閑模式進(jìn)入

如把PCON中的IDL位置.1,由圖2-22,則把通往CPU的時(shí)鐘信號(hào)關(guān)斷,便進(jìn)入空閑模式。雖

然振蕩器運(yùn)行,但是CPU進(jìn)入空閑狀態(tài)。所有外圍電路(中斷系統(tǒng)、串行口和定時(shí)器)仍繼

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論