第2章单机硬件结构_第1页
第2章单机硬件结构_第2页
第2章单机硬件结构_第3页
第2章单机硬件结构_第4页
第2章单机硬件结构_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2.2 mcs-51单片机内部结构分析单片机内部结构分析 2.3 mcs-51单片机的引脚功能单片机的引脚功能 2.4 mcs-51的存储器组织的存储器组织 2.5 mcs-51cpu时序时序第第 2 章章 mcs-51单片机硬件结构单片机硬件结构 2.6 mcs-51低功耗运行方式及编程低功耗运行方式及编程 mcs-51系列系列mcs-51系列系列基本基本的的5151系列系列单片机单片机803180518751增强增强的的5151系列系列单片机单片机803280528752区别:区别:8051 / 8751单片机中含有单片机中含有 rom / eprom, 而而 8031中没有,使用时需外

2、接一片中没有,使用时需外接一片 eprom型号型号 rom eprom ramt/ci/oint803280528kb87528kb 256b 256b 256b333并并串串444111666二、二、 mcs-51系列单片机的差异系列单片机的差异51子系列子系列型号型号 rom eprom ramt/ci/oint803180514kb87514kb128b128b128b222并并 串串44411155580318051(基本型基本型)803152子系列子系列请见:请见:p21 表表1-4 p22 表表1-5 51系列产品系列产品 ramp0口口串行口串行口定时器定时器计数器计数器特殊特殊

3、功能功能寄存器寄存器(sfr)中断中断系统系统p2口口p1口口p3口口rom/epromcpu内部内部 总线总线vccvssxtal1xtal2psen eaaleresetp2.0p2.7p0.0p0.788p1.0p1.78p3.0p 3.78面向用户的结构面向用户的结构共共4040条引线条引线(内特性内特性)用户外特性用户外特性图图2-2 mcs-51功能功能 框图框图p32逻辑结构框图逻辑结构框图40引脚,双列直插式结构引脚,双列直插式结构rst/vpdp3.1p3.2p3.3p3.4p3.5p3.6p3.7p3.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7p1.0p2.

4、6p2.5p2.4p2.3p2.2p2.1p2.0p2.7p0.1p0.2p0.3p0.4p0.5p0.6p0.7p0.0rxd txd int0 int1 t0 wr rdt1 xtal1xtal2vssvccea/vppale/progpsen803189c51403938373635343332313029282726252423222112345678910111213141516171819202.3 mcs-51单片机的引脚功能单片机的引脚功能用户外特性用户外特性p0口口:i/o 口口 或或 数据总线数据总线/低低8位位地址总线地址总线复用口复用口p1口口: i/o口口p3口口:i

5、/o口口或第或第2功能口功能口p2口口:i/o口口 或或高高8位地址总线位地址总线控制总线控制总线控制总线控制总线时钟时钟复位引脚复位引脚2、管脚的功能、管脚的功能(1)电源)电源vcc:(40脚)接脚)接+5v电源电源(直流电源正端直流电源正端) vss:(20脚)脚)接地端接地端(直流电源负端直流电源负端)硬件设计时,为提硬件设计时,为提高单片机抗干扰性高单片机抗干扰性能,应在这两脚之能,应在这两脚之间加一间加一0.01uf去耦去耦电容。而且电源线电容。而且电源线要尽可能粗一些,要尽可能粗一些,如如100mil(2.54mm)+5vgnd0.01uf4020cpuxtal1:(19脚)脚)

6、片内振荡电路输入端片内振荡电路输入端xtal2:(18脚)脚)片内振荡电路输出端片内振荡电路输出端内时钟方式:内时钟方式:在在xtal1、xtal2上外接定时上外接定时元件,使其形成自激振荡器。元件,使其形成自激振荡器。时钟电路:时钟电路:内时钟方式内时钟方式(最常用的方式最常用的方式)外时钟方式外时钟方式2、管脚的功能、管脚的功能(2)时钟)时钟 定时元件采用由石英晶体和电容组成并联谐振定时元件采用由石英晶体和电容组成并联谐振电路。晶体和电容尽可能靠近单片机芯片。电路。晶体和电容尽可能靠近单片机芯片。单单片片机机xtal1xtal21918c1c2电容通常电容通常选择为选择为2030pf左右

