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

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

?? ds1302.h

?? 簡易數字鐘,89C51+CD4094芯片,帶PROTES仿真
?? H
字號:
/**************************************************************************
		

***************************************************************************/
#ifndef _REAL_TIMER_DS1302_2003_7_21_
#define _REAL_TIMER_DS1302_2003_7_21_
#include <at89x51.h>
sbit  DS1302_CLK = P3^6;              //實時時鐘時鐘線引腳 
sbit  DS1302_IO  = P3^7;              //實時時鐘數據線引腳 
sbit  DS1302_RST = P3^5;              //實時時鐘復位線引腳
sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;

typedef struct __SYSTEMTIME__
{
	unsigned char Second;
	unsigned char Minute;
	unsigned char Hour;
	unsigned char Week;
	unsigned char Day;
	unsigned char Month;
	unsigned char Year;
	unsigned char DateString[9];
	unsigned char TimeString[9];
}SYSTEMTIME;	//定義的時間類型

#define AM(X)	X
#define PM(X)	(X+12)            	  // 轉成24小時制
#define DS1302_SECOND	0x80          //秒寄存器      
#define DS1302_MINUTE	0x82          //分寄存器
#define DS1302_HOUR		0x84 
#define DS1302_WEEK		0x8A      
#define DS1302_DAY		0x86
#define DS1302_MONTH	0x88
#define DS1302_YEAR		0x8C
#define DS1302_RAM(X)	(0xC0+(X)*2)   	//用于計算 DS1302_RAM 地址的宏 

void DS1302InputByte(unsigned char d) 	//實時時鐘寫入一字節(內部函數)
{ 
    unsigned char i;
    ACC = d;
    for(i=8; i>0; i--)
    {
        DS1302_IO  = ACC0;           	//相當于匯編中的 RRC
        DS1302_CLK = 1;
        DS1302_CLK = 0;                 //發一個高跳變到低的脈沖
        ACC = ACC >> 1; 
    } 
}

unsigned char DS1302OutputByte(void) 	//實時時鐘讀取一字節(內部函數)
{ 
    unsigned char i;
    for(i=8; i>0; i--)
    {
        ACC = ACC >>1;         			//相當于匯編中的 RRC 
        ACC7 = DS1302_IO;
        DS1302_CLK = 1;
        DS1302_CLK = 0;                 //發一個高跳變到低的脈沖
    } 
    return(ACC); 
}

void Write1302(unsigned char ucAddr, unsigned char ucDa)	//ucAddr: DS1302地址, ucData: 要寫的數據
{
    DS1302_RST = 0;
    DS1302_CLK = 0;
    DS1302_RST = 1; 
    DS1302InputByte(ucAddr);       	// 地址,命令 
    DS1302InputByte(ucDa);       	// 寫1Byte數據
    DS1302_CLK = 1;
    DS1302_RST = 0;                  //RST 0->1->0,CLK 0->1
} 

unsigned char Read1302(unsigned char ucAddr)	//讀取DS1302某地址的數據
{
    unsigned char ucData;
    DS1302_RST = 0;
    DS1302_CLK = 0;
    DS1302_RST = 1;                //enable
    DS1302InputByte(ucAddr|0x01);        // 地址,命令 
    ucData = DS1302OutputByte();         // 讀1Byte數據
    DS1302_CLK = 1;                      //RST 0->1->0,CLK 0->1
    DS1302_RST = 0;                    
    return(ucData);
}

void DS1302_SetProtect(bit flag)        //是否寫保護
{
	if(flag)
		Write1302(0x8E,0x10); //WP=1,不能寫入
	else
		Write1302(0x8E,0x00);//WP=0,可以寫入 
}

void DS1302_SetTime(unsigned char Address, unsigned char Value)        // 設置時間函數
{
	DS1302_SetProtect(0);
	Write1302(Address, ((Value/10)<<4 | (Value%10))); //高4位為十位,低4位為個位
}

void DS1302_GetTime(SYSTEMTIME *Time)
{
	unsigned char ReadValue;
	ReadValue = Read1302(DS1302_SECOND);
	Time->Second = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);//轉換成10進制的秒
	ReadValue = Read1302(DS1302_MINUTE);
	Time->Minute = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
	ReadValue = Read1302(DS1302_HOUR);
	Time->Hour = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
	ReadValue = Read1302(DS1302_DAY);
	Time->Day = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);	
	ReadValue = Read1302(DS1302_WEEK);
	Time->Week = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
	ReadValue = Read1302(DS1302_MONTH);
	Time->Month = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
	ReadValue = Read1302(DS1302_YEAR);
	Time->Year = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);	
}

