




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 MCS-51单片机的基本结构及工作原理单片机的基本结构及工作原理了解单片机内部基本结构了解单片机内部基本结构掌握单片机存储器分布和使用掌握单片机存储器分布和使用掌握常用的掌握常用的特殊功能寄存器特殊功能寄存器SFRSFR的使用的使用 了解单片机的工作方式了解单片机的工作方式掌握单片机的引脚及引脚功能掌握单片机的引脚及引脚功能教学目的教学目的 学习重点和难点学习重点和难点n单片机单片机的存储器结构的存储器结构n单片机的引脚及引脚功能单片机的引脚及引脚功能MCS-51系列单片机配置一览表一、一、MCS-51内部结构内部结构ROM 4KB时钟电路RAM 128计数器/定时器8051CP
2、U控制逻辑可编程I/O口可编程全双工串行口图图2-1 8051的功能部件图的功能部件图二二 、 CPUl主要功能:主要功能:产生各种控制信号,去控制存储产生各种控制信号,去控制存储器、输入输出端口的数据传送、数据的算器、输入输出端口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。术运算、逻辑运算以及位操作处理等。 (一)运算器(一)运算器 组成:组成:运算器由算术逻运算部件运算器由算术逻运算部件ALU、累加累加器器Acc、暂存器、程序状态字寄存器暂存器、程序状态字寄存器PSW、BCD码运算调整电路等组成码运算调整电路等组成 。对数据完成对数据完成算术运算算术运算,逻辑运算逻辑运算、循环移
3、位循环移位、位处理位处理。(二)控制器(二)控制器组成:组成:由程序计数器由程序计数器PC、指令寄存器、指令指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。译码器、定时控制与条件转移逻辑电路等组成。功能:功能:对来自存储器中的对来自存储器中的指令进行译码指令进行译码,通,通过定时控制电路,过定时控制电路,在规定的时刻发出各种操作在规定的时刻发出各种操作所需的全部内部和外部控制信号所需的全部内部和外部控制信号,协调各功能,协调各功能元件的工作,完成指令所规定的功能。元件的工作,完成指令所规定的功能。 特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器
4、一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等操作的本质本质就是就是: :改变改变 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前PCPC值值) ) 1 1程序计数器程序计数器PC(Program Counter)PC(Program Counter) 一个一个1616位的专用寄存器,用来存放下一条位的专用寄存器,用来存放下一条( (当当前前) )指令的地址。它具有自动加指令的地址。它具有自动加1 1的功能。的功能。 程序存储器程序存储器地址地址 程序代码程序代码0000H 指令代码指令代码1 0001H 指令代码指令代
5、码2 0002H 指令代码指令代码3 N 指令代码指令代码n PC=PC=PC=2指令寄存器指令寄存器 一个一个8位的寄存器,用于暂存待执行的指令,等待译码。位的寄存器,用于暂存待执行的指令,等待译码。3指令译码器指令译码器 对指令寄存器中的指令进行译码,分析它的功能,并根对指令寄存器中的指令进行译码,分析它的功能,并根据功能产生相应的电信号。据功能产生相应的电信号。4数据指针数据指针DPTR 是一个是一个16位的位的专用地址指针寄存器。它主要用来存放专用地址指针寄存器。它主要用来存放16位位地址。地址。DPTR也可以拆成两个独立也可以拆成两个独立8位寄存器,即位寄存器,即DPH(高高8位位字
6、节字节)和和DPL(低低8位字节位字节),分别占据,分别占据83H和和82H两个地址。两个地址。 数据指针可以用来访问外部数据存储器中的任一单元,数据指针可以用来访问外部数据存储器中的任一单元,作间址寄存器使用,也可以作为通用寄存器来用,是作间址寄存器使用,也可以作为通用寄存器来用,是 8051单片机中单片机中唯一一个用户可使用的唯一一个用户可使用的16位寄存器。位寄存器。5 5.定时控制部件与时序定时控制部件与时序 功能:功能:在规定的时刻发出各种操作所需的全部内在规定的时刻发出各种操作所需的全部内部和外部的控制信号,协调各功能元件工作,完部和外部的控制信号,协调各功能元件工作,完成指令所规
7、定的功能。成指令所规定的功能。主要任务:主要任务:产生一个工作时序,其工作需要时钟产生一个工作时序,其工作需要时钟电路提供一个工作频率。电路提供一个工作频率。 图图2.2 MCS-51单片机内部结构单片机内部结构在在XTALl和和XTAL2两端接两端接晶体晶体或或陶瓷谐振器陶瓷谐振器,与内部反向器构成稳,与内部反向器构成稳定的自激振荡器。定的自激振荡器。参数选取:参数选取:C1、C2起稳定振荡频起稳定振荡频率,快速起振的作用。率,快速起振的作用。 外接晶振时:外接晶振时:Cl和和C2选择选择1030pF外接陶瓷谐振器时:外接陶瓷谐振器时: Cl和和C2的典型值约为的典型值约为4010pF。振荡
8、频率范围一般是振荡频率范围一般是1.2MHz12MHz,有的,有的可达可达40MHz。内部时钟方式内部时钟方式XTAL1XTAL1XTAL2XTAL2内部时钟方式内部时钟方式对对A AT89S51/S52T89S51/S52单片机,单片机,通常通常外接一个晶振两个外接一个晶振两个2020或或30pf30pf电容,一个电容,一个12M12M或或11.0592MHz11.0592MHz的晶振的晶振XTAL1XTAL1XTAL2XTAL2外部时钟外部时钟VCC8051XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟80C51NC由外部振荡器产生时钟信号,输入单片机。由外部振荡器产生时钟信号,
9、输入单片机。外部时钟方式外部时钟方式 注意:单片机生产工艺不同,接法也不同。注意:单片机生产工艺不同,接法也不同。 CPUCPU总是按照一定的时钟节拍与时序工作:总是按照一定的时钟节拍与时序工作:1. 1. 时钟周期:时钟周期:又称为振荡周期、节拍(用又称为振荡周期、节拍(用P P表示),定义为表示),定义为单片机提供时钟信号的振荡源(单片机提供时钟信号的振荡源(OSCOSC)的周期。)的周期。晶振频率晶振频率foscfosc(或外加频率)的倒数或外加频率)的倒数. .2. 2. 状态(用状态(用S S表示):表示):振荡脉冲经过二分频后得到整个单片振荡脉冲经过二分频后得到整个单片机工作系统的
10、状态。一个状态有两个节拍,前半周期对应的机工作系统的状态。一个状态有两个节拍,前半周期对应的节拍定义为节拍定义为P1P1,后半周期对应的节拍定义为,后半周期对应的节拍定义为P2P2。3. 3. 机器周期:机器周期:完成一个基本操作所需的时间。一个机器周期完成一个基本操作所需的时间。一个机器周期含有含有6 6个状态,分别表示为个状态,分别表示为S1S1S6S6。每个状态周期有两拍,分。每个状态周期有两拍,分别为别为S1P1S1P1、S1P2S1P2、S2P1S2P1、S2P2S2P2,S6P1S6P1、S6P2 S6P2 时序时序80C51的片内振荡器及时钟发生器的片内振荡器及时钟发生器牢记牢记
11、: 振荡周期振荡周期( (时钟周期时钟周期) = ) = 晶振频率晶振频率foscfosc的倒数;的倒数;1 1个机器周期个机器周期=6=6个状态周期个状态周期 = 12= 12个振荡周期;个振荡周期;1 1个指令周期个指令周期 = 1 = 1、2 2、4 4个机器周期个机器周期时序时序指令寄存器译码地址译码程序计数器地址寄存器累加器A运算器存储器内部数据总线外部地址总线AB数据缓冲器外部数据总线DB寄存器区外部控制总线CB内部控制信号时钟及清零取指过程例例: : MOV A,#09H MOV A,#09H 74H74H 09H09H ; ;把把09H09H送到累加器送到累加器A A中中执行过
12、程执行过程PC=0000H0001H0000H0002H0 1 1 1 0 1 0 00 0 0 0 1 0 0 1(PC)(PC)0001H0002H0000H外部控制总线CB取指过程(PC)执行过程执行过程你知道你知道PC的作用吗?的作用吗?AT89S52认识单片机的引脚MCS-51MCS-51单片机单片机4040脚脚Vcc, GND Vcc, GND 2 2XTAL1, XTAL2 XTAL1, XTAL2 2 2RESET RESET 1 1EAEA/Vpp /Vpp 1 1ALE/ALE/PROG PROG 1 1PSENPSEN 1 1P0.0P0.7P0.0P0.7 8 8 P1
13、.0P1.7 P1.0P1.7 8 8 P2.0P2.7 P2.0P2.7 8 8 P3.0P3.7 P3.0P3.7 8 8单片机的引脚(电源端)Vcc Vcc ( (引脚引脚4040): : 正电源端正电源端(+5+5V/3.3V/2.7V)V/3.3V/2.7V)不同的单片机可以允许不不同的单片机可以允许不同的工作电压,不同的单同的工作电压,不同的单片机表现出的功耗也不同。片机表现出的功耗也不同。GND GND ( (引脚引脚2020): :接地端接地端单片机的引脚(晶振端)内部时钟方式内部时钟方式XTAL1XTAL1XTAL2XTAL2Vcc, GND:Vcc, GND:正电源端与接地
14、端正电源端与接地端XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端时钟电路设计时钟电路设计1.内部时钟方式内部时钟方式外接一个晶振两外接一个晶振两个电容个电容(1030pF)单片机的引脚(晶振端)XTAL1XTAL1XTAL2XTAL2外部时钟外部时钟VCC8051XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟80C51NCVcc, GND:Vcc, GND:正电源端与接地端正电源端与接地端XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端时钟电路设计时钟电路设计2.外部时钟
15、方式:外部振荡器输入时钟信号。外部时钟方式:外部振荡器输入时钟信号。单片机的引脚(复位端)Vcc, GND: Vcc, GND: 电源端电源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端PC与SFR复位状态表简单复位电路简单复位电路+5V10uF10kVccRSTGND上电复位上电复位10uF10kVccRSTGND上电上电+按钮复位按钮复位1k+5V单片机的引脚(EA端)单片机的引脚(ALE端)Vcc, GND: Vcc, GND: 电源端电源端 (+5+5V/3.3V/2
16、.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端RESET: RESET: 复位端复位端 (正脉冲有效(正脉冲有效)EA/Vpp: EA/Vpp: 寻址外部寻址外部ROMROM控制端控制端/ /编程电源输入端。编程电源输入端。ALE/PROG(30ALE/PROG(30脚)脚) : : 地址锁存允许地址锁存允许/ /编程脉冲输入端。编程脉冲输入端。 P0P0口寻址外部低口寻址外部低8 8位地址位地址时时接外部锁存器接外部锁存器74ls37374ls373的的G G端;端; ALEALE端端平时会输出周期正脉
17、冲平时会输出周期正脉冲:f f fosc/6fosc/6 ; 对片内对片内ROMROM编程时编程脉冲由此端加入。编程时编程脉冲由此端加入。(指并行(指并行编程模式)编程模式)单片机的引脚(PSEN端) PSEN PSEN (2929脚)脚) : 片外片外ROMROM选通线。选通线。 在执行访问片外在执行访问片外ROMROM的指令的指令MOVCMOVC时,时,80518051自动在该引脚产生一个负脉冲,用于对片外自动在该引脚产生一个负脉冲,用于对片外ROMROM的选通。其他情况下,该引脚均为高电平的选通。其他情况下,该引脚均为高电平封锁状态。封锁状态。 Vcc, GND: Vcc, GND: 电
18、源端电源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端RESET: RESET: 复位端复位端 (正脉冲有效(正脉冲有效)EA/Vpp: EA/Vpp: 寻址外部寻址外部ROMROM控制端控制端/ /编程电源输入端。编程电源输入端。ALE/PROG: ALE/PROG: 地址锁存允许地址锁存允许/ /编程脉冲输入端。编程脉冲输入端。 单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOEC
19、EEPROM单片机的引脚(PSEN端)PSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROM的的 读控制端读控制端(OEOE)低有效。低有效。单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同并行口并行口I/OI/O结构与操作结构与操作5151系列单片机有系列单片机有4 4个个I/OI/O端口,每个端口端口,每个端口都是都是8 8位准双向口,共占位准双向口,共占3232根引脚。每个端口根引脚。每个端口都包括一个锁存器都包括一个锁存器( (即专用寄存器即专用寄存器P0P0P3P3) )、一个输出驱动器和输入缓冲器。通常把一个输出驱动器和输入缓冲
20、器。通常把4 4个端个端口笼统地表示为口笼统地表示为P0P0P3P3。并行口并行口I/OI/O结构与操作结构与操作 在无片外扩展存储器的系统中,这在无片外扩展存储器的系统中,这4 4个端口的每一个端口的每一位都可以作为位都可以作为准双向准双向通用通用I/OI/O端口使用。在具有片外扩端口使用。在具有片外扩展存储器的系统中,展存储器的系统中,P2P2口口作为作为高高8 8位地址线位地址线,P0P0口口分时分时作为作为低低8 8位地址线和双向数据总线位地址线和双向数据总线。驱动器驱动器缓冲器缓冲器锁存器锁存器单片机的引脚(P1口)P1.0P1.7: P1.0P1.7: 准双向准双向I/OI/O口口
21、(内置内置了上拉电阻)了上拉电阻)输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 1 时时110截截止止=1单片机的引脚单片机的引脚(P1P1口)口)21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数
22、据 = 0 时时001导导通通=0单片机的引脚单片机的引脚(P1P1口)口)21DQCK/Q读锁存器读锁存器写锁存器写锁存器内部总线内部总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输入入数据时,要先对其写数据时,要先对其写“1”110截截止止单片机的引脚单片机的引脚(P1P1口)口)读引脚读引脚 =121DQCK/Q读锁存器读锁存器写锁存器写锁存器内部总线内部总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻假如需要读引脚状态,而未对其先写入假如需要读引脚状态,而未对其先写入“1”,如果如果之前之前输出输出001导导通通单片机的引脚单片机的引脚(P1P1口)口)读引脚读引脚 =1低电平
23、低电平“0” 简单测控实例原理图P1.3作输入端口光路通畅,光路通畅,R亮亮 2K 光路阻断,光路阻断,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;JOB3: CLR P1.1 ;亮绿灯亮绿灯REDO: REDO: SETB P1.3SETB P1.3 ;P1.3;P1.3作输入口必先置作输入口必先置1 1CHECK:JNB P1.3,CHECK ;CHECK:JNB P1.3,CHECK ;检测检测通道是否被阻断?通道是否被阻断?LOOP: ;LOOP: ;有入侵者,有入侵者,报警!报警!AJMP REDO ;AJMP REDO ;再跳回去检测再跳回去检测任务三:任务
24、三:红外防盗报警红外防盗报警P1.3P1.3口口用于输入状态检测的语句用于输入状态检测的语句: 红外线光路通畅时,红外线光路通畅时,P1.3P1.3端端低电平低电平红外线光路阻断时,红外线光路阻断时,P1.3P1.3端端高电平高电平单片机的引脚单片机的引脚(P0P0口)口)P0.0-P0.7: P0.0-P0.7: 准双向准双向I/O I/O (内置内置场效应管场效应管上拉)上拉)寻址外部存储器时寻址外部存储器时分时分时作作双向双向8 8位数据口位数据口和和低低8 8位位地址地址复用口复用口,工作状态由,工作状态由CPUCPU发出的控制信号决发出的控制信号决定;定;不接存储器不接存储器时可时可
25、作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制=0引脚引脚P0.X34作作通用通用I/O端口端口使用使用时时,控制控制=0 。00100截截止止截截止止Vcc=1此脚作此脚作输入口,输入口,“读引脚读引脚”时,时,事先必须对事先必须对它写它写“1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制=0
26、引脚引脚P0.X34“输出输出1”时,时,漏级开路电路漏级开路电路引引脚上必须接上拉电阻,才能输出高电平。脚上必须接上拉电阻,才能输出高电平。00100截截止止截截止止VccVdd21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据=0控制控制=1引脚引脚P0.X34P0口口作地址作地址/数据数据复用口复用口时,控制时,控制=1:(1)当)当输出地址输出地址/数据数据 =0 时时101截截止止导导通通Vcc=01=0地址数据总线地址数据总线不用外接上拉电阻。不用外接上拉电阻。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地
27、址地址/数据数据=1控制控制=1引脚引脚P0.X34P0口口作地址作地址/数据数据复用口复用口时,控制时,控制=1:(2)当)当输出地址输出地址/数据数据 =1时时110导导通通截截止止Vcc=00=1输出高电平的时候,内部电源直接通过输出高电平的时候,内部电源直接通过VT1VT1输出到输出到P0P0口线上口线上, ,因此因此驱动能力驱动能力( (电流电流) )可以很大可以很大21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制=0引脚引脚P0.X34P0口口作地址作地址/数据数据复用口复用口输入输入时,仅从外存读入信息,时,仅从外存读入信息,
28、控制控制=0,CPU自动向自动向P0口输出口输出FFH,使下拉场效应管,使下拉场效应管截止。输入指令将使引脚与内部总线直通截止。输入指令将使引脚与内部总线直通Vcc=1截截止止截截止止ADC0809 ADC0809 与单片机的连接与单片机的连接MOV DPTR,#0FEF0H ;ADC0口地址口地址MOVX DPTR,A ;启动;启动A/D转换转换LCALL DELAY ;等待转换结束;等待转换结束MOVX A,DPTR ;取转换结果;取转换结果ADC0809ADC0809延时方延时方式数据采集式数据采集单片机的引脚单片机的引脚(P2P2口)口)P2.0P2.7: P2.0P2.7: 准双向准
29、双向I/O I/O (内置了上拉电阻)内置了上拉电阻)寻址外部存储器时寻址外部存储器时输出高输出高8 8位地址位地址;不接外部存储器不接外部存储器时可时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址高高8位位控制控制 引脚引脚 P2.XP2作通用作通用输出口输出口时,控制时,控制=0。110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=
30、0输出输出=1时,时,21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址高高8位位控制控制 引脚引脚 P2.X001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0P2作通用作通用输出口输出口时,控制时,控制=0。输出输出=0时,时,21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址高高8位位控制控制 引脚引脚 P2.XP2作作高高8位地址位地址A8-A15输出口时,控制输出口时,控制=1 。10截截止止3内部上拉电阻内部上拉电阻1Vcc=1=1=1当当输出输出 =1时时21DQCK/Q读引脚读引脚 =0读锁存
31、器读锁存器写锁存器写锁存器内部总线内部总线地址地址高高8位位=0控制控制 引脚引脚 P2.X01导导通通3内部上拉电阻内部上拉电阻0Vcc=0=1P2作作高高8位地址位地址A8-A15输出口时,控制输出口时,控制=1 。当当输出输出 =0时时P2口特点小结(口特点小结(1)P2口特点小结(口特点小结(2)单片机的引脚(P3口)P3.0P3.7: P3.0P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻)它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功能。在不使用它的第二功能时它就是普通的时它就是普通的通用准双向通用准双向I/OI/O口口。21DQCK/Q读引脚读引脚读
32、锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入4P3口第二功能表(P.27 表21)21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部总线内部总线D第二功能输出第二功能输出(WRWR,RDRD,TxDTxD)引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc4第二功能第二功能输出输出时,内部时,内部自动自动 D=1D=1=111与非门与非门21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部总线内部总线第二输出功能第二输出功能1引脚引脚 P3.X3内部上拉电阻内部上拉电阻
33、Vcc4第二功能输入时,信号经第二功能输入时,信号经缓冲器缓冲器4 直接进入内总线直接进入内总线11与非门与非门10截截止止 第二功能输入第二功能输入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)Px.yVddVdd灌电流方式,灌电流方式,输出输出”0”,点亮点亮LEDPx.yVdd拉电流方式输出高电平点亮LEDPx.yVdd拉电流方式拉电流方式输出高电平输出高电平点亮点亮LEDVdd51单片机的4个8位的I/O口P0.0P0.7:P0.0P0.7:8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口 ( (复用时是复用时是双向口双向口;不复用时也是;
34、不复用时也是准双向口准双向口) )P1.0P1.7: P1.0P1.7: 通用通用I/OI/O口口(准双向口)(准双向口)P2.0P2.7:P2.0P2.7: 输出高输出高8 8位地址位地址(用于寻址时是(用于寻址时是输出口;输出口;不寻址时是不寻址时是准双向口准双向口)P3.0P3.7: P3.0P3.7: 具有特定的第二功能具有特定的第二功能(准双向口)(准双向口)注意:注意:在不外扩在不外扩ROM/RAMROM/RAM时,时,P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是准双向准双向I/OI/O口口!P3口第二功能表 (P.27 表21)存储器数据存储器
35、数据存储器RAMRAM(Random Access MemoryRandom Access Memory)程序存储器程序存储器ROMROM(Read Only MemoryRead Only Memory)闪速存储器闪速存储器Flash MemoryFlash MemoryEPROMEPROMErazible Programmable ROMErazible Programmable ROMEEPROM/EEEPROM/E2 2PROMPROMElectrical Erasable Electrical Erasable Programmable ROM Programmable ROM按字节
36、寻址:每个字节按字节寻址:每个字节(8(8个位个位) )占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址MCS-51单片机的存储器结构MCS-51单片机单片机的存储器空间分布的存储器空间分布l特点:特点:l在在MCS-51单片机的内部集成了单片机的内部集成了4K的的程序存储器程序存储器和和256B的的数据存储器数据存储器,同时还可以使用片外的程,同时还可以使用片外的程序存储器和数据存储器,序存储器和数据存储器,其扩展能力都是其扩展能力都是64K。l从从物理结构物理结构的角度讲,的角度讲,51单片机的存储系统可以单片机的存储系统可以分为四个存储
37、空间:分为四个存储空间:即片内即片内ROM,RAM和片外和片外ROM、RAM。l从从逻辑上逻辑上讲(即用户编程的角度讲)讲(即用户编程的角度讲)51单片机的单片机的存储系统又可分为存储系统又可分为三个存储空间三个存储空间。即片内即片内RAM,片外片外RAM和片内、外的程序存储器和片内、外的程序存储器ROM。FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节7FH00H片内片内 RAMRAM 128字节字节FFH80H 数据存储器数据存储器FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节0FFFH0000H片内片内 ROMROM4K 字节字节 程序存储器程序
38、存储器MCS-51单片机的内存结构单片机的内存结构物理上分为:物理上分为:4个空间,即片内个空间,即片内ROM、片外片外ROM 片内片内RAM、片外片外RAM逻辑上分为逻辑上分为: : 3个空间,个空间, 即程序内存(片内、外)统一编址即程序内存(片内、外)统一编址 MOVC 数据存储器(片内)数据存储器(片内) MOV 数据存储器(片外)数据存储器(片外) MOVXMCS-51单片机的内存结构单片机的内存结构寻址范围:寻址范围:0000H FFFFH 64KB (16位位).). 1EA ,寻址内部寻址内部ROM;0EA ,寻址外部寻址外部ROM。 当当PC值超过片内值超过片内ROM容量时会
39、自动转向容量时会自动转向 外部外部存储器空间。存储器空间。EA8031单片机单片机接低电平。接低电平。作用:作用: 存放程序及程序运行时所需的常数。存放程序及程序运行时所需的常数。低段低段4KB: 0000H0FFFH80C51和和87C51在片内,在片内,80C31在片外。在片外。高段高段60KB:1000HFFFFH。在片外。在片外。存储器配置(ROM) 0000H 系统复位,系统复位,PC指向此处指向此处 0003H 外部中断外部中断0入口入口 000BH T0溢出中断入口溢出中断入口 0013H 外中断外中断1入口入口 001BH T1溢出中断入口溢出中断入口 0023H 串口中断入口
40、串口中断入口 002BH T2溢出中断入口溢出中断入口 注意:注意: 7个单元被保留用于特定的程序入口地址(中个单元被保留用于特定的程序入口地址(中断服务程序入口地址)。编程者是不能随便使用的。断服务程序入口地址)。编程者是不能随便使用的。存储器配置(ROM)由于系统复位后的由于系统复位后的PC内容为内容为0000H,故系统从故系统从0000H单元开始取指令,执行程序。它是系统的启动地址。单元开始取指令,执行程序。它是系统的启动地址。一般在该单元设置一般在该单元设置转移指令转移指令,使之转向用户主程序,使之转向用户主程序处。因此,处。因此,0000H0002H单元被保留用于单元被保留用于初始化
41、初始化。存储器配置(ROM) org0000h jmpmain ;跳过中断入口地址区;跳过中断入口地址区 org0100hmain: mov p1,#55h mov r0,#3fh l 读写外读写外RAMRAM用用MOVXMOVX指令,指令, 控制信号是控制信号是P3P3口中的口中的RDRD和和WRWR。 一般情况下,只有在内一般情况下,只有在内RAM不能满足不能满足应用应用要求时,才外接要求时,才外接RAMRAM。 51单片机存储器配置(片外RAM)51单片机存储器配置(片内RAM)片内片内RAMRAM 128 128字节(字节(0000H7FHH7FH);); 片内片内RAMRAM前前32
42、32个单元是工作寄存器区个单元是工作寄存器区(00(00H1FH)H1FH) 片内片内RAMRAM有有128128个可按位寻址的位,占个可按位寻址的位,占1616个单元。个单元。 位地址编号为:位地址编号为:0000H7FHH7FH,分布在分布在2020H2FHH2FH单元单元片内片内2121个特殊功能寄存器个特殊功能寄存器( (SFRSFR) )中:地址号能被中:地址号能被8 8整整除的除的 SFRSFR中的各位中的各位也可也可按位寻址按位寻址(P.29-30P.29-30)存储器配置(片内RAM)片内片内RAMRAM 128128字节字节(0000H7FHH7FH)0000H H2020H
43、 H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址8080H HFFHFFH所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00(00H1FH)H1FH)0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H
44、H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区存储器配置(片内RAM) 有专用于工作寄存有专用于工作寄存器操作的指令,读写速器操作的指令,读写速度比一般内度比一般内RAMRAM要快,指要快,指令字节比一般直接寻址令字节比一般直接寻址指令要短,还具有间址指令要短,还具有间址功能,能给编程和应用功能,能给编程和应用带来方便。带来方便。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06
45、H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18H片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00(00H1FH)H1FH)存储器配置(片内RAM) 工作寄存器区分为工作寄存器区分为4 4个区:个区:0 0区、区、1 1区、区、2 2区、区、3 3区。每区有区。每区有8 8个寄存器:个寄存器:R0R0R7R7,寄存器名称相同。但是,当前工作的寄存器,寄存器名称相同。但是,当前工作的寄存器区只能有一个,由区只能有一个,由PSWPSW中的中的D4D4、D3D
46、3位决定位决定。 0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :0000H7FH H7FH 分布在分布在: :2020H2FHH2FH单元单元存储器配置(片内RAM)用于用于存放各种标志位信息和位存放各种标志位信息和位数据。每一位均有一个位地址,数据。每一位均有一个位地址,可位寻址、位操作。即按位地可位寻址、位操作。即按位地址对该位进行址对该位进行置置1、清清0、求反求反或或判转
47、判转.注意事项注意事项: 位地址与字节地址编址相同,位地址与字节地址编址相同,容易混淆。容易混淆。 区分方法区分方法:位操作指令位操作指令中的地址中的地址是位地址是位地址; 字节操作指令字节操作指令中的地址中的地址是字节地址。是字节地址。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 1
48、3 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :0000H7FH H7FH 分布在分布在: :2020H2FHH2FH单元单元存储器配置(片内RAM)0
49、000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区数据缓冲区数据缓冲区: :30H7FH30H7FH单元单元存储器配置(片内RAM)用于用于特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)专用寄存器) 特殊用途寄存器的集合。特殊用途寄存器的集合。专用于专用于控制、选择、管控制、选择、管理、存放理、存放单片机内部各部分的工作单片机内部各部分的工作方式、条件、状方式、条件、状态、结果态、结果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负
50、责不同的功管理不同的硬件模块,负责不同的功能能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。特殊功能寄存器不能特殊功能寄存器不能作为作为普通的普通的RAMRAM存储单元来使存储单元来使用。用。只有在编程中根据需要,进行一些特定功能的只有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进设定,或者是从中查寻相关部件的状态时,才能进行读、写操作。行读、写操作。如中断方式的设定、定时器
51、工作模如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等。式的设定,查询串行口发送或接收是否结束等等。有有2121个个SFRSFR 已知的已知的P0P0、P1P1、P2P2、P3P3等四个等四个8 8位位I/OI/O口口分别由名为分别由名为P0P0、P1P1、P2P2、P3P3四个四个SFRSFR代表。代表。堆栈指针寄存器堆栈指针寄存器 SPSP(Stack Pointer): Stack Pointer): 总是指总是指向栈顶向栈顶, ,压栈时先压栈时先 ( (SP)+1 SP)+1 然后数据进栈;弹栈然后数据进栈;弹栈时数据先出栈时数据先出栈 然后然后( (SP)-1
52、SP)-1。累加器累加器 ACC:ACC:一个用得最频繁的特殊功能寄存器一个用得最频繁的特殊功能寄存器( (如:运算、数据传输如:运算、数据传输)。副累加器副累加器 B B: :一个经常与一个经常与 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器( (如:乘法、除法如:乘法、除法) ),此外,它也,此外,它也经常当作普通寄存器使用。经常当作普通寄存器使用。特殊功能寄存器(P0P3,SP,A,B)堆栈: 在在片内片内RAMRAM中,常常要指定一个专门的区域来存放某些中,常常要指定一个专门的区域来存放某些特别的特别的数据数据, ,它遵循它遵循顺序存取顺序存取和和后进先出
53、后进先出( (LIFO/FILOLIFO/FILO)的的原则原则, ,这个这个RAMRAM区区叫叫堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输 堆栈操作分自动方式和指令方式。自动方式是在调堆栈操作分自动方式和指令方式。自动方式是在调用子程序或发生中断时用子程序或发生中断时CPUCPU自动将断口地址存人或者取出;自动将断口地址存人或者取出;指令方式是使用进出栈指令进行操作。指令方式是使用进出栈指令进行操作。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080
54、H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07HSP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向0808H H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进0808H H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM
55、区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。SFR从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区
56、SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈
57、顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。程序状态字寄存器程序状
58、态字寄存器 PSWPSW:CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)进位进位/ /借位标志位借位标志位。若在加减运算过程中如果。若在加减运算过程中如果操作结果最高位有进位或借位,则操作结果最高位有进位或借位,则CY=1CY=1;否则否则=0=0。它也。它也是是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6)(PSW.6)半进位半进位/ /借位标志位。借位标志位。若在加减运算过程若在加减运算过程中,中,D3D3位向位向D4D4位发生了进位或借位,则位发生了进位或借位,则AC=1,AC=1,否则否则=0=
59、0。机器在执行。机器在执行“DA ADA A”指令时指令时自动自动要判断这一要判断这一位,我们可以暂时不关心它。位,我们可以暂时不关心它。PSW.6 PSW.5特殊功能寄存器(PSW)F0 F0 (PSW.5)(PSW.5)可由用户定义的标志位。可由用户定义的标志位。程序状态字寄存器程序状态字寄存器 PSWPSW(续)续):CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器组选择位工作寄存器组选择位。PSW.4 PSW.3片内片内RAMRAM前前3232个单元个单元(00(00H1FH)H1FH)是工作
60、寄存器区是工作寄存器区 ( (由由PSWPSW中的中的RS1,RS0RS1,RS0决定决定) )0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区0 程序状态字寄存器程序状态字寄存器 PSWPSW(续)续):CYACF0RS0OVPRS1PSW.7PSW.0OV OV (PSW.2)(P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于建筑工程项目的施工合同
- 2025创新技术专利许可合同范本
- 2025汽车买卖合同书参考范文
- 个人与企业租车合同协议书
- 电工技能培训-21继电接触控制系统
- 【安全员台账】企业消防安全标准化管理
- 矿井安全监控系统培训课件
- 2025版企业咨询服务管理合同范本
- 2025合作协议合同样本范本
- 煤矿地质基础知识
- 设备维修规程
- 西川煤矿整合区矿山地质环境保护与土地复垦方案
- Unit 6 Lesson 1 A Medical Pioneer教学设计 高中英语北师大版(2019)必修第二册
- 英语答题卡2023年全国小学生英语能力测评(NEPTP)低年级组
- 国家开放大学《哲学基础》形考任务1-3参考答案
- 输电线路外力破坏危害及特点
- 医院工作中常见的法律风险和对策专家讲座
- (完整word版)扣字词汇124
- 升压站建筑工程施工作业指导书
- GB/T 24825-2009LED模块用直流或交流电子控制装置性能要求
- 2023年湖南公务员面试真题及解析汇总
评论
0/150
提交评论