我是单片机入门菜鸟,想请教单片机高手一个问题!

sfr P1=ox90;
sbit P1_1=ox91;
上面那两个语句我有点不能理解,P1端口的地址值是ox90,是一个八位端口,但是为什么ox91却是P1.1端口呢?ox91应该是一个字节的地址值啊。难道说单片机的一个地址值只对应一个位,而不是1个字节?还是说sfr A=ox91和sbit A=ox91这两个语句意思不一样,前一个是P1端口的下一个端口,后一个是P1端口的P1.1位?
希望能得到高手的解答,不胜感激!!!!!!

sfr P1=ox90; sfr 是指定一个字节;
sbit P1_1=ox91; sbit 是指定一个位。

它们不是一回事,别放在一起讨论。

再去看看单片机的书,仔细看看“位地址”。
看明白了硬件,再来钻研软件。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-29
sfr :第一个表示地址0x90赋给P1,P1地址内容有8位。(0x90 91 。。97)
这个地址内容正好是单片机的的P1寄存器的值。
其实,这就是表示用P1表示寄存器的地址,
再用P1=0x00,就可以直接给端口写数据了。
sbit:bit就是位的意思,这句话表示P1_1存的是0x91,
同上P1_1=0x01表示P1.1管脚的值为高。
相似回答