特殊功能寄存器SFR声明
我们想要使用单片机的IO口就要先定义它的地址,我们可以从芯片资料上找到IO口对应的地址(也可以直接网上搜)
单片机C语言SFR声明:
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;//定义P0~P3
定义好以后,通过控制P0~P1,我们可以同时控制他们对应的8个IO口,当然这次我们只需要点亮一两个LED,只需要用到一两个IO口,所以可以用下面的方法单独定义一个IO口。
***it LED0 = P1 ^ 0;
***it LED1 = P1 ^ 1;
***it LED2 = P1 ^ 2;
***it LED3 = P1 ^ 3;
***it LED4 = P1 ^ 4;
***it LED5 = P1 ^ 5;
***it LED6 = P1 ^ 6;
***it LED7 = P1 ^ 7;//分别定义P1的8个IO口
注意:定义IO口要大写
头文件
前面我们使用sfr来定义IO口,如果每次都要一条一条的输入sfr来定义会非常麻烦,这时我们可以用头文件的方法来代替刚才的方法,52单片机C语言的头文件是
。
这个头文件里就包含了大部分定义,方便快捷。那为什么还要讲sfr声明呢?其实就是为了更好的理解头文件的核心内容。
代码参考
给led0赋值0可以让其对应的IO口发出低电平的信号,从而点亮led。
#include
//sfr P1 = 0x90;//定义P1寄存器地址
***it led0 = P1^0;//led0 第1个led
***it led7 = P1^7;//led7 第8个led
void main()
{
// led0 = 0;//低电平 点亮led0
// while(1);//使程序停在这(死循环)
while(1)
{
led0 = 0;
led7 = 0;
}
}
下面就是最终成果图,黑色框框里就是我们点亮的第1个和第8个led。

特殊功能寄存器SFR声明
我们想要使用单片机的IO口就要先定义它的地址,我们可以从芯片资料上找到IO口对应的地址(也可以直接网上搜)
单片机C语言SFR声明:
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;//定义P0~P3
定义好以后,通过控制P0~P1,我们可以同时控制他们对应的8个IO口,当然这次我们只需要点亮一两个LED,只需要用到一两个IO口,所以可以用下面的方法单独定义一个IO口。
***it LED0 = P1 ^ 0;
***it LED1 = P1 ^ 1;
***it LED2 = P1 ^ 2;
***it LED3 = P1 ^ 3;
***it LED4 = P1 ^ 4;
***it LED5 = P1 ^ 5;
***it LED6 = P1 ^ 6;
***it LED7 = P1 ^ 7;//分别定义P1的8个IO口
注意:定义IO口要大写
头文件
前面我们使用sfr来定义IO口,如果每次都要一条一条的输入sfr来定义会非常麻烦,这时我们可以用头文件的方法来代替刚才的方法,52单片机C语言的头文件是
。
这个头文件里就包含了大部分定义,方便快捷。那为什么还要讲sfr声明呢?其实就是为了更好的理解头文件的核心内容。
代码参考
给led0赋值0可以让其对应的IO口发出低电平的信号,从而点亮led。
#include
//sfr P1 = 0x90;//定义P1寄存器地址
***it led0 = P1^0;//led0 第1个led
***it led7 = P1^7;//led7 第8个led
void main()
{
// led0 = 0;//低电平 点亮led0
// while(1);//使程序停在这(死循环)
while(1)
{
led0 = 0;
led7 = 0;
}
}
下面就是最终成果图,黑色框框里就是我们点亮的第1个和第8个led。

举报