單片機基礎(chǔ)知識_第1頁
單片機基礎(chǔ)知識_第2頁
單片機基礎(chǔ)知識_第3頁
單片機基礎(chǔ)知識_第4頁
單片機基礎(chǔ)知識_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章單片機基礎(chǔ)知識1.18051單片機的特點1.28051的內(nèi)部結(jié)構(gòu)1.38051的系統(tǒng)擴展1.18051單片機的特點一、單片機的概念

將組成微型計算機的各功能部件:

中央處理器、存儲器、I/O接口電路及定時/計數(shù)器等制作在一塊集成電路芯片中從而構(gòu)成完整的微型計算機-故稱作單晶片微型計算機,簡稱單片機(Singlechipmicrocomputer)。或稱微控制器(MCU:Microcontroller)可分為三個主要階段:1、單芯片微機形成階段

1976年,Intel公司推出了MCS-48系列單片機。8位CPU、1K字節(jié)ROM、64字節(jié)RAM、27根I/O線和1個8位定時/計數(shù)器。特點是:存儲器容量較小,尋址范圍?。ú淮笥?K),無串行接口,指令系統(tǒng)功能不強。二、單片機的發(fā)展歷史2、性能完善提高階段

1980年,Intel公司推出了MCS-51系列單片機:8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。特點是:結(jié)構(gòu)體系完善,性能已大大提高,面向控制的特點進一步突出?,F(xiàn)在,MCS-51已成為公認的單片機經(jīng)典機種。3、微控制器化階段

1982年,Intel推出MCS-96系列單片機。芯片內(nèi)集成:16位CPU、8K字節(jié)ROM、232字節(jié)RAM、5個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K。片上還有8路10位ADC、1路PWM輸出及高速I/O部件等。特點是:片內(nèi)面向測控系統(tǒng)外圍電路增強,使單片機可以方便靈活地用于復雜的自動測控系統(tǒng)及設(shè)備?!拔⒖刂破鳌钡姆Q謂更能反應單片機的本質(zhì)。4、單片機的發(fā)展趨勢(1)低功耗CMOS化

80C51就采用了HMOS(即高密度金屬氧化物半導體工藝)和CHMOS(互補高密度金屬氧化物半導體工藝)。更適合于在要求低功耗象電池供電的應用場合。(2)微型單片化

要求體積小、重量輕、具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。(3)主流與多品種共存

在一定的時期內(nèi),以C8051為核心的單片機占據(jù)半壁江山,各品種單片機陸續(xù)侵占市場的情形將得以延續(xù),將不存在某個單片機一統(tǒng)天下的壟斷局面,走的是依存互補,相輔相成、共同發(fā)展的道路。三、單片機的內(nèi)部結(jié)構(gòu)簡介時鐘電路SFR和RAM

ROMCPU定時/計數(shù)器并行端口中斷系統(tǒng)串行端口系統(tǒng)總線時鐘源T0T1P0

P1

P2

P3TXDRXD

INT0INT11、中央處理器CPU

CPU(CentralProcessingUnit)是計算機的核心部件,它由運算器和控制器組成,完成計算機的運算和控制功能。

運算器又稱算術(shù)邏輯部件(ALU,AithmctiealLogicUnit),主要完成對數(shù)據(jù)的算術(shù)運算和邏輯運算??刂破鳎–ontroller)是整個計算機的指揮中心,它負責從內(nèi)部存儲器中取出指令并對指令進行分析、判斷,并根據(jù)指令發(fā)出控制信號,使計算機的有關(guān)部件及設(shè)備有條不紊地協(xié)調(diào)工作,保證計算機能自動、連續(xù)地運行。2、存儲器M

