jianhong_wu 发表于 2015-12-6 00:20:52

51单片机的C51编程时的XBYTE有什么用途?已解答。

本帖最后由 jianhong_wu 于 2015-12-6 00:22 编辑

Yorke-大连:
51单片机的C编程时的XBYTE有什么用途?

★坚鸿-深圳:
XBYTE是定义外部地址,这个不重要。重要的是,你只需大概有个印象的是,当往外部地址读写数据时,51单片机会默认P0口和P2口,P3.6口,P3.7口这18根IO口组合使用,是单片机内部集成了的功能。比如当往XBYTE定义的外面某个地址赋值时,P3.7或P3.6口会非常隐蔽地默认产生类似时钟信号的电平变化,它对应汇编语言的movx指令,详情你可百度查查movx的指令。比如:
#defineW_DATAXBYTE
W_DATA=0X55;

仅仅执行上述简单的语句,此时单片机会非常隐蔽地让P0口和P2口,P3.6口,P3.7口这18根IO口自动发生时序变化,所以只需要知道P3.7和P3.6口会自动发生电平变化就可以了,细节的具体时序变化等用到的时候在深入研究,P3.7和P3.6此时在这里起到输出读写指令电平变化的时序作用。其实对于51单片机,这个功能几乎就是一个鸡肋,可能连鸡肋都不如,因为几乎很少会在项目上用到此功能,因为现在的单片机品种太丰富了,大容量的单片机比比皆是,几乎很少用到外部扩展地址的。

页: [1]
查看完整版本: 51单片机的C51编程时的XBYTE有什么用途?已解答。