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

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

?? ds3231.c

?? MAXIM的DS3231時鐘,溫度都具備的芯片.驅動IC為AVRmega16或者mega32.全功能.內附全部驅動程序.絕對原創.
?? C
字號:
#include "DS3231.h"
#include "system.h"

//-------------------------------------------------------------------
//				DS3231特性
//
//	1.0℃~+40℃溫度范圍內,時鐘精度為±2ppm;
//	2.-40℃~+85℃溫度范圍內,時鐘精度為±3.5ppm;
//	3.為連續計時提供備用電池輸入;
//	4.工作溫度范圍:
//		商用級:0℃~+70℃
//		工業級:-40℃~+85℃
//	5.低功耗;
//	6.實時時鐘提供秒\分\時\星期\日\月\年信息,并提供有效期至2100年的閏年補償;
//	7.2個日歷鬧鐘;
//	8.可編程方波輸出:1Hz,1024Hz,4096Hz,8192Hz;
//	9.快速(400kHz)I2C接口;
//	10.3.3V工作電壓;
//	11.數字溫度傳感器溫度輸出:分辨率0.25℃,精度為±3℃;
//	12.老化修正寄存器;
//	13.RST輸出,手動復位去抖輸入;
//	14.通過保險商試驗機構(UL)認證.
//--------------------------------------------------------------------
	
//器件地址
#define DS3231ADDR			0xD0
//讀寫操作位
#define CMD_READ			0x01
//#define CMD_WRITE			0x00
//時鐘 命令
#define CMD_SECOND			0x00	//秒
#define CMD_MINUTE			0x01	//分
#define CMD_HOUR			0x02	//時
#define CMD_WEEK			0x03	//星期
#define CMD_DAY				0x04	//日
#define CMD_MONTH			0x05	//月
#define CMD_YEAR			0x06	//年
//鬧鈴1             
#define CMD_SALARM1ECOND	0x07	//秒
#define CMD_ALARM1MINUTE	0x08	//分
#define CMD_ALARM1HOUR		0x09	//時
#define CMD_ALARM1WEEK		0x0A	//星期/日
//鬧鈴2
#define CMD_ALARM2MINUTE	0x0b	//分
#define CMD_ALARM2HOUR		0x0c	//時
#define CMD_ALARM2WEEK		0x0d	//星期/日#define CMD_CONTROL			0x0e	//控制寄存器
#define CMD_STATUS			0x0f	//狀態寄存器
#define BSY					2		//忙
#define OSF					7		//振蕩器停止標志
#define CMD_XTAL			0x10	//晶體老化寄存器
#define CMD_TEMPERATUREH	0x11	//溫度寄存器高字節(8位)
#define CMD_TEMPERATUREL	0x12	//溫度寄存器低字節(高2位)


#define TWIStop()		TWCR=(1<<TWINT)|(1<<TWEN)|(1<<TWSTO)	//發送stop
#define TWIStart()		TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN)	//發送start
#define CheckTWINT()	while(!(TWCR&(1<<TWINT)))

unsigned char RealTimeDate[7]={	//此處的排序是為了方便連續操作寄存器
0x08,	//2008年
0x12,	//12月
0x28,	//26日
0x07,	//星期五
0x23,	//時	24小時制0~23
0x54,	//分	0~59
0x50,	//50秒	注意:這里把CH置0了 bit7位(CH)需要置0,震蕩器才能起振 
};

unsigned char ReadTemperatureflag=0;
unsigned char temperature=0;
unsigned char NowTemperature[]="現在溫度是xx℃";	//當前溫度
unsigned char NowDATE[]="20xx年xx月xx日xx時xx分xx秒 星期xx";	//當前時間
unsigned char WEEK[]="錯一二三四五六日";			//注意:漢字要占用2個字節的空間

void BCDtoASCII(unsigned char cBCD,unsigned char *pstr)//壓縮BCD碼轉換成ASCII碼
{
	unsigned char temp=cBCD>>4;
	*pstr++=temp+0x30;
	temp=cBCD&0x0F;
	*pstr=temp+0x30;
}

void decodeWEEK(unsigned char week_,unsigned char *pstr)	//BCD碼0~7轉換成漢字'一'~'日'
{
	unsigned char i;
	i=week_;
	i&=0x07;
	i=i<<1;
	*pstr++=WEEK[i++];
	*pstr=WEEK[i];
}