7、左右振荡频率振荡频率1.2mhz12mhz晶晶振振内时钟方式电路设计原理图内时钟方式电路设计原理图c1、c2取值对振荡频率输取值对振荡频率输出稳定性、大小及振荡电路出稳定性、大小及振荡电路的起振速度有一定的影响。的起振速度有一定的影响。时钟电路设计应注意问题:1、设计印制板时,晶体与电容尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器可靠工作。3、应考虑系统功耗要求,时钟频率越低,功耗越小;2、尽可能用地线包围振荡电路,晶体外壳接地;4、选用瓷片电容;ea/vppalepsen名称名称功功 能能片外片外取指取指信号信号(片外(片外程序存储器读程序存储器读)输出端)输出端低电平有效。通过低电平

8、有效。通过p0口读回指令或常数。口读回指令或常数。控制的是片外控制的是片外程序程序存储器存储器(3)控制信号)控制信号程序存储器程序存储器选择信号选择信号 ea=0 时,选外部时,选外部rom;1,地址小于,地址小于4k时,选内部时,选内部rom地址大于地址大于4k时,选外部时,选外部romp0口是口是数据数据/地址地址复用口复用口不访问片外存储器时,以不访问片外存储器时,以1/6时钟频率固定输出正脉冲时钟频率固定输出正脉冲p0口输出口输出数据数据信息信息p0口输出口输出地址地址信息信息锁存地址锁存地址寄存器寄存器 内内 容容寄存器寄存器 内内 容容表表 2-2 2-2 复位后内部寄存器状态复

9、位后内部寄存器状态pc 0000hacc 00hb 00hpsw 00hsp 07hdptr 0000hp0p3 0ffhip 00000bie 000000btmod 00htcon 00hth0 00htl0 00hth1 00htl1 00hscon 00hsbuf 不定不定pcon 0 000b初始复位不影响片内初始复位不影响片内ram状态状态。复位信号,复位信号,高电平复位高电平复位cpu,低电平,低电平cpu工作工作reset:803180518751vssvccrst409200.47fr151kr2 51k+5v复位电路设计:复位电路设计:手动手动复位复位kr上电上电自动复位自

10、动复位kr高电平要保持高电平要保持10ms以上以上+5vreset高电平有效高电平有效二极管作用?二极管作用?简单的上电复位电路:简单的上电复位电路:imp813l(dip/so)imp813l(dip/so)1(mr):1(mr):手动复位输入。低电平有效的输入可手动复位输入。低电平有效的输入可触发复位脉冲。触发复位脉冲。250a250a的上拉电阻允许此脚的上拉电阻允许此脚被被ttl/cmosttl/cmos逻辑驱动或由开关短路到地。逻辑驱动或由开关短路到地。7 7(resetreset):):高电平有效的高电平有效的200ms200ms复位输出。复位输出。复位功能:复位功能:电源监视功能:

11、电源监视功能:4 4(pfipfi):):电源故障电压监控输入。电源故障电压监控输入。 当当pfipfi小于小于1.25v1.25v时,时,pfopfo变为低电平。不用时将变为低电平。不用时将pfipfi接地或接至接地或接至vccvcc。5 5(pfopfo):):电源故障输出。该输出低电平有效。电源故障输出。该输出低电平有效。目前,在设计中我们更多的使用具有复位功能的集成目前,在设计中我们更多的使用具有复位功能的集成电路芯片,如电路芯片,如x5045x5045,imp813limp813l、imp708imp708等等8(wdo):看门狗输出。当内部看门狗定时器超时看门狗输出。当内部看门狗定

12、时器超时1.6秒时,秒时,wdo拉至低电平,并直到看门狗被清零才变为拉至低电平,并直到看门狗被清零才变为高电平。此外,当高电平。此外,当vcc低于复位门限时,低于复位门限时,wdo保持低电保持低电平。平。6 6(wdiwdi):):看门狗输入。看门狗输入。wdiwdi控制内部看门狗定时器。控制内部看门狗定时器。wdiwdi端保持高电平或低电平达端保持高电平或低电平达1.61.6秒可使内部定时器完成计数,秒可使内部定时器完成计数,并将并将wdowdo变为低电平。将变为低电平。将wdiwdi悬空或连接一个高阻抗三态缓悬空或连接一个高阻抗三态缓冲器将禁止看门狗功能。冲器将禁止看门狗功能。 内部看门狗

