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

📄 mykey.h

📁 实现单片机与键盘和液晶的人机交互
💻 H
字号:
//#include<aduc848.h>


#define uchar unsigned char 
#define uint unsigned int 


#define KESC        0x10
#define KSET        0x80
#define KSUB        0x20
#define KADD        0x40 
#define LCD_BUS  P2           //P2---LCD

#define SETBIT(x, y) (x |= (1 << y))
#define CLRBIT(x, y) (x &= ~(1 << y))
#define CPLBIT(x, y) (x ^= (1 << y))
#define ISBITSET(x, y) (x & (1 << y))

#define           keyenter   7 
#define           keyesc     4
#define           keyadd     6
#define           keysub     5

  


sbit _RD=P3^7;     	   //读信号 
sbit _WR=P3^6;     	   //写信号 
sbit RS=P3^5;		   //寄存器选择 
sbit CS=P3^4;		   //片选信号 
sbit _RST=P3^3;		   //复位信号 



sbit set=P1^7;
sbit add=P1^6;
sbit sub=P1^5;
sbit esc=P1^4;

 	


uchar ckey=0x00;
char temp;
uchar keyenterflag=0;
unsigned int IKEYSTUS;
//unsigned int FLASHADDR;
//unsigned int FLASHPAGE=0;
//unsigned int FLASHTAB;
unsigned char CPRST;
unsigned char CPRAMADDR;
/*enum PRSTA
{
    NORM,NOTHING1,SET1,NEXTPAGE1,SETCLEAR,NORM2,NOTHING2,SET2,SETNEXT,SETADD2,SETSUB2,NEXTPAGE2,
     NORM3,NOTHING3,SET3,SETADD3,SETNEXT3,NEXTPAGE3 
};*/
enum PRSTA
{
    NORM,NOTHING1,SET1,SETNEXT,SETADD1,SETSUB1,SETCLEAR
     
};

code unsigned char TBSTUS[]={
	 
        
		 
		/* NORM,        KADD,        NEXTPAGE1,    NORM2,
		 NORM,         0,	       NOTHING1,     NORM,
		  
		 NORM2,       KSET,	       SETNEXT ,     SET2, 
		 NORM2,       KADD,        NEXTPAGE2,    NORM3,
		 
		 
         SET2,        KSET,        SETNEXT ,     SET2,
		 SET2,        KADD,        SETADD2,      SET2,
         SET2,        KSUB,        SETSUB2,      SET2,
		 SET2,        KESC,        SETCLEAR,    NORM2,
         NORM2,        0,          NOTHING2,     NORM2, 
		 
       
		 NORM3,       KSET,        SETNEXT ,    SET3,

         NORM3,       KADD,       NEXTPAGE3,    NORM,
		SET3,        KADD,        SETADD3,     SET3,
		 SET3,        KESC,        SETCLEAR,    NORM3, 
         //NORM2,       KSET,        SETNEXT2,    SET2,
         //SET2,        KADD,        SETADD2,     SET2,
		 //SET2,        KESC,        SETCLEAR,    NORM,
         NORM3,        0,          NOTHING3,     NORM3,  */
		 NORM,        KSET,        SETNEXT,      SET1,
		 SET1,        KSET,        SETNEXT,      SET1,
		 SET1,        KADD,        SETADD1,      SET1,
         SET1,        KSUB,        SETSUB1,      SET1,
		 SET1,        KESC,        SETCLEAR,     NORM,
		 NORM,         0,	       NOTHING1,     NORM



		 };
 
void delay(uint t);
void CmdWrite(uchar cmdreg,uchar cmddata);
void DataWrite(uchar wrdata);
void Printstr(uchar code *pstr);
void FullScreenFill(uchar fill_data);
void LCD_Initial();
void Page1();
void check_key(void);
void msg_key();

unsigned int FLASHADDR;
unsigned char FLASHTAB=0;
unsigned char FLASHDATA[8];
unsigned int FLASHPOS[9]=
{
 0x000A,0x000B ,0x000C,0x0018,0x0019,0x001A,0x0023,0x0024,0x00FF
};                      
unsigned char DATALCD[39];
float vp;
float ip;
unsigned int freq;
unsigned int num=0;
unsigned int numm=0;


void set_ADD(void);
void set_SUB(void);
void set_NEXT(void);
void set_CLEAR(void);
void WriteTextScreen(unsigned char *TxtData);
void ncstrcpy(unsigned char *dst, const unsigned char *src);
void dis_Page2(void);
void Timer2_Init(unsigned int count);
void Timer2_ISR(void);
 

⌨️ 快捷键说明

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