unsigned char BcdToBin(unsigned char val)	//將BCD碼轉換為10進制數 
{ 
	return (val>>4)*10+(val&0x0f);
}

unsigned char BinToBcd(unsigned char val) 	//將10進制數轉換為BCD碼
{
	return ((val/10)*16+val%10);
}

void DS3231Init(void)	
//實際應用中注意每次查詢一下狀態寄存器.bit7:振蕩器停止標志(OSF)位,如果為1,需要重新初始化時間,并清零.
{
	TWBR=11;
	TWSR=0;
	//控制寄存器.bit7:使能振蕩器(EOSC#)	bit6:電池備份的方波使能(BBSQW)
	//bit5:轉換溫度(CONV)	bit4和bit3:頻率選擇(RES2和R)
	//bit2:中斷控制(INTCN)	bit1:鬧鐘2中斷使能(A2IE)	bit0:鬧鐘1中斷使能(A1IE)
	DS3231TWIWrite(CMD_CONTROL,0x1c);	//00011100 
	//狀態寄存器.bit7:振蕩器停止標志(OSF)	bit6~bit4:空	bit3:使能32KHz輸出(EN32KHz)
	//bit2:忙(BSY)	bit1:鬧鐘2標志(A2F)	bit0:鬧鐘1標志(A1F)
	DS3231TWIWrite(CMD_STATUS,0x00);	//000010
	//DS3231WriteTime();
}

void ERROR(void)
{
	systemerror=1;
	TWIStop();
}

unsigned char DS3231TWIRead(unsigned int addr)	//從設備發送模式 DS3231讀模式
{
	unsigned char data;	//讀取數值緩存
	TWIStart();			//發開始信號
	CheckTWINT();		//等待結束
	if((TWSR&0xF8)!=0x08)ERROR();
	TWDR=DS3231ADDR;	//TWDR=DS3231ADDR+CMD_WRITE;//發送SLA設備地址+寫命令
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();		//等待結束
	if((TWSR&0xF8)!=0x18)ERROR();
	TWDR=addr;			//發送讀取地址
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();
	if((TWSR&0xF8)!=0x28)ERROR();
	TWIStart();			//發開始信號
	CheckTWINT();		//等待結束
	if((TWSR & 0xF8)!=0x10)ERROR();
	TWDR=DS3231ADDR+CMD_READ;	//發送SLA設備地址+讀命令
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();
	if((TWSR&0xF8)!=0x40)ERROR();
	TWCR=0x84;			//接收8位數據,發送nACK 
	CheckTWINT();
	if((TWSR&0xF8)!=0x58)ERROR();
	data=TWDR;
	TWIStop();			//發送STOP 信號
	_delay_ms(5);
	return data;
}

void DS3231TWIWrite(unsigned int addr,unsigned char data)	//從設備接收模式 DS3231寫模式
{
	TWIStart();			//發開始信號
	CheckTWINT();		//等待結束
	if((TWSR&0xF8)!=0x08)ERROR();
	TWDR=DS3231ADDR;	//TWDR=DS3231ADDR+CMD_WRITE;//發送SLA設備地址+寫命令
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();		//等待結束
	if((TWSR&0xF8)!=0x18)ERROR();
	TWDR=addr;			//發送讀取地址
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();
	if((TWSR&0xF8)!=0x28)ERROR();
	TWDR=data;
	TWCR=(1<<TWINT)|(1<<TWEN);
	CheckTWINT();
	if((TWSR&0xF8)!=0x28)ERROR();
	TWIStop();			//發送STOP 信號
	_delay_ms(5);
}

void DS3231ReadTime(void)		//此處需要連續讀寫
{
	unsigned char i;
	unsigned char command=CMD_YEAR;
	for(i=0;i<7;i++)CURDATE[i]=DS3231TWIRead(command--);		//依次讀取:年\月\日\周\時\分\秒
}

void DS3231WriteTime(void)		//此處需要連續讀寫
{
	unsigned char i;
	unsigned char command=CMD_YEAR;
	for(i=0;i<7;i++)DS3231TWIWrite(command--,RealTimeDate[i]);//依次寫入:年\周\月\日\時\分\秒
}

