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

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

?? sc_ds1302.c

?? 驅動15X20D液晶屏
?? C
字號:
/**************************************************************************
Copyright (c) HUST ESRI 1999. All Rights Reserved.
文件名:	SC_DS1302.h

當前版本:	V1.0
作者:		SeaCow
完成日期:	2004.11.30

取代版本:	無
原作者:	無
完成日期:	無

摘要:	實時時鐘芯片DS1302讀寫模塊
		DS1302是非標準的I2C總線,通過P2.0-P2.2腳進行通信
		Ram的存取未完善,主要問題是存貯禁止時間未規范。
*************************************************************************/

#include "inc\ConstDef.h"
#include "inc\SC_DS1302.h"

/*-------------------------------------------------------------------
* 功能: 往DS1302寫入1Byte數據
* 調用:
* 輸入: ucData:寫入的數據 
* 返回: 無
* 說明: 
-------------------------------------------------------------------*/
void DS1302_WriteByte(uchar ucData)
{ 
	uchar i,ucTmp;
	ucTmp=0x01;
	for(i=8;i>0;i--)
	{
		if(ucData&ucTmp)
			pin_DS1302_IO=1;
		else
			pin_DS1302_IO=0;
		pin_DS1302_CLK=1;
		ucTmp=ucTmp << 1; 
		pin_DS1302_CLK=0;
	} 
}

/*------------------------------------------------------------------- 
* 功能: 從DS1302讀取1Byte數據
* 調用: 
* 輸入: 
* 返回: ucTmp
* 說明: 
-------------------------------------------------------------------*/
uchar DS1302_ReadByte(void)
{ 
	uchar i,ucTmp;
	ucTmp=0;
	for(i=8;i>0;i--)
	{
		ucTmp=ucTmp >> 1;
		if(pin_DS1302_IO)
			ucTmp+=0x80;
		pin_DS1302_CLK=1;
		_nop_();
		pin_DS1302_CLK=0;
	}
	return(ucTmp); 
}

/*------------------------------------------------------------------- 
* 功能: 往DS1302指定地址寫入數據
* 調用: DS1302_WriteByte() 
* 輸入: ucAddr: DS1302地址, ucDatata: 要寫的數據
* 返回: 無
* 說明: 先寫地址,后寫命令/數據.寫時間數據時,應為BCD碼
---------------------------------------------------------------------*/
void DS1302_Write(uchar ucAddr, uchar ucData)
{
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	ucAddr&=0xFE;		//保證最低位為寫標志(=0)
	DS1302_WriteByte(ucAddr); // 地址,命令
	DS1302_WriteByte(ucData); // 寫1Byte數據
	pin_DS1302_nRST =0;
}

/*------------------------------------------------------------------- 
* 功能: 讀取DS1302某地址的數據
* 調用: DS1302_WriteByte() , DS1302_ReadByte()
* 輸入: ucAddr: DS1302地址
* 返回: ucData :讀取的數據
* 說明: 先寫地址,后讀命令/數據。返回的時間數據為BCD碼
---------------------------------------------------------------------*/
uchar DS1302_Read(uchar ucAddr)
{
	uchar ucData;
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	ucAddr|=1;		//保證最低位為讀標志(=1)
	DS1302_WriteByte(ucAddr); /* 地址,命令 */
	ucData=DS1302_ReadByte(); /* 讀1Byte數據 */
	pin_DS1302_nRST =0;
	return(ucData);
}

/*------------------------------------------------------------------- 
* 功能: 往DS1302寫入8字節時鐘數據(多字節方式)
* 調用: DS1302_WriteByte() 
* 輸入: pData: 時鐘數據地址 格式為: 秒 分 時 日 月 星期 年 控制
* 8Byte (HEX碼)
* 返回: 無
* 說明: 先寫地址,后寫數據(時鐘多字節方式)
---------------------------------------------------------------------*/
void DS1302_BurstWriteClock(uchar *pData)
{
	uchar i;
	for(i=8;i>0;i--)
		pData[i]=HEX2BCD(pData[i]);
	DS1302_Write(DS1302_ADDR_CTRL,0x00); // WP=0,允許寫操作
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	DS1302_WriteByte(DS1302_ADDR_CLK&0xFE);	 // 0xbe:時鐘多字節寫命令
	for (i=8;i>0;i--)		//8Byte=7Byte 時鐘數據 + 1Byte 控制
	{
		DS1302_WriteByte(*pData);	// 寫1Byte數據
		pData++;
	}
//	pin_DS1302_CLK=1;
	pin_DS1302_nRST =0;
	DS1302_Write(DS1302_ADDR_CTRL,0x80); // WP=1,禁止寫操作
} 

