首先在51中P1的物理地址是90H,如果我不通过用《reg51.h》或者sfr之类的直接用指针,应该
也是可以对P1口进行操作的。
代码如下
void main()
{
unsigned char*p;
p=( volatile unsigned char *)(0x90);
*p=0xf0;
while(1);
}
如果上面的代码正确的话,那么8个led是一半亮一半不亮啊,纳闷的是这个程序运行的时候没一点反应,望各位大侠多多指教!!十分感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
没有说明区别时,在keil里是通用指针,占三个字节
这个在keil的用户手册那里有说明~~~~~
p=( volatile unsigned char *)(0x90); 指向的RAM区0x90 非SFR区的。
首先谢谢大家了,你说得对,那么怎么指向SFR区呢?谢谢了
呵呵 那是多少,望大虾解答一下,谢谢了
*p=P0;或者p=&P0;它就表示指向P0
在给它赋值才对
一周热门 更多>