版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章單片機(jī)基礎(chǔ)知識(shí)1.18051單片機(jī)的特點(diǎn)1.28051的內(nèi)部結(jié)構(gòu)1.38051的系統(tǒng)擴(kuò)展1.18051單片機(jī)的特點(diǎn)一、單片機(jī)的概念
將組成微型計(jì)算機(jī)的各功能部件:
中央處理器、存儲(chǔ)器、I/O接口電路及定時(shí)/計(jì)數(shù)器等制作在一塊集成電路芯片中從而構(gòu)成完整的微型計(jì)算機(jī)-故稱作單晶片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)(Singlechipmicrocomputer)?;蚍Q微控制器(MCU:Microcontroller)可分為三個(gè)主要階段:1、單芯片微機(jī)形成階段
1976年,Intel公司推出了MCS-48系列單片機(jī)。8位CPU、1K字節(jié)ROM、64字節(jié)RAM、27根I/O線和1個(gè)8位定時(shí)/計(jì)數(shù)器。特點(diǎn)是:存儲(chǔ)器容量較小,尋址范圍?。ú淮笥?K),無(wú)串行接口,指令系統(tǒng)功能不強(qiáng)。二、單片機(jī)的發(fā)展歷史2、性能完善提高階段
1980年,Intel公司推出了MCS-51系列單片機(jī):8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個(gè)8位并口、1個(gè)全雙工串行口、2個(gè)16位定時(shí)/計(jì)數(shù)器。尋址范圍64K,并有控制功能較強(qiáng)的布爾處理器。特點(diǎn)是:結(jié)構(gòu)體系完善,性能已大大提高,面向控制的特點(diǎn)進(jìn)一步突出?,F(xiàn)在,MCS-51已成為公認(rèn)的單片機(jī)經(jīng)典機(jī)種。3、微控制器化階段
1982年,Intel推出MCS-96系列單片機(jī)。芯片內(nèi)集成:16位CPU、8K字節(jié)ROM、232字節(jié)RAM、5個(gè)8位并口、1個(gè)全雙工串行口、2個(gè)16位定時(shí)/計(jì)數(shù)器。尋址范圍64K。片上還有8路10位ADC、1路PWM輸出及高速I/O部件等。特點(diǎn)是:片內(nèi)面向測(cè)控系統(tǒng)外圍電路增強(qiáng),使單片機(jī)可以方便靈活地用于復(fù)雜的自動(dòng)測(cè)控系統(tǒng)及設(shè)備?!拔⒖刂破鳌钡姆Q謂更能反應(yīng)單片機(jī)的本質(zhì)。4、單片機(jī)的發(fā)展趨勢(shì)(1)低功耗CMOS化
80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。(2)微型單片化
要求體積小、重量輕、具有多種封裝形式,其中SMD(表面封裝)越來(lái)越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。(3)主流與多品種共存
在一定的時(shí)期內(nèi),以C8051為核心的單片機(jī)占據(jù)半壁江山,各品種單片機(jī)陸續(xù)侵占市場(chǎng)的情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。三、單片機(jī)的內(nèi)部結(jié)構(gòu)簡(jiǎn)介時(shí)鐘電路SFR和RAM
ROMCPU定時(shí)/計(jì)數(shù)器并行端口中斷系統(tǒng)串行端口系統(tǒng)總線時(shí)鐘源T0T1P0
P1
P2
P3TXDRXD
INT0INT11、中央處理器CPU
CPU(CentralProcessingUnit)是計(jì)算機(jī)的核心部件,它由運(yùn)算器和控制器組成,完成計(jì)算機(jī)的運(yùn)算和控制功能。
運(yùn)算器又稱算術(shù)邏輯部件(ALU,AithmctiealLogicUnit),主要完成對(duì)數(shù)據(jù)的算術(shù)運(yùn)算和邏輯運(yùn)算??刂破鳎–ontroller)是整個(gè)計(jì)算機(jī)的指揮中心,它負(fù)責(zé)從內(nèi)部存儲(chǔ)器中取出指令并對(duì)指令進(jìn)行分析、判斷,并根據(jù)指令發(fā)出控制信號(hào),使計(jì)算機(jī)的有關(guān)部件及設(shè)備有條不紊地協(xié)調(diào)工作,保證計(jì)算機(jī)能自動(dòng)、連續(xù)地運(yùn)行。2、存儲(chǔ)器M
存儲(chǔ)器(Memory)是具有記憶功能的部件,用來(lái)存儲(chǔ)數(shù)據(jù)和程序。存儲(chǔ)器根據(jù)其位置不同可分為兩類:內(nèi)存儲(chǔ)器和外存儲(chǔ)器。內(nèi)存儲(chǔ)器(簡(jiǎn)稱內(nèi)存)和CPU直接相連,存放當(dāng)前要運(yùn)行的程序和數(shù)據(jù),故也稱主存儲(chǔ)器(簡(jiǎn)稱主存)。3、輸入/輸出接口(I/O接口)輸入/輸出(I/O)接口由大規(guī)模集成電路組成的I/O器件構(gòu)成,用來(lái)連接主機(jī)和相應(yīng)的I/O設(shè)備(如:鍵盤、顯示器、打印機(jī)等),使得這些設(shè)備和主機(jī)之間傳送的數(shù)據(jù)、信息在形式上和速度上都能匹配。不同的I/O設(shè)備必須配置與其相適應(yīng)的I/O接口。8位的CPU,片內(nèi)有振蕩器和時(shí)鐘電路,工作頻率為
1~12MHz(Atmel89Cxx為0~24MHz)片內(nèi)有128/256字節(jié)RAM片內(nèi)有0K/4K/8K等字節(jié)程序存儲(chǔ)器ROM可尋址片外64K字節(jié)數(shù)據(jù)存儲(chǔ)器RAM可尋址片外64K字節(jié)程序存儲(chǔ)器ROM4個(gè)8位的并行I/O口(PIO)1個(gè)全雙工串行口(SIO/UART)2/3個(gè)16位定時(shí)器/計(jì)數(shù)器(TIMER/COUNTER)可處理5/6個(gè)中斷源,兩級(jí)中斷優(yōu)先級(jí)內(nèi)置1個(gè)布爾處理器和1個(gè)布爾累加器(Cy)MCS-51指令集含111條指令4、MCS-51單片機(jī)基本特性四、典型的單片機(jī)產(chǎn)品四位機(jī)(中穎)八位機(jī)MCS-51系列MC68系列PIC16系列AVR系列16位機(jī)MSP430系列PIC24系列32位機(jī)ARMMIPS1、MCS-51系列Intel公司的高性能8位單片機(jī),該系列機(jī)有8051、8031、8751。80C51系列是其兼容性單片機(jī),與8051系統(tǒng)結(jié)構(gòu)相同,但采用CMOS工藝,對(duì)8051做了一些擴(kuò)充,更有特點(diǎn),功能更強(qiáng)。MCS51單片機(jī)和8051、8031、89C51等的關(guān)系
這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱呼MCS51系列單片機(jī),而8031是前些年在我國(guó)最流行的單片機(jī),所以很多場(chǎng)合會(huì)看到8031的名稱。
INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿足不同的需求。
*ATMEL公司帶Flash存儲(chǔ)器技術(shù)的AT89系列*華邦公司的W78C51、W77C51高速低價(jià)系列
*ADI公司的ADμC8xx高精度ADC系列
*LG公司的GMS90/97低壓高速系列
*Maxim公司的DS89C420高速(50MIPS)系列
*Cygnal公司的C8051F系列高速SOC單片機(jī)*宏晶公司的STC系列單片機(jī)*Philips公司的80C51、80C552系列80C51系列單片機(jī)兼容的主要產(chǎn)品2、MC68系列Motorola公司的8位單片機(jī)M6801M6804MC6805MC68HC05MC68HC11速度更快,功耗更低、功能更強(qiáng)約占8位機(jī)市場(chǎng)的30%份額3、PIC系列美國(guó)Microchip公司生產(chǎn),價(jià)格低、體積小、速度高、功耗低、C語(yǔ)言編程、程序保密性強(qiáng)、開發(fā)方便,率先采用RISC(精簡(jiǎn)指令集),現(xiàn)已成為嵌入式單片機(jī)的主流產(chǎn)品之一。4、AVR系列美國(guó)ATMEL公司推出的全新配置精簡(jiǎn)指令集(RISC)的單片機(jī)系列。高速度、高保密性、低功耗。片內(nèi)程序存儲(chǔ)器采用Flash大多數(shù)指令僅用1個(gè)晶振周期采用C語(yǔ)言編程CMOS工藝生產(chǎn)ATMEL公司的單片機(jī)可分為AT89、AT90、AT91和智能IC卡等系列,AT90系列屬于增強(qiáng)型RISC內(nèi)載Flash新型嵌入式8位單片機(jī),通常簡(jiǎn)稱為AVR單片機(jī)。5、MSP430系列TI(德州儀器)公司推出的新型高性能單片機(jī)。16位精簡(jiǎn)指令結(jié)構(gòu)可確保運(yùn)行速度、帶FLASH的微控制器可將功耗降低5倍、具有多種省電模式、型號(hào)相當(dāng)豐富。五、單片機(jī)的應(yīng)用和應(yīng)用系統(tǒng)結(jié)構(gòu)1、單片機(jī)的應(yīng)用
單片機(jī)用于各種儀器儀表,一方面提高了儀器儀表的使用功能和精度,使儀器儀表智能化,同時(shí)還簡(jiǎn)化了儀器儀表的硬件結(jié)構(gòu),從而可以方便地完成儀器儀表產(chǎn)品的升級(jí)換代。如各種智能電氣測(cè)量?jī)x表、智能傳感器等?!糁悄軆x器儀表
交直流電壓電流表數(shù)字式測(cè)角儀
機(jī)電一體化產(chǎn)品是集機(jī)械技術(shù)、微電子技術(shù)、自動(dòng)化技術(shù)和計(jì)算機(jī)技術(shù)于一體,具有智能化特征的各種機(jī)電產(chǎn)品。單片機(jī)在機(jī)電一體化產(chǎn)品的開發(fā)中可以發(fā)揮巨大的作用。典型產(chǎn)品如機(jī)器人、數(shù)控機(jī)床、自動(dòng)包裝機(jī)、點(diǎn)鈔機(jī)、醫(yī)療設(shè)備、打印機(jī)、傳真機(jī)、復(fù)印機(jī)等?!魴C(jī)電一體化產(chǎn)品數(shù)控車床數(shù)控線切割機(jī)床◆實(shí)時(shí)工業(yè)控制單片機(jī)還可以用于各種物理量的采集與控制。電流、電壓、溫度、液位、流量等物理參數(shù)的采集和控制均可以利用單片機(jī)方便地實(shí)現(xiàn)。在這類系統(tǒng)中,利用單片機(jī)作為系統(tǒng)控制器,可以根據(jù)被控對(duì)象的不同特征采用不同的智能算法,實(shí)現(xiàn)期望的控制指標(biāo),從而提高生產(chǎn)效率和產(chǎn)品質(zhì)量。典型應(yīng)用如電機(jī)轉(zhuǎn)速控制、溫度控制、自動(dòng)生產(chǎn)線等。
◆分布式系統(tǒng)的前端模塊
在較復(fù)雜的工業(yè)系統(tǒng)中,經(jīng)常要采用分布式測(cè)控系統(tǒng)完成大量的分布參數(shù)的采集。在這類系統(tǒng)中,采用單片機(jī)作為分布式系統(tǒng)的前端采集模塊,系統(tǒng)具有運(yùn)行可靠,數(shù)據(jù)采集方便靈活,成本低廉等一系列優(yōu)點(diǎn)?!艏矣秒娖骷矣秒娖魇菃纹瑱C(jī)的又一重要應(yīng)用領(lǐng)域,前景十分廣闊。如空調(diào)器、電冰箱、洗衣機(jī)、電飯煲、高檔洗浴設(shè)備、高檔玩具等。2、單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu)3、單片機(jī)的開發(fā)思路確定任務(wù)、技術(shù)指標(biāo)選擇機(jī)型、劃分軟硬件功能
設(shè)計(jì)硬件電路
軟件結(jié)構(gòu)設(shè)計(jì)
搭電路
確定算法、框圖
加工組裝樣機(jī)
編寫程序
樣機(jī)靜態(tài)測(cè)試
編譯程序、軟件調(diào)試聯(lián)機(jī)仿真調(diào)試 測(cè)試樣機(jī)硬件 測(cè)試程序 測(cè)試系統(tǒng)性能 程序固化到EPROM1.28051的內(nèi)部結(jié)構(gòu)1.2.1中央處理器1.2.2存儲(chǔ)器的組織1.2.3片內(nèi)并行接口1.2.48051內(nèi)部資源1.2.58051的芯片引腳1.2.6單片機(jī)的工作方式1.2.1中央處理器(CPU)1、以ALU為中心的運(yùn)算器
CPU(CentralProcessingUnit)是計(jì)算機(jī)的核心部件,它由運(yùn)算器和控制器組成,還包括一些特殊功能寄存器完成計(jì)算機(jī)的運(yùn)算和控制功能。運(yùn)算器又稱算術(shù)邏輯部件(ALU,AithmctiealLogicUnit),主要完成對(duì)數(shù)據(jù)的算術(shù)運(yùn)算和邏輯運(yùn)算。運(yùn)算器相關(guān)的寄存器:ACC—累加器B—寄存器TEMP—暫存器PSW—程序狀態(tài)字寄存器PSW—程序狀態(tài)字寄存器▼CY(PSW.7)進(jìn)位/借位標(biāo)志位。若ACC在運(yùn)算過(guò)程中發(fā)生了進(jìn)位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。▼AC(PSW.6)半進(jìn)位/借位標(biāo)志位。若ACC在運(yùn)算過(guò)程中,D3位向D4位發(fā)生了進(jìn)位或借位,則CY=1,否則=0。機(jī)器在執(zhí)行“DAA”指令時(shí)自動(dòng)要判斷這一位,我們可以暫時(shí)不關(guān)心它。▼F0
(PSW.5)可由用戶定義的標(biāo)志位。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)溢出標(biāo)志位。
OV=1時(shí)特指累加器在進(jìn)行帶符號(hào)數(shù)(-128—+127)運(yùn)算時(shí)出錯(cuò)(超出范圍);OV=0時(shí)未出錯(cuò)。▼PSW.1
未定義。▼P(PSW.0)奇偶標(biāo)志位。
P=1表示累加器中“1”的個(gè)數(shù)為奇數(shù)
P=0表示累加器中“1”的個(gè)數(shù)為偶數(shù)
CPU隨時(shí)監(jiān)視著ACC中的“1”的個(gè)數(shù),并反映在PSW中CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.52、控制器、時(shí)鐘電路和基本時(shí)序周期控制器(Controller)主要包括定時(shí)和控制邏輯、指令寄存器、譯碼器、地址指針DPTR和程序計(jì)數(shù)器PC等??刂破魇钦麄€(gè)計(jì)算機(jī)的指揮中心,它負(fù)責(zé)從內(nèi)部存儲(chǔ)器中取出指令并對(duì)指令進(jìn)行分析、判斷,并根據(jù)指令發(fā)出控制信號(hào),使計(jì)算機(jī)的有關(guān)部件及設(shè)備有條不紊地協(xié)調(diào)工作,保證計(jì)算機(jī)能自動(dòng)、連續(xù)地運(yùn)行。
(1)8051的時(shí)鐘30±10pfx21~12MHz(MCS-51)
4~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL1端接入外部時(shí)鐘,此時(shí)應(yīng)將XTAL2接地:XTAL2XTAL1外部時(shí)鐘通常外接一個(gè)晶振兩個(gè)電容時(shí)鐘電路是計(jì)算機(jī)的心臟,控制著計(jì)算機(jī)的工作節(jié)奏。(2)8051的基本時(shí)序周期
CPU的工作是不斷地取指令和執(zhí)行指令,以完成數(shù)據(jù)的處理、傳送和輸入輸出等操作。
CPU的工作總是按照一定的時(shí)鐘節(jié)拍與時(shí)序進(jìn)行。
CPU執(zhí)行一條指令所需的時(shí)間-指令周期;不同的指令其指令周期是不一樣的。振蕩周期:Tc=晶振頻率fosc(或外加頻率)的倒數(shù)狀態(tài)周期:Ts=2個(gè)時(shí)鐘周期(Tc)(很少用到此概念)機(jī)器周期:Tm=6個(gè)狀態(tài)周期(Ts)=12個(gè)振蕩周期(Tc)指令周期:Ti:執(zhí)行一條指令所需的機(jī)器周期(Tm)數(shù)P1P2S1振蕩周期狀態(tài)周期機(jī)器周期機(jī)器周期指令周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2牢牢記住:振蕩周期=晶振頻率fosc的倒數(shù);
1個(gè)機(jī)器周期=12個(gè)振蕩周期;
1個(gè)指令周期=1、2、4個(gè)機(jī)器周期。(3)8051的指令部件程序計(jì)數(shù)器PC:是一個(gè)16位的計(jì)數(shù)器,其內(nèi)容是下一條待執(zhí)行指令的地址,尋址范圍是64KB。指令寄存器IR:是用來(lái)存放當(dāng)前正在執(zhí)行的指令。指令譯碼器ID:是對(duì)存放在IR中的指令操作碼進(jìn)行解釋,產(chǎn)生相應(yīng)的控制信號(hào)。數(shù)據(jù)指針DPTR:是一個(gè)16位的寄存器,可以用來(lái)尋址外部數(shù)據(jù)存儲(chǔ)空間,也可以尋址外部程序存儲(chǔ)空間,尋址范圍是64KB
。1.2.2存儲(chǔ)器的組織1、8051單片機(jī)存儲(chǔ)器的結(jié)構(gòu)特點(diǎn)哈佛結(jié)構(gòu)單片機(jī):指令寄存器IR:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分開的,并且有各自的尋址機(jī)構(gòu)和尋址方式。在物理上有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。8051單片機(jī)片內(nèi)具有256字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM和4KB的程序存儲(chǔ)器ROM。并且可以在片外擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,具有64KB的尋址空間。在8051單片機(jī)存儲(chǔ)器的組織結(jié)構(gòu)。00H20H2FH7FH1FH30H80HFFH普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)外部RAMSFR分布在80H-FFH其中92個(gè)位可位尋址0000HFFFFH程序存儲(chǔ)器組織結(jié)構(gòu)外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH數(shù)據(jù)存儲(chǔ)器組織結(jié)構(gòu)8051通過(guò)不同的信號(hào)來(lái)選通ROM和RAM。訪問(wèn)ROM時(shí)用選通信號(hào)/PSEN.讀寫RAM時(shí)用讀寫信號(hào)/RD、/WR.2、8051單片機(jī)程序存儲(chǔ)器的結(jié)構(gòu)外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH(1)具有64KB的尋址空間。(2)低地址的4KB的片內(nèi)外尋址空間重疊。由EA信號(hào)區(qū)分。(3)某些空間留給系統(tǒng)使用:0000H-0002H:是所有程序的入口0003H-002AH:是中斷程序的入口3、8051單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個(gè)位可位尋址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個(gè)單元是工作寄存器區(qū)
(00H—1FH)(2)可位尋址區(qū)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址總共128個(gè)可按位尋址的位片內(nèi)RAM中有128個(gè)可按位尋址的位。位地址: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個(gè)位可位尋址80HFFH89C51
128字節(jié)89C52256字節(jié)只能直接尋址只能寄存器間接尋址(4)特殊功能寄存器SFR標(biāo)識(shí)符號(hào)地址寄存器名稱標(biāo)識(shí)符號(hào)地址寄存器名稱ACC0E0H累加器PCON87H電源控制及波特率選擇寄存器B0F0HB寄存器SCON98H串行口控制寄存器PSW0D0H程序狀態(tài)字SBUF99H串行數(shù)據(jù)緩沖寄存器SP81H堆棧指針TCON88H定時(shí)控制寄存器DPTR82H,83H數(shù)據(jù)指針(16位)含DPL和DPHTMOD89H定時(shí)器方式選擇寄存器IE0A8H中斷允許控制寄存器TL08AH定時(shí)器0低8位IP0B8H中斷優(yōu)先控制寄存器TH08CH定時(shí)器0高8位P080HI/O口0寄存器TL18BH定時(shí)器1低8位P190HI/O口1寄存器TH18DH定時(shí)器1高8位P20A0HI/O口2寄存器P30B0HI/O口3寄存器(5)堆棧概念:片內(nèi)RAM中,常常要指定一個(gè)專門的區(qū)域來(lái)存放某些特別的數(shù)據(jù),它遵循先進(jìn)后出和后進(jìn)先出的原則,這個(gè)RAM區(qū)叫堆棧。功用:1)子程序調(diào)用和中斷服務(wù)時(shí)CPU自動(dòng)將當(dāng)前PC值壓棧保存,返回時(shí)自動(dòng)將PC值彈棧。2)保護(hù)現(xiàn)場(chǎng)/恢復(fù)現(xiàn)場(chǎng)3)數(shù)據(jù)傳輸00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)
SP棧頂下一個(gè)進(jìn)棧的數(shù)據(jù)將存在此數(shù)據(jù)進(jìn)棧已經(jīng)進(jìn)棧的數(shù)據(jù)存放在此初始SP數(shù)據(jù)進(jìn)棧時(shí):首先SP+1指向08H單元,第一個(gè)放進(jìn)堆棧的數(shù)據(jù)將放進(jìn)08H單元,然后SP再自動(dòng)增1,仍指著棧頂……堆棧區(qū)由特殊功能寄存器堆棧指針SP管理。堆棧區(qū)可以安排在RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。復(fù)位后SP=07H。堆棧的管理和操作方式:從堆棧取出數(shù)據(jù)時(shí):取出的數(shù)據(jù)是最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動(dòng)減1,仍指著棧頂……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SP-1指向新的棧頂,也就是下一個(gè)將要出棧的數(shù)據(jù)數(shù)據(jù)出棧初始SP4、8051單片機(jī)的部分特殊功能寄存器介紹▼特殊功能寄存器SFR(專用寄存器)專用于控制、選擇、管理、存放單片機(jī)內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。▼不同的SFR管理不同的硬件模塊,負(fù)責(zé)不同的功能——各司其職換言之:要讓單片機(jī)實(shí)現(xiàn)預(yù)定的功能,必須有相應(yīng)的硬件和軟件,而軟件中最重要的一項(xiàng)工作就是對(duì)SFR寫命令(要求)。程序計(jì)數(shù)器PC(ProgramCounter)PC
不是一個(gè)特殊功能寄存器SFR,但其作用又十分重要和特殊!!!特點(diǎn):▼它是16位的按機(jī)器周期自動(dòng)增1計(jì)數(shù)器▼一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位
等操作的本質(zhì)就是:改變PC值▼總指向下一條指令所在首地址(當(dāng)前PC值)(1)特殊功能寄存器(PC)已知的P0、P1、P2、P3等四個(gè)8位I/O口分別由名為P0、P1、P2、P3四個(gè)SFR代表。堆棧指針寄存器SP(StackPointer):總是指向棧頂,壓棧時(shí)先(SP)+1然后數(shù)據(jù)進(jìn)棧;彈棧時(shí)數(shù)據(jù)先出棧然后(SP)-1。累加器ACC:一個(gè)被眾多指令用得最頻繁的特殊功能寄存器(如:運(yùn)算、數(shù)據(jù)傳輸…)。副累加器
B:一個(gè)經(jīng)常與
ACC
配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當(dāng)作普通寄存器使用。(2)特殊功能寄存器(P0—P3,SP,A,B)(3)PC與SFR復(fù)位狀態(tài)表寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H1.2.3片內(nèi)并行接口
8051具有四個(gè)8位的并行接口分別是:P0、P1、P2、P3。每個(gè)口主要由三個(gè)部分構(gòu)成:端口鎖存器、輸入緩沖器、輸出驅(qū)動(dòng)器。每個(gè)口都是雙向通道,每一條I/O線都能獨(dú)立用作輸入或輸出;作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖。
P0、P2、P3口還具有第二功能。1、并行口的基本輸入輸出方式及特點(diǎn)(以P1口為例)21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻口鎖存器輸入緩沖器輸出驅(qū)動(dòng)器(1)P1口其中一位的邏輯結(jié)構(gòu)(2)P1口的輸出操作21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻110截止=1輸出數(shù)據(jù)=1時(shí)21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻001=0導(dǎo)通輸出數(shù)據(jù)=0時(shí)(3)P1口的輸入操作并行口作為口使用時(shí),有兩種方式:讀端口、讀引腳。讀端口:并不是從芯片外部讀入數(shù)據(jù),而只是把端口寄存器中的內(nèi)容讀到內(nèi)部總線。先將P1口的數(shù)據(jù)讀入CPU,在ALU中進(jìn)行運(yùn)算,運(yùn)算結(jié)果再送回P1。讀-修改-寫操作讀引腳:正真把芯片外部的數(shù)據(jù)讀入到內(nèi)部總線。先向P1口鎖存器寫入1,然后進(jìn)行讀操作;此時(shí)讀進(jìn)來(lái)的是引腳的信號(hào)。準(zhǔn)雙向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尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口--正真的雙向口。不接外部程序存儲(chǔ)器時(shí)可作為8位準(zhǔn)雙向I/O口使用。需外接上拉電阻??刂?0時(shí),此腳作準(zhǔn)雙向I/O口控制=1時(shí),此腳作地址/數(shù)據(jù)復(fù)用口3、P2口的結(jié)構(gòu)及其第二功能尋址外部程序存儲(chǔ)器時(shí)輸出高8位地址;不接外部程序存儲(chǔ)器時(shí)可作為8位準(zhǔn)雙向I/O口使用。21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X110截止3內(nèi)部上拉電阻11Vcc=1=0控制=0時(shí),此腳作通用I/O口控制=1時(shí),此腳作高8位地址A8—A15輸出口:4、P3口的結(jié)構(gòu)及其第二功能21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出‘1’引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4RD:
讀外設(shè)控制信號(hào)輸出端P3.7WR:
寫外設(shè)控制信號(hào)輸出端P3.6T1:外部計(jì)數(shù)脈沖輸入端1P3.5T0:外部計(jì)數(shù)脈沖輸入端0P3.4INT1:
外部中斷申請(qǐng)輸入端1P3.3INT0:
外部中斷申請(qǐng)輸入端0P3.2TxD:
串行口發(fā)送數(shù)據(jù)輸出端P3.1RxD:
串行口接收數(shù)據(jù)輸入端P3.0第二功能
引腳(1)P3口第二功能表第二功能輸出時(shí),內(nèi)部自動(dòng)D=121DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4111反相器(2)P3口第二功能輸出(3)P3口第二功能輸入第二功能輸入時(shí),信號(hào)經(jīng)緩沖器4直接進(jìn)入內(nèi)總線21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線此端自動(dòng)=1引腳P3.X3內(nèi)部上拉電阻Vcc
第二功能輸入(RxD,T0,T1,INT0,INT1)41110截止5、并行口的驅(qū)動(dòng)能力P0口每一個(gè)I/O口可以輸出驅(qū)動(dòng)8個(gè)LSTTL輸入端,P1~P3口則可以驅(qū)動(dòng)4個(gè)LSTTL輸入端。1.2.48051內(nèi)部資源
1、串行口SBUF(發(fā))SBUF(收)發(fā)送控制器TI接收控制器RI移位寄存器波特率發(fā)生器T11A累加器(門)移位寄存器RxDTxD去申請(qǐng)中斷引腳引腳CPU內(nèi)部2、定時(shí)器/計(jì)數(shù)器2個(gè)16位定時(shí)器/計(jì)數(shù)器
——(52系列有3個(gè)16位Timer)定時(shí)器:對(duì)片內(nèi)機(jī)器時(shí)鐘(周期方波)進(jìn)行計(jì)數(shù)計(jì)數(shù)器:對(duì)Tx引腳輸入的負(fù)脈沖進(jìn)行計(jì)數(shù)與Timer工作有關(guān)的特殊功能寄存器:
TCON、TMOD、THx
和TLx+1計(jì)數(shù)器溢出中斷脈沖控制開關(guān)3、中斷系統(tǒng)(1)中斷的基本概念所謂中斷是指CPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生的某個(gè)事件的一種響應(yīng)過(guò)程,即CPU暫時(shí)停止現(xiàn)行程序的執(zhí)行,而自動(dòng)轉(zhuǎn)去執(zhí)行預(yù)先安排好的處理該事件的服務(wù)子程序。當(dāng)處理結(jié)束后,再返回到被暫停程序的斷點(diǎn)處,繼續(xù)執(zhí)行原來(lái)的程序。實(shí)現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)稱為中斷系統(tǒng)。(2)8051中斷系統(tǒng)的結(jié)構(gòu)1.2.58051的芯片引腳MCS-51單片機(jī)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)不同的單片機(jī)可以允許不同的工作電壓,不同的單片機(jī)表現(xiàn)出的功耗也不同。XTAL1,XTAL2:
片內(nèi)振蕩電路輸入/輸出端。RESET:
復(fù)位端(正脈沖有效,寬度
2個(gè)機(jī)器周期)EA/Vpp:
尋址外部ROM控制端/編程電源輸入端。
片內(nèi)無(wú)ROM時(shí)必須接地;
片內(nèi)有ROM時(shí)并應(yīng)用時(shí)應(yīng)當(dāng)接高電平;
對(duì)片內(nèi)ROM編程時(shí)編程正電源加到此端。ALE/PROG:
地址鎖存允許/編程脈沖輸入端。
P0口尋址外部低8位地址時(shí)接外部鎖存器G端;
ALE端平時(shí)會(huì)輸出周期正脈沖:f
fosc/6;
對(duì)片內(nèi)ROM編程時(shí)編程脈沖由此端加入。PSEN:尋址外部程序存儲(chǔ)器時(shí)選通外部EPROM的
讀控制端(OE)低有效。1.2.6單片機(jī)的工作方式單片機(jī)的工作方式包括:復(fù)位方式、程序執(zhí)行方式、單步執(zhí)行方式、低功耗操作方式、EPROM編程和校驗(yàn)方式。1、復(fù)位方式復(fù)位使單片機(jī)進(jìn)入某種確定的初始狀態(tài):
▼PC值歸零(0000H);▼各個(gè)SFR被賦予初始值:
P0~P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0……▼退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進(jìn)程、退出程序的死循環(huán),從頭開始。+5V10uF10KVccRSTGND上電復(fù)位10uF10KVccRSTGND手動(dòng)&上電復(fù)位1K+5VRESET:
復(fù)位端(正脈沖有效,寬度
2個(gè)機(jī)器周期)8051的復(fù)位操作不影響內(nèi)部RAM的內(nèi)容。2、程序執(zhí)行方式程序執(zhí)行方式單片機(jī)的基本工作方式。由于復(fù)位以后PC=0000H,所以程序總是從地址0000H開始執(zhí)行。3、單步執(zhí)行方式
單步執(zhí)行方式是使程序的執(zhí)行處于外加脈沖的控制下,一條指令一條指令的執(zhí)行。通常用于程序的調(diào)試。4、低功耗操作方式CMOS單片機(jī)有兩種低功耗操作方式:節(jié)電方式和掉電方式。節(jié)電方式:CPU停止工作,RAM、定時(shí)器、串口、中斷系統(tǒng)繼續(xù)工作。掉電方式:僅給片內(nèi)RAM供電,片內(nèi)所有其他電路均不工作。(2)節(jié)電方式(1)低功耗操作的控制方式
由單片機(jī)內(nèi)部的特殊功能寄存器PCON中的相關(guān)位實(shí)現(xiàn)低功耗工作方式的控制。IDL(PCON.0):節(jié)電方式位。IDL=1時(shí)激活節(jié)電工作方式。PD(PCON.1):掉電方式位。PD=1時(shí)激活掉電工作方式。GF0(PCON.2):GF1(PCON.3):進(jìn)入節(jié)電方式的方法:由執(zhí)行一條令I(lǐng)DL=1指令。節(jié)電方式單片機(jī)的狀態(tài):CPU停止工作。CPU的工作狀態(tài)被保留,SP、PSW、ACC、通用寄存器值保留。RAM、定時(shí)器、串口、中斷系統(tǒng)繼續(xù)工作。節(jié)電方式單片機(jī)的工作電流變化:在電源電壓為5V情況下,工作電流由正常工作時(shí)的24mA降為3.7mA。退出節(jié)電方式的途徑:在任一中斷被激活,此時(shí)IDL位被清零,節(jié)電狀態(tài)結(jié)束。硬件復(fù)位,復(fù)位后PCON中的各位均被清零。(3)掉電方式進(jìn)入掉電方式的方法:由執(zhí)行一條令PD=1指令。掉電方式單片機(jī)的狀態(tài):片內(nèi)振蕩器停止工作,CPU停止工作。SP、PSW、ACC、通用寄存器值被破壞。RAM內(nèi)容被保持。掉電方式單片機(jī)的工作電流變化:在電源電壓可以降到2V,工作電流為50uA。退出掉電方式的途徑:硬件復(fù)位。在電源電壓恢復(fù)到5V后,進(jìn)行復(fù)位,復(fù)位時(shí)間需10ms。1.38051的系統(tǒng)擴(kuò)展1.3.1外部總線的擴(kuò)展1.3.2外部程序存儲(chǔ)器的擴(kuò)展1.3.3外部程序存儲(chǔ)器的擴(kuò)展1.3.1外部總線的擴(kuò)展系統(tǒng)擴(kuò)展的基本方法:一般來(lái)講,所有與計(jì)算機(jī)擴(kuò)展連接芯片的外部引腳線都可以歸屬為三總線結(jié)構(gòu)。擴(kuò)展連接的一般方法實(shí)際上是三總線對(duì)接。MCS–51單片機(jī)的三總線結(jié)構(gòu)形式地址鎖存器的引腳和接口1.3.2外部程序存儲(chǔ)器的擴(kuò)展1、外部程序存儲(chǔ)器的擴(kuò)展性能程序存儲(chǔ)器擴(kuò)展空間大小為64KB,地址為(0000H-FFFFH);并聯(lián)掛接在系統(tǒng)的數(shù)據(jù)和地址總線。
MOVC指令操作擴(kuò)展的程序存儲(chǔ)器的地址指針是:程序計(jì)數(shù)器PC和數(shù)據(jù)指針DPTR。擴(kuò)展的外部程序存儲(chǔ)器通常是EEPROM。2、外部程序存儲(chǔ)器的操作時(shí)序3、外部程序存儲(chǔ)器的擴(kuò)展方法(1)單片機(jī)與外部程序存儲(chǔ)器的一般連線(2)FLASH存儲(chǔ)器
Flash存儲(chǔ)器是Intel公司于1988年推出的一種新型半導(dǎo)體存儲(chǔ)器,具有非揮發(fā)存儲(chǔ)特性,可作為新一代可編程只讀存儲(chǔ)器。特點(diǎn):集成度高(構(gòu)成基本存儲(chǔ)單元只需一個(gè)MOS管)
讀取速度快單一供電再編程次數(shù)多Intel公司推出的28F系列(如28F020為256
K×8位)和Atmel公司推出的AT29系列都是影響較大的Flash存儲(chǔ)器。(3)FLASH存儲(chǔ)器的編程方法
Flash存儲(chǔ)器的擦除和編程都是通過(guò)對(duì)芯片內(nèi)部寄存器寫命令字進(jìn)行。(4)FLASH存儲(chǔ)器的擴(kuò)展32k×8EPROM讀取時(shí)間僅為70ns,寫入10ms/頁(yè)單一+5V電源,低功耗:待機(jī)為300uA,工作50mA,10000次擦寫次數(shù)。輸入輸出全兼容CMOS和TTL電路。
AT29C256Flash存儲(chǔ)器1.3.3外部程序存儲(chǔ)器的擴(kuò)展1、外部程序存儲(chǔ)器的擴(kuò)展性能數(shù)據(jù)存儲(chǔ)器空間大小為64KB,地址為(0000H-FFFFH);并聯(lián)掛接在系統(tǒng)的數(shù)據(jù)和地址總線。
MOVX指令操作讀寫控制信號(hào)為/WR
和
/RD擴(kuò)展的數(shù)據(jù)存儲(chǔ)器的地址指針是:數(shù)據(jù)指針DPTR。2、外部程序存儲(chǔ)器的操作時(shí)序PCH輸出DPH輸出PCL輸出指令輸入數(shù)據(jù)地址輸出數(shù)據(jù)輸入PCL輸出PCH輸出指令輸入3、外部程序存儲(chǔ)器的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院化養(yǎng)護(hù)合同范例
- 賓館承包轉(zhuǎn)讓合同范例
- 水管加工項(xiàng)目合同范例
- 雜志冠名合同范例
- 商貿(mào)蔬菜采購(gòu)合同范例
- 儀器分析原理(何金蘭版)課后答案
- 裝修合同附加合同范例
- 2023年山東濱州中考地理試卷
- 機(jī)電 供方合同范例
- 樣品采購(gòu)制作合同范例
- 第5章 一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用【知識(shí)導(dǎo)圖 】 高考數(shù)學(xué)復(fù)習(xí)思維導(dǎo)圖(人教A版2019)(必修第一冊(cè))
- 醫(yī)療安全不良事件管理培訓(xùn).x
- 《水利水電工程等級(jí)劃分及洪水標(biāo)準(zhǔn)》 SL252-2000
- 油浸式變壓器油箱
- 人體解剖生理學(xué)(全套上冊(cè))-課件
- 甘肅省慶陽(yáng)市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 矩形波導(dǎo)中電磁波的傳播模式
- 一年級(jí)4.2【章節(jié)知識(shí)精講】6-9的合與分
- 醫(yī)院放射科核輻射安全隱患排查情況自查報(bào)告
- 2022年諸暨市高中提前招生考試中考數(shù)學(xué)試卷及解析
- 集體土地使用權(quán)流轉(zhuǎn)協(xié)議書
評(píng)論
0/150
提交評(píng)論