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

📄 clock.c

📁 sunplus spca514 cdmp3 源码
💻 C
字号:
#include "uicc_def.h"
#include "main.h"

#ifdef CLOCK_STANDBY
#define CK_SET       UICC_SETUP
#define CK_SEL       UICC_PLAY
#define CK_UP        UICC_UP
#define CK_DOWN      UICC_DOWN
#define write_status()   {i2c_select_device(0x62,0x02);i2c_stop();}
//#define read_clock()     i2c_
unsigned char time_val[3];
unsigned hm_flag;   //0--hour
extern unsigned display_type,uicc_code,g_ui_tmp_msg_cnt;

unsigned char bcd_to_hex(unsigned char data)
{
   return ((data&0x0f)+((data&0xf0)>>4)*10);
}
unsigned char hex_to_bcd(unsigned char data)
{
 return ((data%10) + ((data/10)<<4));
}
unsigned char ml_trans(unsigned char data)
{
  unsigned char i,val;
  val=0;
  for(i=0;i<8;i++)
  {
    val <<=1;
    if(data&0x80)
	  val |= 0x01;
	data <<=1;
  };
  return val;
}
void read_clock(void)
{
  unsigned char i;
  if(i2c_start())
  {
    if(i2c_putc(0x67))
	{
	  for(i=0;i<3;i++)
	  {
	   time_val[i] = bcd_to_hex(ml_trans(i2c_getc(1)));
	  }
	//  i2c_stop();
	 // return 1;
	}
  };
  
  i2c_stop();
  //return 0;
}
void write_clock(void)
{
  unsigned char i;
  if(i2c_start())
  {
    if(i2c_putc(0x66))
	{
	  for(i=0;i<3;i++)
	     i2c_putc(ml_trans(hex_to_bcd(time_val[i])));
	//  i2c_stop();
	 // return 1;
	}
  };
  
  i2c_stop();
  //return 0;
}
void clock_operator(void)
{
   switch(uicc_code)
   {
      case CK_SET:
	    if(display_type==DISPLAY_TIME)
		{
		  	write_status();
			write_clock();
			g_ui_tmp_msg_cnt = 1;
			
		}
		else
		{
		  g_ui_tmp_msg_cnt = 20;
		  read_clock();
		  display_type = DISPLAY_TIME;
		  hm_flag = 0;
		};
		break;
	case CK_SEL:
	   g_ui_tmp_msg_cnt = 20;
	   if(hm_flag)
	      hm_flag = 1;
	   else
	      hm_flag = 0;
	   break;
	 case CK_UP:
	   if(hm_flag)
	   {//minute
	     if((++time_val[1])>=60)
		   time_val[1] = 0;
	   }
	   else
	   {//hour
	    if((++time_val[0])>=24)
		 time_val[0] = 0;
	   }
	   g_ui_tmp_msg_cnt = 20;
	   break;
   };

}
#endif

⌨️ 快捷键说明

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