標(biāo)題: 單片機(jī)+DS3231鬧鐘的問(wèn)題,求指導(dǎo) [打印本頁(yè)]

作者: 肖叔    時(shí)間: 2021-7-15 00:12
標(biāo)題: 單片機(jī)+DS3231鬧鐘的問(wèn)題,求指導(dǎo)
本帖最后由 肖叔 于 2021-7-15 09:17 編輯

鬧鐘到了設(shè)定的時(shí)間,沒(méi)工作。用的普中A2開(kāi)發(fā)板,89C52單片機(jī),P2口八個(gè)腳連著8個(gè)LED燈。
時(shí)間寄存器值到了鬧鐘設(shè)定值,SQW輸出低電平,8個(gè)LED應(yīng)該點(diǎn)亮的。
用1602看著時(shí)間寄存器值,到了鬧鐘設(shè)定值LED并沒(méi)有亮。
控制寄存器值為0x07,設(shè)定的是小時(shí)和分鐘匹配。
SQW腳接在P1_0上。
問(wèn)題可能出在哪呢

  1. while(1){
  2.                         DS3231_getClock();
  3.                         DS3231_getAlarm();
  4.                         if(P1_0 == 0){
  5.                                 P2 = 0;
  6.                         }
  7. }
復(fù)制代碼






作者: yzwzfyz    時(shí)間: 2021-7-15 10:59
每次時(shí)鐘有變化時(shí),你都要檢測(cè)比較一次。你做到了嗎?
作者: man1234567    時(shí)間: 2021-7-15 13:47
yzwzfyz 發(fā)表于 2021-7-15 10:59
每次時(shí)鐘有變化時(shí),你都要檢測(cè)比較一次。你做到了嗎?

在單片機(jī)程序里檢測(cè)比較時(shí)鐘變化,是不需要用到樓主說(shuō)的SQW輸出的;
而樓主所說(shuō)的SQW輸出是在芯片內(nèi)部進(jìn)行比較無(wú)需單片機(jī)再編程。
作者: man1234567    時(shí)間: 2021-7-15 13:48
不知道DS3231_getClock()和DS3231_getAlarm()的內(nèi)容,無(wú)法猜。
作者: man1234567    時(shí)間: 2021-7-15 13:49
按規(guī)格書上寫時(shí)間和鬧鐘后測(cè)試SQW腳的電平,如果有變化則LED連接或驅(qū)動(dòng)有問(wèn)題。
作者: man1234567    時(shí)間: 2021-7-15 13:51
DS3231_getClock()和DS3231_getAlarm()內(nèi)容不知道是無(wú)法推測(cè)是否軟件問(wèn)題。
設(shè)定好時(shí)間和時(shí)鐘,監(jiān)測(cè)SQW輸出有無(wú)變化,如果有就是LED連接或編程有問(wèn)題。
作者: 肖叔    時(shí)間: 2021-7-15 14:38
man1234567 發(fā)表于 2021-7-15 13:48
不知道DS3231_getClock()和DS3231_getAlarm()的內(nèi)容,無(wú)法猜。

這個(gè)就是獲取設(shè)置的時(shí)鐘和鬧鐘,然后用1602顯示。
作者: xjx51    時(shí)間: 2021-7-15 14:51
樓主你看一下我的程序[電子手表制作]第3期V1.2版(DS3231鬧鐘程序) [url]http://www.torrancerestoration.com/bbs/dpj-210070-1.html (出處: http://www.torrancerestoration.com/bbs/)[/url]




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1