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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtc.c

?? 門禁系統(tǒng) interated with LCD
?? C
字號(hào):
#include "RTC.h"
#include "always.h"

int RTC_Init(void) 
{
	unsigned char DATA[16];
	DATA[0] = 0x00;
	DATA[1] = 0x03; //Enable timer/Alarm interrupts
	DATA[2] = 0x59;
	DATA[3] = 0x06;
	DATA[4] = 0x00;
	DATA[5] = 0x00;
	DATA[6] = 0x00;
	DATA[7] = 0x00;
	DATA[8] = 0x00;
	DATA[9] = 0x80;  // Disable Alarm (1 Disabled, 0 Enable)
	DATA[10] = 0x80; // Disable Alarm (1 Disabled, 0 Enable)
	DATA[11] = 0x80; // Disable Alarm (1 Disabled, 0 Enable)
	DATA[12] = 0x80; // Disable Alarm (1 Disabled, 0 Enable)
	DATA[13] = 0x83; //Enable Clockout at 1Hz
	DATA[14] = 0x00;
	DATA[15] = 0x00;
	if (RTC_Write_All(DATA)== I2C_ERROR) return I2C_ERROR;
	return FALSE;

}

//---------------------------------------------------------
//Reset the alarm flags
int RTC_Reset_Alarm(void)
{
	int temp;
	if ((temp = RTC_Read(RTC_CONTROL_2))== I2C_ERROR) return I2C_ERROR;
	bit_clear(temp,2);
	bit_clear(temp,3);
	return FALSE;
	
}

//Block Write the particular data
int RTC_Write(int type,int data) 
{
	if ((i2c_Write(RTC_W,type,data)) == I2C_ERROR) return I2C_ERROR;
	//unsigned char DATA[16];
	//if (RTC_Read_All(DATA)== I2C_ERROR) return I2C_ERROR;
	//DATA[type] = data;
	//if (RTC_Write_All(DATA) == I2C_ERROR) return I2C_ERROR;
	return FALSE;
}


//block write the entire RTC registers
int RTC_Write_All(unsigned char *DATA) 
{
	if (i2c_WriteTo(RTC_W)) return I2C_ERROR;
	if (i2c_PutByte(0x00)== I2C_ERROR) return I2C_ERROR;
	if (i2c_PutString(DATA,16)== I2C_ERROR) return I2C_ERROR;
	i2c_Stop();
	return FALSE;
}

int RTC_Read(int type) 
{
	int data,temp;
	if ((temp = i2c_Read(RTC_R,type))== I2C_ERROR) return I2C_ERROR;
	switch (type) 
	// adjust data to reflect only data bits
	{
	case 0: //RTC_CONTROL Register 1		
	case 1: //RTC_CONTROL Register 1
	case 13://Clk_Out
	case 14://Timer Control
	case 15:// Timer countdown
			break;	
	case 2:	//Seconds
	case 3: //Minutes
		data = (0x0F & temp) + (10*((0x70 & temp)>>4));		//Lower BCD
		break;
	case 4: //Hours
	case 5: //Days
		data = (0x0F & temp) + (10*((0x30 & temp)>>4)); //BCD to decimal		
		break;
	case 6: //Weekdays
		data = (0x07 & temp); //BCD to decimal	
		break;
	case 7: //Months
	case 8: //Years
	case 9: //Minute_Alarm
	case 10: //Hour_Alarm
	case 11: //Day_Alarm
	case 12: //Weekday_Alarm
			data = (0x07 & temp); 
			break;
	default:
		return I2C_ERROR;
	}
	
	return data;
}

