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

📄 agm1232g.c

📁 4x4键盘
💻 C
字号:
#include<reg51.h>
#include<absacc.h>
#include<uint.h>
#include<delay.h> 
code uchar num[]={
      0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,
      0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
	  0x40,0x20,0xF8,0x07,0x00,0xF8,0x02,0x04,
      0x08,0x04,0x04,0x04,0x04,0xFE,0x04,0x00,
      0x10,0x10,0xF0,0x1F,0x10,0xF0,0x80,0x82,
      0x82,0x82,0xE2,0x92,0x8A,0xC6,0x80,0x00,
	   
      0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,
      0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
      0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,
      0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,
      0x40,0x22,0x15,0x08,0x14,0x63,0x00,0x00,
      0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00
};

sbit a0=P2^0;
sbit e1=P2^1;
sbit e2=P2^2;
sbit rw=P2^3;


void write1(unsigned char ord1)	   	  //使能1
{
	 
	rw=0; //写允许
	a0=0;
	P3=ord1;
	e1=1;
	e1=0;
}
void write2(unsigned char ord2)		   //使能2
{
	 
	rw=0; //写允许
	a0=0;
	P3=ord2;
	e2=1;
	e2=0;
	}

void write_d1(unsigned char dat1)
{

     rw=0; 
	a0=1;
	P3=dat1;
	e1=1;
    e1=0; 

 }

void write_d2(unsigned char dat2)
{
	  
	rw=0; 
	a0=1;
	P3=dat2;
	e2=1;
	e2=0;

}

void start1()
{	 
		write1(0xe2); // 软件复位	     
		write1(0xae); //  关		 
		write1(0xa5); //驱动 0:静态  1:正常		
		write1(0xc5); // 行	(设置起始的行号)		
		write1(0xa8);	//1:1/32 OR 0:1/16		
		write1(0xa1);	//0:CW输出  1:CCW输出(左到右)		
		write1(0xee);	//读-修改-写 关	 E0:开	 EE:关		
		write1(0x00);	//列
		write1(0xba);	 //设置页 (相对于设置了的行数0~31) 8:0~8bits,9:9~16bits`````		
		write1(0xaf);	 //开			  
}

void start2()
{
 write2(0xe2);
 write2(0xae);
 write2(0xa5);
 write2(0xc0);
 write2(0xa8);
 write2(0xa1);
 write2(0xee);
 write2(0x00);
 write2(0xb8);
 write2(0xaf);
}

			
void main()		   //E1右,E2左
{
	double mm=0;
	uchar *p=0;
	p=num;
	
    	start1();	
	for(mm=0;mm<48;mm++)
	{
		write_d1(*p);
		p++;	
  	delay(400);	
	}
	write1(0xbb);
	write1(0x00);
		for(mm=0;mm<48;mm++)
   {
		write_d1(*p);
		p++;
		delay(400);	
	}


    start2();
	p=num;
	for(mm=0;mm<48;mm++)
	{
		write_d2(*p);
		p++;	
	}
	write2(0xb9);
	write2(0x00);
		for(mm=0;mm<48;mm++)
   {
		write_d2(*p);
		p++;	
	}
	while(1);
}

⌨️ 快捷键说明

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