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

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

?? ds1302時分.c

?? 能用串口修改時間的時鐘程序
?? C
字號:
/************************************/
/*杭州電子&計算機工作室				*/
/*http://www.hificat.com			*/
/*DS1302測試程序					*/
/*目標器件:AT89S51					*/
/*晶振:11.0592MHZ					*/
/*編譯環境:Keil 7.50A				*/
/************************************/

/*********************************包含頭文件********************************/
#include "reg51.h"
#include <intrins.h>

/*********************************端口定義**********************************/
sbit DS1302_CLK = P1^0;
sbit DS1302_IO  = P1^1;
sbit DS1302_RST = P1^2;

/*******************************共陽LED段碼表*******************************/
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

/******************************定義全局變量*********************************/
unsigned char second,minute,hour,week,day,month,year;		//秒、分、時、星期、日、月、年
unsigned char minute1,hour1;

unsigned char t1,t2,i;
unsigned char time[]={0x08,0x06,0x19,0x04,0x09,0x30,0x00};	//初始時間數組



unsigned  char secondchar,minutechar,hourchar,weekchar,daychar,monthchar,yearchar;

unsigned char keysum ;

sbit	K1 = P3^2;
sbit	K2 = P3^3;

unsigned char key_s, key_v, tmp;
unsigned char key_s1, key_v1;
//int kk;





/****************************************************************************
函數功能:數碼管掃描延時子程序
入口參數:
出口參數:
****************************************************************************/
void delay1(void)
{
	int k;
	for(k=0;k<400;k++);
}

void delayms(unsigned char ms)	
// 延時子程序
{						
	unsigned char i;
	while(ms--)
	{
		for(i = 0; i < 120; i++);
	}
}


void delayms1(unsigned char ms)	
// 延時子程序
{						
	unsigned char i;
	while(ms--)
	{
		for(i = 0; i < 120; i++);
	}
}


void displayhour(void)
{
	P2=0xfe;			
	P0=tab[hour1/10];
	delayms1(1);

	P2=0xfd;
	P0=tab[hour1%10];
	delayms1(1);
}

void displayminuite(void)
{


	P2=0xf7;
	P0=tab[minute1/10];
	delayms1(1);

	P2=0xef;
	P0=tab[minute1%10];
	delayms1(1);

}

void displaysecond(void)
{

	P2=0xbf;
	P0=tab[second/10];
	delayms1();

	P2=0x7f;
	P0=tab[second%10];
	delayms1();

}
/****************************************************************************
函數功能:數碼管顯示子程序
入口參數:k
出口參數:
****************************************************************************/
void display(void)
{
	P2=0xfe;			
	P0=tab[hour/16];
	delay1();

	P2=0xfd;
	P0=tab[hour%16];
	delay1();

	P2=0xfb;
	P0=0xbf;			//顯示"-"
	delay1();

	P2=0xf7;
	P0=tab[minute/16];
	delay1();

	P2=0xef;
	P0=tab[minute%16];
	delay1();

	P2=0xdf;
	P0=0xbf;			//顯示"-"
	delay1();

	P2=0xbf;
	P0=tab[second/16];
	delay1();

	P2=0x7f;
	P0=tab[second%16];
	delay1();
}

/*****************************************************************************
函數功能:向DS1302送一字節數據子程序
入口參數:
出口參數:
*****************************************************************************/
void InputByte(unsigned char byte1)
{
	char i;
	for(i=8;i>0;i--)
	{
		DS1302_IO=(bit)(byte1&0x01);
		DS1302_CLK=1;
		_nop_();
		DS1302_CLK=0;
		byte1>>=1;
	}
	return;
}

/*****************************************************************************
函數功能:讀DS1302一個字節子程序
入口參數:
出口參數:
*****************************************************************************/
unsigned char outputbyte(void)  
{
	unsigned char i;
	unsigned ucdat=0;
	for(i=8;i>0;i--)
	{
		DS1302_IO=1;
		ucdat>>=1;
		if(DS1302_IO)ucdat|=0x80;
		DS1302_CLK=1;
		_nop_();
		DS1302_CLK=0;
	 }
	 return(ucdat);
}

