首页 51单片机汇编语言教程:7课单片机的特殊功能寄存器

51单片机汇编语言教程:7课单片机的特殊功能寄存器

举报
开通vip

51单片机汇编语言教程:7课单片机的特殊功能寄存器 51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 51 单片机汇编语言教程:第 7课--单片机的特殊功能寄存器 (基于 HJ-1G、HJ-3G 实验板) 通过前面的学习,我们已知单片机的内部有 ROM、有 RAM、有并行 IO 口,那么,除了这 些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对 单片机内部的寄存器作一个...

51单片机汇编语言教程:7课单片机的特殊功能寄存器
51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 51 单片机汇编语言教程:第 7课--单片机的特殊功能寄存器 (基于 HJ-1G、HJ-3G 实验板) 通过前面的学习,我们已知单片机的内部有 ROM、有 RAM、有并行 IO 口,那么,除了这 些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对 单片机内部的寄存器作一个完整的功能分析吧! 下图中我们能看出,在 51 单片机内部有一个 CPU 用来运算、控制,有四个并行 IO 口, 分别是 P0、P1、P2、P3,有 ROM,用来存放程序,有 RAM,用来存放中间结果,此外还有定 时计数器,串行 IO 口,中断系统,以及一个内部的时钟电路。在一个 51 单片机的内部包含 了这么多的东西。 单片机内部结构图 对上面的图进行进一步的分析,我们已知,对并行 IO 口的读写只要将数据送入到对应 IO 口的锁存器就能了,那么对于定时计数器,串行 IO 口等怎么用呢?在单片机中有一些独立 的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触 过 P1 这个特殊功能寄存器了,还有哪些呢?看下 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 1 51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 表 1 51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 特殊功能寄存器地址映象表(一) 特殊功能寄存器地址映象表(二) 特殊功能寄存器地址映象表(三) 下面,我们介绍一下几个常用的 SFR,看图 2。 ACC:累加器,常常用 A 表示。这是个什么东西,可不能从名字上理解,它是一个寄存器, 而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中 一个数一定是在 ACC 中的缘故吧。它的名字特殊,身份也特殊,稍后我们将学到指令,能发 51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 现,所有的运算类指令都离不开它。 2、B:一个寄存器。在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW:程序状态字。这是一个很重要的东西,里面放了 CPU 工作时的很多状态,借此,我 们能了解 CPU 的当前状态,并作出对应的处理。它的各位功能请看表 2 表 2 PSW 也称为标志寄存器,了解这个对于了解单片机原理非常的重要,存放各有关标志。其结 构和定义如下: 下面我们逐一介绍 sfr 各位的用途 (1)CY:进位标志。用于表示 Acc.7 有否向更高位进位。8051 中的运算器是一种 8位的运 算器,我们知道,8位运算器只能表示到 0-255,如果做加法的话,两数相加可能会超过 255, 这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。 例:78H+97H(01111000+10010111) (2)AC:辅助进位标志也叫半进位标志。 用于表示 Acc.3 有否向 Acc.4 进位 例:57H+3AH(01010111+00111010) (3)F0:用户标志位,由我们(编程人员)决定什么时候用,什么时候不用。 (4)RS1、RS0:工作寄存器组选择位。这个我们已知了。 RS1、RS0 = 00 —— 0区(00H~07H) RS1、RS0 = 01 —— 1区(08H~0FH) RS1、RS0 = 10 —— 2区(10H~17H) RS1、RS0 = 11 —— 3区(18H~1FH) (5)0V:溢出标志位。 表示 Acc 在有符号数算术运算中的溢出,什么是溢出我们稍后再谈 吧。 (6)P:奇偶校验位:它用来表示 ALU 运算结果中二进制数位“1”的个数的奇偶性。若为 奇数,则 P=1,不然为 0。 例:某运算结果是 78H(01111000),显然 1的个数为偶数,所以 P=0。 4、DPTR(DPH、DPL):数据指针,能用它来访问外部数据存储器中的任一单元,如果不用, 也能作为通用寄存器来用,由我们自已决定如何使用。16 位,由两个 8 位寄存器 DPH、DPL 组成。主要用于存放一个 16 位地址,作为访问外部存储器(外 RAM 和 ROM)的地址指针。 5、P0、P1、P2、P3:这个我们已经知道,是四个并行输入输出口的寄存器。它里面的内容 对应着管脚的输出。 6、SP:堆栈指针。(专用于指出堆栈顶部数据的地址。) 堆栈介绍:日常生活中,我们都注意到过这样的现象,家里洗的碗,一只一只摞起来, 51 单片机汇编语言教程-由慧净助学会员收集整理 (全部 28课) 推荐使用慧净 51实验板。推荐 51学习网WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 最晚放上去的放在最上面,而最早放上去的则放在最下面,在取的时候正好相反,先从最上 面取,这种现象我们用一句话来概括:“先进后出,后进先出”。请大家想想,还有什么地方 有这种现象?其实比比皆是,建筑工地上堆放的砖头、材料,仓库里放的货物,都是“先进 后出,后进先出”,这实际是一种存取物品的规则,我们称之为“堆栈”。 在单片机中,我们也能在 RAM 中构造这样一个区域,用来存放数据,这个区域存放数据 的规则就是“先进后出,后进先出”,我们称之为“堆栈”。为什么需要这样来存放数据呢? 存储器本身不是能按地址来存放数据吗?对,知道了地址的确就能知道里面的内容,但如果 我们需要存放的是一批数据,每一个数据都需要知道地址那不是麻烦吗?如果我们让数据一 个接一个地放置,那么我们只要知道第一个数据所在地址单元就能了(看图 2)如果第一个 数据在 27H,那么第二、三个就在 28H、29H 了。所以利用堆栈这种办法来放数据能简化操 作。 那么 51 中堆栈什么地方呢?单片机中能存放数据的区域有限,我们不能够专门分配一块 地方做堆栈,所以就在内存(RAM)中开辟一块地方,用于堆栈,但是用内存的哪一块呢? 还是不好定,因为 51 是一种通用的单片机,各人的实际需求各不相同,有人需要多一些堆 栈,而有人则不需要那么多,所以怎么分配都不合适,怎样来解决这个问题分不好干脆就不 分了,把分的权利给用户(编程者),根据自已的需要去定吧,所以 51 单片机中堆栈的位置 是能变化的。而这种变化就体现在 SP 中值的变化,看图 2,SP 中的值等于 27H 不就相当于 是一个指针指向 27H 单元吗?当然在真正的 51 机中,开始指针所指的位置并非就是数据存 放的位置,而是数据存放的前一个位置,比如一开始指针是指向 27H 单元的,那么第一个数 据的位置是 28H 单元,而不是 27H 单元,为什么会这样,我们在学堆栈命令时再说明。其它 的 SFR,我们在用到时再介绍。 51 实验板推荐(点击下面的图片可以进入下载资料链接) HJ-1G HJ-3G
本文档为【51单片机汇编语言教程:7课单片机的特殊功能寄存器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_874869
暂无简介~
格式:pdf
大小:651KB
软件:PDF阅读器
页数:5
分类:互联网
上传时间:2010-11-24
浏览量:62