独闷闷网

 找回密码
 立即注册
搜索
查看: 461|回复: 0
收起左侧

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

[复制链接]
发表于 2015-12-6 00:20:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 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的指令。比如:
#define  W_DATA  XBYTE[0x1000]
W_DATA=0X55;

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

乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2018-7-21 00:39 , Processed in 0.109248 second(s), 18 queries .

快速回复 返回顶部 返回列表