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

📄 keyboard.h

📁 基于avr-gcc (GCC) 4.1.2 (WinAVR 20070525)环境开发的atmega128应用程序(带makefile文件)
💻 H
字号:
/**********************************************************/
/*														  */
/*文 件 名:Keyboard.h							          */
/*功    能:系统键盘输入处理头文件						  */
/*编译器  :	avr-gcc (GCC) 4.1.2 (WinAVR 20070525)		  */
/*当前版本:V1.0										  */
/*作    者:白广斌									      */
/*														  */
/*授    权:										      */
/*														  */
/*开始日期:2006.11.4									  */
/*完成日期:2006.11.17								      */
/*														   */
/**********************************************************/
#include <avr/io.h>
#include <avr/pgmspace.h>

#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long int

#define TIMER_Second    *(volatile uchar *)(0x1100)       /*秒*/
#define TIMER_Minute    *(volatile uchar *)(0x1102) 	     /*分*/
#define TIMER_Hour      *(volatile uchar *)(0x1104) 	     /*小时*/
#define TIMER_Week      *(volatile uchar *)(0x1106) 	     /*星期*/
#define TIMER_Date      *(volatile uchar *)(0x1107) 	     /*日*/
#define TIMER_Month     *(volatile uchar *)(0x1108) 	     /*月*/
#define TIMER_Year      *(volatile uchar *)(0x1109) 	     /*年*/ 
#define TIMER_Century   *(volatile uchar *)(0x1132) 	     /*世纪*/
#define TIMER_RegA      *(volatile uchar *)(0x110a) 	     /*A*/
#define TIMER_RegB      *(volatile uchar *)(0x110b) 	     /*B*/
#define TIMER_RegC      *(volatile uchar *)(0x110c) 	     /*C*/
#define TIMER_RegD      *(volatile uchar *)(0x110d) 	     /*D*/

extern uchar Serial_0_ok;        //串口0接收数据完成

extern uchar JK_Pic_OK;   //0:未显示监控界面;否则已显示
extern uchar MenuNumber;  //菜单键值
extern uchar Operation_Menu;//菜单选项值
extern uchar Select_Bit;    //选择位变量

extern uchar Year[];     //定义系统时间  年   字符串  
extern uchar Month[];    //定义系统时间  月   字符串
extern uchar Date[];     //定义系统时间  日   字符串
extern uchar Timer_H[];  //定义系统时间  小时 字符串
extern uchar Timer_M[];  //定义系统时间  分钟 字符串
extern uchar Timer_S[];  //定义系统时间  秒   字符串

extern uint  SET_1_GTZJ_Parameter_1;    //设置#1泵缸套直径参数变量1
extern uint  SET_1_GTZJ_Parameter_2;    //设置#1泵缸套直径参数变量2
extern uint  SET_1_GTZJ_Parameter_3;    //设置#1泵缸套直径参数变量3

extern uint  SET_2_GTZJ_Parameter_1;    //设置#2泵缸套直径参数变量1
extern uint  SET_2_GTZJ_Parameter_2;    //设置#2泵缸套直径参数变量2
extern uint  SET_2_GTZJ_Parameter_3;    //设置#2泵缸套直径参数变量3

extern uint  SET_Year_Variable;    //年设置变量
extern uchar SET_Month_Variable;   //月设置变量
extern uchar SET_Date_Variable;    //日设置变量

extern uchar SET_HH_Variable;      //小时设置变量
extern uchar SET_MM_Variable;      //分钟设置变量
extern uchar SET_SS_Variable;      //  秒设置变量

extern uint   LJLL;   //累计流量

uchar  CLEAR_Key=0;          //清累计流量操作变量,0无操作,否则清零
uchar  Password_Number[6];   //密码值变量
uchar  Password_OK;          //密码值正确与否 1正确,否则密码错误
uchar  Password_Cn;          //密码计数器

/*EEPROM参数存储变量声明*/
uchar  Password_EEPROM  __attribute__((section(".eeprom")));   //密码计数器存储变量

uint   GTZJ_1_1_EEPROM  __attribute__((section(".eeprom")));   //#1泵缸套直径参数1数据存储变量
uint   GTZJ_1_2_EEPROM  __attribute__((section(".eeprom")));   //#1泵缸套直径参数2数据存储变量
uint   GTZJ_1_3_EEPROM  __attribute__((section(".eeprom")));   //#1泵缸套直径参数3数据存储变量

uint   GTZJ_2_1_EEPROM  __attribute__((section(".eeprom")));   //#2泵缸套直径参数1数据存储变量
uint   GTZJ_2_2_EEPROM  __attribute__((section(".eeprom")));   //#2泵缸套直径参数2数据存储变量
uint   GTZJ_2_3_EEPROM  __attribute__((section(".eeprom")));   //#2泵缸套直径参数3数据存储变量

extern uchar ADDR  __attribute__((section(".eeprom")));   //本机地址存储变量
extern uchar SET_Addr_Variable;    //本机地址设置变量
extern uchar AddrNuber;            //本机地址值

/*外部函数声明*/
extern void LCD_Initial(void);                                     //显示系统初始化函数
extern void ClearScreen(void);                                     //清屏函数
extern void LCM_Screen_str(uchar low,uchar high,const prog_char *pstr,uchar Layer,uchar fs);//16X8点阵字符串输出到屏幕指定位置显示
extern void LCM_Screen_HZ(uchar Row,uchar Col,uchar bm,uchar Layer,uchar fs);     //16x16点阵汉字输出到屏幕指定位置显示
extern void LCM_Screen_RAMstr(uchar Row,uchar Col,uchar *pstr,uchar Layer,uchar fs);

extern uchar WeekComputer(uint y,uint m,uint d);
extern void SetTime(uchar SS,uchar MM,uchar HH);   //时间设置
extern void SetDate(uchar DD,uchar MM,uchar YY);   //日期设置
extern void LJLL_Clerr_Display(void);              //累计流量清零显示函数
extern void put0c(uchar c);

extern void Password_ERR_Disp(uchar Row,uchar Col,uchar Layer,uchar fs);//密码错误提示函数
extern void Password_Menu_Disp(uchar Row,uchar Col,uchar Layer,uchar fs,uchar fsBit);//输入密码菜单项显示函数
extern void Password_Judge(void);                                                    //密码判断函数

void Master_Menu(uchar x);     //系统主菜单函数

/*内部函数声明*/
uchar key_input(void);
void key_Input_Processing(void);

void K1_key(void);  //K1键输入处理函数
void K2_key(void);  //K2键输入处理函数
void K3_key(void);  //K3键输入处理函数
void K4_key(void);  //K4键输入处理函数
void K5_key(void);  //K5键输入处理函数
void K6_key(void);  //K6键输入处理函数

void Date_Add(void);           //日+1处理函数
void Date_Sub(void);		   //日-1处理函数

void Date_Rewrite(void);	   //日期改写函数
void Timer_Rewrite(void);	   //时间改写函数
void GTZJ_Rewrite(void);      //缸套直径参数改写函数

⌨️ 快捷键说明

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