/*------------------------------------------------------------------- 
* 功能: 讀取DS1302時鐘數據
* 調用: DS1302_WriteByte() , DS1302_ReadByte()
* 輸入: pData: 時鐘數據地址 格式為: 秒 分 時 日 月 星期 年 
* 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
* 返回: ucData :讀取的數據
* 說明: 先寫地址,后讀命令/數據(時鐘多字節方式)
---------------------------------------------------------------------*/
void DS1302_BurstReadClock(uchar *pData)
{
	uchar i;
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	DS1302_WriteByte(DS1302_ADDR_CLK|0x01); // 時鐘多字節讀命令
	for (i=8; i>0; i--) 
	{
		*pData=BCD2HEX(DS1302_ReadByte()); // 讀1Byte數據
		pData++;
	}
//	pin_DS1302_CLK=1;
	pin_DS1302_nRST =0;
}

/*------------------------------------------------------------------- 
* 功能: 往DS1302寄存器數寫入數據(多字節方式)
* 調用: DS1302_WriteByte() 
* 輸入: pData: 寄存器數據地址
* 返回: 無
* 說明: 先寫地址,后寫數據(寄存器多字節方式).此時會將時鐘秒置零
---------------------------------------------------------------------*/
void DS1302_BurstWriteRam(uchar *pData)
{
	uchar i;
	DS1302_Write(DS1302_ADDR_CTRL,0x00); // WP=0,允許寫操作
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	DS1302_WriteByte(DS1302_COMM_RAM&0xFE); // 多字節Ram,寫命令
	for (i=31;i>0;i--) //31Byte Ram數據
	{
		DS1302_WriteByte(*pData); // 寫1Byte數據
		pData++;
	}
	pin_DS1302_nRST =0;
	DS1302_Write(DS1302_ADDR_CTRL,0x80); // WP=1,禁止寫操作
}

/*------------------------------------------------------------------- 
* 功能: 讀取DS1302寄存器數據
* 調用: DS1302_WriteByte() , DS1302_ReadByte()
* 輸入: pData: 寄存器數據地址
* 返回: 無
* 說明: 先寫地址,后讀命令/數據(寄存器多字節方式)
---------------------------------------------------------------------*/
void DS1302_BurstReadRam(uchar *pData)
{
	uchar i;
	pin_DS1302_CLK=0;
	pin_DS1302_nRST=1;
	DS1302_WriteByte(DS1302_COMM_RAM|0x01);	 // 多字節Ram,讀命令
	for (i=31; i>0; i--)	 //31Byte Ram數據
	{
		*pData=DS1302_ReadByte();	// 讀1Byte數據
		pData++;
	}
	pin_DS1302_nRST =0;
}

/*------------------------------------------------------------------- 
* 功能: BCD和HEX之間在相互轉換
* 調用: 
* 輸入: bcd_data或hex_data
* 返回: hex_data或bcd_data
* 說明: 只適用于8bit轉換,數值應小于100
---------------------------------------------------------------------*/
uchar BCD2HEX(uchar bcd_data)
{
    return ((bcd_data>>4)*10)+(bcd_data&0x0f);
}