void DateToStr(SYSTEMTIME *Time)
{
	Time->DateString[0] = Time->Year/10 + '0'; //數字類型轉化為字符類型
	Time->DateString[1] = Time->Year%10 + '0';
	Time->DateString[2] = '-';
	Time->DateString[3] = Time->Month/10 + '0';
	Time->DateString[4] = Time->Month%10 + '0';
	Time->DateString[5] = '-';
	Time->DateString[6] = Time->Day/10 + '0';
	Time->DateString[7] = Time->Day%10 + '0';
	Time->DateString[8] = '\0';
}

void TimeToStr(SYSTEMTIME *Time)
{
	Time->TimeString[0] = Time->Hour/10 + '0'; //數字類型轉化為字符類型
	Time->TimeString[1] = Time->Hour%10 + '0';
	Time->TimeString[2] = ':';
	Time->TimeString[3] = Time->Minute/10 + '0';
	Time->TimeString[4] = Time->Minute%10 + '0';
	Time->TimeString[5] = ':';
	Time->TimeString[6] = Time->Second/10 + '0';
	Time->TimeString[7] = Time->Second%10 + '0';
	Time->DateString[8] = '\0';
}

void Initial_DS1302(void)
{
	unsigned char Second=Read1302(DS1302_SECOND);
	if(Second&0x80)    //如果第七為1(表明沒有啟動), 則啟動時鐘		  
		DS1302_SetTime(DS1302_SECOND,0);
}