/*****************************************************************************
函數功能:向DS1302某地址寫一字節數據子程序
入口參數:addr,TDat
出口參數:
*****************************************************************************/
void write_ds1302(unsigned char addr,unsigned char TDat)
{
	DS1302_RST=0;
	_nop_();
	DS1302_CLK=0;
	_nop_();
	DS1302_RST=1;
 	InputByte(addr);
	_nop_();
	InputByte(TDat);
	DS1302_CLK=1;
	_nop_();
	DS1302_RST=0;
}

/*****************************************************************************
函數功能:讀DS1302地址子程序
入口參數:add
出口參數:timedata
*****************************************************************************/
unsigned char read_ds1302(unsigned char addr)
{
	unsigned char timedata;
	DS1302_RST=0;
	_nop_();
	DS1302_CLK=0;
	_nop_();
	DS1302_RST=1;
	InputByte(addr);
	timedata=OutputByte();
	DS1302_CLK=1;
	_nop_();
	DS1302_RST=0;
	return(timedata);
}

/*****************************************************************************
函數功能:初始化DS1302子程序
入口參數:time[](全局變量)
出口參數:
*****************************************************************************/
void initial_ds1302()
{
	write_ds1302(0x8e,0x00);		//寫保護寄存器,在對時鐘或RAM寫前WP一定要為0
	write_ds1302(0x8c,time[0]);		//年
	write_ds1302(0x88,time[1]);		//月
	write_ds1302(0x86,time[2]);		//日
	write_ds1302(0x8A,time[3]);		//星期
	write_ds1302(0x84,time[4]);		//時
	write_ds1302(0x82,time[5]);		//分
	write_ds1302(0x80,time[6]);		//秒
	write_ds1302(0x8e,0x80);		//寫保護寄存器
}

void initial_ds13021()
{
	write_ds1302(0x8e,0x00);		//寫保護寄存器,在對時鐘或RAM寫前WP一定要為0
	write_ds1302(0x8c,year);		//年
	write_ds1302(0x88,month);		//月
	write_ds1302(0x86,day);		//日
	write_ds1302(0x8A,week);		//星期
	write_ds1302(0x84,hour);		//時
	write_ds1302(0x82,minute);		//分
	write_ds1302(0x80,second);		//秒
	write_ds1302(0x8e,0x80);		//寫保護寄存器
}

/*****************************************************************************
函數功能:讀DS1302時間子程序
入口參數:
出口參數:全局變量(second,minute,hour,week,day,month,year)
*****************************************************************************/
void read_time()
{
	second=read_ds1302(0x81);		//秒寄存器
	minute=read_ds1302(0x83);		//分
	hour=read_ds1302(0x85);			//時
	week=read_ds1302(0x8B);			//星期
	day=read_ds1302(0x87);			//日
	month=read_ds1302(0x89);		//月
	year=read_ds1302(0x8d);			//年
}

/*****************************************************************************
函數功能:主程序
入口參數:
出口參數:
*****************************************************************************/






bit scan_key1()	
// 掃描按鍵
{
	key_s1 = 0x00;
	key_s1 |= K2;  /////////////////////////////////////////////////
	
	return(key_s1 ^ key_v1);	
}



void proc_key1()
// 鍵處理
{ //  hour=12;
   // displayhour();
	if((key_v1 & 0x01) == 0  )
	{			// K2按下
	    	  
          	if (keysum==1) hour1=hour1+1;	
		//	if(hour==0x10) hour=hour+6;
		//	if(hour==0x20) hour=32;
            if (keysum==2) minute1=minute1+1;
		    if (minute1>59)  minute1=0;
			if (hour1>23) hour1=0;
     

	}

}


bit scan_key()	
// 掃描按鍵
{
	key_s = 0x00;
	key_s |= K1;  /////////////////////////////////////////////////

	return(key_s ^ key_v);	
}

