- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1)寄存器区 地址为00H~1FH的空间为寄存器区,共32个单元,分成4个组,每个组8个单元,符号为R0~R7,通过RS1和RS0的状态选定当前寄存器组,如图2-14中表格所示。任一时刻,CPU只能使用其中的一组寄存器。 (2)位寻址区 地址为20H~2FH的16个单元空间称为位寻址区,这个区的单元既可以进行字节操作,也可以对每1位单独操作(置“1”或清零),所以每一位都有自己的位地址。 (3)用户RAM区 地址为30H~7FH的80个单元空间是供用户使用的一般RAM区,对于该区,只能以单元的形式来使用(即字节操作)。 (4)特殊功能寄存器区 内部数据存储器的高128单元的地址为80H~FFH,在这128个单元中离散地分布着若干个特殊功能寄存器(简称SFR),也就是说,其中有很多地址是无效地址,空间是无效空间。 ① 累加器Acc。 累加器Acc简称A,常用于存放参加算术或逻辑运算的两个操作数中的一个,运算结果最终都存在A中,许多功能也只有通过A才能实现。 ② B寄存器。 B寄存器也是CPU内特有的一个寄存器,主要用于乘法和除法运算。也可以作为一般寄存器使用 ③ 程序状态字寄存器PSW。 程序状态字寄存器有时也称为“标志寄存器”,由一些标志位组成,用于存放指令运行的状态。 表2-7 MCS-51中PSW寄存器各位功能 CY:进位标志。在进行加法运算且当最高位(第7位)有进位时,或执行减法运算且最高位有借位时,CY为1;反之为0。 AC:辅助进位标志。在进行加法运算且当第3位有进位,或执行减法运算且第3位有借位时,AC为1;反之为0。 F0:用户标志位,可通过位操作指令将该位置1或清零。 RS1、RS0:工作寄存器组选择位,前面已介绍过。 PSW的第1位B1:保留位。 OV:溢出标志。在计算机内,带符号数一律用补码表示。在8位二进制中,补码所能表示的范围是?128~+127,而当运算结果超出这一范围时,OV 标志为1,即溢出;反之,为0。 P:奇偶标志。该标志位始终体现累加器Acc中“1”的个数的奇偶性。 ④ 数据指针DPTR。 数据指针DPTR是单片机中唯一一个用户可操作的16位寄存器,由DPH(数据指针高8位)和DPL(数据指针低8位)组成,既可以按16位寄存器使用,也可以将两个8位寄存器分开使用。 ⑤ I/O端口寄存器。 P0、P1、P2、P3口寄存器实际上就是P0口~P3口对应的I/O端口锁存器, 用于锁存通过端口输出的数据。 2.片内程序存储器 程序存储器主要用来存放程序,但有时也会在其中存放数据表(如数码管段码表等)。 地址为0003H~002AH的40个单元被均匀地分为5段,每段8个单元,分别作为5个中断源的中断地址区。具体划分如下: 0003H~000AH 外部中断0中断地址区,0003H为其入口地址 000BH~0012H 定时器/计数器0中断地址区,000BH为其入口地址 0013H~001AH 外部中断1中断地址区,0013H为其入口地址 001BH~0022H 定时器/计数器1中断地址区,001BH为其入口地址 0023H~000AH 串行中断地址区,0023H为其入口地址 知识点四 程序编写及相关指令 1.程序编写 (1)指令的基本格式 MCS-51单片机指令主要由标号、操作码、操作数和注释4个部分组成,其中方括号括起来的是可选部分,可有可无,视需要而定。 START: MOV A,#7FH ;将立即数送累加器A [标号] 操作码 [操作数] [注释] (2)汇编程序的基本结构为了使程序结构清晰明了,方便修改、维护,一般可按下面结构书写程序。 ORG 0000H ;复位入口地址 LJMP START ;转移到程序初始化部分START ORG 0003H ;外部中断0入口地址 LJMP WAIBU0 ;转移到外部中断0的服务程序WAIBU0 ORG 000BH RETI …… START: MOV A,#7FH ;初始化程序部分 …… MAIN: MOV P1,A ;主程序部分 …… LJMP MAIN ;循环执行主程序 DELAY: MOV R0,#0FFH ;子程序 …… RET WAIBU0:PUSH A ;中断服务程序 …… RETI 2.相关指令 本项目相关指令主要有:MOV、RR、RL、SET
文档评论(0)