keil c 中的sfr定义和defne的定义有什么区别
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 16:45:07
keil c 中的sfr定义和defne的定义有什么区别
如题
如题
sfr 是KEIL中用来定义硬件寄存器地址的关键字,具有定义硬件特性.举个例子:
sfr P0 =0x80
(C语言,这样就定义了51系列MCU中0x80地址,在编程时可以用P0符号代替地址0x80,具有定义硬件特性)
在汇编中和DATA相似,举例子:
P0 DATA 80H
(汇编语言,说明和上面一样)
define 是KEIL中预处理命令,作为define后面字串的文本代替,一般没有定义硬件的特性,在使用时,前面必须加上 # 号,编译器在编译时,先查找代码中的宏定义自串,然后在用在宏后面的数据去替代,例子:
#define pi 3.1415926
(以后使用中,可以用pi来代替3.1415926)
在使用define定义宏的时候,是没有数据类型指定的,而在调用的时候被相关数据类型转换.
Good Luck.
sfr P0 =0x80
(C语言,这样就定义了51系列MCU中0x80地址,在编程时可以用P0符号代替地址0x80,具有定义硬件特性)
在汇编中和DATA相似,举例子:
P0 DATA 80H
(汇编语言,说明和上面一样)
define 是KEIL中预处理命令,作为define后面字串的文本代替,一般没有定义硬件的特性,在使用时,前面必须加上 # 号,编译器在编译时,先查找代码中的宏定义自串,然后在用在宏后面的数据去替代,例子:
#define pi 3.1415926
(以后使用中,可以用pi来代替3.1415926)
在使用define定义宏的时候,是没有数据类型指定的,而在调用的时候被相关数据类型转换.
Good Luck.
keil c 中的sfr定义和defne的定义有什么区别
51中 sfr定义与define定义的区别
REG51.H 里的 sfr P0=0x80; 在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中s
REG51.H 里的 sfr P0=0x80; 是什么意思? 在keil中,sfr与sfr16用于定义8051的特殊功能
C语言定义变量的同时赋予数值和先定义后赋值有什么区别
keil c 怎样定义一个常数
keil c说 xbyte 没定义
51单片机SFR的定义问题
物理中的决定式和定义式有什么区别?
物理中的定义和物理意义有什么区别?
数学中的判定,性质和定义有什么区别,
物理学中的定义式和决定式有什么区别?