Eng.KouRosH 9176 ارسال شده در 31 خرداد، 2013 خب ما از این تراشه به عنوان RTC خارجی استفاده میکنیم که بتونه توسط باطری بک آپ و حافظه داخلیش موندگاری و ریست نشدن زمان مارو تضمین کنه پس باید برای بهره گیری از حافظه اش از دستورایی استفاده کنیم: I2cwbyte برای خوندن و از I2cbyte برای نوشتن داخل حافظه آی سی DS1307 البته تو خود بیسکام آماده اش هست 3
gmaissam 110 مالک ارسال شده در 31 خرداد، 2013 صحبتی نیست؟ راستش داشتم چرت میزدم ادامه که ندادید؟؟؟دستوری ندیدم برای داخل حلقه گذاشتن 2
Eng.KouRosH 9176 ارسال شده در 31 خرداد، 2013 راستش داشتم چرت میزدمادامه که ندادید؟؟؟دستوری ندیدم برای داخل حلقه گذاشتن مطالبم چرت آوره ؟ نه باقیش واسه فردا دارم میرم 2
gmaissam 110 مالک ارسال شده در 31 خرداد، 2013 مطالبم چرت آوره ؟ نه باقیش واسه فردا دارم میرم خدا خیرت بده!!!!روحم آزاد شد:hapydancsmil:ممنون وقت گذاشتی 3
gmaissam 110 مالک ارسال شده در 1 تیر، 2013 سلام koroshe_Hakhamanesh عزیز آقا من با مطالعه سای های مختلف بالاخره تونستم برنامشو بنویسم ولی سوالات زیادی برام بوجود اومده برنامه رو میزارم ببیننید تو پروتئوس کار میکنه راستش گیج شدم ونمی تونم کلید ست براش بزارم راهنمایی میفرمایید 3
gmaissam 110 مالک ارسال شده در 1 تیر، 2013 اینم برنامه ای که نوشتم..فکرکنم خالی از اشکال نباشه باید بهش کلید اضافه کنم $regfile = "m32def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 $lib "ds1307clock.lib" Const Ds1307w = &HD0 Const Ds1307r = &HD1 Config Porta = Output Config Portd = Output Config Portc = Output Config Pinb.5 = Input Config Scl = Portb.1 Config Sda = Portb.0 Dim _sec As Byte Dim _min As Byte Dim _hour As Byte Dim Second As Byte Dim Minute As Byte Dim Hours As Byte _sec = 1 _min = 1 Do Gosub Ds1307 _sec = Makedec(_sec) _min = Makedec(_min) _hour = Makedec(_hour) If _sec > 59 Then _sec = 0 Second = Makebcd(_sec) Portd = Second If _min > 59 Then _min = 0 Minute = Makebcd(_min) Portc = Minute If _hour > 23 Then _hour = 0 Hours = Makebcd(_hour) Porta = Hours Loop Ds1307: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec , Ack I2crbyte _min , Ack I2crbyte _hour , Nack I2cstop Return End 3
gmaissam 110 مالک ارسال شده در 1 تیر، 2013 سلام چرا؟بد نوشتم؟ چندتا پروژه دیگه رو آنالیز کردم....تابالاخره نوشتمش البته با کلی دردسرو آزمون وخطا ولی تو برنامه ست تایمش موندم جور نمشه شما میتونی یه حالی بهش بدی؟ 4
Eng.KouRosH 9176 ارسال شده در 1 تیر، 2013 سلامچرا؟بد نوشتم؟ چندتا پروژه دیگه رو آنالیز کردم....تابالاخره نوشتمش البته با کلی دردسرو آزمون وخطا ولی تو برنامه ست تایمش موندم جور نمشه شما میتونی یه حالی بهش بدی؟ همه خطهاشو میتونی آنالیز کنی؟الان واسه شاسی ها ننوشتی که 3
Eng.KouRosH 9176 ارسال شده در 1 تیر، 2013 واسه اونا خودم 2هفته کار کردم آخرشم فهمیدم بخاطر مقومت های پول آپ بوده 4
gmaissam 110 مالک ارسال شده در 1 تیر، 2013 همه خطهاشو میتونی آنالیز کنی؟الان واسه شاسی ها ننوشتی که برای تنظیمات،الان نوشتم با کمک یکی از دوستان با این حال موقع تنظیم دقیقه،تا 10 منظم میشه زیادش کرد ولی از 10میپره 17و24و37و56 درمورد تنظیم ساعت هم تا10 خوبه ولی از 10میپره 17 وصفر مشه اشکالش چی میتونه باشه اینم برنامه اپدیت شده::::: $regfile = "m32def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 $lib "ds1307clock.lib" Const Ds1307w = &HD0 Const Ds1307r = &HD1 Config Portc = Output Config Porta = Output Config Portd = Output Config Pinb.5 = Input Config Scl = Portb.1 Config Sda = Portb.0 Dim _sec As Byte Dim _min As Byte Dim _hour As Byte Dim Second As Byte Dim Minute As Byte Dim Hours As Byte _sec = 1 _min = 1 Do Gosub Ds1307 Gosub Tanzimat _sec = Makedec(_sec) _min = Makedec(_min) _hour = Makedec(_hour) If _sec > 59 Then _sec = 0 Second = Makebcd(_sec) Portd = Second If _min > 59 Then _min = 0 Minute = Makebcd(_min) Portc = Minute If _hour > 23 Then _hour = 0 Hours = Makebcd(_hour) Porta = Hours Loop Ds1307: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec , Ack I2crbyte _min , Ack I2crbyte _hour , Nack I2cstop Tanzimat: Debounce Pinb.5 , 0 , Mine , Sub Debounce Pinb.7 , 0 , Hour , Sub Return Mine: Incr _min If _min > 59 Then _min = 0 _min = Makebcd(_min) I2cstart I2cwbyte Ds1307w I2cwbyte 1 I2cwbyte _min I2cstop Return Hour: Incr _hour If _hour > 23 Then _hour = 0 _hour = Makebcd(_hour) I2cstart I2cwbyte Ds1307w I2cwbyte 2 I2cwbyte _hour I2cstop Return End 4
Eng.KouRosH 9176 ارسال شده در 1 تیر، 2013 برای تنظیمات،الان نوشتم با کمک یکی از دوستانبا این حال موقع تنظیم دقیقه،تا 10 منظم میشه زیادش کرد ولی از 10میپره 17و24و37و56 درمورد تنظیم ساعت هم تا10 خوبه ولی از 10میپره 17 وصفر مشه اشکالش چی میتونه باشه اینم برنامه اپدیت شده::::: $regfile = "m32def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 $lib "ds1307clock.lib" Const Ds1307w = &HD0 Const Ds1307r = &HD1 Config Portc = Output Config Porta = Output Config Portd = Output Config Pinb.5 = Input Config Scl = Portb.1 Config Sda = Portb.0 Dim _sec As Byte Dim _min As Byte Dim _hour As Byte Dim Second As Byte Dim Minute As Byte Dim Hours As Byte _sec = 1 _min = 1 Do Gosub Ds1307 Gosub Tanzimat _sec = Makedec(_sec) _min = Makedec(_min) _hour = Makedec(_hour) If _sec > 59 Then _sec = 0 Second = Makebcd(_sec) Portd = Second If _min > 59 Then _min = 0 Minute = Makebcd(_min) Portc = Minute If _hour > 23 Then _hour = 0 Hours = Makebcd(_hour) Porta = Hours Loop Ds1307: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec , Ack I2crbyte _min , Ack I2crbyte _hour , Nack I2cstop Tanzimat: Debounce Pinb.5 , 0 , Mine , Sub Debounce Pinb.7 , 0 , Hour , Sub Return Mine: Incr _min If _min > 59 Then _min = 0 _min = Makebcd(_min) I2cstart I2cwbyte Ds1307w I2cwbyte 1 I2cwbyte _min I2cstop Return Hour: Incr _hour If _hour > 23 Then _hour = 0 _hour = Makebcd(_hour) I2cstart I2cwbyte Ds1307w I2cwbyte 2 I2cwbyte _hour I2cstop Return End مشکل مقاومت پول آپ ،داشتم همینو میگفتم دیگه 4
gmaissam 110 مالک ارسال شده در 1 تیر، 2013 مشکل مقاومت پول آپ داشتم همینو میگفتم دیگه آخه تو این مشکلو تو پروتئوس دارم درحالی که پول آپ کردم ببینید::::: 4
Eng.KouRosH 9176 ارسال شده در 1 تیر، 2013 آخه تو این مشکلو تو پروتئوس دارم درحالی که پول آپ کردمببینید::::: 5
Eng.KouRosH 9176 ارسال شده در 2 تیر، 2013 سلام دوست عزیز این کدهارو تصحیح کن ببین جواب میگیری یانه Mine: Minute = Makedec(minute) Incr _min If _min > 59 Then _min = 0 _min = Makebcd(_min) I2cstart I2cwbyte Ds1307w I2cwbyte 1 I2cwbyte _min I2cstop Return Hour: Hours = Makedec(Hours) Incr _hour If _hour > 23 Then _hour = 0 _hour = Makebcd(_hour) I2cstart I2cwbyte Ds1307w I2cwbyte 2 I2cwbyte _hour I2cstop Return End 4
gmaissam 110 مالک ارسال شده در 2 تیر، 2013 سلام حال واحوال شما دست شما درد نکنه زدید وسط خال تمام این اشکال ودردسرش مربوط به این عباارت بود _ 5
ارسال های توصیه شده