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

📄 edit1.c.bak

📁 HD6305的Tag_IT电子标签的读写例子。
💻 BAK
📖 第 1 页 / 共 2 页
字号:
#include <console.h>
#include <mifare530.h>
#include <iso-15693.h>
#include "sendfile.h"

char key_beep=0,light=0;//按键音、背光变量
char Halt_6305;
unsigned char chip[256];

void Halt_HD6305 (void)
{
	on_off=0;
	Halt_6305 = 1;
	sm_setting (MSK_KEY_DOWN|MSK_KEY_UP|
				MSK_CHARGER_ON|MSK_CHARGER_OFF|
				MSK_TIME_OUT|MSK_ICC_MOVE|
				MSK_COMM_DATA|MSK_COMM_ERR|MSK_COMM_SB_EMPTY|
				MSK_ALARM_CLOCK);
	UART_init(UART_OFF);
	KEY_beep_mask_set(0x0000);
	KEY_EL_mask_set(0x0000);
	Disp_init(DISP_INIT_OFF);
	EL_setting(EL_OFF);
}
/***************按任意键***********************/
int get_any_key(void)
{
	typ_msg_word msg;
	while(1)
	{
		msg.s_word = sys_msg(SM_GOTO_SLEEP);
		if (msg.bits.key_available)
		{
			switch(KEY_read())
			{
				case KEY_ENTER:
					return 0;
				case default:
					return -1;
			}
		}
	}	
}

/***************正确提示音*********************/
void right_beep(void)
{
    	BEEPER_sound(0xff0b);
	delay_ms(200);
	BEEPER_sound(0);
}

/***************错误提示音*********************/
void error_beep(char sound)//0:短音,1:长音
{
    if(sound)	
    {
    	BEEPER_sound(0xff0b);
	delay_ms(3000);
	BEEPER_sound(0);
    }
    else
    {
	BEEPER_sound(0xff0b);
	delay_ms(150);
	BEEPER_sound(0);
	delay_ms(150);
	BEEPER_sound(0xff0b);
	delay_ms(150);
	BEEPER_sound(0);
	delay_ms(150);
	BEEPER_sound(0xff0b);
	delay_ms(150);
	BEEPER_sound(0);
    }	
}

void LCD_Regulate (void)
{
	typ_msg_word msg;
	char	qin,qBuf[10];

	DispStr_CE(0,1,"液晶对比度调整",DISP_CENTER|DISP_CLRSCR);
	qin = get_LCD_contrast();
	sprintf(qBuf,"%d",qin);
	DispStr_CE(0,4,qBuf,DISP_CENTER);
	while(1)
	{
		msg.s_word = sys_msg(SM_GOTO_SLEEP);
		if (msg.bits.key_available)
		{
			switch(KEY_read())
			{
				case KEY_UP:
				case 20:
						if (qin>62) break;
						inc_LCD_contrast();
						qin = get_LCD_contrast();
						sprintf(qBuf,"%d",qin);
						DispStr_CE(0,4,qBuf,DISP_CENTER|DISP_CLRLINE);
						break;
				case KEY_DOWN:
				case 21:
						if (qin<1) break;
						dec_LCD_contrast();
						qin = get_LCD_contrast();
						sprintf(qBuf,"%d",qin);
						DispStr_CE(0,4,qBuf,DISP_CENTER|DISP_CLRLINE);
						break;
				case KEY_COMM:
				case KEY_POWER:
				case KEY_ENTER:
						clr_scr();
						return;
			}
		}
	}
}

