ايران ويج

نسخه‌ی کامل: مشکل با ماژول ds1307
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
دوستان من یه ساعت با ماژول ds1307 ساختم که تو پروتئوس درست کار میکنه اما تو عمل مقدار 00:03:00 رو نشون میده و دیگه شمارش نمیکنه . اما وقتی چند بار تغذیه میکرو رو قطع و وصل میکنی درست میشه و باز که میکشی میزنی دوباره همون00:03:00 رو نشون میده . مشکل کجاست؟؟؟؟؟
اینم بگم ماژول باطریش تموم شده بود وقتی خریدم و چون قابل شارژ بود شارژش کردم اما رو ماژول که گذاشتم زود خالی شد . و اینکه وقتی ساعته راه میفته و جای باطری اداپتور که میذارم دیگه هرچقدم که تغذیه رو بکشی درست کار میکنه . ایا مشکل از باطریه؟
کلافه شدم Confused
برنامه اش هم تو فایل پیوست میذارم :)
سلام. آره باتری بک آپ اش باید وصل باشه یا بجاش یه خازن بذاری که تو دیتاشیتش تا اونجایی که یادمه گفته بود.
موفق باشی.
(۰۴-دى-۱۳۹۳, ۱۲:۱۹:۵۷)sharin نوشته است: [ -> ]سلام. آره باتری بک آپ اش باید وصل باشه یا بجاش یه خازن بذاری که تو دیتاشیتش تا اونجایی که یادمه گفته بود.
موفق باشی.

خب اگه مشکل از باتریه پ چرا وقتی جای باتری اداپتور میذارم و تغذیه میکرو رو قطع و وصل میکنم باز شمارش نمی کنه؟؟؟؟؟؟؟؟
یادمه موقع راه انداختنش مشکل مشابه شما رو داشتم که دلیلش همین مورد بود ، من پایه ی باتری رو ول می ذاشتم! و میکرو هنگ می کرد.

بعد فهمیدم که اگر باتری بک آپ رو بذاری یا اون خازنی که گفتم ، مشکلش مرتفع می شه.
مشکل شما هم احتمال زیاد از همین باشه ، اما به هر حال به سخت افزار و نرم افزار پروژه شما دسترسی ندارم که ببینیم دقیقا همین مشکل رو داره یا نه ، اما احتمال 90% مشکل از همینه!
اون باتری سکه ای رو تهیه کنید و خیال خودتون رو راحت کنید.

در برقراری ارتباط I2C که احیانا مشکلی ندارید؟!

اگر باز شک دارید از کدویزارد کدویژن استفاده کنید که از I2C نرم افزاری استفاده می کنه و برای کار با این IC توابعی رو لحاظ کردهه ... .

موفق باشید.
(۰۴-دى-۱۳۹۳, ۱۳:۳۲:۲۰)alirezaa2 نوشته است: [ -> ]
(۰۴-دى-۱۳۹۳, ۱۲:۱۹:۵۷)sharin نوشته است: [ -> ]سلام. آره باتری بک آپ اش باید وصل باشه یا بجاش یه خازن بذاری که تو دیتاشیتش تا اونجایی که یادمه گفته بود.
موفق باشی.

خب اگه مشکل از باتریه پ چرا وقتی جای باتری اداپتور میذارم و تغذیه میکرو رو قطع و وصل میکنم باز شمارش نمی کنه؟؟؟؟؟؟؟؟
اداپتور کجا باتری کجا Exclamation
اولا اگه تغذیه ترانست 3 ولت نباشه (3 ولت رگوله شده ) احتمال قوی تراشه به باد بره
حالا نویزش اینا کنار
سلام عزیزم
1-از باطری استفاده کن
2-کد برنامه هم بذار
3- ساعت را چطور ست میکنی؟
سلام
اینم فایل سورس برنامه
سلام دوستان.
منم مشکلی مثل دوستمون دارم.
من ندیدم تو دیتاشید به خازن برای پایه ی Vbat اشاره شده باشه.
اگه هست بی زحمت مقدارشو بگید.
(۲۸-تير-۱۳۹۵, ۲۰:۲۸:۵۶)reza7232 نوشته است: [ -> ]سلام دوستان.
منم مشکلی مثل دوستمون دارم.
من ندیدم تو دیتاشید به خازن برای پایه ی Vbat اشاره شده باشه.
اگه هست بی زحمت مقدارشو بگید.

سلام.

مقدارش 100 نانو فاراد هست.
سلام 
لطفا سورس زير رو تست كنيد
$regfile = "m8def.dat"
$crystal = 1000000
'------------------------  lcd -----------------------------------------------
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Pinc.1 , E = Pinc.0 , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5
Cls

'---------------------------  ds 1307 -----------------------------------------
$lib "ds1307clock.lib"
'configure the scl and sda pins
Config Sda = Portd.7
Config Scl = Portd.6
'address of ds1307
Const Ds1307w = &HD0                                        ' Addresses of Ds1307 clock
Const Ds1307r = &HD1
'------------------------------ key --------------------------------------------
Config Pind.0 = Input
Config Pind.1 = Input
Config Pind.2 = Input
Config Pind.3 = Input
Config Pinb.6 = Input
Config Pinb.7 = Input

'------------------------------------------------------------------------------
Config Debounce = 30

Dim A As Byte , B As Byte , Data1 As Byte , C As Byte

Dim Seco As Byte , Mine As Byte , Hour As Byte
DIM C AS BYTE
'----------------------------------------------------------------------------
Cursor Off
If C <> 12 Then
I2cstart
I2cwbyte Ds1307w
I2cwbyte 7
I2cwbyte 00010000
I2cstop
_sec = 0
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cstop
C = 12
End If


'-------------------------------------------------------------------------------
Main:
Do
         Gosub Ds1307
         Gosub Disply_24
         Gosub Chekkey

Loop
'-------------------------------------------------------------------------------
Ds1307:
        I2cstart                                            ' Generate start code
        I2cwbyte Ds1307w                                    ' send address
        I2cwbyte 0                                          ' start address in 1307
        I2cstart                                            ' Generate start code
        I2cwbyte Ds1307r                                    ' send address
        I2crbyte Seco , Ack                                 'sec
        I2crbyte Mine , Ack                                 ' MINUTES
        I2crbyte Hour , Nack                                ' Hours
        I2cstop

        Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)

        If Seco > 59 Then Seco = 0
        If Mine > 59 Then Mine = 0
        If Hour > 23 Then Hour = 0



Return
'-------------------------------------------------------------------------------

Disply_24:

         Locate 1 , 1
         Lcd "*Time = " ; Hour ; ":" ; Mine ; ":" ; Seco ; " "

Return

'-------------------------------------------------------------------------------

Chekkey:


         Debounce Pinb.6 , 0 , Minute , Sub
         Debounce Pinb.7 , 0 , Hours , Sub


Return
'---------------------------------------------

'-------------------------------------
Minute:

         Incr Mine
         If Mine > 59 Then Mine = 0
         Mine = Makebcd(mine)
         I2cstart                                           ' Generate start code
         I2cwbyte Ds1307w                                   ' send address
         I2cwbyte 1                                         ' starting address in 1307
         I2cwbyte Mine
         I2cstop
Return
'-------------------------------------

Hours:

         Incr Hour
         If Hour > 23 Then Hour = 0
         Hour = Makebcd(hour)
         I2cstart                                           ' Generate start code
         I2cwbyte Ds1307w                                   ' send address
         I2cwbyte 2                                         ' starting address in 1307
         I2cwbyte Hour
         I2cstop

Return
'-------------------------------------