存儲器(Memory)是具有記憶功能的部件,用來存儲數(shù)據(jù)和程序。存儲器根據(jù)其位置不同可分為兩類:內(nèi)存儲器和外存儲器。內(nèi)存儲器(簡稱內(nèi)存)和CPU直接相連,存放當前要運行的程序和數(shù)據(jù),故也稱主存儲器(簡稱主存)。3、輸入/輸出接口(I/O接口)輸入/輸出(I/O)接口由大規(guī)模集成電路組成的I/O器件構(gòu)成,用來連接主機和相應的I/O設(shè)備(如:鍵盤、顯示器、打印機等),使得這些設(shè)備和主機之間傳送的數(shù)據(jù)、信息在形式上和速度上都能匹配。不同的I/O設(shè)備必須配置與其相適應的I/O接口。8位的CPU,片內(nèi)有振蕩器和時鐘電路,工作頻率為

1~12MHz(Atmel89Cxx為0~24MHz)片內(nèi)有128/256字節(jié)RAM片內(nèi)有0K/4K/8K等字節(jié)程序存儲器ROM可尋址片外64K字節(jié)數(shù)據(jù)存儲器RAM可尋址片外64K字節(jié)程序存儲器ROM4個8位的并行I/O口(PIO)1個全雙工串行口(SIO/UART)2/3個16位定時器/計數(shù)器(TIMER/COUNTER)可處理5/6個中斷源,兩級中斷優(yōu)先級內(nèi)置1個布爾處理器和1個布爾累加器(Cy)MCS-51指令集含111條指令4、MCS-51單片機基本特性四、典型的單片機產(chǎn)品四位機(中穎)八位機MCS-51系列MC68系列PIC16系列AVR系列16位機MSP430系列PIC24系列32位機ARMMIPS1、MCS-51系列Intel公司的高性能8位單片機,該系列機有8051、8031、8751。80C51系列是其兼容性單片機,與8051系統(tǒng)結(jié)構(gòu)相同,但采用CMOS工藝,對8051做了一些擴充,更有特點,功能更強。MCS51單片機和8051、8031、89C51等的關(guān)系

這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎(chǔ)上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。

INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求。

*ATMEL公司帶Flash存儲器技術(shù)的AT89系列*華邦公司的W78C51、W77C51高速低價系列

*ADI公司的ADμC8xx高精度ADC系列

*LG公司的GMS90/97低壓高速系列

*Maxim公司的DS89C420高速(50MIPS)系列

*Cygnal公司的C8051F系列高速SOC單片機*宏晶公司的STC系列單片機*Philips公司的80C51、80C552系列80C51系列單片機兼容的主要產(chǎn)品2、MC68系列Motorola公司的8位單片機M6801M6804MC6805MC68HC05MC68HC11速度更快,功耗更低、功能更強約占8位機市場的30%份額3、PIC系列美國Microchip公司生產(chǎn),價格低、體積小、速度高、功耗低、C語言編程、程序保密性強、開發(fā)方便,率先采用RISC(精簡指令集),現(xiàn)已成為嵌入式單片機的主流產(chǎn)品之一。4、AVR系列美國ATMEL公司推出的全新配置精簡指令集(RISC)的單片機系列。高速度、高保密性、低功耗。片內(nèi)程序存儲器采用Flash大多數(shù)指令僅用1個晶振周期采用C語言編程CMOS工藝生產(chǎn)ATMEL公司的單片機可分為AT89、AT90、AT91和智能IC卡等系列,AT90系列屬于增強型RISC內(nèi)載Flash新型嵌入式8位單片機,通常簡稱為AVR單片機。5、MSP430系列TI(德州儀器)公司推出的新型高性能單片機。16位精簡指令結(jié)構(gòu)可確保運行速度、帶FLASH的微控制器可將功耗降低5倍、具有多種省電模式、型號相當豐富。五、單片機的應用和應用系統(tǒng)結(jié)構(gòu)1、單片機的應用

單片機用于各種儀器儀表,一方面提高了儀器儀表的使用功能和精度,使儀器儀表智能化,同時還簡化了儀器儀表的硬件結(jié)構(gòu),從而可以方便地完成儀器儀表產(chǎn)品的升級換代。如各種智能電氣測量儀表、智能傳感器等。◆智能儀器儀表

