zlg7289.c

来自「以51单片机为微处理器」· C语言 代码 · 共 61 行

C
61
字号
#define uchar unsigned char 
#define uint  unsigned int 

#include<reg52.h>
#include<absacc.h>
#include"zlg7289.h"
#include"lcd_12864.h"
uchar KeyValue=0xff;

void  Keybord_7289() interrupt 0
{
  uchar Key;
  KeyValue=ZLG_7289_Keybord();
  Key=(KeyValue%8)*4+3-(KeyValue/8)+1;
  Disponechar(0,3,Key|0x30);
} 
void main()
{
   LCDInit();
   LCDClr();

   ZLG_7289_Init();

   EA=1;         //CPU开中断
   EX0=1;        //打开INT0中断
   IT0=1;        //设定INT0为负跳变触发
 
   ZLG_7289_Reset();
   LCDPrintf(0,0,"testing 7289");
  while(1)
   {
   switch(KeyValue)
   {
     case 24: {Disponechar(0,1,'1');KeyValue=0xff;break;}
	 case 16: {Disponechar(1,1,'2');KeyValue=0xff;break;}
	 case 8:  {Disponechar(2,1,'3');KeyValue=0xff;break;}
	 case 0:  {Disponechar(3,1,'4');KeyValue=0xff;break;}
	 case 25: {Disponechar(4,1,'5');KeyValue=0xff;break;}
	 case 17: {Disponechar(5,1,'6');KeyValue=0xff;break;}
	 case 9:  {Disponechar(6,1,'7');KeyValue=0xff;break;}
	 case 1:  {Disponechar(7,1,'8');KeyValue=0xff;break;}
	 case 26: {Disponechar(8,1,'9');KeyValue=0xff;break;}
	 case 18: {Disponechar(9,1,'a');KeyValue=0xff;break;}
	 case 10: {Disponechar(10,1,'b');KeyValue=0xff;break;}
	 case 2:  {Disponechar(11,1,'c');KeyValue=0xff;break;}
	 case 27: {Disponechar(12,1,'d');KeyValue=0xff;break;}
	 case 19: {Disponechar(13,1,'e');KeyValue=0xff;break;}
	 case 11: {Disponechar(14,1,'f');KeyValue=0xff;break;}
	 case 3:  {Disponechar(15,1,'0');KeyValue=0xff;break;}
	 case 28: {Disponechar(0,2,'#');KeyValue=0xff;break;}
	 case 20: {Disponechar(1,2,'*');KeyValue=0xff;break;}
	 case 12: {Disponechar(2,2,'@');KeyValue=0xff;break;}
	 case 4:  {Disponechar(3,2,'?');KeyValue=0xff;break;}
	 default:   break;
   }

   }


}

⌨️ 快捷键说明

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