13、定时器清零的条件有三种:发生复位;内部看门狗定时器清零的条件有三种:发生复位;wdiwdi处于三态;或处于三态;或wdiwdi检测到一个上升沿或下降沿。检测到一个上升沿或下降沿。看门狗功能:看门狗功能:基于基于imp813l的复位电路设计的复位电路设计1、读、读i/o引脚信号:以引脚信号:以p1口为例口为例读锁存器读锁存器写锁存器写锁存器内部总线内部总线读引脚读引脚dclqqp1.x锁存器锁存器tp1.x引脚引脚vcc内部上内部上拉电阻拉电阻010101输出输出输入输入 “读引脚读引脚” 每一位可分别定义为输入或输出线每一位可分别定义为输入或输出线 做信号输入引脚时,口锁存器须先置做信号输入引

14、脚时,口锁存器须先置1,再读入引,再读入引脚信号。脚信号。2.3.3 i/o口口: 讲讲2个问题个问题2、p3口的第二功能状态口的第二功能状态p3.0rxd串行口信号输入引脚串行口信号输入引脚p3.1txd串行口信号输出引脚串行口信号输出引脚p3.6 wr外部外部ram写信号写信号p3.3int1外部中断外部中断1输入引脚输入引脚p3.4t0计数器计数器0输入输入p3.5t1计数器计数器1输入输入第二功能第二功能 口线口线p3.2int0外部中断外部中断0输入引脚输入引脚p3.7 rd外部外部ram读信号读信号2.3.4 2.3.4 管脚应用特性:管脚应用特性:1、端口驱动能力和接口要求、端口

15、驱动能力和接口要求p0口:口:每一位口线可驱动每一位口线可驱动8个个lsttl门输入。作门输入。作i/o口使用口使用时因输出级是漏极开路而需接上拉电阻。作总线使用无需时因输出级是漏极开路而需接上拉电阻。作总线使用无需上拉电阻。上拉电阻。p1p3口口:每一位口线可驱动:每一位口线可驱动4个个lsttl门输入。内部集门输入。内部集成上拉电阻,外部无需接上拉电阻。成上拉电阻,外部无需接上拉电阻。chmos端口只提供几毫安输出电流,因限制高电平输出时端口只提供几毫安输出电流,因限制高电平输出时的电流,保护引脚不被损坏。的电流,保护引脚不被损坏。ale803180518751p2口口p0口口a0a7a8

16、a15d0d7控控制制总总线线cb2.3.4 管脚应用特性:管脚应用特性:单片机扩展系统设计的三总线结构:单片机扩展系统设计的三总线结构:控制总线、数据总线、地址总线控制总线、数据总线、地址总线数据总线数据总线 db地址总线地址总线 ab8031eap3.6p3.7psenrstwrrdpsenearstge 74hc 3732.4 mcs-51的存储器组织的存储器组织 存储器存储器数据存储器数据存储器程序存储器程序存储器 对单片机来讲,对单片机来讲,rom和和ram的寻址机构和的寻址机构和寻址方式是分开的。寻址方式是分开的。rom、 eprom e2rom或或flashram、 flashp

17、senwrrd单片机单片机ea=1内部内部外部外部ea=00000h0fffh0ffffh0000h1000h外部外部ffffh8951803151系列系列程序存储器程序存储器配置图配置图4kb接地接地2.4.1 程序存储器程序存储器实行片实行片内内、外统一编址方式,外统一编址方式,由由pc指针访问。指针访问。存放程序目标代码存放程序目标代码。中 断 源入口地址 外部中断00003h 定时器0溢出000bh 外部中断10013h 定时器1溢出001bh 串行口0023h *定时器2溢出或t2ex(p1.1)端负跳002bh程序存储器中有程序存储器中有7个地址具有特殊功能,个地址具有特殊功能,m