uchar HEX2BCD(uchar hex_data)
{
    return (hex_data/10)<<4|(hex_data%10);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩va欧美va亚洲va久久| www..com久久爱| 99国产精品99久久久久久| 欧美日韩在线播| 久久久高清一区二区三区| 亚洲h在线观看| 成人精品一区二区三区四区| 欧美三电影在线| 日韩毛片在线免费观看| 国产乱对白刺激视频不卡| 欧美日韩亚洲综合一区二区三区| 久久久精品欧美丰满| 日韩成人av影视| 在线免费观看日韩欧美| 中文字幕日韩精品一区| 精品亚洲欧美一区| 欧美精品 国产精品| 亚洲另类一区二区| 成人国产亚洲欧美成人综合网| 欧美成人vps| 日本中文字幕一区| 91精品国产色综合久久不卡电影 | 亚洲欧洲性图库| 精品一区二区久久久| 欧美一级黄色录像| 日韩福利电影在线| 欧美福利视频一区| 午夜视频在线观看一区二区| 91国偷自产一区二区三区成为亚洲经典 | 人妖欧美一区二区| 欧美日韩国产美| 亚洲综合丝袜美腿| 欧美视频在线一区二区三区 | 国产色爱av资源综合区| 奇米888四色在线精品| 欧美一级精品在线| 精品亚洲成a人在线观看| 日韩视频一区二区| 精品一区二区精品| 日本一区二区免费在线| 成人高清视频免费观看| 日韩理论在线观看| 在线观看视频一区二区欧美日韩| 亚洲精品日产精品乱码不卡| 一本久久综合亚洲鲁鲁五月天 | 91久久精品网| 亚洲丶国产丶欧美一区二区三区| 欧美日韩小视频| 日本怡春院一区二区| 欧美成人精品二区三区99精品| 久久97超碰国产精品超碰| 欧美成人免费网站| 懂色av一区二区三区免费看| 国产精品乱码久久久久久| 日本韩国视频一区二区| 日韩高清一区在线| 久久久久久夜精品精品免费| 99久久免费视频.com| 亚洲不卡一区二区三区| 日韩欧美国产1| 成人国产亚洲欧美成人综合网| 亚洲欧洲日韩综合一区二区| 欧美日韩一区二区三区在线| 久草热8精品视频在线观看| 国产精品你懂的在线| 在线一区二区视频| 精品一区二区三区香蕉蜜桃 | 精品免费日韩av| av激情成人网| 美腿丝袜亚洲色图| 亚洲欧美自拍偷拍色图| 欧美日韩高清一区二区三区| 国产尤物一区二区| 一区二区欧美精品| 精品裸体舞一区二区三区| kk眼镜猥琐国模调教系列一区二区| 一二三四区精品视频| 久久青草欧美一区二区三区| 在线观看日韩av先锋影音电影院| 老司机精品视频导航| 亚洲精品亚洲人成人网在线播放| 日韩一级片在线播放| 91免费观看在线| 久久97超碰国产精品超碰| 亚洲激情av在线| 国产日韩视频一区二区三区| 777a∨成人精品桃花网| av亚洲精华国产精华精华| 久久99精品久久久久久国产越南| 一区二区三区在线视频观看58| 久久久不卡网国产精品一区| 91精品国产91热久久久做人人| 99久久久免费精品国产一区二区| 精品一区二区三区的国产在线播放| 一区二区成人在线| 日韩伦理av电影| 国产精品久久久久久久久搜平片| 欧美tickle裸体挠脚心vk| 欧美高清视频不卡网| 99九九99九九九视频精品| 狠狠v欧美v日韩v亚洲ⅴ| 日韩国产欧美在线播放| 亚洲成av人综合在线观看| 亚洲欧洲日产国产综合网| 久久精品视频免费| 久久久www免费人成精品| 日韩欧美国产一区在线观看| 欧美疯狂性受xxxxx喷水图片| 91麻豆国产自产在线观看| 成人一区二区三区中文字幕| 国产成人午夜99999| 国产最新精品精品你懂的| 国产呦精品一区二区三区网站| 美国十次综合导航| 蜜臀99久久精品久久久久久软件| 午夜欧美2019年伦理| 亚洲国产成人高清精品| 亚洲最大色网站| 亚洲va国产天堂va久久en| 亚洲午夜在线电影| 日韩国产欧美三级| 久久99久久久欧美国产| 久久97超碰国产精品超碰| 久久爱www久久做| 国产成人丝袜美腿| 99麻豆久久久国产精品免费| 91在线视频18| 在线观看免费视频综合| 欧美视频一区二区在线观看| 欧美三级日本三级少妇99| 9191国产精品| 精品美女一区二区| 国产欧美视频在线观看| 亚洲视频狠狠干| 日韩精品福利网| 国产真实乱对白精彩久久| 成人黄色电影在线 | 一区二区三区成人| 香蕉久久一区二区不卡无毒影院 | 白白色亚洲国产精品| 色婷婷综合久久| 欧美精品电影在线播放| 久久午夜国产精品| 亚洲人成影院在线观看| 亚洲国产精品一区二区尤物区| 美国精品在线观看| 国产高清不卡一区| 在线观看视频一区二区欧美日韩| 日韩精品一区二区三区在线播放| 2023国产一二三区日本精品2022| 国产精品超碰97尤物18| 性做久久久久久久免费看| 国产成人精品免费视频网站| 色婷婷亚洲综合| 精品国产乱码久久久久久蜜臀 | 337p日本欧洲亚洲大胆色噜噜| 国产精品色婷婷| 日韩精品欧美精品| 成人黄色小视频在线观看| 欧美一区二区三区视频在线| 国产精品久久毛片av大全日韩| 亚洲一区二区三区四区五区黄| 精品无人码麻豆乱码1区2区| 色丁香久综合在线久综合在线观看| 精品91自产拍在线观看一区| 亚洲精品中文字幕乱码三区| 国产一区美女在线| 欧美日韩极品在线观看一区| 国产蜜臀av在线一区二区三区| 午夜视频在线观看一区二区三区| 成人av电影观看| 精品久久一二三区| 亚洲第一二三四区| 北条麻妃国产九九精品视频| 精品免费国产二区三区 | 亚洲欧美日韩国产成人精品影院 | 久久久精品2019中文字幕之3| 一区二区三区在线视频播放 | 国产精品欧美久久久久无广告| 欧美aaaaa成人免费观看视频| 色婷婷综合视频在线观看| 欧美国产成人在线| 极品少妇xxxx偷拍精品少妇| 欧美日韩国产精品自在自线| 亚洲欧美成aⅴ人在线观看| 国产成人午夜精品5599| 精品对白一区国产伦| 日本视频一区二区三区| 在线免费观看视频一区| 亚洲欧美日韩一区二区| 成人免费毛片app| 国产亚洲婷婷免费| 国产精品1区二区.| 久久久夜色精品亚洲| 激情国产一区二区| 精品欧美一区二区久久| 黄色资源网久久资源365| 欧美一区永久视频免费观看| 日韩中文字幕av电影| 91.麻豆视频|