📄 keyp.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 + -