【蓝桥杯01】——流水灯

#include <STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int
void delay(int n);
void show();
sbit beer=P0^6;
int i;
uchar table[]={
    
    0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void main()
{
    
    
  P2=0xA0;beer=0;P2=0x00;//上电电位不稳,先关闭蜂鸣器
	P0=0xFF;
	P2=(P2&0x1f)|0x80;// 100 选择Y4C 
	while(1)
	{
    
    
		show();
  }
}
void delay(int n)  //延时函数
{
    
    
	int i,j;
	for(i=0;i<n;i++)
	for(j=0;j<125;j++);
}
void show() //显示函数
{
    
    
		for(i=0;i<8;i++)
		{
    
    
			P0=~table[i];
			delay(1000);
	  }
}
循环左移
#include <STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int

void delay_ms(int n);
sbit beer=P0^6;

//uchar which[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};         //数码管位选码   Y6C
//uchar num[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管段选码   Y7C
//uchar LedNum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};          //LED灯码    Y4C

void main()
{
    
    
	int i=0;
  P2=0xA0;beer=0;P2 &= 0x1f;;//上电电位不稳,先关闭蜂鸣器
	P2=0x80;
	while(1)
	{
    
    
		P0=~((0x80)>>i);
		i++;
		if(i==8)i=0;
		delay_ms(1000);
		//show(1,key_scan());  
  }	
}
//延时函数
void delay_ms(int n)
{
    
    
	int i,j;
	for(i=n;i>0;i--)
		for(j=110;j>0;j--);
}

猜你喜欢

转载自blog.csdn.net/z3447643805/article/details/113485748