在Arduino和微控制器的迷人世界中,保持時(shí)間是關(guān)鍵。你可能需要建一個(gè)數(shù)字時(shí)鐘,計(jì)時(shí)器,或者更復(fù)雜的東西,比如自動(dòng)植物澆水系統(tǒng)。這就是DS1302模塊發(fā)揮作用的地方。這是一個(gè)方便的小設(shè)備,可以幫助你在Arduino項(xiàng)目中準(zhǔn)確地保持時(shí)間。在本文中,我們將仔細(xì)研究DS1302模塊,了解它的工作原理,并探索它的應(yīng)用程序。
51單片機(jī)學(xué)習(xí)筆記———13.1DS1302實(shí)時(shí)時(shí)鐘原理部分
由于昨天照著手冊(cè)寫(xiě)了一下DS1302的驅(qū)動(dòng)程序,發(fā)現(xiàn)耗時(shí)挺多的,并且在考場(chǎng)上不可能一步步去自己寫(xiě)驅(qū)動(dòng),所以今天看了一下藍(lán)橋杯提供的DS1302官方驅(qū)動(dòng)程序,發(fā)現(xiàn)直接引用還是不行的,程序當(dāng)中有些小問(wèn)題需要去修改。下面就對(duì)那些需要修改的地方做一個(gè)總結(jié)吧。
DS1302時(shí)鐘模塊通信原理(SPI總線)
現(xiàn)在流行的串行時(shí)鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用
現(xiàn)在流行的串行時(shí)鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。
DS1302 我們前邊也有提起過(guò),是三根線,分別是 CE、I/O 和 SCLK,其中 CE 是使能線,SCLK 是時(shí)鐘線,I/O 是數(shù)據(jù)線。前邊我們介紹過(guò)了 SPI 通信,同學(xué)們發(fā)現(xiàn)沒(méi)發(fā)現(xiàn),這個(gè) DS1302 的通信線定義和 SPI 怎么這么像呢?
//引入文件***********************************************************#include "delay.h" #include "delay.c" #include #include //熔絲配置***********************************************************
參考DS1302數(shù)據(jù)手冊(cè),盡管數(shù)據(jù)手冊(cè)是英文,但是很有幫助,再結(jié)合網(wǎng)上眾多的代碼寫(xiě)出了下面這個(gè)例子,除了涓流充電(trickle charger)功能沒(méi)使用外,內(nèi)部的RAM和寄存器功能都使用到了,包括多字節(jié)方式(burst mode)
1、DS1302時(shí)鐘芯片的講解待完成?。?!2、自己寫(xiě)的DS1302芯片的配置文件//DS1302_SPIdriver.h//DS1302_SPIdriver.h#ifndef__SPIDRIVER_H__#define__SPIDRIVER_H__#include//包含單片機(jī)寄存器的頭文件#include//包含_n
發(fā)現(xiàn)網(wǎng)上一些程序在16M晶振下不能工作,自己寫(xiě)了個(gè),按照2V的時(shí)序?qū)懙?但只在5V和3.3V下測(cè)試過(guò).以下是兩個(gè)主要的文件DS1302.h:/************ AVR DS1302程序 ************* 目標(biāo).........: ATmega128* 文件名.......:
proteus仿真之DS1302+8位數(shù)碼管顯示試驗(yàn)。仿真效果如下圖:源程序如下:/*51單片機(jī):DS1302+數(shù)碼管 Proteus 仿真程序。功能:數(shù)碼管時(shí)鐘顯示。仿真結(jié)果:(1)8位數(shù)碼管顯示設(shè)定的時(shí)間與日期。(2)通過(guò)按鍵切換時(shí)間
/**********************************************************///MSP430 Advanced Developping Components - [DS1302_430.C] ////DS1302 Trickle Charge Timekeeping Chip /************************************
1 ds1302的程序,不是很簡(jiǎn)潔,占的程序空間有點(diǎn)長(zhǎng) 2 3 程序: 4 5 ////////////////////////////////// 6 //根據(jù)自己的接線改管腳定義 7 sbit DS1302_cs=P1^2; 8 sbit DS1302_data=P1^1; 9 sbit DS1302_clk=P1^0;10
我們平時(shí)所用的不管是單片機(jī),還是其它一些電子器件,根據(jù)使用條件的約束,可以分為商業(yè)級(jí)和工業(yè)級(jí),主要是工作溫度范圍的不同,DS1302 的購(gòu)買信息如下圖15-4所示。圖15-4 DS1302 訂購(gòu)信息我們?cè)谟嗁?gòu) DS1302 的時(shí)候,
在網(wǎng)上看了很久,發(fā)現(xiàn)初學(xué)者最有興趣的就是DS1302時(shí)鐘電路,也很自然,它是個(gè)做出來(lái)就讓你覺(jué)得最實(shí)用的電路了,但實(shí)際上制做上并不簡(jiǎn)單,首先你要讓你的顯示部分(不管是數(shù)碼管還是LCD)調(diào)試通過(guò)。然后把DS1302接
#include "D:\\reg51.h " //頭文件#define uchar unsigned charuchar settime[]={1,2,3,4,5,6,7};uchar readtime[7];//*********************************************************************sbit T_CLK = P1^1; //
#include'reg52.h' //包含單片機(jī)寄存器的頭文件#include'intrins.h' //包含_nop_()的頭文件sbit RS=P2^0; //LCD讀寫(xiě)選擇位sbit RW=P2^1; //LCD讀寫(xiě)選擇位sbit E=P2^2; //LCD使能端sbit BF=P0^7; //忙
#include /*************************ds1302與at89s52引腳連接********************/ sbitT_RST=P3^5; sbitT_CLK=P3^6; sbitT_IO=P3^7; sbitACC0=ACC^0; sbitACC7=ACC^7; unsignedcharseg[]={0x00,0x01,0
DS1302 我們前邊也有提起過(guò),是三根線,分別是 CE、I/O 和 SCLK,其中 CE 是使能線,SCLK 是時(shí)鐘線,I/O 是數(shù)據(jù)線。前邊我們介紹過(guò)了 SPI 通信,同學(xué)們發(fā)現(xiàn)沒(méi)發(fā)現(xiàn),這個(gè) DS1302 的通信線定義和 SPI 怎么這么像呢?事