//讀取當前時間并解釋
void ReadDate(void)
{
	DS3231ReadTime();						//讀取當前時間
	BCDtoASCII(CURDATE[0],&NowDATE[2]);	//年 ,00~10
	BCDtoASCII(CURDATE[1],&NowDATE[6]);	//月 ,01~12
	BCDtoASCII(CURDATE[2],&NowDATE[10]);	//日 ,01~31(28/30/31)
	BCDtoASCII(CURDATE[4],&NowDATE[14]);	//時 ,00~23
	BCDtoASCII(CURDATE[5],&NowDATE[18]);	//分 ,00~59
	BCDtoASCII(CURDATE[6],&NowDATE[22]);	//秒 ,00~59
	decodeWEEK(CURDATE[3],&NowDATE[31]);	//星期 ,1~7 一~日
}

unsigned char DS3231TWIReadTemperature(void)	//讀取時間
{
	unsigned char temph=0;	//溫度高字節
//	unsigned char templ=0;	//溫度低字節
	unsigned char temp=DS3231TWIRead(CMD_STATUS);
	temp&=~(1<<BSY);
	if(!temp)
	{
		temph=DS3231TWIRead(CMD_TEMPERATUREH);
		/*templ=DS3231TWIRead(CMD_TEMPERATUREL);
		//溫度處理
		temph<<=2;
		templ>>=6;
		temph=temph+templ;*/
	}
	return temph;
}

