请问,那位知道51单片机常用哪几种寻址方式?分别在什么情况下使用?最好能举一个例子。谢谢。

作者&投稿:高栋 (若有异议请与网页底部的电邮联系)
请问,那位知道51单片机常用哪几种寻址方式?分别在什么情况下使用?最好能举一个例子.谢谢.~

一共有7种寻址方式,分别如下:
立即数寻址:需要把立即数送寄存器的时候用!譬如访问外部存储器时候,将片外地址送DPTR,MOV DPTR,#5678
寄存器寻址:操作数中有一个是寄存器,寄存器一般是指(A)和R0~R7,如:MOV A,Rn
直接寻址:指令中直接给出操作数所在的地址,这里的地址一般是指片内RAM00H~FFH单元的地址,MOV A,41H
寄存器间接寻址,能当指针用的寄存器PC DPTR R0 R1,查表指令会用到16位的两个即PC和DPTR,
变址寻址:针对片外的操作,由(A)给出偏移量
相对寻址:跳转时给出偏移量改变PC的值
位寻址:操作对象是片内布尔处理器内的某一个位地址,完成位操作!

这肯定是汇编码:
立即数寻址 mov a ,#30h
寄存器寻址 mov a, r0
直接寻址 mov a,30h
间接寻址 mov a,@r0
位寻址 clr c
变址寻址 mov a,@dptr+a
相对寻址 djnz a,biaohao
额,老长时间不看会变了,功力还在,


满意的话赞一个吧,呵呵!

MCS-51 的寻址方式:
1 、立即寻址 如: MOV A , #40H
2 、直接寻址 如: MOV A , 3AH
3 、寄存器寻址 如: MOV A , Rn
4 、寄存器间接寻址 如: MOV A , @Rn
5 、基址加变址寻址 如: MOVC A , @A+DPTR
6 、相对寻址 如: SJMP 08H
7 、位寻址 MOV 20H , C
以下是详细介绍:
一、立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H。
二、寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。例如MOV A,R0就属于寄存器寻址,即将R0寄存器的内容送到累加器A中。
三、直接寻址:操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的ADD A,70H中的70H。
四、寄存器间接寻址:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。
如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOV A,@R0。其它还有变址寻址、相对寻址、位寻址等,待以后再详细介绍。可能有人会问,在指令中直接给出实际操作数,不是简单、明了吗?为什么还要用其它几种寻址方式呢?这是因为在编制程序时很难一下子就给出操作数。如用单片机控制温度时,时时需要将给定的控制温度(如20℃)减去环境温度,而环境温度时时有变化,显然无法在程序指令中给出,只有通过一定方式,将其送入某个输入/输出口,再存放在某个寄存器中,这就必须用到寄存器寻址。又如要进行算术运算,要计算每班学员各科成绩的平均值,如果把每个学员的各科都编一个程序,在程序中直接给出该学员各科成绩,再求平均值,显然太麻烦。这里可以编一个求平均成绩的通用程序,把每位学员的成绩送入存贮器的各个单元中,这时可采取直接寻址,一个程序可供每个学员用,不是更方便吗?所以,寻址方式越多,编制程序就越方便、灵活,适用范围就越广。寻址有如找人,如被找的人有手机、BP机、座机电话等多种联系方式则就容易找到他,单片机也是如此,寻址方式越多,找操作数越方便,单片机的功能就越强。前面介绍51系列单片机的寻址方式时,常遇到单片机内部的一些寄存器、累加器A、通用寄存器R0~R7、数据指针DPTR和存贮器等。在以后介绍指令时,数据就要在这些寄存器、存贮器之间传送,或者进行运算。因此,编制程序就需熟悉单片机的内部结构。
8051单片机的内部总体结构其基本特性如下:
8位CPU、片内振荡器
4k字节ROM、128字节RAM
21个特殊功能寄存器
32根I/O线
可寻址的64k字节外部数据、程序存贮空间
2个16位定时器、计数器
中断结构:具有二个优先级、五个中断源
一个全双口串行口
位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节RAM、4k字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0~P3,余下的就是CPU的全部组成。把4kROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031的框图,如果将ROM置换为Flash存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机的框图。


