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

📄 ledmatrix.c

📁 LED点阵的单片机程序包括了PROTEUS仿真
💻 C
字号:
#include "REGx51.H"
#include "INTRINS.H"



#define SRCLK   P2_0
#define SER     P2_1
#define RCLK    P2_2

unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; 

/*
unsigned char code dat[80] = {


0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,

0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x0E,

0x0E,0x11,0x11,0x08,0x04,0x02,0x01,0x1F,

0x0E,0x11,0x10,0x0C,0x10,0x10,0x11,0x0E,

0x08,0x0C,0x0A,0x0A,0x09,0x1E,0x08,0x08,

0x1F,0x01,0x01,0x0F,0x10,0x10,0x11,0x0E,

0x0E,0x09,0x01,0x0F,0x11,0x11,0x11,0x0E,

0x1F,0x09,0x08,0x04,0x04,0x04,0x04,0x04,

0x0E,0x11,0x11,0x0E,0x11,0x11,0x11,0x0E,

0x0E,0x11,0x11,0x11,0x1E,0x10,0x12,0x0E,

};
*/
/*
unsigned char code dat[] = {

       0x00,0x00,0x7C,0xC6,0xC6,0xCE,0xD6,0xD6,
      0xE6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
      0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,
      0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00,
      0x00,0x00,0x7C,0xC6,0x06,0x2C,0x18,0x30,
      0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00,
      0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,
      0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00,
      0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,
      0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00,
      0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x0E,
      0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00,
      0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,
      0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
      0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,
      0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
      0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,
      0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
      0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,
      0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00
}  ;
*/



unsigned char code dat[] =          // 数据表
{
  
  0x20,0x00,0x10,0x02,0x1F,0xFF,0x18,0x0C,
      0x42,0x2C,0x23,0xFC,0x33,0x6C,0x37,0x6C,
      0x07,0x6C,0x0F,0x6C,0x4B,0xEC,0x3A,0x4C,
      0x30,0x0C,0x38,0x2C,0x38,0x1C,0x10,0x08,

 0x01,0x80,0x01,0x82,0x7F,0xFF,0x01,0x80,
      0x21,0x82,0x3F,0xFF,0x36,0x26,0x33,0x76,
      0x32,0x46,0x37,0xF6,0x31,0x86,0x3F,0xFE,
      0x31,0x86,0x31,0x86,0x31,0x9E,0x20,0x04,

 0x04,0x10,0x1E,0x18,0x78,0x98,0x18,0xD8,
      0x18,0x78,0x7E,0x58,0x19,0x18,0x3D,0x98,
      0x3E,0xDA,0x3A,0x9F,0x58,0x78,0x5B,0x98,
      0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x10,

0x10,0x20,0x18,0x30,0x18,0x32,0x1B,0xFF,
      0x7E,0x30,0x18,0x34,0x19,0xFE,0x1A,0x8C,
      0x1C,0xCC,0x38,0x58,0x78,0x78,0x58,0x30,
      0x18,0x78,0x18,0xCE,0x39,0x87,0x12,0x02,

 0x01,0x00,0x01,0x80,0x01,0x80,0x01,0x80,
      0x01,0x84,0x3F,0xFE,0x01,0x80,0x01,0xC0,
      0x03,0x40,0x03,0x60,0x06,0x20,0x06,0x30,
      0x0C,0x18,0x18,0x0E,0x30,0x07,0x40,0x02,

0x09,0x10,0x0D,0x98,0x14,0xB2,0x3F,0xFF,
      0x70,0x06,0x20,0x24,0x07,0xF0,0x00,0x60,
      0x00,0xC0,0x00,0xC4,0x3F,0xFE,0x00,0xC0,
      0x00,0xC0,0x00,0xC0,0x03,0xC0,0x00,0x80,

   0x10,0x00,0x19,0x08,0x19,0xFC,0x19,0x98,
      0x7F,0x98,0x19,0x98,0x39,0x98,0x3D,0x98,
      0x3F,0x98,0x5B,0x98,0x59,0x98,0x19,0x98,
      0x19,0x1A,0x1B,0x1A,0x1A,0x1F,0x14,0x0E,

	0x10,0x10,0x18,0x1A,0x18,0x1B,0x1B,0xFF,
      0x7D,0x58,0x19,0x58,0x3D,0x5A,0x3F,0xFB,
      0x3B,0x5E,0x59,0x5E,0x59,0x4C,0x19,0x58,
      0x1B,0x5D,0x1A,0x35,0x1C,0x67,0x10,0x83,

	   0x01,0x00,0x01,0x80,0x01,0x80,0x21,0x84,
      0x3F,0xFE,0x31,0x8C,0x31,0x8C,0x3F,0xFC,
      0x31,0x8C,0x31,0x8C,0x3F,0xFC,0x21,0x88,
      0x01,0x82,0x01,0x82,0x01,0xFF,0x00,0xFE,

   0x00,0x08,0x0F,0xFC,0x00,0x18,0x00,0x30,
      0x00,0x60,0x00,0xC0,0x00,0xC2,0x7F,0xFF,
      0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
      0x00,0xC0,0x00,0xC0,0x03,0xC0,0x00,0x80,

0x00,0x00,0x00,0x08,0x3F,0xFC,0x01,0x80,
      0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
      0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
      0x01,0x80,0x01,0x84,0x7F,0xFE,0x00,0x00,

 0x06,0x82,0x3F,0xFF,0x0C,0xC6,0x0C,0xC6,
      0x0C,0xFE,0x7F,0x84,0x1C,0x00,0x1E,0x7E,
      0x3F,0x18,0x2D,0x18,0x2C,0x7E,0x4C,0x18,
      0x0C,0x18,0x0C,0x18,0x0C,0x1A,0x0C,0xFF,

	   0x08,0x20,0x0C,0x30,0x0D,0x30,0x3F,0xA2,
      0x0D,0x7F,0x7F,0xEC,0x0D,0x4C,0x1F,0xCC,
      0x31,0xA8,0x47,0x38,0x06,0x10,0x0F,0xB8,
      0x76,0x6C,0x26,0x46,0x0E,0x87,0x05,0x02,

 0x02,0x02,0x7F,0xFF,0x18,0x6C,0x18,0x6C,
      0x30,0x6C,0x22,0x6C,0x3E,0x6C,0x77,0xFF,
      0x36,0x6C,0x36,0x6C,0x36,0x6C,0x3E,0xCC,
      0x34,0xCC,0x21,0x8C,0x03,0x0C,0x04,0x08,

 0x03,0x00,0x11,0x84,0x3F,0xFE,0x70,0x0C,
      0x2F,0xF8,0x03,0x40,0x06,0x20,0x0C,0x30,
      0x1F,0xF8,0x09,0x90,0x01,0x80,0x0F,0xF0,
      0x01,0x80,0x01,0x80,0x01,0x84,0x3F,0xFE
};


void WriteByte(unsigned char val)
{
	unsigned char m, c;
  
	c = val;
	
	for (m=0; m<8; m++) 
	{

    	SRCLK = 0;    //拉低74HC595时钟
		_nop_();
    	SER =  c&0x01;//发送74HC595一位串行数据 
		c=c>>1;
    	SRCLK = 1;//拉高74HC595时钟
    	_nop_();//延时
   }

   SER = 1;//释放数据总线

   //以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令

 


	
}


void main(void) 
{
   unsigned char i, j ;
   unsigned int l,k;

  
   while(1)
   {
	   for(j=0; j<15; j++)
	   {
		  for(l=0; l<100; l++)
		  {	
		    for(i=0; i<16; i++)
	    	{
		    	k=j*32;;
			    WriteByte(dat[k+i*2+1]);
		  		WriteByte(dat[k+i*2]);
				P1= i;
				  RCLK = 0;
                _nop_();//延时
                RCLK = 1;//打入并行数据
		    }
		}
		for(l=0; l<100; l++)
		  {	
		    for(i=0; i<16; i++)
	    	{
			    WriteByte(0x00);
		  		WriteByte(0x00);
				P1= i;
				RCLK = 0;
                _nop_();//延时
                RCLK = 1;//打入并行数据
		    }
		}  
		
		
 	} 

   }
	 
}


  

⌨️ 快捷键说明

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