交直流電壓電流表數(shù)字式測角儀

機電一體化產(chǎn)品是集機械技術(shù)、微電子技術(shù)、自動化技術(shù)和計算機技術(shù)于一體,具有智能化特征的各種機電產(chǎn)品。單片機在機電一體化產(chǎn)品的開發(fā)中可以發(fā)揮巨大的作用。典型產(chǎn)品如機器人、數(shù)控機床、自動包裝機、點鈔機、醫(yī)療設(shè)備、打印機、傳真機、復印機等。◆機電一體化產(chǎn)品數(shù)控車床數(shù)控線切割機床◆實時工業(yè)控制單片機還可以用于各種物理量的采集與控制。電流、電壓、溫度、液位、流量等物理參數(shù)的采集和控制均可以利用單片機方便地實現(xiàn)。在這類系統(tǒng)中,利用單片機作為系統(tǒng)控制器,可以根據(jù)被控對象的不同特征采用不同的智能算法,實現(xiàn)期望的控制指標,從而提高生產(chǎn)效率和產(chǎn)品質(zhì)量。典型應用如電機轉(zhuǎn)速控制、溫度控制、自動生產(chǎn)線等。

◆分布式系統(tǒng)的前端模塊

在較復雜的工業(yè)系統(tǒng)中,經(jīng)常要采用分布式測控系統(tǒng)完成大量的分布參數(shù)的采集。在這類系統(tǒng)中,采用單片機作為分布式系統(tǒng)的前端采集模塊,系統(tǒng)具有運行可靠,數(shù)據(jù)采集方便靈活,成本低廉等一系列優(yōu)點?!艏矣秒娖骷矣秒娖魇菃纹瑱C的又一重要應用領(lǐng)域,前景十分廣闊。如空調(diào)器、電冰箱、洗衣機、電飯煲、高檔洗浴設(shè)備、高檔玩具等。2、單片機應用系統(tǒng)的結(jié)構(gòu)3、單片機的開發(fā)思路確定任務、技術(shù)指標選擇機型、劃分軟硬件功能

設(shè)計硬件電路

軟件結(jié)構(gòu)設(shè)計

搭電路

確定算法、框圖

加工組裝樣機

編寫程序

樣機靜態(tài)測試

編譯程序、軟件調(diào)試聯(lián)機仿真調(diào)試 測試樣機硬件 測試程序 測試系統(tǒng)性能 程序固化到EPROM1.28051的內(nèi)部結(jié)構(gòu)1.2.1中央處理器1.2.2存儲器的組織1.2.3片內(nèi)并行接口1.2.48051內(nèi)部資源1.2.58051的芯片引腳1.2.6單片機的工作方式1.2.1中央處理器(CPU)1、以ALU為中心的運算器

CPU(CentralProcessingUnit)是計算機的核心部件,它由運算器和控制器組成,還包括一些特殊功能寄存器完成計算機的運算和控制功能。運算器又稱算術(shù)邏輯部件(ALU,AithmctiealLogicUnit),主要完成對數(shù)據(jù)的算術(shù)運算和邏輯運算。運算器相關(guān)的寄存器:ACC—累加器B—寄存器TEMP—暫存器PSW—程序狀態(tài)字寄存器PSW—程序狀態(tài)字寄存器▼CY(PSW.7)進位/借位標志位。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。▼AC(PSW.6)半進位/借位標志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則CY=1,否則=0。機器在執(zhí)行“DAA”指令時自動要判斷這一位,我們可以暫時不關(guān)心它。▼F0

(PSW.5)可由用戶定義的標志位。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5▼RS1(PSW.4)、RS0(PSW.3)工作寄存器組選擇位。RS1,RS0=01

則選擇了工作寄存器組

1區(qū)R0~R7分別代表08H~0FH單元。RS1,RS0=10