/********************************************************************************
void BurstWrite1302(unsigned char *pWClock)	//往DS1302寫入時鐘數據(多字節方式)
{
    unsigned char i;
    Write1302(0x8e,0x00);         	// 控制命令,WP=0,寫操作?
    DS1302_RST = 0;
    DS1302_CLK = 0;
    DS1302_RST = 1;
    DS1302InputByte(0xbe);        	// 0xbe:時鐘多字節寫命令
    for (i = 8; i>0; i--)     		//8Byte = 7Byte 時鐘數據 + 1Byte 控制
    {
        DS1302InputByte(*pWClock); 	// 寫1Byte數據
        pWClock++;
    }
    DS1302_CLK = 1;
    DS1302_RST = 0;
} 

void BurstRead1302(unsigned char *pRClock)	//讀取DS1302時鐘數據(時鐘多字節方式)
{
    unsigned char i;
    DS1302_RST = 0;
    DS1302_CLK = 0;
    DS1302_RST = 1;
    DS1302InputByte(0xbf);             	// 0xbf:時鐘多字節讀命令 
    for (i=8; i>0; i--) 
    {
       *pRClock = DS1302OutputByte();   // 讀1Byte數據 
       pRClock++;
    }
    DS1302_CLK = 1;
    DS1302_RST = 0;
}

void DS1302_TimeStop(bit flag)           // 是否將時鐘停止
{
	unsigned char Data;
	Data=Read1302(DS1302_SECOND);
	DS1302_SetProtect(0);
	if(flag)
		Write1302(DS1302_SECOND, Data|0x80);//停止
	else
		Write1302(DS1302_SECOND, Data&0x7F);不停止
}
********************************************************************************/
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合视频| 国产精品污网站| 国产三级一区二区三区| 《视频一区视频二区| 免费xxxx性欧美18vr| 99精品黄色片免费大全| 欧美xxxx老人做受| 亚洲图片欧美一区| 91在线免费播放| 欧美激情综合五月色丁香| 久久国产人妖系列| 在线播放亚洲一区| 亚洲一区二区三区四区在线免费观看| 久久精品久久99精品久久| 在线观看免费成人| 国产精品久久久久影视| 国产黄人亚洲片| 欧美精品一区视频| 卡一卡二国产精品 | 一区二区三区四区视频精品免费| 精品在线播放免费| 欧美日韩一卡二卡三卡| 亚洲永久精品国产| 欧美探花视频资源| 亚洲资源在线观看| 在线看一区二区| 亚洲激情自拍视频| 欧美亚洲国产bt| 亚洲自拍偷拍av| 欧美系列日韩一区| 亚洲成人7777| 欧美精品三级日韩久久| 青青草91视频| 日韩欧美自拍偷拍| 久久精品国产99| 久久这里都是精品| 国产99久久久精品| 亚洲色图一区二区三区| 日本精品一区二区三区高清| 亚洲一区二区偷拍精品| 欧美日韩精品一区二区天天拍小说| 一区二区三区日韩精品| 欧美日韩美女一区二区| 青草国产精品久久久久久| 日韩一级免费观看| 国产在线精品免费av| 国产肉丝袜一区二区| 99精品一区二区三区| 亚洲欧美日韩系列| 欧美区一区二区三区| 久久国产综合精品| 亚洲图片你懂的| 精品视频123区在线观看| 麻豆极品一区二区三区| 国产欧美一区二区在线观看| 91免费观看视频| 日韩电影在线一区| 国产日韩三级在线| 欧美性色黄大片| 精品一区二区免费| 亚洲欧美色图小说| 日韩女优av电影在线观看| 国产成人免费视| 亚洲第一在线综合网站| 久久久99久久| 欧洲人成人精品| 国产美女在线观看一区| 一区二区三区在线免费播放| 精品久久久久一区| 91国内精品野花午夜精品| 国内精品久久久久影院薰衣草| 国产精品二三区| 日韩精品专区在线影院观看| 99re热这里只有精品免费视频| 婷婷一区二区三区| 国产精品毛片大码女人| 日韩无一区二区| 色婷婷综合中文久久一本| 国产最新精品精品你懂的| 亚洲成a人片综合在线| 国产精品欧美一区二区三区| 日韩欧美综合在线| 欧洲另类一二三四区| 成人久久久精品乱码一区二区三区| 亚洲午夜久久久久久久久电影网| 久久亚洲精品小早川怜子| 欧美日韩国产大片| 色婷婷综合久色| 成人小视频在线| 精品一区二区在线播放| 五月婷婷另类国产| 一区二区三区免费| 国产精品全国免费观看高清| 欧美成人三级在线| 欧美日韩国产成人在线免费| 色94色欧美sute亚洲13| 不卡一卡二卡三乱码免费网站| 日本视频在线一区| 午夜视频在线观看一区| 亚洲制服丝袜在线| 亚洲免费观看在线视频| 国产精品成人一区二区艾草| 日本一区二区三级电影在线观看| 日韩三级视频在线看| 538在线一区二区精品国产| 91网站在线播放| 色呦呦一区二区三区| 99久久国产免费看| 99久久精品一区| 成年人国产精品| 不卡av电影在线播放| 成人午夜在线免费| zzijzzij亚洲日本少妇熟睡| 高清久久久久久| 成人精品国产免费网站| 风间由美一区二区三区在线观看| 国产资源在线一区| 国产成人亚洲综合a∨猫咪| 国产大陆a不卡| 成人av中文字幕| 91视视频在线观看入口直接观看www | 黑人精品欧美一区二区蜜桃| 日本强好片久久久久久aaa| 日本免费在线视频不卡一不卡二 | 国产精品精品国产色婷婷| 国产精品三级av在线播放| 国产精品欧美久久久久无广告| 亚洲三级在线观看| 午夜精品一区二区三区电影天堂 | 99视频热这里只有精品免费| 不卡的av电影在线观看| 在线观看国产91| 91麻豆精品国产综合久久久久久| 91麻豆精品国产91久久久久久| 精品毛片乱码1区2区3区| 欧美精彩视频一区二区三区| 亚洲天堂福利av| 天天综合日日夜夜精品| 国产麻豆9l精品三级站| 色综合久久88色综合天天| 日韩一区二区在线看| 国产精品久久久久久久岛一牛影视 | 欧美tk—视频vk| 国产精品久久久久aaaa| 婷婷久久综合九色综合绿巨人| 精品在线免费观看| 成人aaaa免费全部观看| 69精品人人人人| 国产精品美日韩| 日韩av在线播放中文字幕| 国内精品自线一区二区三区视频| 色综合中文字幕| 欧美一区二区在线不卡| 国产精品超碰97尤物18| 日韩国产精品久久| eeuss鲁片一区二区三区| 91精品国产综合久久久蜜臀图片 | 精品国产伦一区二区三区免费| 中文字幕va一区二区三区| 天堂一区二区在线免费观看| 成人午夜精品一区二区三区| 日韩一区二区三区免费看| 国产精品不卡一区| 狠狠色丁香久久婷婷综| 欧美视频一区二| 亚洲私人黄色宅男| 激情欧美一区二区| 欧美日韩一卡二卡| 成人欧美一区二区三区| 国产综合成人久久大片91| 欧美一区二区三区在线| 一区二区三区在线视频播放 | 在线亚洲欧美专区二区| 国产女人aaa级久久久级| 免费的国产精品| 欧美在线观看18| 中文字幕制服丝袜一区二区三区 | 日本va欧美va欧美va精品| 91麻豆123| 国产精品污www在线观看| 激情综合色播激情啊| 日韩情涩欧美日韩视频| 亚洲成年人影院| 一本大道久久a久久精二百| 欧美国产视频在线| 国产精品一区二区久久不卡| 日韩欧美你懂的| 天天免费综合色| 欧美日韩专区在线| 一区二区三区在线观看视频| 99久久免费精品| 亚洲日本成人在线观看| 99久久婷婷国产综合精品| 最新高清无码专区| 91视频国产资源| 亚洲靠逼com| 欧美中文字幕一区| 日日夜夜一区二区| 欧美一级二级在线观看| 老司机午夜精品|