DS1302避免重啓電源重複初始化的方法

兩種解決方法
第一種:先把程序燒錄進單片機,然後把程序中的寫時間函數註釋掉,再燒錄進去就可以了
第一次燒錄相當於給DS1302時鐘芯片寫入一個初始時間,第二次燒錄前由於有備用電源DS1302一直在工作,所以第二次燒錄不需要設置初始時間,應把源程序中的寫入初始時間的程序註釋掉

第二種:在DS1302的RAM裏面寫入一個標誌數(因爲DS1302有備用電池,外部電源關閉後,RAM裏的值不會丟掉依然保留),程序中的DS1302寫入時間函數是否執行需要用該標誌進行判斷,程序如下

unsigned char flag; 				//定義一個標誌位
flag= Ds1302_Read_Byte(0xc0); 		//0xc0爲DS1302內部RAM的首地址,每次執行程序 先讀出該地址的數據
if(flag==0) 						//RAM數據默認爲0
{
Ds1302_Init();            			//DS1302初始化
Ds1302_Write_Time();				//DS1302寫入時間
Ds1302_Write_Byte(0xc0,1); 			//執行一次程序後,在RAM裏寫入一個數1,所以該程序段只會被執行一次
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章