只是一个宏定义DBYTE[30] 就是你定义的一个数组中的元素,简单的说就是用宏定义#define命名DBYTE[30]为g 追问 这个DBYTE[0x30-0x40]十一个数的随意赋值不会的影响任何端口的i/o使用,也不会影响其他的定时中断吧?? 追答 中断的端口是你自己定义的,不冲突就行,数组元素其实都对应一个指针
DBYTE[0x30]只是个数组而已在51系列中data,idata,xdata,pdata的区别data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。 追问 DBYTE函数功能是什么 返回值又是什么