則選擇了工作寄存器組

2區(qū)

R0~R7分別代表10H~17H單元。RS1,RS0=11

則選擇了工作寄存器組

3區(qū)R0~R7分別代表18H~1FH單元。RS1,RS0=00

則選擇了工作寄存器組

0區(qū)R0~R7分別代表00H~07H單元。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5▼OV(PSW.2)溢出標志位。

OV=1時特指累加器在進行帶符號數(shù)(-128—+127)運算時出錯(超出范圍);OV=0時未出錯。▼PSW.1

未定義。▼P(PSW.0)奇偶標志位。

P=1表示累加器中“1”的個數(shù)為奇數(shù)

P=0表示累加器中“1”的個數(shù)為偶數(shù)

CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.52、控制器、時鐘電路和基本時序周期控制器(Controller)主要包括定時和控制邏輯、指令寄存器、譯碼器、地址指針DPTR和程序計數(shù)器PC等。控制器是整個計算機的指揮中心,它負責從內(nèi)部存儲器中取出指令并對指令進行分析、判斷,并根據(jù)指令發(fā)出控制信號,使計算機的有關(guān)部件及設(shè)備有條不紊地協(xié)調(diào)工作,保證計算機能自動、連續(xù)地運行。

(1)8051的時鐘30±10pfx21~12MHz(MCS-51)

4~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL1端接入外部時鐘,此時應將XTAL2接地:XTAL2XTAL1外部時鐘通常外接一個晶振兩個電容時鐘電路是計算機的心臟,控制著計算機的工作節(jié)奏。(2)8051的基本時序周期

CPU的工作是不斷地取指令和執(zhí)行指令,以完成數(shù)據(jù)的處理、傳送和輸入輸出等操作。

CPU的工作總是按照一定的時鐘節(jié)拍與時序進行。

CPU執(zhí)行一條指令所需的時間-指令周期;不同的指令其指令周期是不一樣的。振蕩周期:Tc=晶振頻率fosc(或外加頻率)的倒數(shù)狀態(tài)周期:Ts=2個時鐘周期(Tc)(很少用到此概念)機器周期:Tm=6個狀態(tài)周期(Ts)=12個振蕩周期(Tc)指令周期:Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù)P1P2S1振蕩周期狀態(tài)周期機器周期機器周期指令周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2牢牢記住:振蕩周期=晶振頻率fosc的倒數(shù);

1個機器周期=12個振蕩周期;

1個指令周期=1、2、4個機器周期。(3)8051的指令部件程序計數(shù)器PC:是一個16位的計數(shù)器,其內(nèi)容是下一條待執(zhí)行指令的地址,尋址范圍是64KB。指令寄存器IR:是用來存放當前正在執(zhí)行的指令。指令譯碼器ID:是對存放在IR中的指令操作碼進行解釋,產(chǎn)生相應的控制信號。數(shù)據(jù)指針DPTR:是一個16位的寄存器,可以用來尋址外部數(shù)據(jù)存儲空間,也可以尋址外部程序存儲空間,尋址范圍是64KB

。1.2.2存儲器的組織1、8051單片機存儲器的結(jié)構(gòu)特點哈佛結(jié)構(gòu)單片機:指令寄存器IR:程序存儲器和數(shù)據(jù)存儲器是分開的,并且有各自的尋址機構(gòu)和尋址方式。在物理上有四個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。8051單片機片內(nèi)具有256字節(jié)的數(shù)據(jù)存儲器RAM和4KB的程序存儲器ROM。并且可以在片外擴展程序存儲器和數(shù)據(jù)存儲器,具有64KB的尋址空間。在8051單片機存儲器的組織結(jié)構(gòu)。00H20H2FH7FH1FH30H80HFFH普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)外部RAMSFR分布在80H-FFH其中92個位可位尋址0000HFFFFH程序存儲器組織結(jié)構(gòu)外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH數(shù)據(jù)存儲器組織結(jié)構(gòu)8051通過不同的信號來選通ROM和RAM。訪問ROM時用選通信號/PSEN.讀寫RAM時用讀寫信號/RD、/WR.2、8051單片機程序存儲器的結(jié)構(gòu)外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH(1)具有64KB的尋址空間。(2)低地址的4KB的片內(nèi)外尋址空間重疊。由EA信號區(qū)分。(3)某些空間留給系統(tǒng)使用:0000H-0002H:是所有程序的入口0003H-002AH:是中斷程序的入口3、8051單片機片內(nèi)數(shù)據(jù)存儲器的結(jié)構(gòu)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器89C51