18、cs-51复位后,(复位后,(pc)= 0000h,故系统程序必须从,故系统程序必须从0000h单元开始,也叫做系统程序单元开始,也叫做系统程序的启动地址。的启动地址。6个特殊单元:分别对应于个特殊单元:分别对应于6种中断源的种中断源的中断入口地址中断入口地址,如表如表2-4所示。所示。2.4.2 数据存储器数据存储器 ram内部内部数据存储器数据存储器外部外部数据存储器数据存储器分为两部分分为两部分单单片片机机(ram)ram用户扩展数据存储器用户扩展数据存储器外部扩展总线外部扩展总线单片机扩展系统结构图单片机扩展系统结构图sfr特殊功能特殊功能寄存器寄存器ffh80h内部内部ramsfr特

19、殊功能特殊功能寄存器寄存器7fh00hffh80h7fh00hffh80h直接寻址直接寻址地址重叠地址重叠内部内部ram内部内部ram间接寻址间接寻址52系列内部系列内部ram配置配置5151系列内部系列内部 ramram配置配置一、内部数据存储器一、内部数据存储器 地址地址:00h ffh0fh08h17h10h2fh20h7fh30h0 0区区(8 8字节)字节)1 1区区(8 8字节)字节)2 2区区(8 8字节)字节)3 3区区(8 8字节)字节)位寻位寻址区址区数据数据缓冲区缓冲区8080个字节个字节ram只能按字节寻址只能按字节寻址1616个字节,个字节,128128个个ram位位

20、可可按位按位亦可按字节寻址亦可按字节寻址四四个个工工作作寄寄存存器器区区1、内部、内部 00h7fh ram区功能配置图区功能配置图r7r0r7r0r7r0r7r000h1fh07h00h1fh18h1 1、每个区有、每个区有8 8个字节,个字节,分别对应分别对应8 8个工作寄存器个工作寄存器r0 r7如如0区:区:00h地址单元对地址单元对应应0区的寄存器区的寄存器r0,01h地址单元对应地址单元对应0区的寄存区的寄存器器r12、可作普通ram使用p42寄寄存存器器区区 通用寄存器组通用寄存器组 32个个ram单元单元 共共4个区,每个区个区,每个区8个通用工作寄存器个通用工作寄存器 r0r

21、7“区区”的选择由程序状态字的选择由程序状态字psw中的中的rs1和和rs0确定确定 工作寄存器区工作寄存器区地地 址址rs1 rs0 2 区区10h 17h1 0 3 区区18h 1fh1 1 0 区区00h 0 007h 1 区区08h 0 10fh7f 7e 7d 7c 7b 7a 79 782fh472eh77 76 75 74 73 72 71 70462dh6f 6e 6d 6c 6b 6a 69 68452ch67 66 65 64 63 62 61 60442bh5f 5e 5d 5c 5b 5a 59 58432ah57 56 55 54 53 52 51 504229h4f

22、 4e 4d 4c 4b 4a 49 484128h47 46 45 44 43 42 41 404027h3f 3e 3d 3c 3b 3a 39 383926h37 36 35 34 33 32 31 303825h2f 2e 2d 2c 2b 2a 29 283724h27 26 25 24 23 22 21 203623h1f 1e 1d 1c 1b 1a 19 183522h17 16 15 14 13 12 11 103421h0f 0e 0d 0c 0b 0a 09 083320h07 06 05 04 03 02 01 0032地址7fhram1fh18h17h10h0fh07

23、h08h00h24231615780311273区2区1区0区(msb)(lsb)f0hf7 f6 f5 f4 f3 f2 f1 f0be0he7e5e6e3e4e1e2acce0d0hd7d5d6d3d4d1d2pswd0c8hcfcdcecbccc9cat conc8b8hbdbbbcb9baipb8b0hb7b5b6b3b4b1b2p3b0a8hafadabaca9aaiea8a0ha7a5a6a3a4a1a2p2a098h9f9d9e9b9c999ascon9897959693949192p19088h8f8d8e8b8c898atcon8880h87858683848182p0809

24、0htf1tr1tf0tr0ie1it1ie0it0sm012tbren8rbti8rism smet2es et1ex1et ex00pt2pspt01px1ptpx02tf2exf rclktclk2exen2tr c/t cp/rl22cy ac0frs0rs1ov(msb)(lsb)2pea 位寻址区位寻址区 字节字节地址:地址:20h 2fh ,16个字节个字节可按字节操作:可按字节操作:mov 20h,#0aah 位位地址:地址:00h 7fh单独按位操作:单独按位操作:setb 20h 布尔处布尔处理机理机数据数据存储器存储器的的主要组成主要组成部分部分蓝色框内地蓝色框内地址的区

25、别?址的区别?字节地址字节地址位地址位地址靠指令区别靠指令区别(3)用户)用户ram区区字节地址:字节地址:30h 7fh片内片内ram的部分单元的部分单元可用作堆栈可用作堆栈复位后,复位后, 51的栈区指向的栈区指向07h单元,是工作寄存单元,是工作寄存器区器区0,为避开工作寄存器区和位寻址区,为避开工作寄存器区和位寻址区,用用户堆栈一般设置在户堆栈一般设置在 30h 7fh 之间之间,52系列单系列单片机可设置在片机可设置在30h0ffh之间之间.7f 7e 7d 7c 7b 7a 79 782fh472eh77 76 75 74 73 72 71 70462dh6f 6e 6d 6c 6

