با سلام خدمت اساتید محترم: :nerd:
من ds1307 را به pic18f452 متصل کردم و همه شکل شماتیک و غیره رو هم رعایت کردم و این ای سی روی برد یه تابلو روانه که بصورت رفرشی کار میکنه و از اینتراپت تایمر صفر استفاده میکنه برای نمایش
مشکل اینجاست که بعد از چند ثانیه خوندن و نمایش صحیح ساعت ( از 2 ثانیه گرفته تا چند دقیقه) توی پراسیجر گرفتن زمان گیر می افته و دیگه ساعت تغییر نمی کنه ولی تابلو داره درست کار رفرش و نمایشو انجام می ده.
وقتی که اینتراپت رو توی پراسیجر خوندن ساعت از کار میندازم درست می خونه و مشکلی با ساعت ندارم ولی چون اینتراپت غیر فعاله نمایشی هم ندارم(صفحه توی پراسیجر خوندن برای نیم ثانیه خاموش میشه)
می خوام بدونم که می شه این مشکل رو حذف کرد یا نه؟ :question:که هم رفرش رو داشته باشم با اینتراپت و هم سا عتو درست بخونم؟
اینم پراسیجر گرفتن زمانه:
ممنون
من ds1307 را به pic18f452 متصل کردم و همه شکل شماتیک و غیره رو هم رعایت کردم و این ای سی روی برد یه تابلو روانه که بصورت رفرشی کار میکنه و از اینتراپت تایمر صفر استفاده میکنه برای نمایش
مشکل اینجاست که بعد از چند ثانیه خوندن و نمایش صحیح ساعت ( از 2 ثانیه گرفته تا چند دقیقه) توی پراسیجر گرفتن زمان گیر می افته و دیگه ساعت تغییر نمی کنه ولی تابلو داره درست کار رفرش و نمایشو انجام می ده.
وقتی که اینتراپت رو توی پراسیجر خوندن ساعت از کار میندازم درست می خونه و مشکلی با ساعت ندارم ولی چون اینتراپت غیر فعاله نمایشی هم ندارم(صفحه توی پراسیجر خوندن برای نیم ثانیه خاموش میشه)
می خوام بدونم که می شه این مشکل رو حذف کرد یا نه؟ :question:که هم رفرش رو داشته باشم با اینتراپت و هم سا عتو درست بخونم؟
اینم پراسیجر گرفتن زمانه:
sub function rtc_read(dim adr as byte)as byte
dim data,ackbit as byte
INTCON=%00100000
while i2c_start() wend
while i2c_wr(0xd0) wend
while i2c_wr(adr) wend
I2C_Repeated_Start()
while i2c_wr(0xd1) wend
data=i2c_rd(0)
i2c_stop()
INTCON=%10100000
result=data
end sub
(تقریبا تمامی پست های مربوط به ds رو خوندم ها)dim data,ackbit as byte
INTCON=%00100000
while i2c_start() wend
while i2c_wr(0xd0) wend
while i2c_wr(adr) wend
I2C_Repeated_Start()
while i2c_wr(0xd1) wend
data=i2c_rd(0)
i2c_stop()
INTCON=%10100000
result=data
end sub
ممنون

دیدگاه