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

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

?? ds1302.c

?? 51單片機(jī)實(shí)驗(yàn)例程
?? C
字號(hào):
/*******************************************************************************
*  標(biāo)題:  試驗(yàn)數(shù)碼管顯示時(shí)鐘                                                   *
*																			   *
* 通過(guò)本例程了解 DS1302時(shí)鐘芯片的基本原理和使用 ,理解并掌握DS1302時(shí)鐘芯片	   *
* 驅(qū)動(dòng)程序的編寫(xiě)以及實(shí)現(xiàn)數(shù)字字符在數(shù)碼管中的顯示。							   *
* 注意:JP1302跳線冒要短接。                   	                               *
* 請(qǐng)學(xué)員認(rèn)真消化本例程,懂DS1302在C語(yǔ)言中的操作                       	       *
********************************************************************************/
#include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
#include <intrins.h>

sbit SCK=P3^6;	//時(shí)鐘	
sbit SDA=P3^4;	//數(shù)據(jù)	
sbit RST = P3^5;// DS1302復(fù)位

sbit LS138A=P2^2;  
sbit LS138B=P2^3;
sbit LS138C=P2^4; 

bit ReadRTC_Flag;//定義讀DS1302標(biāo)志

unsigned char l_tmpdate[7]={0,0,12,15,5,3,8};//秒分時(shí)日月周年08-05-15 12:00:00
unsigned char l_tmpdisplay[8];

code unsigned char write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; //秒分時(shí)日月周年 最低位讀寫(xiě)位
code unsigned char read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};  



code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; 
			         //共陰數(shù)碼管 0-9  '-' '熄滅‘表

/******************************************************************/
/*                    函數(shù)聲明                                    */
/******************************************************************/												
void Write_Ds1302_byte(unsigned char temp); 
void Write_Ds1302( unsigned char address,unsigned char dat );
unsigned char Read_Ds1302 ( unsigned char address );
void Read_RTC(void);//read RTC 
void Set_RTC(void); //set RTC 
void InitTIMER0(void);//inital timer0
/******************************************************************/
/*                   主函數(shù)                                       */
/******************************************************************/
void main(void)    
{
    InitTIMER0();          //初始化定時(shí)器0
 	Set_RTC();             //寫(xiě)入時(shí)鐘值,如果使用備用電池時(shí)候,不需要沒(méi)每次上電寫(xiě)入,此程序應(yīng)該屏蔽

	while(1)
	{
	  if(ReadRTC_Flag)
	  {
	    ReadRTC_Flag=0;
		Read_RTC();
  	
			l_tmpdisplay[0]=l_tmpdate[2]/16;			//數(shù)據(jù)的轉(zhuǎn)換,因我們采用數(shù)碼管0~9的顯示,將數(shù)據(jù)分開(kāi)
			l_tmpdisplay[1]=l_tmpdate[2]&0x0f;
			l_tmpdisplay[2]=10;					    	//加入"-"
			l_tmpdisplay[3]=l_tmpdate[1]/16;
			l_tmpdisplay[4]=l_tmpdate[1]&0x0f;
			l_tmpdisplay[5]=10;
			l_tmpdisplay[6]=l_tmpdate[0]/16;
			l_tmpdisplay[7]=l_tmpdate[0]&0x0f;
	
	 }
	}
}
/******************************************************************/
/*                   定時(shí)器0初始化                                */
/******************************************************************/
void InitTIMER0(void)
{
 TMOD|=0x01;//定時(shí)器設(shè)置 16位
 TH0=0xef;//初始化值
 TL0=0xf0;
 ET0=1;
 TR0=1;
 EA=1;
}


