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

📄 smg.c

📁 秒表计数
💻 C
字号:
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit SDA=P1^0;
sbit CLK=P1^1;
struct LED
{
  uchar count;
  uchar content[4];
};
struct LED state[4];
void delay()
{	unsigned int i;
   for(i=0;i<1000;i++);
}
void init()
{
   uchar k;
   for(k=0;k<4;k++)
      {
	    state[k].count=k+1;
	   }
	state[0].content[0]=0xa1;
	state[1].content[0]=0x86;
	state[1].content[1]=0xa1;
	state[2].content[0]=0x88;
	state[2].content[1]=0x86;
	state[2].content[2]=0xa1;
	state[3].content[0]=0x8e;
	state[3].content[1]=0x88;
	state[3].content[2]=0x86;
	state[3].content[3]=0xa1;
}
void send(uchar a)
{
   uchar i;
   for(i=0;i<8;i++)
     {
	   if(_crol_(a,i)&0x80)
	      SDA=1;
	   else
	      SDA=0;
	   CLK=0;															
	   CLK=1;
	 }
}
void display(struct LED a)
{  uchar i;
   uchar shm=0xf7;
   for(i=0;i<a.count;i++)
    {
	 send(a.content[i]);
	 P1=shm;
	 shm=_crol_(shm,1);
	 delay();
	 }
}
void main()
{  
   init();

   while(1)	
   {   uchar i,k;
       for(i=0;i<4;i++)
	   {
	   for(k=0;k<20;k++)
	   display(state[i]);
	   }
  
}
}

⌨️ 快捷键说明

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