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

📄 keyp.h

📁 实现单片机与键盘和液晶的人机交互
💻 H
字号:
#include<c8051F020.h>
//---------------c8051------------------
#define SYSCLK 22118400 
#define  N  47104
//--------------key----------------------
#define KESC        0x80
#define KSET        0x10
#define KSUB        0x20
#define KADD        0x40 
//-----------------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))        //if x bit y=1,return 1;if x bit y=0,return 0
//==============================================
//         端口
//==============================================
//-------------P0-----------------
//#define  TX0 0
//#define  RX0 0
//-----------------P3------------------------------
#define           keyenter   4
#define           keyesc     7
#define           keyadd     6
#define           keysub     5
//----------------P4--------------------
#define	 LEDKLCD    0 
#define	 RSTLCD     1 
#define	 SCKLCD     2 
#define	 STDLCD     3 
#define  CSLCD      4 
//-------------C8051-------------------------
unsigned int num;
unsigned int numm;
unsigned int flag;
//-------------KEY/LCD----------------------
//unsigned char i;
unsigned char  DATALCD[64];//LCD显示数据
unsigned char ckey=0;
unsigned char keyenterflag=0x00;
unsigned int FLASHADDR;
unsigned int FLASHPAGE=0;
unsigned int FLASHTAB;
unsigned char CPRST,CPRAMADDR;
unsigned int  IKEYSTUS;
unsigned char FLASHDATA1[15]={'2','μ','s',' ',' ','1','0','0','n','s','2','0','m','s',' '};
unsigned char FLASHDATA2[12]={'0','.','1','V','2','m','V',' ','1','V',' ',' '};
unsigned char FLASHDATA3[20]={'单','次','触','发','存','储','连','续','显','示'};
code unsigned int FLASHPOS[14]=
{ 
 0x001A,0x001B,0x001C,0x001D,0x001E,0x002C,0x002D,0x002E,0x002F,0x0030,0x0032,0x0034,0x0036,0xFFFF   
   
 };
const unsigned char HZpos[4]={0x80,0x90,0x88,0x98};
enum PRSTA
{
     NORM,NOTHING1,SET1,ADD1,ADD2, NEXTTRIGLE1, NEXTTRIGLE2, NEXTTRIGLE3,SETCLEAR,SET2,SETNEXT,SETADD,SETSUB  
      
};
//---SET------------------------------












 //=====================================================
//         函数声明
//======================================================
//---------------LCD---------------------------------
void ncstrcpy(unsigned char *dst, const unsigned char *src);
void initLCD(void);
void check_busyLCD(void);
unsigned char LCDgetPos(unsigned char LCDpos);
void LCDwritePage(void);
//void disp_jump(void);
void LCDwriteByte(unsigned char LCDdata,unsigned char LCDctrl);
void delayus(unsigned long tdelay) ;
//---------------------c8051---------------------------------
void Initial(void);
void Timer4_Init(unsigned int counts);
void Timer4_ISR (void); 
//-----------KEY----------------------------------------
void disp_page0(void);
void disp_page1(void);
 void disp_page2 (void);
void set_ADD1(void);
void set_SUB1(void);
void set_NEXT(void);
void set_CLEAR(void); 
void check_key(void);
void msg_key(void);
code unsigned char TBSTUS[]=
{
      //current,       key,        program,    next
        
         //NORM,          KDOWN,	    NALARM,     NORM,
        // NORM,          KCANCEL,    CALARM,     NORM,
        // NORM,          KVRO,	    VRO,        NORM,
         //NORM,          KVUP,	    VUP,        NORM,
		 
		 NORM,        KADD,        NEXTTRIGLE1,    ADD1,
		 NORM,         0,	       NOTHING1,     NORM,
		  
	 	 NORM,       KSET,	        SETNEXT,     SET2, 
		 ADD1,       KADD,         NEXTTRIGLE2,    ADD2,
		 ADD2,       KADD,          NEXTTRIGLE3,   NORM
		 
		 
         SET2,        KSET,        SETNEXT ,     SET2,
		 SET2,        KADD,        SETADD,      SET2,
         SET2,        KSUB,        SETSUB,      SET2,
		 SET2,        KESC,        SETCLEAR,    NORM,
};

⌨️ 快捷键说明

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