ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:266KB ,
资源ID:7829694      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7829694.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(MCS-51单片机结构介绍.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

MCS-51单片机结构介绍.doc

1、MCS-51介绍 MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。 1 MCS-51单片机内部结构 1.1、 MCS-51单片机组成 MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM

2、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件: ◆ 一个8位CPU; ◆ 一个片内振荡器及时钟电路; ◆ 4K字节ROM程序存储器; ◆ 128字节RAM数据存储器; ◆ 两个16位定时器/计数器; ◆ 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路; ◆ 32条可编程的I/O线(四个8位并行I/O端口); ◆ 一个可编程全双工串行口; ◆ 具有五个中断源、两个优先级嵌套中断结构。 振荡器及 定时电路 8051CPU 4K字节 ROM 128字节 RAM 2个16位定时器/计数器

3、64K总线扩展控制 可编程I/O 可编程 串行口 频率基准源 计数器 串 行 串 行 中断 控制 并行 I/O 口 输入 输出 图2-1 8051单片机框图 8051单片机框图如图2-1所示。各

4、功能部件由内部总线联接在一起。 图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;图中去掉ROM部分就成为8031的结构图。 1、 CPU CPU是单片机的核心部件。它由运算器和控制器等部件组成。 ⑴ 运算器 运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。 8051运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0

5、转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作。也能使进位标志位与其他可位寻址的位之间进行逻辑与、或操作。 1) 程序计数器PC 程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。 2) 令寄存器 指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。 3) 定时与控制部件 ①时钟电路 8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为

6、振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。 XTAL1 XTAL2 电容1 晶振 电容2

7、 图 2-2 内部方式时钟电路 外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。 时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。 ② 时序 MCS-51典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。每个状态又被分成两个时相P1和P2。所以,一个机器周期可以依次表示为S1P1,S1P2……,S6P1,S6P

8、2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。 图2-3给出了8051单片机的取指和执行指令的定时关系。这些内部时钟信号不能从外部观察到,所用XTAL2振荡信号作参考。在图中可看到,低8位地址的锁存信号ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。 图2-3 8051时序 对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6

9、P2结束时完成指令操作。图2-3的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。8051指令大部分在一个机器周期完成。乘(MUL)和除(DIV)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。MOVX是访问外部数据存储器的单字节双机器周期指令。在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。图2-3中(c)给出了一般单字节双机器周期指令的时序。 2、存储器 MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序

10、存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。有关存储器的内容将在下一节中详述。 3、I/O端口 I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。 ⑴、并行I/O端口 MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个LST

11、TL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL电路。 1)、P0端口功能(P0.0~P0.7、32~39脚) 图2-4 P0口位结构 图2-4 是 P0口位结构,包括1个输出锁存器,2个三态缓冲器,1个输出驱动电路和1个输出控制端。输出驱动电路由一对场效应管组成,其工作状态受输出端的控制,输出控制端由1个与门、1个反相器和1个转换开关MUX组成。对8051/8751来讲P0口既可作为输入输出口,又可作为地址/数据总线使用, ① P0口作地址/数据复用总线使用 若从P0口输出地址或数据信息,此

12、时控制端应为高电平,转换开关MUX将反相器输出端与输出级场效应管V2接通,同时与门开锁,内部总线上的地址或数据信号通过与门去驱动V1管,又通过反相器去驱动V2管,这时内部总线上的地址或数据信号就传送到P0口的引脚上。工作时低8位地址与数据线分时使用P0口。低8位地址由ALE信号的负跳变使它锁存到外部地址锁存器中,而高8位地址由P2口输出(P0口和P2口的地址/数据总线功能,请阅第八章MCS-51扩展技术)。 ② P0口作通用I/O端口使用 对于有内部ROM的单片机,PO口也可以作通用I/O,此时控制端为低电平,转换开关把输出级与锁存器的Q端接通,同时因与门输出为低电平,输出级V1管处于截止

13、状态,输出级为漏极开路电路,在驱动NMOS电路时应外接上拉电阻;作输入口用时,应先将锁存器写“1”,这时输出级两个场效应管均截止,可作高阻抗输入,通过三态输入缓冲器读取引脚信号,从而完成输入操作。 ③ PO口线上的“读一修改一写”功能 图2-4上面一个三态缓冲器是为了读取锁存器Q端的数据。Q端与引脚的数据是一致的。结构上这样安排是为了满足:“读一修改一写”指令的需要,这类指令的特点时:先读口锁存器,随之可能对读入的数据进行修改再写入到端口上。例如:ANL PO,A;ORL PO,A;XRL PO,A;…。 这类指令同样适合与P1~P3口,其操作是:先将口字节的全部8位数读入,再通过指令修