128字節(jié)(1)工作寄存器區(qū)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18H片內(nèi)RAM前32個單元是工作寄存器區(qū)

(00H—1FH)(2)可位尋址區(qū)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址總共128個可按位尋址的位片內(nèi)RAM中有128個可按位尋址的位。位地址:00H—7FH

分布在:20H—2FH單元(3)一般RAM區(qū)89C51片內(nèi)RAM

128字節(jié)(00H—7FH)89C52片內(nèi)RAM

256字節(jié)(00H—0FFH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH89C51

128字節(jié)89C52256字節(jié)只能直接尋址只能寄存器間接尋址(4)特殊功能寄存器SFR標識符號地址寄存器名稱標識符號地址寄存器名稱ACC0E0H累加器PCON87H電源控制及波特率選擇寄存器B0F0HB寄存器SCON98H串行口控制寄存器PSW0D0H程序狀態(tài)字SBUF99H串行數(shù)據(jù)緩沖寄存器SP81H堆棧指針TCON88H定時控制寄存器DPTR82H,83H數(shù)據(jù)指針(16位)含DPL和DPHTMOD89H定時器方式選擇寄存器IE0A8H中斷允許控制寄存器TL08AH定時器0低8位IP0B8H中斷優(yōu)先控制寄存器TH08CH定時器0高8位P080HI/O口0寄存器TL18BH定時器1低8位P190HI/O口1寄存器TH18DH定時器1高8位P20A0HI/O口2寄存器P30B0HI/O口3寄存器(5)堆棧概念:片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循先進后出和后進先出的原則,這個RAM區(qū)叫堆棧。功用:1)子程序調(diào)用和中斷服務時CPU自動將當前PC值壓棧保存,返回時自動將PC值彈棧。2)保護現(xiàn)場/恢復現(xiàn)場3)數(shù)據(jù)傳輸00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)

SP棧頂下一個進棧的數(shù)據(jù)將存在此數(shù)據(jù)進棧已經(jīng)進棧的數(shù)據(jù)存放在此初始SP數(shù)據(jù)進棧時:首先SP+1指向08H單元,第一個放進堆棧的數(shù)據(jù)將放進08H單元,然后SP再自動增1,仍指著棧頂……堆棧區(qū)由特殊功能寄存器堆棧指針SP管理。堆棧區(qū)可以安排在RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。復位后SP=07H。堆棧的管理和操作方式:從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SP-1指向新的棧頂,也就是下一個將要出棧的數(shù)據(jù)數(shù)據(jù)出棧初始SP4、8051單片機的部分特殊功能寄存器介紹▼特殊功能寄存器SFR(專用寄存器)專用于控制、選擇、管理、存放單片機內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。▼不同的SFR管理不同的硬件模塊,負責不同的功能——各司其職換言之:要讓單片機實現(xiàn)預定的功能,必須有相應的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(要求)。程序計數(shù)器PC(ProgramCounter)PC

不是一個特殊功能寄存器SFR,但其作用又十分重要和特殊!!!特點:▼它是16位的按機器周期自動增1計數(shù)器▼一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復位