26、b 6a 69 68452ch67 66 65 64 63 62 61 60442bh5f 5e 5d 5c 5b 5a 59 58432ah57 56 55 54 53 52 51 504229h4f 4e 4d 4c 4b 4a 49 484128h47 46 45 44 43 42 41 404027h3f 3e 3d 3c 3b 3a 39 383926h37 36 35 34 33 32 31 303825h2f 2e 2d 2c 2b 2a 29 283724h27 26 25 24 23 22 21 203623h1f 1e 1d 1c 1b 1a 19 183522h17 16

27、 15 14 13 12 11 103421h0f 0e 0d 0c 0b 0a 09 083320h07 06 05 04 03 02 01 0032地址7fhram1fh18h17h10h0fh07h08h00h24231615780311273区2区1区0区(msb)(lsb)f0hf7 f6 f5 f4 f3 f2 f1 f0be0he7e5e6e3e4e1e2acce0d0hd7d5d6d3d4d1d2pswd0c8hcfcdcecbccc9cat conc8b8hbdbbbcb9baipb8b0hb7b5b6b3b4b1b2p3b0a8hafadabaca9aaiea8a0ha7a

28、5a6a3a4a1a2p2a098h9f9d9e9b9c999ascon9897959693949192p19088h8f8d8e8b8c898atcon8880h87858683848182p08090htf1tr1tf0tr0ie1it1ie0it0sm012tbren8rbti8rism smet2es et1ex1et ex00pt2pspt01px1ptpx02tf2exf rclktclk2exen2tr c/t cp/rl22cy ac0frs0rs1ov(msb)(lsb)2pea30h30h 程序计数器程序计数器pc$16位专用寄存器位专用寄存器 ,寻址范围,寻址范围64kb

29、,程序最大长度为,程序最大长度为64kb。2. 特殊功能寄存器特殊功能寄存器$ 通电时自动复位,运行时可手动复位,复位通电时自动复位,运行时可手动复位,复位 后,后,pc的内容自动清零的内容自动清零$用来存放下一条指令用来存放下一条指令地址地址。pc 0000h 系统的启动地址系统的启动地址 mcs-51片内片内i/o口锁存器、口锁存器、t/c、串行口数据缓冲、串行口数据缓冲器、各种控制寄存器(器、各种控制寄存器(pc除外),都以除外),都以特殊功能寄存特殊功能寄存器形式出现,能综合、实时反映单片机内部的工作状态器形式出现,能综合、实时反映单片机内部的工作状态和工作方式,和工作方式,掌握各个掌

30、握各个sfr的工作状态及工作方式,实的工作状态及工作方式,实现对单片机系统的控制具有重要意义。现对单片机系统的控制具有重要意义。特殊功能特殊功能寄存器寄存器名称名称特殊功能特殊功能寄存器寄存器对应地址对应地址 累加器累加器a 地址:地址:0e0h最常用的一个专用寄存器最常用的一个专用寄存器大部分单操作数指令的操作数取自大部分单操作数指令的操作数取自a很多双操作数指令的一个操作数取自很多双操作数指令的一个操作数取自a算术运算和逻辑运算的结果放在算术运算和逻辑运算的结果放在a或或ab对中对中指令系统采用指令系统采用a 作为累加器的作为累加器的标识符标识符例:例:inc a;执行;执行a中的内容加中

31、的内容加1操作操作add a,#data;执行;执行a (a) + #data 操作操作位寻址功能位寻址功能 寄存器寄存器b 地址:地址:0f0h 8位寄存器位寄存器与累加器与累加器 a 配合使用,一般用于乘除法运算配合使用,一般用于乘除法运算寄存器寄存器 b 存放第二操作数、存放第二操作数、乘积的高乘积的高8位位字节字节除法的除法的余数余数部分部分例:例:mul ab;执行执行 (a)(b) b adiv ab;执行执行 (a)/(b) 商商 a 余余 b b余余 b 程序状态字程序状态字psw 地址:地址:0d0h 8位寄存器,存放程序的状态信息,表征指令的执行状态,位寄存器,存放程序的状