14、改某些位,然后将新的数据写回到口锁器中。 2)P1口(P1.0~P1.7、1~8脚)准双向口 ① P1口作通用I/O端口使用 P1口是一个有内部上拉电阻的准双向口,位结构入图2-5所示,P1口的每一位口线能独立用作输入线或输出线。作输出时,如将“0”写入锁存器,场效应管导通,输出线为低电平,即输出为“0”。因此在作输入时,必须先将“1”写入口锁存器,使场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,即当外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。P1口作输入时,可被任何TTL电路和MOS电路驱动,由于具有内部上拉电阻,也可以直接被集电极

15、度开路和漏极开路电路驱动,不必外加上拉电阻。P1口可驱动4个LSTTL门电路。 图 2-5 P1口位结构 ② P1口其他功能 P1口在EPROM编程和验证程序时,它输入低8位地址;在8032/8052系列中P1.0 和P1.1是多功能的,P1.0可作定时器/计数器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部控制输入端T2EX。 3) P2口(P2.0~P2.7,21~28脚)准双向口 P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。

16、 图 2-6 P2口位结构 ① P2口作通用I/O端口使用 当P2口作通用I/O端口使用时,是一个准双向口,此时转换开关MUX倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。 ② P2口作地址总线口使用 当系统中接有外部存储器时,P2口用于输出高8位地址A15~A8。这时在CPU的控制下,转换开关MUX倒向右边,接通内部地址总线。P2口的口线状态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。在外接程序存储器的系统中,由于访问外部存储器的操作连续不断,P2口不断送出地址高8位。例如,在8031构成的

17、系统中,P2口一般只作地址总线口使用,不再作I/O端口直接连外部设备。 在不接外部程序存储器而接有外部数据存储器的系统中,情况有所不同。若外接数据 存储器容量为256B,则可使用MOVX A,@Ri类指令由PO口送出8位地址,P2口上引脚的信号在整个访问外部数据存储器期间也不会改变,故P2口仍可作通用I/O端口使用。若外接存储器容量较大,则需用MOVX A,@DPTR类指令,由PO口和P2口送出16位地址。在读写周期内,P2口引脚上将保持地址信息,但从结构可知,输出地址时,并不要求P2口锁存器锁存“1”,锁存器内容也不会在送地址信息时改变。故访问外部数据存储器周期结束后,P2口锁存器的内

18、容又会重新出现在引脚上。这样,根据访问外部数据存储器的频繁程度,P2口仍可在一定限度内作一般I/O端口使用。P2口可驱动4个LSTTL门电路。 4) P3口(P3.0~P3.7、10~17脚)双功能口 P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口。P3口的位结构如图 2-7。 当作第二功能使用时,每一位功能定义如表2-1所示。P3口的第二功能实际上就是系统具有控制功能的控制线。此时相应的口线锁存器必须为“1”状态,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。在P3口的引脚信号输入通道中有两个三态缓冲器

19、第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。P3口可驱动4个LSTTL门电路。 图 2-7 P3口位结构 表 2-1 P3口的第二功能 端 口 功 能 第 二 功 能 P3.0 RXD---串行输入(数据接收)口 P3.1 TXD---串行输出(数据发送)口 P3.2 ---外部中断0输入线 P3.3 ---外部中断1输入线 P3.4 T0 ---定时器0外部输入 P3.5 T1 ---定

20、时器1外部输入 P3.6 ---外部数据存储器写选通信号输出 P3.7 ---外部数据存储器读选通信号输入 每个I/O端口内部都有一个八位数据输出锁存器和一个八位数据输入缓冲器,四个数据输出锁存器与端口号P0、P1、P2和P3同名,皆为特殊功能寄存器。因此,CPU数据从并行I/O端口输出时可以得到锁存,数据输入时可以得到缓冲。 四个并行I/O端口作为通用I/O口使用时,共有写端口、读端口和读引脚三种操作方式。写端口实际上就是输出数据,是将累加器A或其它寄存器中数据传送到端口锁存器中,然后由端口自动从端口引脚线上输出。读端口不是真正的从外部输入数据,而是将端口锁存器中输出数

