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

📄 74ls164.c

📁 74ls164数码管的显示程序
💻 C
字号:
#include<regx51.h>
#define uint unsigned int
#define uchar unsigned char
sbit DAT=P0^6; //模拟串口数据发送端
sbit CLK=P0^7;//模拟时钟控制端
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭 (共阳字段表)

void sendbyte(uchar byte)
{    
        uchar num,c; 
        num=tab[byte];
   for(c=0;c<8;c++)
        {
         CLK=0;
         DAT=num&0x80; //(0x80即十进制的128, 二进制的10000000 按位发送)
         CLK=1;
         num<<=1;
         }
 }


void delay() 
{unsigned char t;
 unsigned int j;   
 for(t=2;t>0;t--) 
  for(j=125;j>0;j--); 
//{;}
}

main()
{ int h;
  unsigned char ge=0,shi=0,bai=0,qian=0,wan=0,shiwan=0;
  while(1)
      {  
     for(h=0;h<125;h++)
      {delay();
       sendbyte(ge); //P0=P0&0XDF;
	   P0_0=1;
       P0_1=1;  
       P0_2=1; 
   	   P0_3=1; 
	   P0_4=1; 
	   P0_5=0;
	   delay();
       sendbyte(shi);
	   P0_0=1;
       P0_1=1;  
       P0_2=1; 
   	   P0_3=1; 
	   P0_4=0;
	   P0_5=1; 
 	   delay();
	   sendbyte(bai);     
       P0_0=1;
       P0_1=1;  
       P0_2=1; 
 	   P0_3=0;
	   P0_4=1; 
	   P0_5=1;
	   delay();
	   sendbyte(qian);
       P0_0=1;
       P0_1=1;  
       P0_2=0; 
   	   P0_3=1; 
	   P0_4=1; 
	   P0_5=1;
 	   delay();
       sendbyte(wan);
       P0_0=1;
       P0_1=0;  
       P0_2=1; 
   	   P0_3=1; 
	   P0_4=1; 
	   P0_5=1;
 	   delay();
       sendbyte(shiwan);
       P0_0=0;
       P0_1=1;  
       P0_2=1; 
   	   P0_3=1; 
	   P0_4=1; 
	   P0_5=1;
       if(ge==10)
          {shi++;
		   ge=0;
		   if(shi==10)
             {bai++;
			  shi=0;
		      if(bai==10)
			     {qian++;
				  bai=0;
				  if(qian==10)
				     {wan++;
					  qian=0;
					  if(wan==10)
	  				     {shiwan++;
						  wan=0;
						  if(shiwan==10)
                             shiwan=0;
						  }
                      }
			      }
    		  }
	       }
        }	
ge++; }  
  }
     
/*	  for(h=0;h<125;h++)
      {
	  
	  	delay();
       sendbyte(1);
       P0_0=0;
       P0_1=1;
	   P0_2=1;
       delay();
       sendbyte(2);
       P0_0=1;
       P0_1=0;
	   P0_2=1;
       delay();
       sendbyte(3);
       P0_0=1;
       P0_1=1;
	   P0_2=0;

       }
    }
}*/

⌨️ 快捷键说明

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