已知XA等于B其中A等于;A=25H,B=3FH,指令MUL AB执行后寄存器·A,B的值是多少?

  1. 十进制整数转换2,8,16
    小数部分:乘基取整(小数部分有精度要求)

  2. 2,8,16进制转换10进制

2->8 合三为一(三位二进制为一位八进制,从小数点起取三位)

原码:符号位1+真值位7

反码:正数的反码与原码相同。负数的反码,原码除符号位不变,其余位逐位取反。

补码 :正数的补码与原码相同,负数的补码由其原码求得反码后再在末位+1。

BCD码:四位二进制表示一位十进制(8421)

  1. EA (31) 允许信号输入端/编程电压输入端,EA=1,允许访问片内程序存储器,=0只允许访问片外程序存储器。

    PSEN (29) ROM读选信号输出引脚,低电平有效。

    ALE/PROG (30) 地址锁存允许信号输入端/编程脉冲输入端。

PSW 8位特殊功能寄存器
PC 程序计数器 16位指针
DPTR 数据指针 16位地址寄存器
SP 堆栈指针 堆栈区栈顶地址

2.时钟周期 S 1个时钟周期=2个震荡周期 1/6μs
3.机器周期 1个机器周期=6个时钟周期 1μs
4.指令周期 以机器周期位单位,根据指令不同可包含1~4个机器周期。

数据缓冲区增加部分(特殊功能寄存器区SFR)

Rn | 当前工作寄存器组R0~R7中的一个寄存器
Ri | 当前工作寄存器组R0或R1中的一个
rel | 相对地址偏移量
$ | 指代本条指令的源地址
bit | 内部存储器中可寻址位的位地址
(X) | X为寄存器名或储存单元地址,(X)表示其中存储的内容
((X)) | 表示以该寄存器或存储单元中的内容为地址的另一存储单元中的内容
<- | 箭头左边内容被右边内容取代

RL A 循环左移 //执行带进位的循环移位指令前,必须给CY置位或清零

  • 一、概要 1、数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算...

  • 的最小系统 存储器概述 存储器分类 ROMROM是只读存储器, 具有非易失性,即掉电后其上的信息...

  • 计算机系统漫游 代码从文本到可执行文件的过程(c语言示例):预处理阶段,处理 #inlcude , #defin...

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿: 前言: 排版 ...

  • 我很听话,从小认真读书,不沉迷追星,不沉迷游戏,考重点高中考尖子班,考重点大学,考公务员,都是父母想要的样子。 我...

  • 文学 科学 植物 人心 ——读《草木缘情》 育才中学八年级十五班 曹乾舟 读完了这本《草木缘情》心中顿生感慨,植...

}

8051有21个特殊功能寄存器,其中大部分是8位的,还有一些是16位的。我们对51单片机的操作实质是对特殊功能寄存器的操作。SFR是我们操作的对象,对他们进行读和写就是在操作51单片机。

PSW(程序状态字寄存器):保存程序在执行过程中一些状态。

CY:进位位CY是在执行加法(减法)时,如果第7位有进位(借位),则将CY置1。

AC:辅助进位位AC,是指第3位向第4位有进位(借位)时,将AC置1.

F0:是用户标志位,留给我们用的

RS1和RS0是工作寄存器组选择位,由RS1和RS0控制选择哪一组工作寄存器工作。

OV:溢出标志位,在加减法运算的过程中,当第6位或者第7位其中的某一位有进位的时候,OV置1.

即第6位进位和第7位进位的异或(D6⊕D7)。

—:这个是保留位,在一些书中也写作是F1。和F0位差不多

P:奇偶校验位,8051进行的是偶校验。即当累加器ACC的内容中1的个数是奇数个,那么P就被置1,否则清零。

寄存器B:在乘除法运算中与累加器A配合使用。MUL AB把累加器A和寄存器B中的8位无符号数相乘,结果的高8位存在寄存器B中,低8位存在累加器A中。DIV AB用B除以A,把商存在A中,余数存在B中。在不做乘除法运算时,B还可以作为通用寄存器来使用。

累加器A:8051的大多数指令都需要使用累加器A,他是使用频率最高的寄存器。外部存储器的读写必须使用A。

堆栈指针sp:堆栈指针存放当前栈的栈顶指针。数据在进栈之前SP先加1,然后数据进栈;数据在出栈时,先将数据弹出,然后SP减1。51的栈是向上生长的。对于8051来说,栈是被放在内部的RAM中,因此栈的最大地址是7FH。在系统复位后SP的初始值是07H。

数据指针DPTR:数据指针是一个16位的寄存器。可分为DPL和DPH两个8位的寄存器。它是唯一一个直接可以做16位数据操作的寄存器。例如:MOV DPTR ,#1000H。

端口寄存器:即就是P0到P3这四个特殊功能寄存器。所有的端口都可以位寻址(支持位操作)。也就是说引脚的操作本质是对其内存映射以后的特殊功能寄存器进行的操作。

中断允许寄存器:(IE)8051拥有中断系统,他可以触发5个中断源,以及两个中断优先级(即就是最多允许两层的中断嵌套)。

EA:控制中断的总开关,EA置1时中断总允许打开。否则中断关闭。

ET2:启用/禁用定时器2的溢出或捕捉中断(仅对于8052)

ES :启用/禁用串行端口中断

ET1 :启用/禁用定时器1溢出中断

EX1 :启用/禁用外部中断1

ET0 :启用/禁用定时器0溢出中断

EX0 : 启用/禁用外部中断0

中断优先级寄存器:(IP)8051的中断有两个中断优先级,默认的优先级从高到低是:外部中断0,定时/计数器0,外部中断1,定时/计数器1,串行口,(8052有定时/计数器2)。

当把相应的位置1时,优先级变高,置0时,优先级变低。当全为1或者全为0时,优先级按照默认的优先级来执行。

(IP的每个位名字和IE寄存器每个位是相似的)

定时器控制寄存器(TCON):

TF1(TF0):定时/计数器T1(TF0)的溢出标志,T1(T0)计数满后,该位由硬件置1.并向CPU发出中断请求。若CPU开放该中断,则进入中断服务子程序,并由硬件将该位清0.

TR1(TR0):T1(T0)的运行控制位。用软件控制,置1时,启动T1(T0);清0时,停止T1(T0)。

IE1(IE0):外部中断1(0)的中断标志位。置1时,向CPU发出中断请求。

IT1(IT0):外部中断1(0)的中断触发方式选择位。ITx = 1时,设置为边沿触发方式(下降沿);ITx = 0时,设置为电平触发方式(低电平)。在边沿触发方式下,CPU在响应中断请求之后,会由硬件将IEx清0.

定时器方式选择寄存器:(TMOD)该寄存器不能位寻址,只能整个字节操作。

其中高4位是控制定时器T1的,低4位是控制定时器T0的。

则INT0引脚为高电平时且TR0置位,启动定时器T0;

则INT1引脚为高电平时且TR1置位,启动定时器T1。

则TR0置位,启动定时器T0;

则TR1置位,启动定时器T1。

C/T:定时/计数器方式选择位,C/T = 1时,工作在计数器模式下;当C/T = 0时。工作在定时器模式下。

M1和M0:定时/计数器工作方式选择位。

8051系列单片机的定时/计数器加1工作方式,因此需要将定时/计数的初值送到T0(T1)。

T1和T0是两个16位的定时器,但是不能直接进行16位数据的读和写,只能分成两个8位来进行读和写操作。例如想给T1设置初值为0C89H,指令书写应该如下:

串行口控制寄存器(SCON):

SM0和SM1是串行口4种工作方式的选择位,它们控制串行口工作在哪种方式之下。

SM2是模式2和模式3的多机通信控制位。

REN :允许串行口接受位,REN = 1允许接受;REN = 0禁止接受,由软件置位或清零。

TB8:在方式2和3,作为第9位数据发送,在双机通信中常作为奇偶校验位,在多机通信中,常作为数据帧或地址帧的标识,TB8 = 1为地址帧,TB8 = 0为数据帧。

RB8:在模式2和3下,为接收到的第9位数据。

TI:发送中断标志位(中断源),硬件置位,软件清零。

RI:接受中断标志位(中断源),硬件置位,软件清零。

串行口作为一个中断源,中断入口地址只有一个(0023H),当用中断方式进行发送和接受时,需要查询是TI还是RI引发的中断请求。

串行数据缓存器(SBUF):实际上SBUF是两个在物理书独立的发送,接受缓冲器,可以同时发送,接收数据。两个缓冲器共用一个字节地址99H。可以通过对SBUF的读和写来进行区分是哪一个寄存器。

}

我要回帖

更多关于 已知XA等于B其中A等于 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信