21、据读到CPU的累加器。读引脚才是真正的输入外部数据的操作,是从端口引脚线上读入外部的输入数据。端口的上述三种操作实际上是通过指令或程序来实现的,这些将在以后章节中详细介绍。 ⑵、串行I/O端口 8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下将CPU的八位并行数据变成串行数据一位一位地从发送数据线TXD发送出去,也可以把串行接收到的数据变成八位并行数据送给CPU,而且这种串行发送和串行接收可以单独进行,也可以同时进行。 8051串行发送和串行接收利用了P3口的第二功能,即利用P3.1 引脚作为串行数据的发送线TXD和P3.0引脚作为串行数

22、据的接收线RXD,如表2-1所示。串行I/O口的电路结构还包括串行口控制器SCON、电源及波特率选择寄存器PCON和串行数据缓冲器SBUF等,它们都属于特殊功能寄存器SFR。其中PCON和SCON用于设置串行口工作方式和确定数据的发送和接收波特率,SBUF实际上由两个八位寄存器组成,一个用于存放欲发送的数据,另一个用于存放接收到的数据,起着数据的缓冲作用,这些将在第七章中详细加以介绍。 4、总线 MCS-51单片机属总线型结构,通过地址/数据总线可以与存储器(RAM、EPROM)、并行I/O接口芯片相连接。 在访问外部存储器时,P2口输出高8位地址,P0口输出低8位地址,由ALE(地址锁

23、存允许)信号将P0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为P0口接受数据作准备。 在访问外部程序存储器(即执行MOVX)指令时,PSEN(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行MOVX)指令时,由P3口自动产生读/写(/)信号,通过P0口对外部数据存储器单元进行读/写操作。 MCS-51单片机所产生的地址、数据和控制信号与外部存储器、并行I/O接口芯片连接简单、方便。有关这部分内容将在第8章叙述。 1.2 MCS-51单片机存储器结构 MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址

24、系统,控制信号和功能,程序存储器用来存放程序和始终要保留的常数,例如:所编程序经汇编后的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量。例如:做加法时的加数和被加数、做乘法时的乘数和被乘数、模/数转换时实时记录的数据等等。 从物理地址空间看,MCS-51有四个存储器地址空间,即:片内程序存储器和片外程序存储器以及片内数据存储器和片外数据存储器。 MCS-51系列各芯片的存储器在结构上有些区别,但区别不大,从应用设计的角度可分为如下几种情况:片内有程序存储器和片内无程序存储器、片内有数据存储器且存储单元够用和片内有数据存储器且存储单元不够用。 1、程序存储器 程序存储

25、器用来存放程序和表格常数。程序存储器以程序计数器PC作地址指针,通过16位地址总线,可寻址的地址空间为64K字节。片内、片外统一编址。 ⑴、片内有程序存储器且存储空间足够 在8051/8751片内,带有4K 字节ROM/EPROM程序存储器(内部程序存储器),4K字节可存储约两千多条指令,对于一个小型的单片机控制系统来说就足够了,不必另加程序存储器,若不够还可选8K或16K内存的单片机芯片,例如:89C52等,总之,尽量不要扩展外部程序存储器,这会增加成本、增大产品体积。 ⑵、片内有程序储器且存储空间不够 若开发的单片机系统较复杂,片内程序存储器存储空间不够用时,可外扩展程序存储器,具

26、体扩展多大的芯片要计算一下,由两个条件决定:一是看程序容量大小,二是看扩展芯片容量大小,64K总容量减去内部4K即为外部能扩展的最大容量,2764容量为8K、27128容量为16K、27256容量为32K、27512容量为64K。(具体扩展方法见存储器扩展)。若再不够就只能换芯片,选16位芯片或32位芯片都可。定了芯片后就要算好地址,再将引脚接高电平,使程序从内部ROM开始执行,当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。 对8051/8751而言,外部程序存储器地址空间为1000H –FFFFH。对这类单片机,若把接低电平,可用于调试程序,即把要调试的程序放在与内部ROM

27、空间重叠的外部程序存储器内,进行调试和修改。调试好后再分两段存储,再将接高电平,就可运行整个程序。 ⑶、片内无程序存储器 8031芯片无内部程序存储器,需外部扩展EPROM 芯片,地址从0000H-FFFFH都是外部程序存储器空间,在设计时应始终接低电平,使系统只从外部程序储器中取指令。 MCS-51单片机复位后程序计数器PC的内容为0000H ,因此系统从0000H单元开始取指,并执行程序,它是系统执行程序的起始地址,通常在该单元中存放一条跳转指令,而用户程序从跳转地址开始存放程序。 2、数据存储器 ⑴、内部数据存储器 MCS-51单片机的数据存储器无论在物理上或逻辑上都分为