void proc_key()
// 鍵處理
{
	if((key_v & 0x01) == 0)
	{			// K1按下
	//	send_str();		
        keysum++;

          if (keysum==1) 
		     {
		      hour1=((int)hour)/16;
			  hour1=hour1*10+((int)hour)%16;
			     //hour1=hour
			  }

          if (keysum==2)
		      {
			    	
		      minute1=((int)minute)/16;
			  minute1=minute1*10+((int)minute)%16;
			   //  minute1=minute;
			  }

			 
	if (keysum>2) 
	   {  	      
     	   keysum=0;
		  hour=(hour1/10)*16+(hour1%10);
		  minute=(minute1/10)*16+(minute1%10);
          initial_ds13021();           
	   }
     
	}

}

void main(void)
{   
    
    keysum=0;
	initial_ds1302();				//初始化DS1302
	while(1)
	{    
	  
        if(scan_key())		// 掃描按鍵
		{
			delayms(10);			// 延時去抖動
		
			if(scan_key())			// 再次掃描
			{
				key_v = key_s;		// 保存鍵值
				proc_key();			// 鍵處理
			}
		}
      

		if(scan_key1())		// 掃描按鍵
		{
			delayms(10);			// 延時去抖動
			if(scan_key1())			// 再次掃描
			{
				key_v1 = key_s1;		// 保存鍵值
				proc_key1();			// 鍵處理
			}
		}


      if (keysum==1)displayhour();		 
	     
      if (keysum==2)displayminuite();  
      if (keysum==0  )
	    {
		read_time();				//讀取時間
		display();					//顯示時間
		}
	}
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级欧美三级在线观看| 国产欧美日韩麻豆91| 精品国产伦一区二区三区观看方式 | 国产无一区二区| 亚洲制服丝袜av| 国产成人在线观看免费网站| 欧美男人的天堂一二区| 国产亚洲精品资源在线26u| 亚洲成人激情社区| 91亚洲精品乱码久久久久久蜜桃 | 蜜臀91精品一区二区三区| 91视频在线看| 日本一区二区电影| 精品一区二区三区久久久| 欧美日韩精品免费观看视频| 中文字幕字幕中文在线中不卡视频| 久久99精品国产麻豆婷婷| 欧美男女性生活在线直播观看| 亚洲素人一区二区| 国产成人在线视频播放| 精品国产sm最大网站免费看| 蜜臀久久99精品久久久久久9| 欧美色区777第一页| av在线不卡网| 亚洲自拍与偷拍| 亚洲国产日韩综合久久精品| caoporn国产一区二区| 国产日韩综合av| 国产一区二区三区蝌蚪| 久久久99久久| 麻豆一区二区在线| 日韩你懂的电影在线观看| 日本欧美肥老太交大片| 欧美日韩高清在线| 亚洲成人黄色小说| 欧美一区二区网站| 美女视频一区在线观看| 欧美一级艳片视频免费观看| 免费av成人在线| 欧美成人精品3d动漫h| 免费看欧美女人艹b| wwwwww.欧美系列| 国产精品中文有码| 国产精品国产三级国产专播品爱网| 99久久久精品| 亚洲一区电影777| 91精品国产一区二区| 久久精品理论片| 国产清纯白嫩初高生在线观看91| 国产福利一区二区三区视频 | 欧美性受xxxx| 粉嫩一区二区三区在线看| 精品国产制服丝袜高跟| 国产不卡在线播放| 亚洲精品在线网站| 91女人视频在线观看| 午夜av一区二区| 精品福利一区二区三区| 不卡av在线网| 日韩在线一二三区| 国产欧美一区二区精品性色| 97久久人人超碰| 青青草原综合久久大伊人精品优势| 精品国产免费视频| 91亚洲精品一区二区乱码| 秋霞电影一区二区| 国产精品看片你懂得| 欧美日本不卡视频| 国产凹凸在线观看一区二区| 亚洲国产视频a| 中文在线一区二区 | 久久久噜噜噜久噜久久综合| 成人18视频日本| 日本色综合中文字幕| 中文av一区特黄| 日韩一区国产二区欧美三区| 成人网在线播放| 另类中文字幕网| 一区二区三区四区视频精品免费| 日韩西西人体444www| 欧美精品日韩一区| 亚洲香蕉伊在人在线观| 欧美色综合网站| 粉嫩绯色av一区二区在线观看| 一区二区三区欧美久久| 欧美大胆人体bbbb| 欧美性受xxxx黑人xyx性爽| 国产成人av一区| 蜜桃视频第一区免费观看| 一区二区国产视频| 国产精品欧美一级免费| 91精品久久久久久蜜臀| 色婷婷av一区| 成人精品国产一区二区4080| 久久电影网电视剧免费观看| 亚洲 欧美综合在线网络| 亚洲免费在线看| 国产女主播在线一区二区| 亚洲欧美在线视频| 日韩美女天天操| 欧美一区二区网站| 制服视频三区第一页精品| 一本色道亚洲精品aⅴ| bt7086福利一区国产| 国产成人啪免费观看软件| 久久av老司机精品网站导航| 丝袜诱惑亚洲看片| 一区二区三区四区不卡在线| 亚洲欧美福利一区二区| 国产精品天美传媒沈樵| 亚洲国产精品ⅴa在线观看| 国产欧美精品日韩区二区麻豆天美| 日韩精品一区二| 日韩一区二区三区在线| 91精选在线观看| 日韩午夜在线影院| 精品久久五月天| 日韩三级电影网址| 日韩精品中文字幕在线不卡尤物| 欧美日韩国产另类不卡| 欧美电影一区二区| 91精品国产乱码久久蜜臀| 欧美男同性恋视频网站| 51精品国自产在线| 精品福利一区二区三区| 国产日韩av一区二区| 国产午夜亚洲精品理论片色戒| 国产视频一区二区在线| 国产精品成人免费在线| 亚洲毛片av在线| 五月天一区二区| 国内精品伊人久久久久影院对白| 亚洲超碰精品一区二区| 裸体歌舞表演一区二区| 国内精品国产成人国产三级粉色| 成人午夜电影小说| 在线中文字幕一区| 欧美日韩国产精选| 久久久午夜精品理论片中文字幕| 国产三级欧美三级日产三级99| 国产精品久久久久久久第一福利| 一区二区三区日本| 秋霞午夜av一区二区三区| 盗摄精品av一区二区三区| 色哟哟在线观看一区二区三区| 91精品久久久久久久99蜜桃 | 日精品一区二区| 久久精品二区亚洲w码| 成人免费av在线| 欧美性受xxxx| 日本一区二区三区免费乱视频| 中文字幕在线不卡| 日韩国产精品久久久| 国产成人免费9x9x人网站视频| 欧美在线啊v一区| 2024国产精品视频| 亚洲三级久久久| 韩国女主播成人在线| 91天堂素人约啪| 26uuu成人网一区二区三区| 亚洲伦理在线免费看| 激情久久五月天| 欧美亚洲日本一区| 国产亚洲美州欧州综合国| 日韩国产欧美在线视频| 99久久久无码国产精品| 精品国产乱码久久久久久老虎| 中文字幕综合网| 国产超碰在线一区| 一区二区欧美视频| 久久精品久久99精品久久| 91九色最新地址| 欧美极品aⅴ影院| 久久成人免费电影| 91麻豆精品国产自产在线| 亚洲人成在线观看一区二区| 国产在线一区观看| 7777精品久久久大香线蕉| 一区二区三区加勒比av| 99视频精品免费视频| 亚洲精品在线一区二区| 奇米色一区二区| 69av一区二区三区| 亚洲成av人影院| 欧美性大战久久| 一区二区三区四区视频精品免费| 91成人网在线| 国产suv精品一区二区6| 88在线观看91蜜桃国自产| 国产三级欧美三级| 在线观看亚洲专区| 亚洲综合丁香婷婷六月香| 欧美精品第1页| 亚洲乱码国产乱码精品精小说| 国产成a人亚洲精| 亚洲国产高清不卡| 大桥未久av一区二区三区中文| 精品国产凹凸成av人网站| 精品一区二区在线播放| 久久综合九色综合97_久久久|