void beep_backlight(void)
{
	typ_msg_word msg;
	int q=0;
	DispStr_CE(0,1,"按键音:开  关",DISP_POSITION|DISP_CLRSCR);
	DispStr_CE(0,3,"背  光:开  关",DISP_POSITION);
	DispStr_CE(56,1,"开",DISP_POSITION|DISP_REVERSE);
	while(1)
	{
		msg.s_word = sys_msg(SM_GOTO_SLEEP);
		if (msg.bits.key_available)
		{
			switch(KEY_read())
			{
				case KEY_UP:
				case 20:
				case KEY_2:
				     if(q>0)
				     {
				     	q--;
				     	if(q==1)
				     	{
				     	  DispStr_CE(56,1,"开",DISP_POSITION);
				     	  DispStr_CE(88,1,"关",DISP_POSITION|DISP_REVERSE);
				     	  DispStr_CE(0,3,"背  光:开  关",DISP_POSITION);	
				     	}
				     	if(q==2)
				     	{
				     		DispStr_CE(56,3,"开",DISP_POSITION|DISP_REVERSE);
				     		DispStr_CE(88,3,"关",DISP_POSITION);
				     		DispStr_CE(0,1,"按键音:开  关",DISP_POSITION);
				     	}
				     	if(q==0)
				     	{
				     		DispStr_CE(56,1,"开",DISP_POSITION|DISP_REVERSE);
				     		DispStr_CE(88,1,"关",DISP_POSITION);
				     	}
				     	
				     }
				     break;
				case KEY_DOWN:
				case 21:
				case KEY_8:
				     if(q<4-1)
				     {
				     	q++;
				     	if(q==1)
				     	{
				     	  DispStr_CE(56,1,"开",DISP_POSITION);
				     	  DispStr_CE(88,1,"关",DISP_POSITION|DISP_REVERSE);
				     	  DispStr_CE(0,3,"背  光:开  关",DISP_POSITION);	
				     	}
				     	if(q==2)
				     	{
				     		DispStr_CE(56,3,"开",DISP_POSITION|DISP_REVERSE);
				     		DispStr_CE(88,3,"关",DISP_POSITION);
				     		DispStr_CE(0,1,"按键音:开  关",DISP_POSITION);
				     	}
				     	if(q==3)
				     	{
				     		DispStr_CE(56,3,"开",DISP_POSITION);
				     		DispStr_CE(88,3,"关",DISP_POSITION|DISP_REVERSE);
				     	}
				     	
				     }
				     break;

				case KEY_ENTER:
				     if(q==0)
				     	{KEY_beep_mask_set(0xffffffff);DispStr_CE(104,1," on",DISP_POSITION);key_beep=1;}
				     if(q==1)		
				     	{KEY_beep_mask_set(0x0000);DispStr_CE(104,1,"off",DISP_POSITION);key_beep=0;}
				     if(q==2)
				     	{KEY_EL_mask_set(0xffffffff);DispStr_CE(104,3," on",DISP_POSITION);light=1;}
				     if(q==3)
				     	{KEY_EL_mask_set(0x0000);DispStr_CE(104,3,"off",DISP_POSITION);light=0;}
				     break;
				case KEY_POWER:
				case KEY_COMM:
					clr_scr();
					return;
				     break;	          
			}
		}
	}			
		
}
//-------------------------------------------------------------------------------
int modi_date (void)
{
	struct GETSTR_PARAM gs;
	typ_RTC_date_rec	setdRec,getdRec;
	char	dBuf[20];
	int		which_in = 1;

	getdRec.l_word = RTC_read_date();
	sprintf(dBuf,"%04d年%02d月%02d日",getdRec.fields.year,getdRec.fields.month,getdRec.fields.day);
	DispStr_CE(0,0,dBuf,DISP_CENTER|DISP_CLRSCR);
	DispStr_CE(0,2,"年:",DISP_POSITION);
	DispStr_CE(0,4,"月:",DISP_POSITION);
	DispStr_CE(0,6,"日:",DISP_POSITION);
	while(1)
	{
		gs.qx = 24;
		gs.sFont = 0;
		gs.nullEnable = 1;
		gs.csChar = '_';
		gs.pwChar = 0;
		gs.spChar = 0;
		gs.pStr = dBuf;
		switch (which_in)
		{
			case 1:
					gs.qy = 2;
					gs.maxNum = 4;
					gs.minNum = 4;
					gs.minValue = 2004;
					gs.maxValue = 2020;
					gs.pPrompt = "";
					gs.retNum = 0;
					switch(GetStr_E(&gs))
					{
						case 0:
								setdRec.fields.year = gs.retValue;
								sprintf(dBuf,"年:%4d    ",setdRec.fields.year);
								DispStr_CE(0,2,dBuf,DISP_POSITION);
								which_in = 2;
								break;
						case 1:
								setdRec.fields.year = getdRec.fields.year;
								sprintf(dBuf,"年:%4d    ",setdRec.fields.year);
								DispStr_CE(0,2,dBuf,DISP_POSITION);
								which_in = 2;
								break;
						case -1:
								which_in = 0;
					}
					break;
			case 2:
					gs.qy = 4;
					gs.maxNum = 2;
					gs.minNum = 1;
					gs.minValue = 1;
					gs.maxValue = 12;
					gs.pPrompt = "";
					gs.retNum = 0;
					switch(GetStr_E(&gs))
					{
						case 0:
								setdRec.fields.month = gs.retValue;
								sprintf(dBuf,"月:%02d    ",setdRec.fields.month);
								DispStr_CE(0,4,dBuf,DISP_POSITION);
								which_in = 3;
								break;
						case 1:
								setdRec.fields.month = getdRec.fields.month;
								sprintf(dBuf,"月:%02d    ",setdRec.fields.month);
								DispStr_CE(0,4,dBuf,DISP_POSITION);
								which_in = 3;
								break;
						case -1:
								DispStr_CE(0,2,"年:             ",DISP_POSITION);
								DispStr_CE(0,4,"月:             ",DISP_POSITION);
								which_in = 1;
					}
					break;
			case 3:
					gs.qy = 6;
					gs.maxNum = 2;
					gs.minNum = 1;
					gs.minValue = 1;
					gs.maxValue = 31;
					gs.pPrompt = "";
					gs.retNum = 0;
					switch(GetStr_E(&gs))
					{
						case 0:
								setdRec.fields.day = gs.retValue;
								sprintf(dBuf,"日:%02d    ",setdRec.fields.day);
								DispStr_CE(0,6,dBuf,DISP_POSITION);
								which_in = 4;
								break;
						case 1:
								setdRec.fields.day = getdRec.fields.day;
								sprintf(dBuf,"日:%02d    ",setdRec.fields.day);
								DispStr_CE(0,6,dBuf,DISP_POSITION);
								which_in = 4;
								break;
						case -1:
								DispStr_CE(0,4,"月:             ",DISP_POSITION);
								DispStr_CE(0,6,"日:             ",DISP_POSITION);
								which_in = 2;
					}
		}
		if (which_in<1) return -1;
		if (which_in>3)
		{
			RTC_set_date(setdRec.l_word);
			getdRec.l_word = RTC_read_date();
			sprintf(dBuf,"%04d年%02d月%02d日",getdRec.fields.year,getdRec.fields.month,getdRec.fields.day);
			DispStr_CE(0,0,dBuf,DISP_CENTER|DISP_CLRSCR);
			delay_ms(1000);
			return 0;
		}		
	}
}