//---------------------------------------------------------
// Enables the selected alarms
int RTC_Enable_Alarm(int type)
{
	int temp;
	if( (temp = RTC_Read(RTC_CONTROL_2)) == I2C_ERROR) return I2C_ERROR;	
	temp |= 0x02; //To activate the AIE bit
	if ((RTC_Write(RTC_CONTROL_2,temp)) == I2C_ERROR) return I2C_ERROR;
	 
	
	switch(type)
	{
	case 9: //Minute_Alarm
		if ((temp=RTC_Read(MINUTES_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
		temp &= 0x7F; //Clear Bit 7 to enable Alarm
		if ((RTC_Write(MINUTES_ALARM,temp))== I2C_ERROR) return I2C_ERROR;
		break;
	
	case 10://Hour_Alarm
		if ((temp=RTC_Read(HOURS_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
		temp &= 0x7F; //Clear Bit 7 to enable Alarm
		if ((RTC_Write(HOURS_ALARM,temp))== I2C_ERROR) return I2C_ERROR;
		break;
	
	case 11://Day_Alarm
		if ((temp=RTC_Read(DAYS_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
		temp &= 0x7F; //Clear Bit 7 to enable Alarm
		if ((RTC_Write(DAYS_ALARM,temp))== I2C_ERROR) return I2C_ERROR;
		break;
	
	case 12://Weekday_Alarm
		if ((temp=RTC_Read(WEEKDAYS_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
		temp &= 0x7F; //Clear Bit 7 to enable Alarm
		if ((RTC_Write(WEEKDAYS_ALARM,temp))== I2C_ERROR) return I2C_ERROR;
		break;
	
	default:
		return I2C_ERROR;
	}
	return FALSE;
}
//Disables the selected Alarm
int RTC_Disable_Alarm(int type)
{
	int temp;	
	if( (temp = RTC_Read(RTC_CONTROL_2))== I2C_ERROR) return I2C_ERROR;	
	temp &= 0xFD; //To deactivate the AIE bit
	if ((RTC_Write(RTC_CONTROL_2,temp))== I2C_ERROR) return I2C_ERROR;
	
	switch(type)
	{
		case 9: //Minute_Alarm
			if ((temp=RTC_Read(MINUTES_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
			temp |= 0x80; //Set Bit 7 to disable Alarm
			if (i2c_Write(RTC_W,0x09,temp)) return I2C_ERROR;	//activate RTS module
			break;
		
		case 10://Hour_Alarm
			if ((temp=RTC_Read(MINUTES_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
			temp |= 0x80; //Set Bit 7 to disable Alarm
			if (i2c_Write(RTC_W,0x0A,temp)) return I2C_ERROR;	//activate RTS module
			break;
		
		case 11://Day_Alarm
			if ((temp=RTC_Read(MINUTES_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
			temp |= 0x80; //Set Bit 7 to disable Alarm
			if (i2c_Write(RTC_W,0x0B,temp)) return I2C_ERROR;	//activate RTS module
			break;
		
		case 12://Weekday_Alarm
			if ((temp=RTC_Read(MINUTES_ALARM))== I2C_ERROR) return I2C_ERROR;	//read data to maintain the contents
			temp |= 0x80; //Set Bit 7 to disable Alarm
			if (i2c_Write(RTC_W,0x0C,temp)) return I2C_ERROR;	//activate RTS module
			break;
		
		default:
			return I2C_ERROR;
	}
	return FALSE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区在线观看不卡| 国产精品影视网| 久久久综合网站| 91色综合久久久久婷婷| 久久99精品一区二区三区| 亚洲精品国产a| 精品国产一区二区三区不卡| 色94色欧美sute亚洲13| 精品在线播放午夜| 亚洲va韩国va欧美va精品| 国产精品成人免费精品自在线观看| 欧美日韩视频不卡| 一本色道久久综合狠狠躁的推荐| 裸体健美xxxx欧美裸体表演| 一区二区三区视频在线看| 中文字幕第一区二区| 欧美va亚洲va在线观看蝴蝶网| 91视频观看免费| 国产宾馆实践打屁股91| 奇米777欧美一区二区| 国产精品女主播在线观看| 欧美videossexotv100| 91精品一区二区三区在线观看| www.av精品| 国产成人一区二区精品非洲| 久久国产精品色| 日韩高清不卡一区二区三区| 亚洲激情自拍视频| 亚洲欧美怡红院| 国产精品美女久久久久久久| 久久久91精品国产一区二区三区| 日韩欧美一二区| 91麻豆精品国产综合久久久久久| 欧美色视频在线| 欧美性大战久久久| 欧美性欧美巨大黑白大战| 91国产福利在线| 在线观看视频91| 欧美三级一区二区| 91福利在线看| av网站一区二区三区| 国产成人8x视频一区二区 | 欧美电视剧在线看免费| 欧美性一级生活| 91丨国产丨九色丨pron| 国产99久久久国产精品潘金网站| 精品无人码麻豆乱码1区2区 | 日韩国产在线观看一区| 亚洲色图.com| 国产精品免费看片| 国产性色一区二区| 国产日产欧产精品推荐色| 久久亚区不卡日本| 日韩精品一区二区三区中文精品| 91精品国产色综合久久不卡蜜臀 | 欧美日韩一级片网站| 国产尤物一区二区在线| 精品在线免费视频| 久久av老司机精品网站导航| 美腿丝袜一区二区三区| 免费人成黄页网站在线一区二区| 日韩电影在线一区| 秋霞午夜鲁丝一区二区老狼| 免费观看在线色综合| 日本一道高清亚洲日美韩| 日本91福利区| 久久电影网站中文字幕| 国产麻豆精品theporn| 国产91丝袜在线观看| 99精品久久99久久久久| 色8久久人人97超碰香蕉987| 欧美色视频在线观看| 91精品国产综合久久香蕉的特点| 欧美福利电影网| 欧美精品一区二区蜜臀亚洲| 国产午夜精品在线观看| 国产精品福利影院| 亚洲成人www| 韩国一区二区三区| 成人ar影院免费观看视频| av资源站一区| 欧美午夜影院一区| 欧美一区二区三区视频在线观看| 26uuu欧美日本| 国产精品久久久久aaaa| 一级特黄大欧美久久久| 久久精品国产亚洲5555| 国产91清纯白嫩初高中在线观看| 色综合久久九月婷婷色综合| 欧美老人xxxx18| 日韩欧美在线观看一区二区三区| 久久嫩草精品久久久精品一| 中文字幕综合网| 日本午夜一区二区| 成人一级片在线观看| 欧美视频在线不卡| 26uuu亚洲婷婷狠狠天堂| 亚洲天天做日日做天天谢日日欢| 性做久久久久久免费观看| 韩国精品主播一区二区在线观看| 91丨九色porny丨蝌蚪| 欧美电影免费提供在线观看| 国产精品人成在线观看免费| 午夜精品久久久久久久99樱桃| 韩国一区二区视频| 色悠悠久久综合| 精品卡一卡二卡三卡四在线| 亚洲人快播电影网| 婷婷综合五月天| 成人午夜短视频| 欧美一级黄色录像| 亚洲欧美另类久久久精品2019| 日韩成人av影视| 色哟哟亚洲精品| 日韩欧美一区二区免费| 亚洲免费av高清| 懂色av噜噜一区二区三区av| 99久久久免费精品国产一区二区| 日韩限制级电影在线观看| 中文字幕制服丝袜成人av| 美女脱光内衣内裤视频久久影院| 91美女视频网站| 久久午夜国产精品| 日本不卡中文字幕| 在线一区二区三区做爰视频网站| 国产日本欧美一区二区| 捆绑紧缚一区二区三区视频| 精品视频999| 亚洲三级免费电影| 国产成人一级电影| 制服丝袜亚洲色图| 午夜日韩在线电影| 在线一区二区观看| 日韩伦理电影网| 懂色av一区二区在线播放| 欧美videossexotv100| 丝袜美腿亚洲色图| 欧美日韩精品欧美日韩精品一| 国产综合色在线| 日韩精品一区二区三区蜜臀| 午夜精品久久久久久久蜜桃app| 91网站视频在线观看| 国产精品毛片久久久久久久| 国产一区二区导航在线播放| 日韩欧美在线123| 五月天中文字幕一区二区| 大胆欧美人体老妇| 中文字幕精品一区二区三区精品| 国产精品一区不卡| 国产欧美一区二区三区在线看蜜臀| 极品少妇xxxx偷拍精品少妇| 欧美色区777第一页| 亚洲777理论| 7777精品伊人久久久大香线蕉| 午夜精品一区在线观看| 7777精品伊人久久久大香线蕉的| 五月天中文字幕一区二区| 337p亚洲精品色噜噜| 日韩激情一区二区| 欧美一级精品大片| 国产精品18久久久| 国产精品成人免费在线| 91丨porny丨在线| 亚洲国产日韩在线一区模特| 欧美日韩一级大片网址| 视频一区二区三区在线| 日韩视频免费直播| 国产一区福利在线| 亚洲精品一区二区三区在线观看| 成人小视频在线| 亚洲激情五月婷婷| 91精品国产手机| 久久99精品久久久久久动态图| www国产精品av| 粉嫩欧美一区二区三区高清影视 | 成人动漫一区二区在线| 亚洲欧美日韩国产一区二区三区| 色视频一区二区| 香蕉成人伊视频在线观看| 日韩精品一区国产麻豆| 国产成人综合网| 亚洲欧洲在线观看av| 欧美日本在线播放| 国产在线视频精品一区| 国产精品久久久久永久免费观看| 国产精品国产自产拍在线| 欧洲人成人精品| 青青草97国产精品免费观看无弹窗版| 日韩欧美中文字幕精品| 成人免费视频一区二区| 亚洲一二三四久久| 欧美一级在线视频| 国产mv日韩mv欧美| 性感美女极品91精品| 国产亚洲综合在线| 欧洲亚洲精品在线| 国产乱子伦视频一区二区三区 | 欧美色精品在线视频| 99视频在线精品| 欧美午夜精品久久久久久孕妇|