28、两个地址空间,一个为内部数据存储器,访问内部数据存储器用MOV指令,另一个为外部数据存储器,访问外部数据存储器用MOVX指令。 MCS-51系列单片机各芯片内部都有数据存储器,是最灵活的地址空间,它分成物理上独立的且性质不同的几个区:00H - 7FH(0 - 127)单元组成的128字节地址空间的RAM区;80H - FFH(128 - 255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。注意:8032/8052单片机将这一高128字节作为RAM区。 数据缓冲区 地址范围30H-7FH 位寻址区(位地址00-7F) 地址

29、范围20H-2FH 工作寄存器区3(R0-R7) 地址范围18H-1FH 工作寄存器区2(R0-R7) 地址范围10H-17H 工作寄存器区1(R0-R7) 地址范围08H-0FH 工作寄存器区0(R0-R7) 地址范围00H-07H 图 图2-8 MCS-51内部RAM存储器结构 在8051,8751和8031单片机中,只有低128字节的RAM区和128字节的特殊功能寄存器区,两区地址空间是相连的,特殊功能寄存器(SFR)地址空间为80H-FFH。注意:128字节的S

30、FR区中只有26个字节是有定义的,若访问的是这一区中没有定义的单元,则得到的是一个随机数。 内部RAM区中不同的地址区域功能结构如上图2-8所示。其中00H-1FH(0-31)共32个单元是四个通用工作寄存器区,每一个区有八个工作寄存器,编号为R0-R7,每一区中R0-R7,地址见表2-2。 表2-2 寄存器和RAM地址对照表 0 区 1区 2区 3区 地址 寄存器 地址 寄存器 地址 寄存器 地址 寄存器 00H R0 08H R0 10H R0 18H R0 01H R1 09H R1 11H R1

31、 19H R1 02H R2 0AH R2 12H R2 1AH R2 03H R3 0BH R3 13H R3 1BH R3 04H R4 0CH R4 14H R4 1CH R4 05H R5 0DH R5 15H R5 1DH R5 06H R6 0EH R6 16H R6 1EH R6 07H R7 0FH R7 17H R7 1FH R7 当前程序使用的工作寄存区是由程序状态字PSW(特殊功能寄存器,字节地址为0D0H)中的D4、D3位(RS1和RS0)来指示的,PSW的状态和工作

32、寄存区对应关系见表2-3。 表2-3 工作寄存器区选择 PSW.4 (RS1) PSW.3 (RS0) 当前使用的工作寄存器区 R0 - R7 0 0 0区 (00 - 07H) 0 1 1区 (08 - 0FH) 1 0 2区 (10 - 17H) 1 1 3区 (18 - 1FH) CPU通过对PSW中的D4、D3位内容的修改,就能任选一个工作寄存器区, 例如: SETB PSW.3 CLR PSW.4 ;选定第1区 SETB PSW.4 CLR PSW.3

33、 ;选定第2区 SETB PSW.3 SETB PSW.4 ;选定第3区 不设定为第0区,也叫默认值,这个特点使MCS-51具有快速现场保护功能。特别注意的是,如果不加设定,在同一段程序中R0 - R7只能用一次,若用两次程序会出错。 如果用户程序不需要四个工作寄存器区,则不用的工作寄存器单元可以作一般的RAM使用。 内部RAM的20H -2FH为位寻址区(见表2-4)这16个单元和每一位都有一个位地址,位地址范围为00H - 7FH。位寻址区的每一位都可以视作软件触发器,由程序直接进行位 处理。通常把各种程序状态标志、位控制变量设在位寻址区内。同样,位寻址区的RAM单元也可

34、以作一般的数据缓冲器使用。 在一个实际的程序中,往往需要一个后进先出的RAM区,以保存CPU的现场,这种后进先出的缓冲器区称为堆栈(堆栈的用途详见指令系统和中断的章节),堆栈原则上可以设在内部RAM的任意区域内,但一般设在30H -7FH的范围内。栈顶的位置由栈指针SP指出。 ⑵、外部数据存储器 MCS-51具有扩展64K字节外部数据存储器和I/O口的能力,这对很多应用领域已足够使用,对外部数据存储器的访问采用MOVX指令,用间接寻址方式,R0,R1和DPTR都可作间址寄存器。有关外部存储存器的扩展和信息传送将在第5章详细介绍。 若系统较小,内部的RAM(30H-7FH)足够的

35、话就不要再扩展外部数据存储器RAM,若确实要扩展就用串行数据存储器24C系列。也可用并行数据存储器。 3、特殊功能寄存器 MCS-51单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存和状态寄存器都是以特殊功能寄存器的形式出现的,它们分散地分布在内部RAM地址空间范围, 表2-4 RAM寻址区位地址映象 字节 地址 位 地 址 D7 D6 D5 D4 D3 D2 D1 D0 2FH 7F 7E 7D 7C 7B 7A 79 78 2EH 77 76 75 74 73 72 71

36、70 2DH 6F 6E 6D 6C 6B 6A 69 68 2CH 67 66 65 64 63 62 61 60 2BH 5F 5E 5D 5C 5B 5A 59 58 2AH 57 56 55 54 53 52 51 50 29H 4F 4E 4D 4C 4B 4A 49 48 28H 47 46 45 44 43 42 41 40 27H 3F 3E 3D 3C 3B3 3A 39 38 26H 37 36 35 34 33 32 31 30

37、 25H 2F 2E 2D 2C 2B 2A 29 28 24H 27 26 25 24 23 22 21 20 23H 1F 1E 1D 1C 1B 1A 19 18 22H 17 16 15 14 13 12 11 10 21H 0F 0E 0D 0C 0B 0A 09 08 20H 07 06 05 04 03 02 01 00 表2-5列出了这些特殊功能存储器的助记标识符、名称及地址,其中大部分寄存器的应用将在后面有关章节中详述,这里仅作简单介绍。 ⑴、 累加器A 最常用

38、的特殊功能寄存器,大部分单操作数指令的操作取自累加器,很多双操作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器A或A、 B寄存器对中。指令系统中用A作为累加器的助记符。 ⑵ B寄存器 B寄存器是乘除法指令中常用的寄存器。乘法指令的两个操作数分别取自A和B ,其结果存放在A B寄存器对中。除法指令中,被除数取自A,除数取自B,商数存在放于A,余数存放于B。 在其它指令中,B寄存器可作为RAM中的一个单元来使用。 ⑵、 程序状态字PSW 程序状态字是一个8位寄存器,它包含了程序状态信息。此寄存器各位的含义参见下图,其中PSW·1未用。其它各位说明

39、如下: CY AC F0 RS1 RS0 OV - P ① CY(PSW·7)进位标志。在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在布尔处理机中它被认为是位累加器,其重要性相当于一般中央处理机中的累加器A。 表2-5 特殊功能寄存器 标 识 符 名 称 地址 * ACC 累加器 E0H * B B寄存器 F0H * PSW 程序状态字 D0H SP 堆栈指针 81H DPTR 数据指针(包括DPH和DPL) 83H和82H * P0 口0 8

40、0H * P1 口1 90H * P2 口2 A0H * P3 口3 B0H * IP 中断优先级控制 B8H * IE 允许中断控制 A8H TMOD 定时器/计数器方式控制 89H TCON 定时器/计数器控制 88H +T2CON 定时器/计数器2控制 C8H TH0 定时器/计数器0(高位字节) 8CH TL0 定时器/计数器0(低位字节) 8AH TH1 定时器/计数器1(高位字节) 8DH TL1 定时器/计数器1(低位字节) 8BH +TH2 定时器/计数器2(高位字节) CDH +TL2 定时器/

41、计数器2(低位字节) CCH +RLDH 定时器/计数器2自动再装载 CBH +RLDL 定时器/计数器2自动再装载 CAH *SCON 串行控制 98H SBUF 串行数据缓冲器 99H PCON 电源控制 87H ② AC(PSW·6)辅助进位标志。当进行加法或减法操作而产生由低4位数(BCD码一位)向高4位数进位或借位时,AC将被硬件置位,否则就被清零。AC被用于BCD码调整。详见DA A指令。 ③ F0(PSW·5)用户标志位,F0是用户定义的一个状态标记,用软件来使它置位或清零。该标志位状态一经设定,可由软件测试F0,以控制程序的流向。 ④

42、 RS1,RS0(PSW·4,PSW·3)寄存器区选择控制位。可以用软件来置位或清零以确定工作寄存器区。RS1,RS0与寄存器区的对应关系见表2-3。 ⑤ OV(PSW·2)溢出标志。当执行算术指令时,由硬件置位或清零,以指示溢出状态。 当执行加法指令ADD时,位6向位7有进位而位7不向CY进位时,或位6不向位7进位而位7向CY进位时,溢出标志OV置位,否则清零。 溢出标志常用于ADD和SUBB指令对带符号数作加减运算时,OV=1表示加减运算的结果超出了目的寄存器A所能表示的带符号数(2的补码)的范围(-128-+127),参见第3章中关于ADD和SUBB指令的说

43、明。 在MCS-51中,无符号数乘法指令MUL的执行结果也会影响溢出标志。若置于累加器A和寄存器B的两个数的乘积超过255时,OV=1,否则OV=0。此积的高8位放在B内,低8位放在A内。因此,OV=0意味着只要从A中取得乘积即可,否则要从B A寄存器对中取得乘积。 除法指令DIV也会影响溢出标志。当除数为0时,OV=1,否则OV=0。 ⑥ P(PSW.0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器A 中1的位数的奇偶数。若1的位数为奇数,P置“1”,否则P清“0”。 P标志位对串行通信中的数据传输有重要的意义,在串行通信中常用奇偶校验的办法来检

44、验数据传输的可靠性。在发送端可根据P的值对数据的奇偶置位或清零。通信协议中规定采用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置位,否则就清0。 ⑷ 栈指针,栈指针SP是一个8位特殊功能寄存器。它指示出堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H-1FH单元分属于工作寄存器区1-3,若程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值,SP的初始值越小,堆栈深度就可以越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。 除用软件直接改变SP值外,在执行PUSH,POP指令,各种子程序

45、调用,中断响应,子程序返回(RET)和中断返回(RETI)等指令时,SP值将自动调整。 ⑸ 数据指针,数据指针DPTR是一个16位特殊功能寄存器,其高位字节寄存器用DPH表示,低位字节寄器用DPL表示,既可以作为一个16位寄存器DPTR来处理,也可以作为两个独立的8位寄存器DPL和DPL来处理。 DPTR主要用来存放16位地址,当对64KB外部存储器寻址时,可作为间址寄存器用。可以用下列两条传送指令:MOVX A,@DPTR和MOVX @DPTR,A。在访问程序存储器时,DPTR可用作基址寄存器,有一条采用基址+变址寻址方式的指令MOVC A,@A+DPTR,常用于读取存放在程

46、序存储器内的表格常数。 ⑹ 端口P0-P3,特殊功能寄存器P0,P1,P2和P3分别是I/O端口P0-P3的锁存器。P0-P3作为特殊功能寄存器还可用直接寻址方式参与其它操作指令。 ⑺ 串行数据缓冲器,串行数据缓冲器SBUF用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。 ⑻ 定时器/计数器。MCS-51系列中有两个16位定时器/计数器T0和T1。它们各由两个独立的8位寄存器组成,共有四个独立的寄存器:

47、TH0,TL0,TH1,TL1。可以对这四个寄存器寻址,但不能把T0,T1当作一个16位寄存器来寻址。 表2-6 特殊功能寄存器地址表 SFR 字节 地址 位 地 址 D0 D1 D2 D3 D4 D5 D6 D7 P0 80 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 80 81 82 83 84 85 86 87 SP 81 DPL 82 D

48、PH 83 PCON 87 TCON 88 IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 88 89 8A 8B 8C 8D 8E 8F TMOD 89 TL0 8A TL1 8B TH0 8C TH1 8D P1 90 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 90 91 92 93 94 95 96 97 SCON 98 RI TI RB8 TB8 REN SM2 SM1 SM0 98 99 9A 9B

49、 9C 9D 9E 9F SBUF 99 P2 A0 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 A0 A1 A2 A3 A4 A5 A6 A7 IE A8 EX0 ET0 EX1 ET1 ES EA A8 A9 AA AB AC AF P3 B0 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 B0 B1 B2 B3 B4 B5 B6 B7 IP B8 PX0 PT0 PX1 PT1

50、 PS B8 B9 BA BB BC PSW D0 P — OV RS0 RS1 F0 AC CY D0 D1 D2 D3 D4 D5 D6 D7 ACC E0 E0 E1 E2 E3 E4 E5 E6 E7 B F0 F0 F1 F2 F3 F4 F5 F6 F7 ⑼ 其它控制寄存器。IP,IE,TMOD,TCON,SCON和PCON寄存器分别包含有中断系统、定时器/计数器、串行口和供电方式的控制和

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服