求一段C51的C程序

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:58:54
要求P1.0,P1.1按顺序00,01,10,11循环输出

#include<reg52.h>
#define uchar unsigned char
sbit a0=P1^0;
sbit a1=P1^1;
sbit a2=P1^2;
sbit a3=P1^3;
sbit a4=P1^4;
sbit a5=P1^5;
sbit a6=P1^6;
sbit a7=P1^7;
void delay(uint);//声明延时函数
main()
{
uchar i;
while(1)//主循环
{
for(i=0;i<=256;i++) //0~255 的二进制在 P1口输出
{
a0=i%2;//以下分离出每一位并赋给P1口的每位
a1=(i/2)%2;
a2=(i/4)%2;
a3=(i/8)%2;
a4=(i/16)%2;
a5=(i/32)%2;
a6=(i/64)%2;
a7=(i/128)%2;
delay(300);//自己定义IO口变化时间间隔
}
}
}
void delay(uint z)//延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}