等操作的本質(zhì)就是:改變PC值▼總指向下一條指令所在首地址(當前PC值)(1)特殊功能寄存器(PC)已知的P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。堆棧指針寄存器SP(StackPointer):總是指向棧頂,壓棧時先(SP)+1然后數(shù)據(jù)進棧;彈棧時數(shù)據(jù)先出棧然后(SP)-1。累加器ACC:一個被眾多指令用得最頻繁的特殊功能寄存器(如:運算、數(shù)據(jù)傳輸…)。副累加器

B:一個經(jīng)常與

ACC

配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當作普通寄存器使用。(2)特殊功能寄存器(P0—P3,SP,A,B)(3)PC與SFR復位狀態(tài)表寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H1.2.3片內(nèi)并行接口

8051具有四個8位的并行接口分別是:P0、P1、P2、P3。每個口主要由三個部分構(gòu)成:端口鎖存器、輸入緩沖器、輸出驅(qū)動器。每個口都是雙向通道,每一條I/O線都能獨立用作輸入或輸出;作輸出時數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖。

P0、P2、P3口還具有第二功能。1、并行口的基本輸入輸出方式及特點(以P1口為例)21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻口鎖存器輸入緩沖器輸出驅(qū)動器(1)P1口其中一位的邏輯結(jié)構(gòu)(2)P1口的輸出操作21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻110截止=1輸出數(shù)據(jù)=1時21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻001=0導通輸出數(shù)據(jù)=0時(3)P1口的輸入操作并行口作為口使用時,有兩種方式:讀端口、讀引腳。讀端口:并不是從芯片外部讀入數(shù)據(jù),而只是把端口寄存器中的內(nèi)容讀到內(nèi)部總線。先將P1口的數(shù)據(jù)讀入CPU,在ALU中進行運算,運算結(jié)果再送回P1。讀-修改-寫操作讀引腳:正真把芯片外部的數(shù)據(jù)讀入到內(nèi)部總線。先向P1口鎖存器寫入1,然后進行讀操作;此時讀進來的是引腳的信號。準雙向I/O口21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻110截止2、P0口的結(jié)構(gòu)及其第二功能21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34Vcc尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口--正真的雙向口。不接外部程序存儲器時可作為8位準雙向I/O口使用。需外接上拉電阻??刂?0時,此腳作準雙向I/O口控制=1時,此腳作地址/數(shù)據(jù)復用口3、P2口的結(jié)構(gòu)及其第二功能尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X110截止3內(nèi)部上拉電阻11Vcc=1=0控制=0時,此腳作通用I/O口控制=1時,此腳作高8位地址A8—A15輸出口:4、P3口的結(jié)構(gòu)及其第二功能21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出‘1’引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4RD:

讀外設(shè)控制信號輸出端P3.7WR:

寫外設(shè)控制信號輸出端P3.6T1:外部計數(shù)脈沖輸入端1P3.5T0:外部計數(shù)脈沖輸入端0P3.4INT1:

外部中斷申請輸入端1P3.3INT0:

外部中斷申請輸入端0P3.2TxD:

串行口發(fā)送數(shù)據(jù)輸出端P3.1RxD:

串行口接收數(shù)據(jù)輸入端P3.0第二功能

引腳(1)P3口第二功能表第二功能輸出時,內(nèi)部自動D=121DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4111反相器(2)P3口第二功能輸出(3)P3口第二功能輸入第二功能輸入時,信號經(jīng)緩沖器4直接進入內(nèi)總線21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線此端自動=1引腳P3.X3內(nèi)部上拉電阻Vcc

第二功能輸入(RxD,T0,T1,INT0,INT1)41110截止5、并行口的驅(qū)動能力P0口每一個I/O口可以輸出驅(qū)動8個LSTTL輸入端,P1~P3口則可以驅(qū)動4個LSTTL輸入端。1.2.48051內(nèi)部資源

1、串行口SBUF(發(fā))SBUF(收)發(fā)送控制器TI接收控制器RI移位寄存器波特率發(fā)生器T11A累加器(門)移位寄存器RxDTxD去申請中斷引腳引腳CPU內(nèi)部2、定時器/計數(shù)器2個16位定時器/計數(shù)器