32、态信息,表征指令的执行状态,供供程序查询和判别程序查询和判别使用。使用。进进/借位标志借位标志cy(psw.7)加法加法运算时,如果运算时,如果d7有有进位进位,则,则cy=1,否则否则cy=0减法减法运算时,如果运算时,如果d7有有借位借位,则,则cy=1,否则否则cy=0布尔运算中被定义为布尔运算中被定义为位累加器位累加器cy d7 d6 d5 d4 d3 d2 d1 d0acf0rs1rs0ov ppswd7 d0cy辅助进位标志辅助进位标志ac(psw.6) 8位加法位加法运算时,如果运算时,如果低半字节低半字节的的d3向向d4有进位,则有进位,则 ac=1,否则否则ac=08位减法位

33、减法运算时,如果运算时,如果低半字节低半字节的的d3向向d4有借位,则有借位,则ac=1,否则否则ac=0标志标志f0(psw.5)含义由用户定义,可用软件来使它置含义由用户定义,可用软件来使它置“1”、或清、或清“0”由软件测试由软件测试f0来控制程序流向来控制程序流向d7d4 d3d0accy d7 d6 d5 d4 d3 d2 d1 d0acf0rs1rs0ov ppsw工作寄存器区选择位工作寄存器区选择位rs1 、rs0(psw.4、 psw .3)通过软件来改变通过软件来改变rs1 、rs0的组合,以确定当前工作寄的组合,以确定当前工作寄存器区。存器区。工作寄存器区工作寄存器区地地

34、址址rs1 rs0 2 区区10h 17h1 0 3 区区18h 1fh1 1 0 区区00h 0 007h 1 区区08h 0 10fhpsw.4 psw.3 cyacf0rs1rs0ov ppsw溢出标志溢出标志ov(psw.2)作为作为有符号数有符号数加、减法时由硬件置位或清除,以指加、减法时由硬件置位或清除,以指示运算结果是否溢出示运算结果是否溢出 执行加执行加/减法指令时减法指令时,加,加/减法的结果如超出了一个字节减法的结果如超出了一个字节 有符号补码数有符号补码数 所所表示的范围(表示的范围(-128 +127),则),则ov=1; 否则否则 ov=0cyacf0rs1rs0ov

35、 ppsw奇偶标志奇偶标志p(psw.0) 每个指令周期都由硬件置位或清零,以表示累加器每个指令周期都由硬件置位或清零,以表示累加器a中值为中值为“1”的位数的的位数的奇偶性奇偶性 该标志可用于串行数据通讯,验证数据传输的可靠性该标志可用于串行数据通讯,验证数据传输的可靠性p =1 a中中1的个数为奇数的个数为奇数0 a中中1的个数为偶数的个数为偶数cyacf0rs1rs0ov ppsw 堆栈指针堆栈指针 sp8位寄存器,存放位寄存器,存放栈顶地址栈顶地址工作方式:工作方式:“先进后出先进后出”或或“后进先出后进先出”数据压入堆栈时,数据压入堆栈时,sp自动加自动加1数据弹出堆栈时,数据弹出堆

36、栈时,sp自动减自动减1保护保护cpu现场和现场和断点地址断点地址作用:作用:中断时中断时调用子程序时调用子程序时栈区栈区“向上生成向上生成”按按“先进后出先进后出”工作原则,工作原则,由由sp组织的组织的内部内部 ram区域区域,被称为堆栈。,被称为堆栈。spsp例:堆栈操作例:堆栈操作建立堆栈建立堆栈压入操作压入操作弹出操作弹出操作 60h61h62h63h64ha的内容的内容b的内容的内容spmov sp, #60hpush accpush bpop direct spdirect栈栈 底底1、堆栈是向上生长的、堆栈是向上生长的2、sp始终指向栈顶,始终指向栈顶,要人工预要人工预防堆栈溢

37、出防堆栈溢出 数据指针数据指针 dptr16位寄存器,高字节用位寄存器,高字节用dph表示,低字节用表示,低字节用dpl表示表示存放存放外部外部 ram 或或 i/o 口口地址地址,范围,范围64kb例:例:movx a,dptrmovx dptr, a;将外部将外部ram中地址为中地址为dptr的单元内容的单元内容读读到到a中中;将将a中的内容中的内容写写到外部到外部ram中地址为中地址为dptr的单元的单元(dptr)a rd wr(a)dptrmov dptr,#1000h i/o 端口端口p0 p3 地址地址:80h 90h 0a0h 0b0h专用寄存器专用寄存器p0 p3分别是端口分

