//4.用8个发光管演示出8位二进制数累加过程。
/*
#include
#include //调用库函数_cror_的头文件要包含进来
#define uint unsigned int //宏定义uint
#define uchar unsigned char //宏定义uchar
uint z; //全局定义变量z,延时子程序要用
void delay(uint z); //声明延时子函数
void main() //主函数
{
P0=0x80; //1000 0000
delay(500);
while(1)
{
uchar LED;
LED=P0; //1000 0000
LED=_cror_(LED,1); //0100 0000
LED=LED|P0; //0100 0000 | 1000 0000==1100 0000
P0=LED; //1100 0000
delay(500);
if(LED==0xff)
{
P0=0x80;
delay(500);
}
else;
}
}
void delay(uint z)//延时子程序
//若z=1,则延时2.17+1000.37us=1002.54us=>1ms;
//若z=2,则延时2.17+1000.37*2us=2002.91us=>2ms,
//若z=3,则延时2.17+1000.37*3us=3003.28us=>3ms,
每次f加1,则延时增加8.68us,以此类推)
{
uint x,y; //定义变量x、y数据类型为uint
for(x=z;x>0;x--) //本语句,延时2.17us
for(y=114;y>0;y--); //y等于1时,延时19.53us;
//y等于2时,延时28.21us;
//y等于3时,延时36.89us;
//y等于113时,延时991.69us;
//y等于114时,延时1000.37us;
//每次y加1,则延时增加8.68us,以此类推}
*/