int modi_time (void)
{
	struct GETSTR_PARAM gs;
	typ_RTC_time_rec	settRec,gettRec;
	char	dBuf[20];
	int		which_in = 1;

	gettRec.l_word = RTC_read_time();
	sprintf(dBuf,"%02d时%02d分%02d秒",gettRec.fields.hour,gettRec.fields.minute,gettRec.fields.second);
	DispStr_CE(0,0,dBuf,DISP_CENTER|DISP_CLRSCR);
	DispStr_CE(0,2,"时:",DISP_POSITION);
	DispStr_CE(0,4,"分:",DISP_POSITION);
	DispStr_CE(0,6,"秒:",DISP_POSITION);
	while(1)
	{
		gs.qx = 24;
		gs.sFont = 0;
		gs.nullEnable = 1;
		gs.csChar = '_';
		gs.pwChar = 0;
		gs.spChar = 0;
		gs.pStr = dBuf;
		switch (which_in)
		{
			case 1:
					gs.qy = 2;
					gs.maxNum = 2;
					gs.minNum = 1;
					gs.minValue = 0;
					gs.maxValue = 23;
					gs.pPrompt = "";
					gs.retNum = 0;
					switch(GetStr_E(&gs))
					{
						case 0:
								settRec.fields.hour = gs.retValue;
								sprintf(dBuf,"时:%02d    ",settRec.fields.hour);
								DispStr_CE(0,2,dBuf,DISP_POSITION);
								which_in = 2;
								break;
						case 1:
								settRec.fields.hour = gettRec.fields.hour;
								sprintf(dBuf,"时:%02d    ",settRec.fields.hour);
								DispStr_CE(0,2,dBuf,DISP_POSITION);
								which_in = 2;
								break;
						case -1:
								which_in = 0;
					}
					break;
			case 2:
					gs.qy = 4;
					gs.maxNum = 2;
					gs.minNum = 1;
					gs.minValue = 0;
					gs.maxValue = 59;
					gs.pPrompt = "";
					gs.retNum = 0;
					switch(GetStr_E(&gs))
					{
						case 0:
								settRec.fields.minute = gs.retValue;
								sprintf(dBuf,"分:%02d    ",settRec.fields.minute);
								DispStr_CE(0,4,dBuf,DISP_POSITION);
								which_in = 3;
								break;
						case 1:
								settRec.fields.minute = gettRec.fields.minute;
								sprintf(dBuf,"分:%02d    ",settRec.fields.minute);
								DispStr_CE(0,4,dBuf,DISP_POSITION);
								which_in = 3;
								break;
						case -1:
								DispStr_CE(0,2,"时:             ",DISP_POSITION);
								DispStr_CE(0,4,"分:             ",DISP_POSITION);
								which_in = 1;

⌨️ 快捷键说明

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