📄 zlg7290键盘与显示测试.c
字号:
#include"VIIC_C51.h"
#include"ZLG7290.C"
#include"ZLG7290_Driver.c"
#include<reg51.h>
#include <stdio.h> /* prototype declarations for I/O functions */
#include<absacc.h>
#ifdef MONITOR51 /* Debugging with Monitor-51 needs */
char code reserve [3] _at_ 0x23; /* space for serial interrupt if */
#endif /* Stop Exection with Serial Intr. */
/* is enabled */
#define uchar unsigned char
uchar table[]={0x41,0x82,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a};
//uchar keytable[]={0x0d,0x0e,0x00,0x0f,0x0c,0x09,0x08,0x07,
// 0x0b,0x06,0x05,0x04,0x0a,0x03,0x02,0x01}
sbit keynit=P3^3;
void main()
{ unsigned int kk,key;
ZLG7290_SendBuf(table,8);
ZLG7290_SendCmd(0x70,0xff);
while(1)
{
#ifndef MONITOR51
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */
#endif
while(keynit==0)
{
kk=(unsigned int)ZLG7290_GetKey();
switch(kk)
{case 1: key=1; break;
case 2: key=2; break;
case 3: key=3; break;
case 4: key=4; break;
case 9: key=5; break;
case 10: key=6; break;
case 11: key=7; break;
case 12: key=8; break;
case 17: key=9; break;
case 18: key=10;break;
case 19: key=11;break;
case 20: key=12;break;
case 25: key=13;break;
case 26: key=14;break;
case 27: key=15;break;
default: key=16;
}
printf ("key=%d\n",key); //printf键直//
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -