选择特殊符号
选择搜索类型
请输入搜索
所谓寻址方式就是单片机指令中提供的操作数的形式。也就是寻找操作数或操作数所在地址的方式。
立即数寻址又称立即寻址,即指令中直接给出操作数的寻址方式称为立即数寻址。在51系列单片机指令系统中,立即数用前面加"#"号的8位数表示(#data,如#30H)或16位数(#data16,如#2052H)表示。举例说明立即数寻址方式,以传送指令为例。
例:MOV A, #80H ;80H-->A
MOV DPTR, #2000H ;2000H-->DPTR
指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。
下面举例说明。
例:MOV A, 25H ;内部RAM的(25H)-->A
MOV P0, #45H ;45H-->P0 ,P0为直接寻址的SFR
MOV 30H,20H ;内部RAM的(20H)-->(30H)
以通用寄存器的内容为操作数的寻址方式称为寄存器寻址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。A寄存器可以寄存器寻址,又可以直接寻址(此时写作ACC)。直接寻址和寄存器寻址的差别在于,直接寻址是操作数所在的字节地址(占一个字节),寄存器寻址是寄存器编码出现在指令码中。寄存器寻址速度比直接寻址要快。除上面所指的几个寄存器外,其它特殊功能寄存器一律为直接寻址。
例:MOV A, R0 ;R0-->A,R0为寄存器寻址
MUL AB ;A×B-->BA,A,B为寄存器寻址
MOV B, R0 ;R0-->B,R0为寄存器寻址,B为直接寻址
PUSH ACC ;A的内容入栈,A为直接寻址
ADD A, ACC ;A为寄存器寻址,ACC为直接寻址
以寄存器中的内容为地址,该地址的内容为操作数的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器间接寻址的存储空间包括内部数据存储器和外部数据存储器。由于内部数据存储器共有128字节,因此用一字节的R0和R1可间接寻址整个空间。而外部数据存储器最大可达64K,仅R0或R1无法寻址整个空间,为此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同寻址64K字节范围。也可用16位的DPTR寄存器间接寻址64K字节存储空间。
在指令中,是对内部RAM还是对外部RAM寻址,区别在于对外部RAM的操作仅有数据传送指令,并且用MOVX作为操作助记符。
例:MOV @R0, A ;A-->以R0内容为地址的内部RAM中
MOVX @DPTR, A ;A-->以DPTR内容为地址的外部RAM中
由寄存器DPTR或PC中的内容加上A累加器内容之和而形成操作数地址的寻址方式称为变址寻址。变址寻址只能对程序存储器中的数据进行寻址操作。由于程序存储器是只读存贮器,因此变址寻址只有读操作而无写操作。在指令符号上采用MOVC的形式。
例:MOVC A, @A+DPTR ;(A+DPTR)-->A
MOVC A, @A+PC ; (PC)+1--PC ((A)+(PC))-->A
图4 MOVC A, @A+DPTR
图5 MOVC A, @A+PC
对位地址中的内容进行位操作的寻址方式称为位寻址。由于单片机中只有内部RAM和特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。位寻址是一种直接寻址方式,由指令给出直接位地址。与直接寻址不同的是,位寻址只给出位地址,而不是字节地址。
例:SETB 20H ;1-->20H位
MOV 32H, C ;进位Cy(即指令中的C)-->32H位
以当前程序计数器PC的内容为基址,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式称为相对寻址。相对寻址方式只修改PC值,故主要用于实现程序的分支转移。
例:SJMP 08H ;PC+2+08H-->PC (该指令为两字节,所以有PC+2)
cm 0pt; TEXT-INDENT: 17.65pt; LINE-HEIGHT: 125%; mso-char-indent-count: 1.47">对位地址中的内容进行位操作的寻址方式称为位寻址。原理与位寻址相似。
所谓寻址方式就是单片机指令中提供的操作数的形式。也就是寻找操作数或操作数所在地址的方式。在51系列单片机中,存放数据的存储器空间有4种:内部RAM、特殊功能寄存器SFR、外部RAM和程序存储器ROM。其中,内部RAM和SFR统一编址,外部RAM和程序存储器是分开编址的。为了区别指令中操作数所处的地址空间,对于不同存存储器的数据操作,采用不同的寻址方式。
单片机的主要应用领域 由于单片机有许多优点,因此其应用领域之广,几乎到了无孔不入的地步。单片机应用的主要领域有: 1) 智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级...
#include<reg51.h>#define uchar unsigned charuchar num,time,limit=2;sbit led1=P1^0;sbit key1=P2...
加减一加法器,通过P1口输入一个八位无符号数,P2口输入另
51系列单片机软件抗干扰设计
在提高单片机硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活,节省硬件资源,可靠性好等特点,越来越受到设计者的重视,本文主要从实际应用的角度阐述单片机系统软件抗干扰的具体实现方法。
基于51系列单片机的自动喷水系统..
① 项目摘要 摘 要 本系统由主要由四大部分组成:数据输入部分,数据显示部分,数据输出部分,数 据处理部分。数据输入部分的功能是把要采集的数据转化成数字信号传入数据处理 部分。数据显示部分的功能是把采集的数据显示出来。数据输出部分的功能是控制 电磁阀来进行外部温湿度的调节。数据处理部分的功能是把采集进来的数据进行分 析,输出要输出的信号控制数据的输出。 本系统的功能是采集温湿度并显示,从而控制电磁阀的输出,进而控制外面的温湿 度使得外面的温湿度适合植物的生长。 关键词:单片机,自动灌溉,温湿度, LED English Abstract ABSTRACT This system mainly consists of four parts: data input, data display, data output, data processing. The data input po
《51系列单片机及C51程序设计》首先详细介绍了51系列单片机的结构原理和系统设计,然后介绍了单片机调试软件KEIL51的应用及其调试技巧,目的在于使读者能够边学边用,为以后的使用奠定必要的基础。同时《51系列单片机及C51程序设计》还讲述了C51程序设计的基本语法、函数、数组和指针、结构、联合及枚举等内容,并给出大量例题,便于读者学习。
1. 8031CPU
2. 振荡电路
3. 总线控制部件
4. 中断控制部件
5. 片内Flash存储器
6. 片内RAM
7. 并行I/O接口
8. 定时器
9. 串行I/O接口
ATMEL 89系列 51单片机的应用区域
目前,ATMEL 51已被广泛用于:
· 打印机控制板
· 智能电表
· LED控制屏
· 医疗设备
89s51单片机
AT89S51是关国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读
程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序
存储器既可在线编程(ISP)也可)IJ传统方法进行编程及通用8位微处理器于单片芯片, ATMEL公司的功能强大,低价
位AT89S51单片机可为您提供许多高性价比的应川场合,可灵活应用于各种控制领域。
卞要性能参数:
·与MCS-51产品指令系统完全兼容
·4k字节在系统编程(ISP) Flash闪速存储器
·1000次擦写周期
.4. 0-5. 5V的工作电压范围
·全静态工作模式:OHz-33MHz
·三级程序加密锁
·128X8字节内部RAM
.32个可编程I/0口线
·2个16位定时/计数器
·6个中断源
·全双工串行Lh1RT通道
·低功耗空闲和掉电模式
.中断可从空闲模唤醒系统
·看门狗(WDT)及双数据指针
·掉电标识和快速编程特性
·灵活的在系统编程(iSP一字节或页写模式)
1.内部含Flash存储器
因此在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
89系列单片机的引脚是和80C51一样的,所以,当用89系列单片机取代80C51时,可以直接进行代换。这时,不管采用40引脚亦或44引脚的产品,只要用相同引脚的89系列单片机取代80C51的单片机即可。
89系列单片机采用静态时钟方式,所以可以节省电能,这对于降低便携式产品的功耗十分有用。
一般的OTP产品,一旦错误编程就成了废品。而89系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止,故不存在废品。
用89系列单片机设计的系统,可以反复进行系统试验;每次试验可以编入不同的程序,这样可以保证用户的系统设计达到最优。而且随用户的需要和发展,还可以进行修改,使系统不断能追随用户的最新要求。