#include <DEFINE.H> #include <AT89X51.H>
void ShowEn(void) { LcdShowEn=1; ShowDptr=6; if(DeleteEn) { DeleteEn=0; RamCler(LcdDataBufs,7); } } void CmdKey(void) {
switch(KeyData) { case 0x11 ://---发射 SendEn=1; DeleteEn=0; break; case 0x12 ://---上一屏 LcdShowEn=1; if(ShowAre>1) { DeleteEn=1; ShowDptr=6; ShowAre--; } break; case 0x14 ://---下一屏 LcdShowEn=1; if(ShowAre<4) { DeleteEn=1; ShowDptr=6; ShowAre++; } break; case 0x18 ://---发送数据 SendEn=1; DeleteEn=0; break; case 0x21 : ShowEn(); LcdDataBufs[ShowDptr]=0x2d; ShowCopy(); break; case 0x22 : ShowEn(); LcdDataBufs[ShowDptr]=0x39; ShowCopy(); break; case 0x24 : ShowEn(); LcdDataBufs[ShowDptr]=0x36; ShowCopy(); break; case 0x28 : ShowEn(); LcdDataBufs[ShowDptr]=0x33; ShowCopy(); break; case 0x41 : ShowEn(); LcdDataBufs[ShowDptr]=0x2e; ShowCopy(); break; case 0x42 : ShowEn(); LcdDataBufs[ShowDptr]=0x38; ShowCopy(); break; case 0x44 : ShowEn(); LcdDataBufs[ShowDptr]=0x35; ShowCopy(); break; case 0x48 : ShowEn(); LcdDataBufs[ShowDptr]=0x32; ShowCopy(); break; case 0x81 : ShowEn(); LcdDataBufs[ShowDptr]=0x30; ShowCopy(); break; case 0x82 : ShowEn(); LcdDataBufs[ShowDptr]=0x37; ShowCopy(); break; case 0x84 : ShowEn(); LcdDataBufs[ShowDptr]=0x34; ShowCopy(); break; case 0x88 : ShowEn(); LcdDataBufs[ShowDptr]=0x31; ShowCopy(); break; } } void GetKeys(void) { unsigned char i,j; P0=0xFF; DataOneBuf=0; DataTwoBuf=0; if(KeyFg) { P0=ScanOne; P0|=~ScanTwo; if((P0&ScanOne)==0) { KeyFg=1; Delay(500); } else { KeyFg=0; Delay(500); } } else { DataOneBuf=0x01; for(i=1;i<5;i++) { DataTwoBuf=0x10; for(j=1;j<5;j++) { P0=0xFF; P0=DataOneBuf; P0|=~DataTwoBuf; if((P0&DataOneBuf)==0) { if(ShowAre<5) { KeyFg=1; DatgAAAAAA++; ScanOne=DataOneBuf; ScanTwo=DataTwoBuf; KeyData=DataTwoBuf+DataOneBuf; CmdKey(); KeyData=0; } } DataTwoBuf<<=1; } DataOneBuf<<=1; } } }
|