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

📄 7290.c

📁 读卡器 fm1702实现收发 zlg7290实现按键与显示控制
💻 C
字号:
#include "I2C.h"
#include "ZLG7290.h"

sbit SPEAKER=P2^3;

uchar code  duanma[10] ={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6}; // 0-9段码

uchar data jw[16];
uchar data num[2],address[2];       			

void  Clearall(void); 				// 全清除显示

void KeyFun(uchar num,uchar *d)  //重编键值 且执行功能键
{
  switch(num)
  {
    case 1:  {*d=0;break;}
    case 2:  {*d=1;break;}
    case 3:  {*d=2;break;}
    case 4:  {*d=3;break;}
    case 9:  {*d=4;break;}
    case 10:  {*d=5;break;}
    case 11:  {*d=6;break;}
    case 12:  {*d=7;break;}
    case 17:  {*d=8;break;}
    case 18:  {*d=9;break;}
    case 19:  {*d=10;break;}
    case 20:  {*d=11;break;}
    case 25:  {*d=12;break;}
    case 26:  {*d=13;break;}
    case 27:  {*d=14;break;}
    case 28:  {*d=15;break;} 
    default: break;	
   }
}                                  
	

void int1() interrupt 2 using 0
{
   	unsigned char data KeyValue,p,*q;

    uint i;
	//读取键值
    Delay(1);
	KeyValue=ZLG7290_ReadReg(ZLG7290_Key);
	Delay(1);
   
	//显示键值
		KeyFun(KeyValue,&p);
        jw[p]=p;
		q=&jw[p];
		i=q;
 	    address[0]=i/16;
		address[1]=i%16;

        ZLG7290_WriteReg(0x10,duanma[0]);
		Delay(5);
        ZLG7290_WriteReg(0x12,duanma[0]);
		Delay(5);
        ZLG7290_cmd(0x63,address[0]);
		Delay(5);
        ZLG7290_cmd(0x65,address[1]);
		Delay(5);
        num[0]=p/10;
        num[1]=p%10;
	
		ZLG7290_WriteReg(0x14,duanma[num[0]]);
		Delay(5);
		ZLG7290_WriteReg(0x11,duanma[num[1]]);
		Delay(5);
	  
}

void main(void)
{
   EA = 0;
   EX1 = 1;
   EA = 1;                                 //开中断1   
   Clearall();
   SPEAKER=0;                            
   while(1)
   {
	 Delay(10);                       //有卡时
   }
}

⌨️ 快捷键说明

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