/******************************************************************/
/*                   寫(xiě)一個(gè)字節(jié)                                   */
/******************************************************************/
void Write_Ds1302_Byte(unsigned  char temp) 
{
 unsigned char i;
 for (i=0;i<8;i++)     	//循環(huán)8次 寫(xiě)入數(shù)據(jù)
  { 
   SCK=0;
     SDA=temp&0x01;     //每次傳輸?shù)妥止?jié) 
     temp>>=1;  		//右移一位
     SCK=1;
   }
}   
/******************************************************************/
/*                  寫(xiě)入DS1302                                    */
/******************************************************************/
void Write_Ds1302( unsigned char address,unsigned char dat )     
{
 	RST=0;
	_nop_();
 	SCK=0;
	_nop_();
 	RST=1;	
   	_nop_();                    //啟動(dòng)
 	Write_Ds1302_Byte(address);	//發(fā)送地址
 	Write_Ds1302_Byte(dat);		//發(fā)送數(shù)據(jù)
 	RST=0;  		            //恢復(fù)
}
/******************************************************************/
/*                   讀出DS1302數(shù)據(jù)                               */
/******************************************************************/
unsigned char Read_Ds1302 ( unsigned char address )
{
 	unsigned char i,temp=0x00;
 	RST=0;
	_nop_();
	_nop_();
 	SCK=0;
	_nop_();
	_nop_();
 	RST=1;
	_nop_();
	_nop_();
 	Write_Ds1302_Byte(address);
 	for (i=0;i<8;i++) 		//循環(huán)8次 讀取數(shù)據(jù)
 	{		
 		if(SDA)
 		temp|=0x80;			//每次傳輸?shù)妥止?jié)
		SCK=0;
		temp>>=1;			//右移一位
		_nop_();
	   _nop_();
	   _nop_();
 		SCK=1;
	} 
 	RST=0;
	_nop_();	          	//以下為DS1302復(fù)位的穩(wěn)定時(shí)間
 	_nop_();
	RST=0;
	SCK=0;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	SCK=1;
	_nop_();
	_nop_();
	SDA=0;
	_nop_();
	_nop_();
	SDA=1;
	_nop_();
	_nop_();
	return (temp);			//返回
}
/******************************************************************/
/*                   讀時(shí)鐘數(shù)據(jù)                                   */
/******************************************************************/
void Read_RTC(void)	        //讀取 日歷
{
 unsigned char i,*p;
 p=read_rtc_address; 	    //地址傳遞
 for(i=0;i<7;i++)		    //分7次讀取 秒分時(shí)日月周年
 {
  l_tmpdate[i]=Read_Ds1302(*p);
  p++;
 }
}
/******************************************************************/
/*                  設(shè)定時(shí)鐘數(shù)據(jù)                                  */
/******************************************************************/
void Set_RTC(void)		    //設(shè)定 日歷
{
	unsigned char i,*p,tmp;
	for(i=0;i<7;i++){       //BCD處理
		tmp=l_tmpdate[i]/10;
		l_tmpdate[i]=l_tmpdate[i]%10;
		l_tmpdate[i]=l_tmpdate[i]+tmp*16;
	}  
 	Write_Ds1302(0x8E,0X00);
	
 	p=write_rtc_address;	//傳地址	
 	for(i=0;i<7;i++)		//7次寫(xiě)入 秒分時(shí)日月周年
 	{
		  Write_Ds1302(*p,l_tmpdate[i]);
 		 p++;  
	 }
	 Write_Ds1302(0x8E,0x80);
}
/******************************************************************/
/*                   定時(shí)器中斷函數(shù)                               */
/******************************************************************/
void tim(void) interrupt 1 using 1
                            //中斷,用于數(shù)碼管掃描
{

    static unsigned char i,num;
    TH0=0xf5;
    TL0=0xe0;

 	P0=table[l_tmpdisplay[i]];		//查表法得到要顯示數(shù)字的數(shù)碼段

    switch(i)					  
	     {	    
			case 0:LS138A=0; LS138B=0; LS138C=0; break;         
	        case 1:LS138A=1; LS138B=0; LS138C=0; break;             	
	        case 2:LS138A=0; LS138B=1; LS138C=0; break; 
	        case 3:LS138A=1; LS138B=1; LS138C=0; break; 
			case 4:LS138A=0; LS138B=0; LS138C=1; break;
			case 5:LS138A=1; LS138B=0; LS138C=1; break;
			case 6:LS138A=0; LS138B=1; LS138C=1; break;
			case 7:LS138A=1; LS138B=1; LS138C=1; break;
			
	     }
	i++;
	if(i==8)
	  {
	   i=0;
	   num++;
	   if(10==num)       //隔段時(shí)間讀取1302的數(shù)據(jù)。時(shí)間間隔可以調(diào)整
	     {
		 ReadRTC_Flag=1; //使用標(biāo)志位判斷
		 num=0;
		 }
	  }
 }


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级一区在线视频先锋| 中文字幕一区二区三区不卡| 丁香婷婷综合色啪| 午夜伊人狠狠久久| 欧美激情一区二区三区不卡 | 一区二区三区不卡在线观看| 精品国产免费人成电影在线观看四季| 99久久久久免费精品国产| 美国毛片一区二区三区| 亚洲欧美一区二区三区极速播放 | 色综合久久综合| 青青草原综合久久大伊人精品| 国产精品国产三级国产普通话蜜臀| 91精品免费观看| 色呦呦日韩精品| 国产精品888| 久久99精品一区二区三区三区| 亚洲欧美aⅴ...| 国产欧美一区二区三区在线看蜜臀| 欧美精品色综合| 色婷婷综合五月| k8久久久一区二区三区| 国产美女在线观看一区| 蜜桃视频在线一区| 亚洲在线中文字幕| 日韩码欧中文字| 中文字幕av不卡| 国产亚洲成年网址在线观看| 91精品午夜视频| 欧美电影影音先锋| 在线精品视频小说1| 白白色亚洲国产精品| 国产美女精品一区二区三区| 国产资源精品在线观看| 美女在线观看视频一区二区| 爽好多水快深点欧美视频| 亚洲一区二区黄色| 综合激情成人伊人| 亚洲欧洲日韩一区二区三区| 久久精品夜夜夜夜久久| 久久精品欧美日韩精品| 久久精品欧美日韩| 久久精品一区八戒影视| 欧美激情一区二区三区全黄 | 婷婷中文字幕综合| 亚洲国产日韩一级| 一区二区三区久久| 亚洲一卡二卡三卡四卡五卡| 亚洲午夜影视影院在线观看| 亚洲国产另类精品专区| 亚洲bt欧美bt精品| 天天操天天综合网| 蜜臀99久久精品久久久久久软件| 美女视频黄 久久| 国产一区二区三区四区五区美女| 欧美午夜一区二区三区免费大片| 91浏览器入口在线观看| 色综合久久综合网欧美综合网| 在线亚洲一区观看| 欧美日韩一级二级| 欧美一区二区三区在线观看| 欧美精品一区二区三区视频| 久久精品夜色噜噜亚洲a∨| 亚洲欧美自拍偷拍| 亚洲综合丝袜美腿| 五月天久久比比资源色| 久久99精品国产麻豆婷婷洗澡| 国产经典欧美精品| 91在线免费视频观看| 欧美午夜一区二区三区| 波多野结衣中文字幕一区二区三区| 久久精品99国产国产精| 国产精品一区二区无线| 在线日韩国产精品| 日韩午夜在线观看视频| 国产日产精品一区| 亚洲一区二区三区精品在线| 久久99精品一区二区三区三区| www.色综合.com| 3d动漫精品啪啪一区二区竹菊 | 欧美视频一区二区| 精品国产一区二区三区久久久蜜月 | 日韩欧美国产小视频| 国产午夜精品美女毛片视频| 一区二区三区精密机械公司| 蜜桃av一区二区三区电影| 国产一区二区不卡| 91视频在线看| 日韩精品影音先锋| 国产精品沙发午睡系列990531| 亚洲私人黄色宅男| 天堂久久久久va久久久久| 国产一二三精品| 国产精品一二三区在线| 欧美日本国产视频| 久久久99久久| 国模娜娜一区二区三区| 91女厕偷拍女厕偷拍高清| 欧美美女激情18p| 欧美激情一区二区三区不卡 | 午夜欧美在线一二页| 国产制服丝袜一区| 色噜噜狠狠一区二区三区果冻| 欧美一区二区三区在线观看| 国产精品家庭影院| 日韩av一区二区三区四区| 粉嫩一区二区三区在线看| 在线播放欧美女士性生活| 国产日韩精品一区二区三区在线| 亚洲男人的天堂一区二区| 久久国产精品无码网站| 色噜噜久久综合| 久久精品亚洲国产奇米99| 亚洲成人av电影在线| 成人精品一区二区三区中文字幕| 日韩午夜小视频| 亚洲精品视频在线| 国产毛片一区二区| 欧美日韩国产免费| 一区视频在线播放| 寂寞少妇一区二区三区| 91麻豆精品在线观看| 国产精品情趣视频| 黄色成人免费在线| 成人网在线播放| 99精品视频一区| 精品少妇一区二区三区日产乱码| 国产精品国产三级国产aⅴ中文| 国产黄人亚洲片| 91麻豆精品国产91久久久| 国产精品不卡一区二区三区| 加勒比av一区二区| 在线电影院国产精品| 亚洲视频在线观看三级| 成人午夜视频免费看| 久久综合色之久久综合| 天涯成人国产亚洲精品一区av| eeuss鲁片一区二区三区在线看| 2023国产一二三区日本精品2022| 日韩影院免费视频| 欧美日韩综合不卡| 丝袜美腿亚洲一区二区图片| 在线欧美一区二区| 最新欧美精品一区二区三区| 国产成人精品综合在线观看 | 久久成人麻豆午夜电影| 欧美日韩一区二区三区四区| 亚洲精品综合在线| 另类小说一区二区三区| 日韩欧美久久一区| 蜜桃视频免费观看一区| 5858s免费视频成人| 性欧美疯狂xxxxbbbb| 在线免费av一区| 亚洲最大成人网4388xx| 欧美一区三区四区| 视频精品一区二区| 91麻豆精品国产| 青青草精品视频| 正在播放一区二区| 日本视频免费一区| 欧美一区二区三区色| 五月天欧美精品| 日本丰满少妇一区二区三区| 一区二区三区丝袜| 欧美另类变人与禽xxxxx| 午夜伦欧美伦电影理论片| 欧美美女一区二区| 青青草视频一区| 国产人成一区二区三区影院| 成人av电影免费观看| 综合久久一区二区三区| 色综合天天综合网国产成人综合天| 中文字幕一区二区三区不卡| 91老师国产黑色丝袜在线| 亚洲综合一二三区| 日韩免费看的电影| 国产一区二区成人久久免费影院 | 欧美欧美欧美欧美| 国产麻豆成人精品| 中文字幕一区二区日韩精品绯色| 91在线看国产| 亚洲成人av电影| 亚洲精品中文字幕乱码三区| 亚洲精品视频观看| 国产精品一区二区不卡| 亚洲啪啪综合av一区二区三区| 欧美日韩一区在线| 激情综合网天天干| 国产精品卡一卡二卡三| 在线免费观看日本欧美| 国产精品一区久久久久| 这里只有精品视频在线观看| 天天av天天翘天天综合网 | 亚洲成av人片一区二区| 欧美电影精品一区二区| 成人h精品动漫一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 久久综合久久综合久久| 色综合天天做天天爱|