void ReadTemperature(void)
{
	if(ReadTemperatureflag)
	{
		temperature=DS3231TWIReadTemperature();
		if(temperature)
		{
			ReadTemperatureflag=0;
			//temperature=DS3231TWIReadTemperature();
			BCDtoASCII(temperature,&NowTemperature[10]);
			UARTSendString(NowTemperature);
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久97国产精华液好用吗| 极品少妇一区二区三区精品视频| 2023国产精品| 日韩欧美高清在线| 欧美三级电影网| 欧美在线观看一二区| 色av一区二区| 91精品福利视频| 在线一区二区视频| 欧日韩精品视频| 欧美在线看片a免费观看| 欧洲一区二区三区在线| 欧美午夜精品一区二区三区 | 国产成人亚洲精品狼色在线| 奇米影视在线99精品| 久久99国产精品尤物| 国产在线一区观看| 国产精品一二三在| 成人午夜av在线| 91视视频在线直接观看在线看网页在线看| 国产不卡在线播放| 91香蕉国产在线观看软件| 91在线视频播放| 欧美在线观看一区| 91精品国产综合久久精品 | 免费成人在线视频观看| 久久99精品国产麻豆婷婷| 国产精品66部| 99久久久免费精品国产一区二区| 色婷婷久久一区二区三区麻豆| 欧美性生活影院| 日韩欧美一级二级| 中文字幕免费在线观看视频一区| 亚洲人精品午夜| 天天综合天天做天天综合| 狠狠色丁香九九婷婷综合五月| 岛国一区二区在线观看| 在线观看av不卡| 精品av久久707| 中文字幕亚洲区| 三级久久三级久久久| 国产福利一区二区| 欧美伊人久久久久久久久影院| 日韩免费一区二区三区在线播放| 国产午夜精品一区二区三区视频| 一区二区三区在线播| 麻豆专区一区二区三区四区五区| 国产不卡在线视频| 欧美巨大另类极品videosbest | 中文欧美字幕免费| 日本在线播放一区二区三区| 国产mv日韩mv欧美| 欧美精品视频www在线观看| 欧美国产日韩亚洲一区| 偷拍亚洲欧洲综合| 北岛玲一区二区三区四区| 欧美一个色资源| 亚洲精品欧美专区| 成人亚洲一区二区一| 日韩一级免费观看| 亚洲成人资源网| 91在线视频播放| 中文字幕乱码一区二区免费| 久久精品72免费观看| 欧美日韩精品一区二区天天拍小说| 国产精品女同互慰在线看| 精品一区二区三区免费视频| 欧美日韩一区精品| 亚洲精品国产视频| 99re热这里只有精品免费视频 | 国产校园另类小说区| 日本中文字幕一区二区视频| 91国产精品成人| 亚洲免费在线看| 99久久精品一区二区| 欧美国产97人人爽人人喊| 国产一区二区三区四区五区入口 | 国产亚洲欧美日韩俺去了| 日韩二区三区四区| 欧美绝品在线观看成人午夜影视| 亚洲一区二区免费视频| 在线亚洲免费视频| 亚洲国产一区二区在线播放| 欧美综合亚洲图片综合区| 亚洲精品伦理在线| 欧美午夜一区二区三区| 亚洲图片一区二区| 欧美精品vⅰdeose4hd| 首页综合国产亚洲丝袜| 欧美精品第1页| 精品影视av免费| 国产亚洲成av人在线观看导航 | 成人一区二区三区| 中文字幕一区二区三区四区不卡| 成人黄色软件下载| 亚洲欧美一区二区三区久本道91 | 亚洲一二三专区| 欧美日韩一区二区欧美激情| 亚洲一区二区三区在线看| 欧美日韩另类一区| 久久99精品国产麻豆婷婷| 久久众筹精品私拍模特| 成人小视频在线| 亚洲在线成人精品| 日韩欧美国产综合在线一区二区三区| 美女任你摸久久| 国产精品天干天干在线综合| kk眼镜猥琐国模调教系列一区二区| 亚洲免费三区一区二区| 欧美人动与zoxxxx乱| 国产原创一区二区三区| 1024亚洲合集| 日韩欧美色综合| bt7086福利一区国产| 午夜激情综合网| 国产免费观看久久| 欧美日韩综合不卡| 国产成人精品一区二| 亚洲亚洲精品在线观看| 久久久久亚洲蜜桃| 在线国产亚洲欧美| 国产精品1024| 无吗不卡中文字幕| 国产精品久久久久久久久久免费看| 欧美在线免费视屏| 成人禁用看黄a在线| 秋霞午夜av一区二区三区| 国产精品国产三级国产普通话三级| 在线成人高清不卡| 91玉足脚交白嫩脚丫在线播放| 蜜臀91精品一区二区三区 | 欧美亚洲国产一区在线观看网站 | 国产精品中文字幕日韩精品 | 亚洲成a人v欧美综合天堂下载| 欧美大黄免费观看| 欧美亚洲国产一区在线观看网站| 国产精选一区二区三区| 五月婷婷综合网| 亚洲人成在线观看一区二区| 国产欧美日韩精品一区| 欧美videos大乳护士334| 欧美亚洲国产bt| 99re这里都是精品| 懂色一区二区三区免费观看| 久久av中文字幕片| 天天影视网天天综合色在线播放| 亚洲免费高清视频在线| 国产精品进线69影院| 久久先锋资源网| 日韩精品一区二区在线| 欧美一区二区久久久| 欧美日韩1234| 欧美精品一卡两卡| 欧美精品在线一区二区| 欧美日韩久久久一区| 欧美网站大全在线观看| 欧洲视频一区二区| 在线一区二区三区四区五区| av成人免费在线| 99久久精品久久久久久清纯| 北条麻妃国产九九精品视频| 99天天综合性| 91一区二区三区在线播放| 91视频com| 91成人免费电影| 欧美日本一区二区三区| 69堂国产成人免费视频| 日韩欧美另类在线| 欧美成人性战久久| 久久影视一区二区| 欧美国产精品v| 一区二区在线电影| 五月婷婷激情综合网| 奇米精品一区二区三区在线观看 | 精品成人在线观看| 国产偷国产偷精品高清尤物| 国产精品久久久久9999吃药| 亚洲色图欧洲色图婷婷| 亚洲国产精品影院| 久久爱另类一区二区小说| 国产在线国偷精品免费看| 国产精品 欧美精品| 色av一区二区| 日韩视频一区二区三区在线播放| 久久久久久久久97黄色工厂| 17c精品麻豆一区二区免费| 亚洲国产色一区| 国模冰冰炮一区二区| 99久久国产综合精品女不卡| 欧美日韩视频专区在线播放| 欧美videofree性高清杂交| 国产精品第四页| 日韩av一区二区在线影视| 国产99久久久国产精品潘金 | 欧美群妇大交群中文字幕| 久久久影院官网| 一区二区三区四区亚洲| 另类成人小视频在线| 91网站最新地址| 2023国产一二三区日本精品2022|