38、别是端口p0 p3的锁存器的锁存器 串行数据缓冲器串行数据缓冲器 sbuf 地址地址:99h存放欲发送的数据存放欲发送的数据存放已接收的数据存放已接收的数据一个地址一个地址: 99h 定时定时/计数器计数器 t0 t1 mcs-51系列有系列有2个个16位位定时定时/计数器计数器t0 、t1mcs-52系列增加了系列增加了1个个16位位定时定时/计数器计数器t2sbuf两个缓冲器两个缓冲器共用共用“写写”发送缓冲器发送缓冲器“读读”接受缓冲器接受缓冲器mov sbuf,amov a ,sbuf 其他控制寄存器其他控制寄存器ip0b8h 中断优先控制寄存器中断优先控制寄存器ie0a8h 中断允许

39、控制寄存器中断允许控制寄存器tmod89h 定时定时/计数器方式控制寄存器计数器方式控制寄存器tcon88h 定时定时/计数器控制寄存器计数器控制寄存器scon99h 串行口控制寄存器串行口控制寄存器pcon97h 电源及波特率选择控制电源及波特率选择控制地址地址名称名称作作 用用寻址空间寻址空间64kb采用寄存器采用寄存器间接间接寻址方式寻址方式间址寄存器有间址寄存器有r0、r1(寻址范围:(寻址范围: 256b)数据指针数据指针dptr(寻址范围:(寻址范围:64kb)采用采用movx指令单片机产生指令单片机产生读读/写写信号,信号,对外部对外部ram产生读写操作产生读写操作3、外部数据存

40、储器、外部数据存储器ffffh0000h外部外部ram(i/o)64kbmovx a,rimovx a,dptrmovx ri,amovx dptr ,a“读读”指令指令“写写”指令指令通过三条通过三条总线扩展总线扩展2.5 mcs-51 cpu时序时序一、机器周期、状态、相位一、机器周期、状态、相位机器周期机器周期:由时钟振荡周期构成。一个机器周期由:由时钟振荡周期构成。一个机器周期由12个振个振荡周期构成,被分成荡周期构成,被分成6个个s 状态状态s1s6,每个,每个s状态分为状态分为2 (拍拍)个振荡周期(相位个振荡周期(相位p1,相位,相位p2)。)。 1个机器周期个机器周期 12 (

41、拍拍)个振荡周期个振荡周期 6个个s状态状态采用主频为采用主频为 12mhz 振荡源,每个机器周期为振荡源,每个机器周期为1s指令周期指令周期:cpu执行一条指令所需时间。以机器周期执行一条指令所需时间。以机器周期为单位。为单位。二、典型指令的取指和执行时序二、典型指令的取指和执行时序oscalep1 p2 p1 p2p1 p2p1 p2p1 p2 p1 p2s1s2s3s4s5s6机器周期机器周期读操作码读操作码 04h读下一个操作码(丢掉)读下一个操作码(丢掉)pc不增不增“1”s1s2s3s4s5s6再读下一个操作码再读下一个操作码(a) 单字节单周期单字节单周期指令指令 如:如: in

42、c a机器周期机器周期op04hrompc读操作码读操作码 24h读第二字节读第二字节#datas1s2s3s4s5s6再读下一个操作码再读下一个操作码(b) 双字节单周期双字节单周期指令指令 如:如:add a,#dataoscalep1 p2 p1 p2p1 p2p1 p2p1 p2 p1 p2s1s2s3s4s5s6机器周期机器周期机器周期机器周期op24hdatarompc操作数操作数pc读操作码读操作码 a3h(c) 单字节双周期单字节双周期指令指令 如:如:inc dptropa3hrompcoscalep1 p2 p1 p2p1 p2p1 p2p1 p2 p1 p2s1s2s3s4s5s6机器周期机器周期机器周期机器周期s1s2s3s4s5s6s1s2s3s4s5读下一个操作码(丢掉)读下一个操作码(丢掉)pc不增不增“1”dpldph“+1”读操作码读操作码 e0h地址地址数据数据访问外部存储器访问外部存储器 不取指不取指 不取指不取指 无无aleoscalep1 p2 p1 p2p1 p2p1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论