仿照stm32写的51程序,,,但是不能控制P0口,,,不知道原因,,是不是51不支持这种方式对寄存器操作,,
谁有这方面的经验,,,给讲一下,,, 谢谢了
#define P0 ((unsigned char) 0x80) //映射P0的地址
typedef struct //定义一个结构体是表示io口
{
volatile unsigned char IO0;
// volatile unsigned char IO1;
// volatile unsigned char IO2;
// volatile unsigned char IO3;
} IOx;
#define p ((IOx*)P0) //宏定义p的地址是P0
void delay()
{
int i;
for(i=0;i<500;i++);
}
void main()
{
IOx * xxx;//定义一个io口的指针
xxx=p;//把io口的地址给io口的指针
while(1)
{
xxx->IO0=0x00;
delay();
xxx->IO0=0xff;
delay();
}
}
|