51单片机,使用汇编语言,访问内部数据存储单元时,使用什么指令

作者&投稿:殷勤嵇 (若有异议请与网页底部的电邮联系)
51单片机访问片内数据存储器某单元的内容用c语言怎么写???~

方法1:
char data *p; //定义一个指向片内RAM地址的指针
p = 0x30; //片内RAM地址为0x30
*p = 0x12; //向0x30内写入立即数0x12

方法2:
#include
char x;

x = DBYTE[0x30]; //将片内RANM地址0x30的内容赋给变量x
DBYTE[0x30] = 0x12; //向0x30内写入立即数0x12

方法3:采用 _at_ 直接声明变量所处地址,但该变量必须是全局变量。
char data x _at_ 0x30 ; //x为char型全局变量,地址位于data区地址0x30
。。。。。

x = 0x12; //向0x30内写入立即数0x12

楼上的程序,有错,片外的数据,已经被覆盖

MOV DPTR, #3000H ;设定片外地址
MOVX A, @DPTR ;取来数据到A
XCH A, 30H ;和片内30H单元交换
MOVX @DPTR, A ;送出到片外

END

51单片机访问内部数据存储单元指令是:
1、访问内部寄存器
MOV A,direct(比如30H)
MOV direct,A
MOV direct,direct
MOV A,@R0
ADD A,direct
ADDC A,dIrect
SUBB A,direct
等等
2、访问内部扩展存储器
MOVX A,@R0
MOVX @R0,A
MOVX A,@DPTR
MOVX @DPTR,A

51单片机,使用汇编语言,访问内部数据存储单元时,使用什么指令
答:51单片机访问内部数据存储单元指令是:1、访问内部寄存器 MOV A,direct(比如30H)MOV direct,A MOV direct,direct MOV A,@R0 ADD A,direct ADDC A,dIrect SUBB A,direct 等等 2、访问内部扩展存储器 MOVX A,@R0 MOVX @R0,A MOVX A,@DPTR MOVX @DPTR,A ...

C51单片机用的是C语言还是汇编语言?谢谢
答:两种语言都可以,因为最后烧写到芯片中的是二进制文件,该二进制文件由编辑器(如KEIL)编译连接C语言源码,或者汇编语言源码获得

传统51单片机是通过什么口访问内部扩展ram的?
答:在汇编语言里使用MOVX来表示访问扩展RAM部分,C语言在定义的时候使用xdata关键字,其实是一回事。51的外部访问地址空间是连续的,也就是说即使在IO口上挂接其他设备,这个设备也可以作为外部地址空间的一部分从而通过访问特定的地址来获取数据

51单片机编程题,用汇编语言怎么做?
答:在8051单片机的时钟频率为6MHz,那么定时器的计数脉冲周期就是 2uS;sbit CP=P1^0;void Timer0_init(){ TMOD |=0x01; //T0定时器,方式1,采用16位定时器 TH0 = (65536-500)/256; //定时器装初值500, 即 1000uS 中断一次 TL0 = (65536-500)%256;EA=1; ET0=1; TR0=1;} ...

c51单片机中如何用汇编语言编写流水灯
答:51单片机用汇编语言编写流水灯程序,就是控制多个LED ,使其在特定时间间隔内,只有一个LED 发光,其他熄灭,用这种方式顺序移动点亮LED的位置,就形成了流水灯的效果。以下是程序:;假设晶振12MHZ,P1控制8个LED低电平亮 ;启动入口=== ORG 0000H;复位启动 AJMP START;ORG 001BH;T1中断 AJMP T1INT;...

c51单片机控制交通灯要求用汇编语言
答:// 51单片机控制交通灯要求用汇编语言,仿真实例,可以参考一下 SNF EQU 00H ; 南北通行标志位 EWF EQU 01H ; 东西通行标志位 URF EQU 02H ; 紧急事件标志位 ORG 0000H LJMP MAIN ; 上电转主程序 ORG 000BH ; 定时中断入口 LJMP DSZD ORG 0003H ...

在C51语言中如何嵌入汇编语言
答:keil C 语言中嵌入汇编语言进行混合编程,方法如下:1、在C 文件中要嵌入汇编代码片以如下方式加入汇编代码 pragma ASM ; Assembler Code Here pragma ENDASM 2、在Project 窗口中包含汇编代码的C 文件上右键,选择“Options for ...”在弹出的对话框中,点击右边的 “Generate Assembler SRC File”和...

51单片机中汇编语言如何调用C的子程序?
答:我的程序是KEIL编译的,如下 先申明 EXTRN CODE (_Send_CRC) ;Send_CRC是C中的函数,汇编中加了_调用的时候 LCALL _Send_CRC 如果要使用C中的变量,那么CODE变成相应的DATA,XDATA等

51单片机的汇编指令是什么?
答:在51单片机汇编语言中DPTR只有加1指令即:INC DPTR,减1指令是没有的,所以需要用户自己来编制,以下是具体代码:DPTRDEC:CLR C MOV A,DPL SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A RET 编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算...

用51单片机汇编语言检测上升沿和下降沿
答:bit old_bit;输入端电平记忆 unsigned char low_high;上升下降沿标志,0=无变化,1=上升沿,2、下降沿 void io_rest(void){ if(old_bit=!io_inp){ old_bit=io_inp;if(io_inp=1)low_high=1;else low_high=2;} } void main(void){ old_bit=io_inp=p2^1;while(1){ low_high=0;...