CH452_KEY_DCLK_CLR;
command> > =1;
CH452_KEY_DCLK_SET;
}
CH452_KEY_LOAD_SET;//LOAD上升沿加载命令
NOP;NOP;NOP;NOP;NOP;NOP;NOP;
CH452_KEY_INT0_ON;//51允许452产生的中断
}
/*******************************************
*******************************************/
Uchar ReadCH452()
{
Uchar i,j;
Uchar key=0;
Uchar read;
CH452_KEY_INT0_OFF;
read=CH452_R_COM;//读取键盘命令0111
CH452_KEY_LOAD_CLR;
for(i=0;i <4;i++)
{
if(read&0x01)CH452_KEY_DIN_SET;
else CH452_KEY_DIN_CLR;
CH452_KEY_DCLK_CLR;
read> > =1;
CH452_KEY_DCLK_SET;
}
CH452_KEY_LOAD_SET;//LOAD上升沿加载命令
NOP;
for(j=0;j <7;j++)
{
key < <=1;
key|=DOUT;
NOP;
CH452_KEY_DCLK_CLR;
NOP;
CH452_KEY_DCLK_SET;
}
CH452_KEY_INT0_ON;
return(key);
}
/*******************************************
*******************************************/
void CH452_INT0() interrupt 0
{
key_int_flag=1;
keyboard=ReadCH452();
}
void main()
{
LcdInit();
AT89C51_Init();
CH452_Init();
DelayMs(100);
while(1)
{
if(key_int_flag)//如果有键按下显示:北京欢迎您
{
LcdSendCom(0x01);
Display(0,0,5,"北京欢迎您");
key_int_flag=0;
}
else Display(1,0,4,"没键按下");//如果没键按下显示:没键按下
DelayMs(10);
}
}