——(52系列有3個16位Timer)定時器:對片內(nèi)機器時鐘(周期方波)進行計數(shù)計數(shù)器:對Tx引腳輸入的負脈沖進行計數(shù)與Timer工作有關(guān)的特殊功能寄存器:

TCON、TMOD、THx

和TLx+1計數(shù)器溢出中斷脈沖控制開關(guān)3、中斷系統(tǒng)(1)中斷的基本概念所謂中斷是指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的某個事件的一種響應過程,即CPU暫時停止現(xiàn)行程序的執(zhí)行,而自動轉(zhuǎn)去執(zhí)行預先安排好的處理該事件的服務子程序。當處理結(jié)束后,再返回到被暫停程序的斷點處,繼續(xù)執(zhí)行原來的程序。實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)稱為中斷系統(tǒng)。(2)8051中斷系統(tǒng)的結(jié)構(gòu)1.2.58051的芯片引腳MCS-51單片機40腳Vcc,GND

2XTAL1,XTAL2

2RESET

1EA/Vpp

1ALE/PROG

1PSEN

1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78Vcc,GND:

正電源端與接地端(+5V/3.3V/2.7V)不同的單片機可以允許不同的工作電壓,不同的單片機表現(xiàn)出的功耗也不同。XTAL1,XTAL2:

片內(nèi)振蕩電路輸入/輸出端。RESET:

復位端(正脈沖有效,寬度

2個機器周期)EA/Vpp:

尋址外部ROM控制端/編程電源輸入端。

片內(nèi)無ROM時必須接地;

片內(nèi)有ROM時并應用時應當接高電平;

對片內(nèi)ROM編程時編程正電源加到此端。ALE/PROG:

地址鎖存允許/編程脈沖輸入端。

P0口尋址外部低8位地址時接外部鎖存器G端;

ALE端平時會輸出周期正脈沖:f

fosc/6;

對片內(nèi)ROM編程時編程脈沖由此端加入。PSEN:尋址外部程序存儲器時選通外部EPROM的

讀控制端(OE)低有效。1.2.6單片機的工作方式單片機的工作方式包括:復位方式、程序執(zhí)行方式、單步執(zhí)行方式、低功耗操作方式、EPROM編程和校驗方式。1、復位方式復位使單片機進入某種確定的初始狀態(tài):

▼PC值歸零(0000H);▼各個SFR被賦予初始值:

P0~P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0……▼退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進程、退出程序的死循環(huán),從頭開始。+5V10uF10KVccRSTGND上電復位10uF10KVccRSTGND手動&上電復位1K+5VRESET:

復位端(正脈沖有效,寬度

2個機器周期)8051的復位操作不影響內(nèi)部RAM的內(nèi)容。2、程序執(zhí)行方式程序執(zhí)行方式單片機的基本工作方式。由于復位以后PC=0000H,所以程序總是從地址0000H開始執(zhí)行。3、單步執(zhí)行方式

單步執(zhí)行方式是使程序的執(zhí)行處于外加脈沖的控制下,一條指令一條指令的執(zhí)行。通常用于程序的調(diào)試。4、低功耗操作方式CMOS單片機有兩種低功耗操作方式:節(jié)電方式和掉電方式。節(jié)電方式:CPU停止工作,RAM、定時器、串口、中斷系統(tǒng)繼續(xù)工作。掉電方式:僅給片內(nèi)RAM供電,片內(nèi)所有其他電路均不工作。(2)節(jié)電方式(1)低功耗操作的控制方式

