stc51单片机c语言编程voi
你这里面程序写错了,P0=1是不对的,一般来说如果想让P0同步亮或灭,应该是设定P0^7-P0^0这八个独立的口同时为零或同时为一来使这八个口同时为低电平或高电平,来控制与其相连接的八个led灯同时亮或者灭,一般来说都位11111111或00000000,写成16进制形式就是0xff或0x00,完整的程序如下
#include
#define uint unsigned int
void delay(uint);
void main()
{
while(1)
{
P0=0xff;
delay(10);
P0=0x00;
delay(10);
}
}
void delay(uint z)
{...全部
你这里面程序写错了,P0=1是不对的,一般来说如果想让P0同步亮或灭,应该是设定P0^7-P0^0这八个独立的口同时为零或同时为一来使这八个口同时为低电平或高电平,来控制与其相连接的八个led灯同时亮或者灭,一般来说都位11111111或00000000,写成16进制形式就是0xff或0x00,完整的程序如下
#include
#define uint unsigned int
void delay(uint);
void main()
{
while(1)
{
P0=0xff;
delay(10);
P0=0x00;
delay(10);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
还有就是如果要各位显示的亮灭不一样,也是通过修改给P0口的值实现,还有就是如果只是一个口亮,那么要先位定义,如sbit led1=P0^0; 然后后面程序中是led1=1或0来让他亮或者灭。
收起