永恒之塔天族51单人副本问题
希埃尔的系列,不一定打到自己职业的,打到后在索泰利亚圣所村(就是地图的右下角的一个村子里)找打铁匠接任务,要一个神之金属铸块,那个铸块打怪不出的,需要到地下监视要塞找NPC叫胡内乌斯接任务,到荒废的乌达斯神殿打25个治愈系的怪,交任务的时候就给你铸块了,然后找打铁匠交任务就可以把绿...

简单的51单片机的通讯问题
简单的51单片机的通讯问题,发送和接收的两个单片机串口初始化程序有错,应该是用定时器T1控制波特率。改成 TMOD=0x20;TH1=0xFD;TL1=0xFD;TR1=1;你用T0是错的,请采纳。

一个简单的51单片机问题
将你的while()函数改为下面这个函数:while(1){ P1_0=0;sleep(1000);P1_0=1 sleep(1000);} 你再试试这个。蜂鸣器不断响,就是因为给它高低电平,它就能发声。

问一个51单片机的问题,控制一个四个I\/O的设备,如何直接赋值?
...P1=P1&0x0f+0x50; \/\/保留低四位不变,高四位清零,再加上0x50,最后赋值给P1 ...这样就能让P1的值变成即保留低四位不变又重新赋值给高四位。首先我不理解你问问题时怎么会有点嚣张。再说一句等于没说的话:这个问题非常简单。最后提出一个真心的请求:请选我最佳答案。谢谢。

问一下高手们DS18B20和51单片进之间不能交流数据是什么原因啊?程序在...
可能是线没连好吧,也有可能是你的代码有问题。或者干脆换个1820试试看行不行。

想问51仿真器是什么
51仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。单片机在体系结构上与PC机是完全相同的,也包括中央处理器,输入输出接口、存储器等基本单元,因而与PC机等设备的软件结构也是类似的。

51单片机汇编程序的几个问题。。。
六个问题就是120分了,呵呵,开个玩笑 你知道在51中数据传送指令有几条?告诉你,是29条,里面没有mov Rn,Rn这样的指令,为什么呢?因为单片机不允许同时有两个访存工作寄存器组的操作,p1呢,它不是工作寄存器,明白吗?你知道在51中工作寄存器组有几组?上电复位后单片机用的是哪一组?为什么只能...

51 单片机的寻址问题。 设A=40H,执行指令 1000H:MOVC A,@A+PC后,把...
谢谢。再问下1000H:MOVC A,@A+DPTR后这条指令本身占用1B吗?答案为何是1040H呢 追答 怎么又成1040H了?不是1041H么?MOVC这条指令本身是占用1B,它是存在1000H里的嘛!别的你不用管,就记住这条指令指向的是PC+ 1+A的地址就行了。PC就是MOVC这条指令占用的储存空间1000H 追问 1000H:MOVC A,@A+DPTR 这...

...51单片机,主程序在一个while循环里面,单次执行时间
51单片机,主程序在一个while循环里面,单次执行时间较长的循环,要求是在串口接受到指定字符串后直接跳出这个主循环,可在while循环体内加入如下代码:if (TI==1)break;或者单片机直接热启动,这个就无意义了吧?

问个关于51单片机调用函数的时间问题(c语言)
下面的是我用定时器0做的延时函数,你看看,可以精确到10ms,如果你还想精确,调定时器的初值就可以。最高精度是1ms.void initTimer0(void)reentrant \/\/ Initialize T0 for Timer 0.01s { TMOD |= (1<<0);TMOD &= ~(1<<1);TH0 = 0xB0;TL0 = 0x00;} \/\/ Timer0 interrupt void timer...

