⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctest_led.c

📁 单片机98c51的一些程序代码
💻 C
字号:

//#include <AT89X51.H>
#include <REG51.H>
#include <stdio.h>


//----------------------------------
void delay400ms(void)
{
  unsigned char TempCycA = 5;
  unsigned int TempCycB;
  while(TempCycA--)
  {
  TempCycB=1000;//2000;//7269;
  while(TempCycB--);

  }
}

void zyy(void)
{
 
  unsigned char p1k = 0xFE;
  unsigned char sbuf1 = 0x01;
  unsigned int derection = 1,count = 0,loop = 0,zy = 0;
 
  P1 = 0xff;
  
  while(zy < 5 )
  {
   
    P1 = 0xff;
    SBUF = sbuf1;	
    while(!TI) 
     ;
    TI = 0;
    P1 = 0xbf;
   
    if (derection == 1 )
       sbuf1 = sbuf1 << 1;
    else
       sbuf1 = sbuf1 >> 1;
    
    if (count == 8 )
      { count = 0;
        loop++;
        if (derection == 1 )
           sbuf1 = 0x01;
       	else
           sbuf1 = 0x80;
      }
         
    if (derection == 1 && loop >= 6)
       {sbuf1 = 0x01;
       	count = 0;loop = 0;zy++;
       	derection = 0;}
    else
       if(derection == 0 && loop >= 6)
         {sbuf1 = 0x80;
       	  count = 0;loop = 0;
       	  derection = 1;   }	
    
    count++ ;
    
    delay400ms();
   }
}

void hua(void)
{
//定义花样数据
const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
								0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
								0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
								0xE7,0xDB,0xBD,0x7E,0xFF};
unsigned int a; //定义循环用的变量
unsigned int b,c =0;
do{
  c++;
  for (b=0; b<32; b++)
    {
     P1 = 0xff;
     SBUF = design[b];
     while(!TI) 
         ;
     TI = 0;P1 = 0xbf;
     for(a=0; a<30000; a++)
      {	
        ;//P1 = design[b];
	   }
     
     }
}while(c < 10);
}

void hello(void)
{
//unsigned char p1k[5] = {0xFd,0xFb,0xF7,0xeF,0xdF};
unsigned char p1k[5] = {0xbd,0xbb,0xb7,0xaF,0x9F};
const unsigned char design[5]={0x6e,0x9E,0x1c,0x1c,0xFc};
unsigned int a; //定义循环用的变量
unsigned int b,c =0,end = 30000;
do{
  c++;
  for (b=0; b<5; b++)
    {
     P1 = 0xff;
     SBUF = design[b];
     while(!TI) 
         ;
     TI = 0;P1 = p1k[b];
     
     end = 30000;
             
     for(a=0; a<end; a++)
      {	
        ;//P1 = design[b];
	   }
    //p1k = 0xFE; 
     }
  
    
}while(c < 5);

do{
  c++;
  for (b=0; b<5; b++)
    {
     P1 = 0xff;
     SBUF = design[b];
     while(!TI) 
         ;
     TI = 0;P1 = p1k[b];
     
     end = 10;
        
     for(a=0; a<end; a++)
      {	
        ;//P1 = design[b];
	   }
     }
}while(c < 2000);
}

void main(void)
{ while(1)
   {hua();
	delay400ms();
	hello();
	delay400ms();
	zyy();
	delay400ms();
	
   }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -