步驟1:關(guān)于DS 1307
簡(jiǎn)介:
除了arduino,DS1307集成電路是該項(xiàng)目的核心因?yàn)樗洚?dāng)計(jì)時(shí)器,并告知arduino什么時(shí)候應(yīng)該將設(shè)備保持打開(kāi)狀態(tài)。 DS 1307專(zhuān)為計(jì)時(shí)而設(shè)計(jì),時(shí)間相當(dāng)準(zhǔn)確,每個(gè)月大約有1分鐘的錯(cuò)誤(時(shí)間漂移)。如果您想消除這種情況,您可以選擇DS3234,它的時(shí)間漂移僅為每年1分鐘。對(duì)于我們的特定應(yīng)用,我們可以選擇DS1307本身。
DS1307的優(yōu)點(diǎn)在于它具有備用的紐扣電池。該紐扣電池通常為CR2032。這種電池對(duì)于IC來(lái)說(shuō)綽綽有余,因?yàn)镈S1307的功耗非常低,因此該電池的備用電池壽命至少約為9年。
因此,現(xiàn)在討論這些規(guī)格讓我們談?wù)劷涣鳌?DS 1307使用I2C通信與arduino通信。只需將芯片以十進(jìn)制形式發(fā)送數(shù)據(jù),使得每個(gè)十進(jìn)制形式都是4位二進(jìn)制數(shù)據(jù),也稱(chēng)為二進(jìn)制編碼十進(jìn)制系統(tǒng)。
重要引腳:
5V引腳: :當(dāng)該引腳為高電平時(shí),ds1307發(fā)送數(shù)據(jù),為低電平時(shí),它在備份按鈕單元上運(yùn)行。
GND: 這是模塊的接地引腳。電池的接地和電源都連接在一起。
SDA: 這是i2c數(shù)據(jù)引腳-與RTC進(jìn)行通信。
現(xiàn)在,介紹已經(jīng)完成。讓我們開(kāi)始實(shí)際制作模塊。該指導(dǎo)書(shū)包含焊接步驟以及板上組件的放置位置。希望這種方法比僅僅提供電路圖更好理解。
步驟2:組裝和焊接-1
因此該模塊只有2 x 3 cm的尺寸,非常緊湊。該模塊具有電線(xiàn)連接器,但您也可以使用公頭或母頭接頭,以便將其直接插入Arduino。無(wú)論如何,除了不焊接方波引腳之外,模塊都具有所有功能。
制造模塊:
步驟1:
將原型板切成上述尺寸,然后插入幣形電池座。然后焊接底端以將電池固定在其位置。
第2步:
將DIP插座插入下一步固定到晶胞支架上,但如圖所示,為晶振留出了空間。焊接一些引腳以將插座固定到位。
第3步:
現(xiàn)在將晶體振蕩器插入第一個(gè)晶體振蕩器附近。 DIP插座的第二個(gè)針腳,如圖所示。然后如圖所示進(jìn)行焊接。
注意1:
此注釋用于顯示我的4針連接器的顏色代碼僅供參考,因?yàn)槟念伾赡苡兴煌?,?qǐng)仔細(xì)檢查是否已正確連接。
注2: p》
現(xiàn)在,我們需要使用如圖所示的走線(xiàn)連接電池端子。這些連接提供備用電源。
步驟3:組裝和焊接-2
第5步:
現(xiàn)在插入來(lái)自Arduino的電源引腳。正引腳連接到DS 1307的第八引腳。然后,IC和紐扣單元的接地是公共的。
步驟6:
在這一步中,我們連接來(lái)自Arduino的其他兩個(gè)數(shù)據(jù)引腳,如圖所示。很抱歉,因?yàn)槲覍⒛K做得很小,所以10k電阻沒(méi)有孔。我將電阻器和導(dǎo)線(xiàn)都插入了相同的引腳,然后進(jìn)行了焊接。
第7步:
因此,接下來(lái)插入電線(xiàn),我們需要在兩個(gè)引腳中分別插入10k電阻。兩個(gè)電阻的另一端連接到DS 1307的電源引腳8。然后將導(dǎo)線(xiàn)焊接起來(lái),以供參考。
步驟8:
由于我在此模塊中使用了連接器,因此頻繁使用會(huì)導(dǎo)致電線(xiàn)磨損。所以我用電阻器上的電線(xiàn)剪了一下。首先將電線(xiàn)插入一端并焊接以使其堅(jiān)固。然后制作一個(gè)U形彎頭,并使電線(xiàn)穿過(guò)該U形彎頭,并擰緊U形彎頭以獲得良好的抓地力,然后再焊接另一端以形成接頭。該圖比文字更能說(shuō)明該方法。
該模塊最終完成,因此將電池和DS1307 IC都插入其插槽中。最終圖顯示了完整完整的模塊。
步驟4:檢查和設(shè)置模塊
組裝完模塊后。將模塊連接到Arduino,以便將引腳正確插入Arduino。下面給出了測(cè)試模塊的程序。代碼會(huì)不斷通過(guò)串行端口更新時(shí)間。
為了運(yùn)行模塊,我們需要兩個(gè)庫(kù),而在Arduino軟件中則需要兩個(gè)庫(kù)。以下步驟使用所需的庫(kù)和代碼來(lái)設(shè)置Arduino軟件。
導(dǎo)入庫(kù):
下載庫(kù)“ RealTimeClockDS1307 ”并將其保存在桌面中。
打開(kāi)Arduino,然后轉(zhuǎn)到素描 =》 導(dǎo)入庫(kù) =》 添加庫(kù)。
然后選擇保存在桌面中的庫(kù),然后單擊添加。
現(xiàn)在粘貼下面給出的示例代碼,然后點(diǎn)擊編譯。如果編譯成功,則跳過(guò)其余步驟。
如果沒(méi)有導(dǎo)入第二個(gè)庫(kù)“ Wire ”,重復(fù)相同的過(guò)程并編譯代碼,它將起作用。
代碼正常工作:
代碼是由“ David H. Brown”編寫(xiě)的,我只是用它來(lái)給你DS1307的簡(jiǎn)介。無(wú)論如何,Arduino與RTC模塊通信并通過(guò) Serial Monitor 每秒更新一次時(shí)間。創(chuàng)建者為我們提供了一個(gè)選項(xiàng),用于設(shè)置發(fā)送命令“ ?”的時(shí)間。出現(xiàn)以下菜單。
Try these:
h## - set Hours [range 1..12 or 0..24]
i## - set mInutes [range 0..59]
s## - set Seconds [range 0..59]
d## - set Date [range 1..31]
m## - set Month [range 1..12]
y## - set Year [range 0..99]
w## - set arbitrary day of Week [range 1..7]
t - toggle 24-hour mode
a - set AM p - set PM
z - start clock Z - stop clock
q - SQW/OUT = 1Hz Q - stop SQW/OUT
該代碼將幫助您設(shè)置時(shí)間以及檢查模塊的備用電池供電是否正常。在下一個(gè)教程中,我將向您展示如何設(shè)置LCD顯示器并顯示RTC模塊中的時(shí)間。這是用于測(cè)試模塊及其附件的代碼。
#include
#include
//RealTimeClock RTC;//=new RealTimeClock();
#define Display_Clock_Every_N_Seconds 10 // n.secs to show date/time
#define Display_ShortHelp_Every_N_Seconds 60 // n.secs to show hint for help
//#define TEST_Squarewave
//#define TEST_StopStart
//#define TEST_1224Switch
int count=0;
char formatted[] = “00-00-00 00:00:00x”;
void setup() {
// Wire.begin();
Serial.begin(9600);
pinMode(A3, OUTPUT); //*** pin 16 (Analog pin 2) as OUTPUT ***
digitalWrite(A3, HIGH); //*** pin 16 (Analog pin 2) set to LOW ***
pinMode(A2, OUTPUT); //*** pin 17 (Analog pin 3) as OUTPUT ***
digitalWrite(A2, LOW); //*** pin 17 (Analog pin 3) set to HIGH ***
//*** Analog Pin settings to power RTC module ***
}
void loop() {
if(Serial.available())
{
processCommand();
}
RTC.readClock();
count++;
if(count % Display_Clock_Every_N_Seconds == 0){
Serial.print(count);
Serial.print(“: ”);
RTC.getFormatted(formatted);
Serial.print(formatted);
Serial.println();
}
if(count % Display_ShortHelp_Every_N_Seconds == 0) {
Serial.println(“Send ? for a list of commands.”);
}
#ifdef TEST_Squarewave
if(count%10 == 0)
{
switch(count/10 % 6)
{
case 0:
Serial.print(“Squarewave disabled (low impedance): ”);
RTC.sqwDisable(0);
Serial.println((int) RTC.readData(7));
break;
case 1:
Serial.print(“Squarewave disabled (high impedance): ”);
RTC.sqwDisable(1);
Serial.println((int) RTC.readData(7));
break;
case 2:
Serial.println(“Squarewave enabled at 1 Hz”);
RTC.sqwEnable(RTC.SQW_1Hz);
break;
case 3:
Serial.println(“Squarewave enabled at 4.096 kHz”);
RTC.sqwEnable(RTC.SQW_4kHz);
break;
case 4:
Serial.println(“Squarewave enabled at 8.192 kHz”);
RTC.sqwEnable(RTC.SQW_8kHz);
break;
case 5:
Serial.println(“Squarewave enabled at 32.768 kHz”);
RTC.sqwEnable(RTC.SQW_32kHz);
break;
default:
Serial.println(“Squarewave test not defined”);
}//switch
}
#endif
#ifdef TEST_StopStart
if(count%10 == 0)
{
if(!RTC.isStopped())
{
if(RTC.getSeconds() 《 45)
{
Serial.println(“Stopping clock for 10 seconds”);
RTC.stop();
}//if we have enough time
} else {
RTC.setSeconds(RTC.getSeconds()+11);
RTC.start();
Serial.println(“Adding 11 seconds and restarting clock”);
}
}//if on a multiple of 10 counts
#endif
#ifdef TEST_1224Switch
if(count%10 == 0)
{
if(count %20 == 0)
{
Serial.println(“switching to 12-hour time”);
RTC.switchTo12h();
RTC.setClock();
}
else
{
Serial.println(“switching to 24-hour time”);
RTC.switchTo24h();
RTC.setClock();
}
}
#endif
}
void processCommand() {
if(!Serial.available()) { return; }
char command = Serial.read();
int in,in2;
switch(command)
{
case ‘H’:
case ‘h’:
in=SerialReadPosInt();
RTC.setHours(in);
RTC.setClock();
Serial.print(“Setting hours to ”);
Serial.println(in);
break;
case ‘I’:
case ‘i’:
in=SerialReadPosInt();
RTC.setMinutes(in);
RTC.setClock();
Serial.print(“Setting minutes to ”);
Serial.println(in);
break;
case ‘S’:
case ‘s’:
in=SerialReadPosInt();
RTC.setSeconds(in);
RTC.setClock();
Serial.print(“Setting seconds to ”);
Serial.println(in);
break;
case ‘Y’:
case ‘y’:
in=SerialReadPosInt();
RTC.setYear(in);
RTC.setClock();
Serial.print(“Setting year to ”);
Serial.println(in);
break;
case ‘M’:
case ‘m’:
in=SerialReadPosInt();
RTC.setMonth(in);
RTC.setClock();
Serial.print(“Setting month to ”);
Serial.println(in);
break;
case ‘D’:
case ‘d’:
in=SerialReadPosInt();
RTC.setDate(in);
RTC.setClock();
Serial.print(“Setting date to ”);
Serial.println(in);
break;
case ‘W’:
Serial.print(“Day of week is ”);
Serial.println((int) RTC.getDayOfWeek());
break;
case ‘w’:
in=SerialReadPosInt();
RTC.setDayOfWeek(in);
RTC.setClock();
Serial.print(“Setting day of week to ”);
Serial.println(in);
break;
case ‘t’:
case ‘T’:
if(RTC.is12hour()) {
RTC.switchTo24h();
Serial.println(“Switching to 24-hour clock.”);
} else {
RTC.switchTo12h();
Serial.println(“Switching to 12-hour clock.”);
}
RTC.setClock();
break;
case ‘A’:
case ‘a(chǎn)’:
if(RTC.is12hour()) {
RTC.setAM();
RTC.setClock();
Serial.println(“Set AM.”);
} else {
Serial.println(“(Set hours only in 24-hour mode.)”);
}
break;
case ‘P’:
case ‘p’:
if(RTC.is12hour()) {
RTC.setPM();
RTC.setClock();
Serial.println(“Set PM.”);
} else {
Serial.println(“(Set hours only in 24-hour mode.)”);
}
break;
case ‘q’:
RTC.sqwEnable(RTC.SQW_1Hz);
Serial.println(“Square wave output set to 1Hz”);
break;
case ‘Q’:
RTC.sqwDisable(0);
Serial.println(“Square wave output disabled (low)”);
break;
case ‘z’:
RTC.start();
Serial.println(“Clock oscillator started.”);
break;
case ‘Z’:
RTC.stop();
Serial.println(“Clock oscillator stopped.”);
break;
case ‘》’:
in=SerialReadPosInt();
in2=SerialReadPosInt();
RTC.writeData(in, in2);
Serial.print(“Write to register ”);
Serial.print(in);
Serial.print(“ the value ”);
Serial.println(in2);
break;
case ‘《’:
in=SerialReadPosInt();
in2=RTC.readData(in);
Serial.print(“Read from register ”);
Serial.print(in);
Serial.print(“ the value ”);
Serial.println(in2);
break;
default:
Serial.println(“Unknown command. Try these:”);
Serial.println(“ h## - set Hours [range 1..12 or 0..24]”);
Serial.println(“ i## - set mInutes [range 0..59]”);
Serial.println(“ s## - set Seconds [range 0..59]”);
Serial.println(“ d## - set Date [range 1..31]”);
Serial.println(“ m## - set Month [range 1..12]”);
Serial.println(“ y## - set Year [range 0..99]”);
Serial.println(“ w## - set arbitrary day of Week [range 1..7]”);
Serial.println(“ t - toggle 24-hour mode”);
Serial.println(“ a - set AM p - set PM”);
Serial.println();
Serial.println(“ z - start clock Z - stop clock”);
Serial.println(“ q - SQW/OUT = 1Hz Q - stop SQW/OUT”);
Serial.println();
Serial.println(“ 》##,### - write to register ## the value ###”);
Serial.println(“ 《## - read the value in register ##”);
}//switch on command
}
//read in numeric characters until something else
//or no more data is available on serial.
int SerialReadPosInt() {
int i = 0;
boolean done=false;
while(Serial.available() && !done)
{
char c = Serial.read();
if (c 》= ‘0’ && c 《=‘9’)
{
i = i * 10 + (c-‘0’);
}
else
{
done = true;
}
}
return i;
}
步驟5:關(guān)于庫(kù)
開(kāi)始之前在液晶顯示屏上顯示時(shí)間。我想討論一下我們導(dǎo)入的庫(kù)。我省略了需要方波數(shù)據(jù)的庫(kù),因?yàn)樵撃K沒(méi)有方波輸出引腳。讓我們通過(guò)一些示例來(lái)討論該庫(kù)中涉及的各種關(guān)鍵字。
關(guān)鍵字:
起始時(shí)鐘:
RTC.start();
此時(shí)鐘可用于啟動(dòng)時(shí)鐘,它將從停止時(shí)開(kāi)始計(jì)時(shí)。首次使用該模塊以啟動(dòng)模塊時(shí),應(yīng)使用此命令。
停止時(shí)鐘:
RTC.stop();
使用此行,可以暫停該模塊,并且在給出啟動(dòng)命令之前,時(shí)鐘不會(huì)計(jì)時(shí)。它與開(kāi)始時(shí)鐘命令一起使用以控制模塊的狀態(tài)。
讀取時(shí)鐘:
RTC.readClock();
使用“開(kāi)始”命令打開(kāi)時(shí)鐘后。您需要從RTC模塊讀取數(shù)據(jù)。這是通過(guò)readClock函數(shù)完成的。在使用后面的命令之前,此功能必不可少。
讀取時(shí)間:
//integers for holding the various time values.
int hours = 0;
int minutes = 0;
int seconds = 0;
int dates = 0;
int months = 0;
int years = 0;
int date = 0;
//syntax for setting the values to the integers
RTC.readClock(); //This line is essential for the other commands to work.
//Commands for getting the individual time values.
hours = RTC.getHours();
minutes = RTC.getMinutes();
seconds = RTC.getSeconds();
dates = RTC.getDate();
months = RTC.getMonth();
years = RTC.getYear();
date = RTC.getDayofWeek();
//finally just print the stored data (refer next step)。
因此一旦readClock被調(diào)用。接下來(lái),我們需要將各個(gè)值存儲(chǔ)為整數(shù)。我們創(chuàng)建整數(shù)來(lái)保存值。 getDayofWeek函數(shù)提供星期幾。第一天為星期一,最后一天為星期日。請(qǐng)注意,與前面步驟中的代碼相比,此方法效率很低,但這將有助于您了解庫(kù)中各種功能的工作。
注意:
//extra code for finding out whether its AM or PM when the clock is in 12h mode.
//declare an integer and string.
int AP = 0;
String TZ;
//then read the data from the module.
ampm = RTC.isPM();
//use an if loop to find out whether its AM or PM.
if(ampm == 1)
{
am = “PM”;
}
else
{
am =“AM”;
}
此額外的代碼行將在12小時(shí)模式下顯示其上午還是下午。當(dāng)您將其設(shè)置為24小時(shí)制時(shí),請(qǐng)刪除此代碼。
寫(xiě)時(shí)間:
RTC.setHours(4);
RTC.setMinutes(35);
RTC.setSeconds(14);
RTC.setDate(9);
RTC.setMonth(6);
RTC.setYear(14);
RTC.set24h();
//RTC.setAM();
RTC.setPM();
RTC.setDayofWeek(1);
因此,這些是用于設(shè)置模塊時(shí)間的命令。如您所見(jiàn),我已經(jīng)設(shè)置了 4:35:14 PM 的時(shí)間,日期為 9/6/14 。除了這些命令外,還有set24h命令,直接將時(shí)鐘設(shè)置為24小時(shí)模式,并將AM和PM設(shè)置為12小時(shí)模式。 setDayofWeek用于設(shè)置日期。
時(shí)間命令:
//These commands deal with the settings in the module.
//Checks whether the clock is running.
RTC.isStopped();
//Check whether it is AM or PM depending on the output(given above)。
RTC.isPM();
//Checks whether the clock is in 24hour mode.
RTC.is12hour();
//Toggles between the 12hour mode and 24hour mode.
RTC.switchTo24h();
以下是這些命令:控制時(shí)鐘內(nèi)的設(shè)置。
我已經(jīng)盡我所能解釋了這個(gè)庫(kù)。如果發(fā)現(xiàn)任何缺陷或我錯(cuò)過(guò)的東西,請(qǐng)對(duì)其進(jìn)行評(píng)論,以使其盡可能準(zhǔn)確。
步驟6:顯示時(shí)間(簡(jiǎn)單方法)
現(xiàn)在檢查了模塊,現(xiàn)在讓我們開(kāi)始獲取要在LCD上顯示的時(shí)間數(shù)據(jù)。 LCD模塊可以輕松連接到Arduino。顯示了用于連接LCD模塊的電路圖。下面顯示了用于顯示時(shí)間的代碼。
在我制作了此代碼的兩個(gè)版本之前。其中一個(gè)將普通LCD連接到Arduino。這是最簡(jiǎn)單的版本,但是它將占用Arduino中的大多數(shù)引腳。因此,我想出了一個(gè)替代方案,使用移位寄存器僅使用2個(gè)引腳將數(shù)據(jù)發(fā)送到LCD模塊。因此,您可以選擇更方便的方式。
普通版:
更多的引腳,但是更簡(jiǎn)單!
因此,如面包板圖所示,連接LCD。然后將代碼上傳到Arduino,日期和時(shí)間將顯示在LCD顯示屏中。因此,這是代碼。
代碼:
#include
#include
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define Display_Clock_Every_N_Seconds 10
#define Display_ShortHelp_Every_N_Seconds 60
String tz;
int hours = 0;
int minutes = 0;
int seconds = 0;
int dates = 0;
int months = 0;
int years = 0;
int ap = 0;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
pinMode(A3, OUTPUT);
digitalWrite(A3, HIGH);
pinMode(A2, OUTPUT);
digitalWrite(A2, LOW);
}
void loop() {
RTC.readClock();
if(ap == 1)
{
tz = “PM”;
}
else
{
tz =“AM”;
}
lcd.home();
hours = RTC.getHours();
minutes = RTC.getMinutes();
seconds = RTC.getSeconds();
ap = RTC.isPM();
dates = RTC.getDate();
months = RTC.getMonth();
years = RTC.getYear();
lcd.print(hours);
lcd.print(“:”);
lcd.print(minutes);
lcd.print(“:”);
lcd.print(seconds);
lcd.print(“ ”);
lcd.print(tz);
lcd.setCursor(0, 1);
lcd.print(dates);
lcd.print(“:”);
lcd.print(months);
lcd.print(“:”);
lcd.print(years);
delay(250);
lcd.clear();
lcd.home();
lcd.print(hours);
lcd.print(“ ”);
lcd.print(minutes);
lcd.print(“ ”);
lcd.print(seconds);
lcd.print(“ ”);
lcd.print(tz);
lcd.setCursor(0, 1);
lcd.print(dates);
lcd.print(“ ”);
lcd.print(months);
lcd.print(“ ”);
lcd.print(years);
delay(250);
lcd.clear();
}
在連接RTC模塊并上傳代碼后。液晶顯示屏將在頂部顯示時(shí)間,在底部顯示日期。此版本對(duì)于學(xué)習(xí)基本命令很有用,并允許您在將來(lái)的項(xiàng)目中使用這些命令。
步驟7:顯示時(shí)間(移位寄存器版本)
移位寄存器LCD版本:
此版本使用的移位寄存器模塊僅使用兩個(gè)就可以將數(shù)據(jù)發(fā)送到LCD引腳而不是六個(gè)引腳。可以購(gòu)買(mǎi)此模塊,但我想制造它。即將發(fā)布的鏈接中提供了制作模塊的完整說(shuō)明!因此,只需將Arduino的兩個(gè)引腳連接到模塊,然后上傳下面給出的代碼,就可以像在簡(jiǎn)單版本中一樣觀察到相同的輸出。
CODE:
#include
#include
#include
LiquidCrystal_SR lcd(8,7,TWO_WIRE);
#define Display_Clock_Every_N_Seconds 10
#define Display_ShortHelp_Every_N_Seconds 60
String tz;
int hours = 0;
int minutes = 0;
int seconds = 0;
int dates = 0;
int months = 0;
int years = 0;
int ap = 0;
void setup() {
// Wire.begin();
Serial.begin(9600);
lcd.begin(16,2);
pinMode(A3, OUTPUT);
digitalWrite(A3, HIGH);
pinMode(A2, OUTPUT);
digitalWrite(A2, LOW);
}
void loop() {
RTC.readClock();
ap = RTC.isPM();
if(ap == 1)
{
tz = “PM”;
}
else
{
tz =“AM”;
}
lcd.home();
hours = RTC.getHours();
minutes = RTC.getMinutes();
seconds = RTC.getSeconds();
dates = RTC.getDate();
months = RTC.getMonth();
years = RTC.getYear();
lcd.print(hours);
lcd.print(“:”);
lcd.print(minutes);
lcd.print(“:”);
lcd.print(seconds);
lcd.print(“ ”);
lcd.print(tz);
lcd.setCursor(0, 1);
lcd.print(dates);
lcd.print(“:”);
lcd.print(months);
lcd.print(“:”);
lcd.print(years);
delay(250);
lcd.clear();
lcd.home();
lcd.print(hours);
lcd.print(“ ”);
lcd.print(minutes);
lcd.print(“ ”);
lcd.print(seconds);
lcd.print(“ ”);
lcd.print(tz);
lcd.setCursor(0, 1);
lcd.print(dates);
lcd.print(“ ”);
lcd.print(months);
lcd.print(“ ”);
lcd.print(years);
delay(250);
lcd.clear();
}
如果您已經(jīng)有了此模塊,則第二個(gè)代碼使用另一個(gè)庫(kù),請(qǐng)使用該庫(kù)使上面的代碼正常工作。
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1901瀏覽量
133227 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192151
發(fā)布評(píng)論請(qǐng)先 登錄
愛(ài)普生RA4000CE實(shí)時(shí)時(shí)鐘模塊車(chē)載BMS系統(tǒng)的理想選擇

實(shí)時(shí)時(shí)鐘模塊選擇指南和比較表
基于FPGA的實(shí)時(shí)時(shí)鐘設(shè)計(jì)

LinkedSemi凌思微:DD3225TR實(shí)時(shí)時(shí)鐘模塊

LinkedSemi凌思微:DD3225TS實(shí)時(shí)時(shí)鐘模塊

TPS65950實(shí)時(shí)時(shí)鐘時(shí)序補(bǔ)償分析

使用實(shí)時(shí)時(shí)鐘庫(kù)

適用于智能門(mén)鎖的低功耗RTC實(shí)時(shí)時(shí)鐘模塊RX8010SJ

bq32000實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

BQ32002實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

bq3285E/L實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

bq3285實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

bq4802Y/bq4802LY實(shí)時(shí)時(shí)鐘數(shù)據(jù)表

TCXO RTC實(shí)時(shí)時(shí)鐘模塊的特性

評(píng)論