亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtc.c

?? RTC實時時鐘例程,可值參考移值使用.好就頂下.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*-------------------------------------------------------------------------
RTC.C	For Real Time Clock
Copyright 2006 Microntek Technologies Co. Ltd.
-------------------------------------------------------------------------*/


#include "global612.h"
#include "rtc.h"
#include "display.h"
#include "math.h"

BYTE	bCalendarOnFlag = 0;
BYTE 	bDays[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
BYTE *	MonthStr[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", 
						"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
BYTE *	Data_TimeStr[31] = {" 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9","10",
						"11","12","13","14","15","16","17","18","19","20",
						"21","22","23","24","25","26","27","28","29","30","31"};

#if defined(CCIR_640x480)
BYTE CCIR_640x480p = 1;
#else
BYTE CCIR_640x480p = 0;
#endif

#if	(RTC_ENABLE==1)

float	sinx[60];
float	cosx[60];
#define PI  3.14159265358

extern ST_OSDWIN	*g_psUserWinOSD;

#define SDA_IN			Ui_ChangeGpioInput(SDA_RTC)
#define SDA_OUT			Ui_ChangeGpioOutput(SDA_RTC)
#define SCL_OUT			Ui_ChangeGpioOutput(SCL_RTC)

#define SET_SDA			Ui_SetGpioData(SDA_RTC);RTC_Delay(1)
#define CLR_SDA			Ui_ClrGpioData(SDA_RTC);RTC_Delay(1)

#define SET_SCL			Ui_SetGpioData(SCL_RTC);RTC_Delay(1)
#define CLR_SCL			Ui_ClrGpioData(SCL_RTC);RTC_Delay(1)

#define SET_RST			Ui_SetGpioData(RST_RTC);RTC_Delay(1)
#define CLR_RST			Ui_ClrGpioData(RST_RTC);RTC_Delay(1)

#define CHK_SDA			Ui_CheckGpioData(SDA_RTC)

ST_CLOCK g_stClock;
ST_CLOCK *g_pstClock = &g_stClock; 


void RTC_Delay(WORD value)
{
	value *= 5;
	while(value>0) 
		value--;
}
static	void	RTC_WP()
{
	RTC_WriteByte(0x7,0x80);
}

static	void	RTC_UNWP()
{
	RTC_WriteByte(0x7,0x00);
}

void	RTC_Init()
{
	RTC_WriteByte(0x7,0x80);		// Set WP
	
	if (RTC_ReadByte(0x0)&0x80)
	{
		RTC_WriteByte(0x7,0x0);		// Clr WP
		RTC_WriteByte(0x0,0x0);		// Clr CH
	
		RTC_WriteByte(0x7,0x80);	// Set WP
	}

	BYTE	angle;
	
	for	(angle = 0; angle < 60; angle++ )
	{
		sinx[angle] = sin(PI*angle/30);
		cosx[angle] = cos(PI*angle/30);
	}
}

static	void	RTC_SendByte(BYTE bData)
{
	BYTE	i;
	
	SDA_OUT;
	
	for (i=0;i<8;i++)
	{
		if (bData&0x1)
		{
			SET_SDA;
		}
		else
		{
			CLR_SDA;
		}
		SET_SCL;
		CLR_SCL;
		bData>>=1;
	}

	SDA_IN;
}

static	BYTE	RTC_GetByte()
{
	BYTE	i,bData = 0;
	
	SDA_IN;
	
	for (i=0;i<8;i++)
	{
		SET_SCL;
		bData >>= 1;
		if (CHK_SDA)
			bData |= 0x80;
		CLR_SCL;
	}
	return	bData;
}

static	void	RTC_WriteByte(BYTE bAddr, BYTE bData)
{
	BYTE	i;
	
	CLR_RST;
	SET_RST;
	
	bAddr = (bAddr<<1)|0x80;	// Write
	
	RTC_SendByte(bAddr);
	RTC_SendByte(bData);

	CLR_RST;	
}

static	void	RTC_Write(BYTE *bData)
{
	CLR_RST;
	SET_RST;

	RTC_SendByte(0xBE);
	RTC_SendByte(bData[0]);
	RTC_SendByte(bData[1]);
	RTC_SendByte(bData[2]);
	RTC_SendByte(bData[3]);
	RTC_SendByte(bData[4]);
	RTC_SendByte(bData[5]);
	RTC_SendByte(bData[6]);
	RTC_SendByte(0x80);
	
	CLR_RST;
}

static	BYTE	RTC_ReadByte(BYTE bAddr)
{
	BYTE	i;
	BYTE	bData = 0;
		
	CLR_RST;
	SET_RST;
	
	bAddr = (bAddr<<1)|0x81;		// Read
	
	RTC_SendByte(bAddr);
	bData = RTC_GetByte();

	CLR_RST;
	return	bData;	
}

static	void	RTC_Read(BYTE *bData)
{
	CLR_RST;
	SET_RST;

	RTC_SendByte(0xBF);
	bData[0] = RTC_GetByte();
	bData[1] = RTC_GetByte();
	bData[2] = RTC_GetByte();
	bData[3] = RTC_GetByte();
	bData[4] = RTC_GetByte();
	bData[5] = RTC_GetByte();
	bData[6] = RTC_GetByte();
	RTC_GetByte();
	
	CLR_RST;
}

void	RTC_ReadTime()
{
	BYTE	bData[7];

	RTC_Read(bData);

	g_pstClock->bSecond = ((bData[0]&0x70)>>4)*10+(bData[0]&0xF);
	g_pstClock->bMinute = ((bData[1]&0x70)>>4)*10+(bData[1]&0xF);
	g_pstClock->bHour = ((bData[2]&0x30)>>4)*10+(bData[2]&0xF);
	g_pstClock->bDate = ((bData[3]&0x30)>>4)*10+(bData[3]&0xF);
	g_pstClock->bMonth = ((bData[4]&0x10)>>4)*10+(bData[4]&0xF);
	g_pstClock->bDay = (bData[5]&0xF);
	g_pstClock->wYear = ((bData[6]&0xF0)>>4)*10+(bData[6]&0xF)+2000;

	if (g_pstClock->wYear >2099 || g_pstClock->wYear <2000 )
		g_pstClock->wYear = 2000;
	if (g_pstClock->bMonth >12 || g_pstClock->bMonth < 1 )
		g_pstClock->bMonth = 1;
	if (g_pstClock->bDate > Get_MonthDays(g_pstClock->wYear,g_pstClock->bMonth) || g_pstClock->bDate < 1)
		g_pstClock->bDate = 1;

	if (g_pstClock->bHour >23 )
		g_pstClock->bHour = 0;
	if (g_pstClock->bMinute >59 )
		g_pstClock->bMinute = 0;
	if (g_pstClock->bSecond >59 )
		g_pstClock->bSecond = 0;

}

void	RTC_WriteTime()
{
	BYTE	bData[7];

	RTC_UNWP();
	
	bData[0] = g_pstClock->bSecond%10 + ((g_pstClock->bSecond/10)<<4);
	bData[1] = g_pstClock->bMinute%10 + ((g_pstClock->bMinute/10)<<4);
	bData[2] = g_pstClock->bHour%10 + ((g_pstClock->bHour/10)<<4);
	bData[3] = g_pstClock->bDate%10 + ((g_pstClock->bDate/10)<<4);
	bData[4] = g_pstClock->bMonth%10 + ((g_pstClock->bMonth/10)<<4);
	bData[5] = g_pstClock->bDay;
	bData[6] = (g_pstClock->wYear-2000)%10 + (((g_pstClock->wYear-2000)/10)<<4);
	
	RTC_Write(bData);

//	RTC_WriteByte(0x1,bData[1]);

	RTC_WP();
}


DWORD CLOCK_X;
DWORD CLOCK_Y;

void Clear_TimeBar()
{
	if (TEST_480X240p == 1 )
	{
		CLOCK_X	= (g_wScreenDefaultWidth-120);
		CLOCK_Y	= 6;
	}
	else
	{
		CLOCK_X	= (g_wScreenDefaultWidth-220);
		CLOCK_Y	= 14;
	}

	ST_OSDWIN *psWin = Idu_GetOsdWin();

	Idu_OsdPaintArea(psWin, CLOCK_X, CLOCK_Y, g_wScreenDefaultWidth-CLOCK_X-10, 20, 0);
}

extern	BOOL	In_Setup;

BYTE *	bHourStr[12] = { "12","1", "2","3","4","5","6","7", "8","9","10","11" };

#if defined(SJD_7A)||defined(SJD_7A_16M)
extern BYTE	bColor = 0;
#endif
void Show_Clock()
{
/*
	if ( g_sSetupMenu.bClockMode == 0 || In_Setup)
	{
		return;
	}
*/
	WORD CLOCK_R,CLOCK_R1,CLOCK_R2,CLOCK_R3,CLOCK_M_X,CLOCK_M_Y,CLOCK_HOUR_R,CLOCK_MIN_R,CLOCK_SEC_R;

	if (TEST_480X240p == 1)
	{
#if defined(SJD_7A)
		CLOCK_M_X =	114;
		CLOCK_M_Y =	(g_wScreenDefaultHeight/2-12);

		CLOCK_R = 90;
		CLOCK_R1	= 84;
		CLOCK_R2	= 78;
		CLOCK_R3	= 62;
		CLOCK_HOUR_R = 32;
		CLOCK_MIN_R	= 52;
		CLOCK_SEC_R	= 68;
#else	
		CLOCK_M_X =	130;
		CLOCK_M_Y =	(g_wScreenDefaultHeight/2);

		CLOCK_R = 110;
		CLOCK_R1	= 104;
		CLOCK_R2	= 98;
		CLOCK_R3	= 82;
		CLOCK_HOUR_R = 54;
		CLOCK_MIN_R	= 70;
		CLOCK_SEC_R	= 82;
#endif
	}
	else if (CCIR_640x480p == 1)	
	{
		CLOCK_M_X =	162;
		CLOCK_M_Y =	(g_wScreenDefaultHeight/2-20);

		CLOCK_R = 156;
		CLOCK_R1 = 144;
		CLOCK_R2 = 134;
		CLOCK_R3 = 116;
		CLOCK_HOUR_R = 66;
		CLOCK_MIN_R	= 96;
		CLOCK_SEC_R	= 116;
	}
	else
	{
#if defined(SJD_7A_16M)
		CLOCK_M_X =	176;
		CLOCK_M_Y =	(g_wScreenDefaultHeight/2);

		CLOCK_R = 160;
		CLOCK_R1 = 124;
		CLOCK_R2 = 116;
		CLOCK_R3 = 100;
		CLOCK_HOUR_R = 56;
		CLOCK_MIN_R	= 72;
		CLOCK_SEC_R	= 88;
#else
		CLOCK_M_X =	196;
		CLOCK_M_Y =	(g_wScreenDefaultHeight/2);

		CLOCK_R = 176;
		CLOCK_R1 = 168;
		CLOCK_R2 = 158;
		CLOCK_R3 = 140;
		CLOCK_HOUR_R = 80;
		CLOCK_MIN_R	= 130;
		CLOCK_SEC_R	= 140;
#endif
	}
		
	DWORD	dwStartTime = GetCurMs2();

	WORD	angle, swHourX,swHourY,swMinuteX,swMinuteY,swSecondX,swSecondY;

	Idu_OsdPaintArea(g_psUserWinOSD, CLOCK_M_X-CLOCK_R, CLOCK_M_Y-CLOCK_R, CLOCK_R*2, CLOCK_R*2, 0);

	for	(angle = 0; angle < 360; angle+=6 )
	{
		swHourX	= CLOCK_M_X + sinx[angle/6]* CLOCK_R2;
		if (TEST_480X240p == 1)
			swHourY	= CLOCK_M_Y - cosx[angle/6]* CLOCK_R2*7/8;
		else 
		{
#if defined(SJD_7A_16M)		
			swHourY	= CLOCK_M_Y - cosx[angle/6]* CLOCK_R2*5/4;
#else
			swHourY	= CLOCK_M_Y - cosx[angle/6]* CLOCK_R2;
#endif
		}
		swMinuteX = CLOCK_M_X + sinx[angle/6]* CLOCK_R1;
		if (TEST_480X240p == 1)
			swMinuteY = CLOCK_M_Y - cosx[angle/6]* CLOCK_R1*7/8;
		else
		{
#if defined(SJD_7A_16M)		
			swMinuteY = CLOCK_M_Y - cosx[angle/6]* CLOCK_R1*5/4;
#else
			swMinuteY = CLOCK_M_Y - cosx[angle/6]* CLOCK_R1;
#endif
		}
		if (angle%30 == 0)
		{
#if defined(SJD_7A)||defined(SJD_7A_16M)
			if (angle%90 == 0)
			{
				bColor = 1;
			}			
			else
			{
				bColor = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产午夜精品| 久久国产乱子精品免费女| 高清日韩电视剧大全免费| 久久精品视频网| 国产精品一级片在线观看| 欧美激情一区不卡| 91视频国产观看| 水野朝阳av一区二区三区| 日韩精品一区国产麻豆| 国产精品一区二区三区99| 国产精品区一区二区三区| 色猫猫国产区一区二在线视频| 亚洲小少妇裸体bbw| 日韩美一区二区三区| 国v精品久久久网| 亚洲中国最大av网站| 欧美大片在线观看一区| 成人av中文字幕| 欧美成人aa大片| 精品国产乱码久久久久久牛牛 | 成人av手机在线观看| 亚洲人成7777| 在线播放日韩导航| 顶级嫩模精品视频在线看| 亚洲欧美国产三级| 亚洲一区二区三区视频在线| 日韩视频免费直播| av激情亚洲男人天堂| 日韩国产欧美在线播放| 国产婷婷色一区二区三区在线| 色婷婷香蕉在线一区二区| 奇米色777欧美一区二区| 国产精品成人免费在线| 欧美一区二区三区视频免费| 成人黄色网址在线观看| 日本成人在线不卡视频| 日韩理论片在线| 2023国产精品自拍| 欧美视频在线观看一区二区| 丁香网亚洲国际| 麻豆精品在线观看| 一区二区欧美精品| 中文av一区二区| 日韩精品一区二区三区在线观看| 91香蕉视频黄| 国产精品香蕉一区二区三区| 天天色图综合网| 一区二区三区在线播| 国产欧美日韩卡一| 亚洲一区二区在线免费看| 久久精品网站免费观看| 日韩一区二区精品葵司在线| 欧美综合一区二区| 99久久免费精品| 国产不卡高清在线观看视频| 麻豆成人久久精品二区三区小说| 亚洲欧美日韩成人高清在线一区| 国产亚洲美州欧州综合国| 国产精品美女一区二区| 在线播放国产精品二区一二区四区| 成人开心网精品视频| 国产最新精品精品你懂的| 亚洲国产sm捆绑调教视频| 亚洲视频免费在线观看| 亚洲国产精品二十页| 久久精品男人的天堂| 久久免费视频一区| 精品粉嫩aⅴ一区二区三区四区| 欧美丰满少妇xxxbbb| 欧美丝袜自拍制服另类| 欧美综合色免费| 欧美中文字幕不卡| 欧美揉bbbbb揉bbbbb| 欧美在线不卡视频| 欧美日韩和欧美的一区二区| 欧美综合天天夜夜久久| 91成人免费电影| 欧美手机在线视频| 9191国产精品| 日韩精品一区国产麻豆| 精品久久国产老人久久综合| 久久综合狠狠综合久久激情| 亚洲精品一区二区三区蜜桃下载| 日韩午夜三级在线| 国产精品不卡视频| 国产精品久久国产精麻豆99网站| 国产精品免费看片| 亚洲男人的天堂在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲丝袜另类动漫二区| 亚洲精品免费在线| 偷拍自拍另类欧美| 精品一区二区三区在线播放视频| 国产一区二区三区久久久 | 自拍偷在线精品自拍偷无码专区 | 美国三级日本三级久久99| 黄一区二区三区| 成人在线一区二区三区| 一本到不卡免费一区二区| 欧美日韩国产影片| 欧美刺激午夜性久久久久久久| 久久久久久一级片| 一区二区三区在线观看国产| 日本成人超碰在线观看| 成人免费毛片a| 欧美在线观看你懂的| 久久久久久久久伊人| 成人一道本在线| 波多野结衣中文字幕一区二区三区| 色综合色狠狠天天综合色| 制服丝袜激情欧洲亚洲| 久久久国产精品不卡| 亚洲精品国产视频| 精品一区二区在线看| 色综合久久久久网| 日韩欧美国产三级电影视频| 中文字幕二三区不卡| 爽爽淫人综合网网站| 成人网在线播放| 91精品国产综合久久久蜜臀粉嫩| 国产女人18毛片水真多成人如厕 | 麻豆一区二区99久久久久| 高清国产一区二区三区| 欧美日韩你懂的| 国产精品污污网站在线观看 | 日本女优在线视频一区二区| a亚洲天堂av| 日韩美女在线视频| 亚洲自拍偷拍综合| 一区二区三区久久久| 久久久久88色偷偷免费| 一区二区三区不卡在线观看| 久久国产精品第一页| 在线观看日韩毛片| 国产精品美女久久福利网站| 蜜臀99久久精品久久久久久软件| 99精品视频一区| 久久久精品中文字幕麻豆发布| 亚洲午夜精品17c| 欧美一级淫片007| 亚洲一区二区三区四区在线| 成人自拍视频在线观看| 精品电影一区二区三区| 午夜精品久久久久久久久久| 91蜜桃婷婷狠狠久久综合9色| 久久午夜国产精品| 蜜桃在线一区二区三区| 欧美日产在线观看| 一个色在线综合| 99国产精品久久久久久久久久 | 久久综合色8888| 手机精品视频在线观看| 欧日韩精品视频| 亚洲欧美日韩中文字幕一区二区三区| 国产精品77777| 精品国产一区二区三区不卡| 美女一区二区视频| 亚洲日本在线天堂| 国产91综合一区在线观看| 精品国精品国产| 老司机免费视频一区二区三区| 欧美色精品在线视频| 亚洲精品国产一区二区三区四区在线 | 欧美精品一区二区蜜臀亚洲| 男人的天堂亚洲一区| 91精品国产色综合久久不卡蜜臀 | 国产综合久久久久久鬼色| 欧美一区二区美女| 欧美亚洲自拍偷拍| 一区二区三区中文在线| 色哦色哦哦色天天综合| 一区二区三区四区蜜桃| 欧美亚洲一区二区三区四区| 亚洲图片欧美一区| 欧美人狂配大交3d怪物一区| 五月激情综合色| 欧美不卡在线视频| 国产伦精品一区二区三区免费迷 | 国产在线一区观看| 精品美女在线播放| 国产在线国偷精品产拍免费yy| 欧美精品一区二区在线观看| 国产一区二区三区在线观看免费视频| 日韩免费视频一区二区| 国产河南妇女毛片精品久久久| 国产色一区二区| 99久久夜色精品国产网站| 亚洲色图第一区| 制服丝袜激情欧洲亚洲| 国产在线不卡一卡二卡三卡四卡| 国产欧美日韩视频一区二区| 91丨porny丨蝌蚪视频| 亚洲成人中文在线| 精品福利二区三区| bt欧美亚洲午夜电影天堂| 亚洲成av人片在线观看无码| 欧美xxxxx牲另类人与| 成人深夜视频在线观看| 亚洲一卡二卡三卡四卡| 精品剧情v国产在线观看在线|