由單片機內(nèi)部的特殊功能寄存器PCON中的相關(guān)位實現(xiàn)低功耗工作方式的控制。IDL(PCON.0):節(jié)電方式位。IDL=1時激活節(jié)電工作方式。PD(PCON.1):掉電方式位。PD=1時激活掉電工作方式。GF0(PCON.2):GF1(PCON.3):進入節(jié)電方式的方法:由執(zhí)行一條令I(lǐng)DL=1指令。節(jié)電方式單片機的狀態(tài):CPU停止工作。CPU的工作狀態(tài)被保留,SP、PSW、ACC、通用寄存器值保留。RAM、定時器、串口、中斷系統(tǒng)繼續(xù)工作。節(jié)電方式單片機的工作電流變化:在電源電壓為5V情況下,工作電流由正常工作時的24mA降為3.7mA。退出節(jié)電方式的途徑:在任一中斷被激活,此時IDL位被清零,節(jié)電狀態(tài)結(jié)束。硬件復位,復位后PCON中的各位均被清零。(3)掉電方式進入掉電方式的方法:由執(zhí)行一條令PD=1指令。掉電方式單片機的狀態(tài):片內(nèi)振蕩器停止工作,CPU停止工作。SP、PSW、ACC、通用寄存器值被破壞。RAM內(nèi)容被保持。掉電方式單片機的工作電流變化:在電源電壓可以降到2V,工作電流為50uA。退出掉電方式的途徑:硬件復位。在電源電壓恢復到5V后,進行復位,復位時間需10ms。1.38051的系統(tǒng)擴展1.3.1外部總線的擴展1.3.2外部程序存儲器的擴展1.3.3外部程序存儲器的擴展1.3.1外部總線的擴展系統(tǒng)擴展的基本方法:一般來講,所有與計算機擴展連接芯片的外部引腳線都可以歸屬為三總線結(jié)構(gòu)。擴展連接的一般方法實際上是三總線對接。MCS–51單片機的三總線結(jié)構(gòu)形式地址鎖存器的引腳和接口1.3.2外部程序存儲器的擴展1、外部程序存儲器的擴展性能程序存儲器擴展空間大小為64KB,地址為(0000H-FFFFH);并聯(lián)掛接在系統(tǒng)的數(shù)據(jù)和地址總線。

MOVC指令操作擴展的程序存儲器的地址指針是:程序計數(shù)器PC和數(shù)據(jù)指針DPTR。擴展的外部程序存儲器通常是EEPROM。2、外部程序存儲器的操作時序3、外部程序存儲器的擴展方法(1)單片機與外部程序存儲器的一般連線(2)FLASH存儲器

Flash存儲器是Intel公司于1988年推出的一種新型半導體存儲器,具有非揮發(fā)存儲特性,可作為新一代可編程只讀存儲器。特點:集成度高(構(gòu)成基本存儲單元只需一個MOS管)

讀取速度快單一供電再編程次數(shù)多Intel公司推出的28F系列(如28F020為256

K×8位)和Atmel公司推出的AT29系列都是影響較大的Flash存儲器。(3)FLASH存儲器的編程方法

Flash存儲器的擦除和編程都是通過對芯片內(nèi)部寄存器寫命令字進行。(4)FLASH存儲器的擴展32k×8EPROM讀取時間僅為70ns,寫入10ms/頁單一+5V電源,低功耗:待機為300uA,工作50mA,10000次擦寫次數(shù)。輸入輸出全兼容CMOS和TTL電路。

AT29C256Flash存儲器1.3.3外部程序存儲器的擴展1、外部程序存儲器的擴展性能數(shù)據(jù)存儲器空間大小為64KB,地址為(0000H-FFFFH);并聯(lián)掛接在系統(tǒng)的數(shù)據(jù)和地址總線。

MOVX指令操作讀寫控制信號為/WR

/RD擴展的數(shù)據(jù)存儲器的地址指針是:數(shù)據(jù)指針DPTR。2、外部程序存儲器的操作時序PCH輸出DPH輸出PCL輸出指令輸入數(shù)據(jù)地址輸出數(shù)據(jù)輸入PCL輸出PCH輸出指令輸入3、外部程序存儲器的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論