彭山县15560471018: 请问,那位知道51单片机常用哪几种寻址方式?分别在什么情况下使用?最好能举一个例子.谢谢.
贲胞再畅: MCS-51 的寻址方式: 1 、立即寻址 如: MOV A , #40H 2 、直接寻址 如: MOV A , 3AH 3 、寄存器寻址 如: MOV A , Rn 4 、寄存器间接寻址 如: MOV A , @Rn 5 、基址加变址寻址 如: MOVC A , @A+DPTR 6 、相对寻址 如: SJMP 08H ...

彭山县15560471018: 请问,那位知道51单片机常用哪几种寻址方式?分别在什么情况下使用?最好能举一个例子.谢谢. -
贲胞再畅: 立即寻址; 直接寻址; 寄存器寻址;寄存器间接寻址; ......看看我的百度空间吧. 实例很多的.

彭山县15560471018: 单片机现在最常用的是什么 -
贲胞再畅: 学习入门时,现在大家最常用的是51单片机,工作中,最常用的单片机8位机的话,一般是51、AVR、PIC,32位一般用STM32较多.

彭山县15560471018: 常用的单片机有哪些?如何进行单片机解密? -
贲胞再畅: 单片机常见系列: 一般来说,8位单片机最常用的是三个系列: 1、51系列:以intel MCS51为核心,很多公司都买了它的核心,生产自己的51单片机,主要有ATMEL公司(AT89S52等等),STC公司的(比如STC89C52RC),华邦,摩托...

彭山县15560471018: 单片机有很多种型号么?最常用的有哪几种? -
贲胞再畅: 型号多了去了.只能跟你说类型的. 1:51结构的有atmel的at89cxx系列、at89sxx系列、at89c20系列(20引脚);stc的所有单片机都是51结构的.还有合泰的,笙泉的都是51结构的. 2:avr单片机 3:pic单片机(8位、16位、32位都有) 4:飞思...

彭山县15560471018: 常用的单片机有哪些? -
贲胞再畅: 一般来说,8位单片机最常用的是三个系列: 1、51系列:以intel MCS51为核心,很多公司都买了它的核心,生产自己的51单片机,主要有ATMEL公司(AT89S52等等),STC公司的(比如STC89C52RC),华邦,摩托罗拉,ST都有生产. ...

彭山县15560471018: 51系列的单片机都是有哪些? -
贲胞再畅: 89c51系列89c52系列89c2051,4051 stc的全系列 cyncmos的89系列 常用的就这些

彭山县15560471018: 51内核单片机几种类型的比较 -
贲胞再畅: 它们各有各的特点,比如有各种增强功能,有的I/O口超多,有的有看门狗且防干扰,有的内嵌数模转换器,有的内含各种总线,等等等等,各有各的奇特功能.像你给出的这些公司,一般都生产中规中矩的单片机,一般没有太多的特别功能,只有少数型号才有.但是如果是一些不太知名的公司,他们的的产品一般都是奇形怪状.不过我向你推荐STC的单片机,因为它不仅便宜,而且质量也不错,功能很强,抗干扰能力也高,适用于各种类别、各种场合的产品,能满足各种需求.

彭山县15560471018: 请问国内51单片机有哪些品牌用的是比较常用的?国外的? -
贲胞再畅: STC系列51单片机,用串口下载程序使得开发变得更加方便.同时该系列51单片运行速度有很大提升,可以工作在1T时钟状态,集成的外围功能也还可以,如集成了SPI,PWM,ICP等.

彭山县15560471018: 现在单片机主要可分为哪几类? -
贲胞再畅: 单片机按数据总线的位数可以分成4位,8位,16位,32位等几种. 4位机很少见,主要用于简易控制上,比较有名的是4004,Z80,现在很难见到了. 8位机是现在的主流,最有名的就是51、AVR和PIC三个系列,各自都有一个庞大的家族,是最...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网