با سلام به همه عزیزان
یک برنامه بسکام هست که مربوط به atmega32 و ds1307 هستش که خیلی کوتاه و ابتداییه و فقط شامل خوندن ثانیه و دقیقه و ساعت میشه .
اما مشکل اینجاست که به محض اینکه میخوام مقادیر رو بصورت مرتب شده (format شده) روی lcd نمایش بدم برنامه هنگ میکنه و بعد از آزمایش و حذف
واضافه کردن معلوم شد مشکل از این خط هست(با برداشتن این خط مشکل رفع میشه)
'Hourr = Format(hourr , "00"
: Minu = Format(minu , "00"
: Seco = Format(seco , "00"
در صورتی که این خط رو اضافه کنم صفحه lcd هیچی نشون نمیده و حتی cls هم نمیشه که معلومه تو همین خط هنگ میکنه .
(توی مدار پایه sqw/out رو بصورت 1 هرتز تنظیم کردم و به عنوان اینتراپت دهنده به پایه اینتراپت 0 مگا32 دادم )
این هم کل برنامه :
یک برنامه بسکام هست که مربوط به atmega32 و ds1307 هستش که خیلی کوتاه و ابتداییه و فقط شامل خوندن ثانیه و دقیقه و ساعت میشه .
اما مشکل اینجاست که به محض اینکه میخوام مقادیر رو بصورت مرتب شده (format شده) روی lcd نمایش بدم برنامه هنگ میکنه و بعد از آزمایش و حذف
واضافه کردن معلوم شد مشکل از این خط هست(با برداشتن این خط مشکل رفع میشه)
'Hourr = Format(hourr , "00"



در صورتی که این خط رو اضافه کنم صفحه lcd هیچی نشون نمیده و حتی cls هم نمیشه که معلومه تو همین خط هنگ میکنه .
(توی مدار پایه sqw/out رو بصورت 1 هرتز تنظیم کردم و به عنوان اینتراپت دهنده به پایه اینتراپت 0 مگا32 دادم )
این هم کل برنامه :
کد:
Enable Interrupts Enable Int0 Config Int0 = Falling On Int0 Main Config Sda = Portd.6 Config Scl = Portd.5 Dim _sec As Byte Dim _min As Byte Dim _hour As Byte Dim Seco As String * 2 Dim Minu As String * 2 Dim Hourr As String * 2 Const Ds1307w = 208 Const Ds1307r = 209 I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 0 I2cwbyte 16 I2cstop Do : Loop End Main: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec , Ack I2crbyte _min , Ack I2crbyte _hour , Nack I2cstop Waitms 10 _hour = Makedec(_hour) _min = Makedec(_min) _sec = Makedec(_sec) Hourr = Str(_hour) Minu = Str(_min) Seco = Str(_sec) 'Hourr = Format(hourr , "00") : Minu = Format(minu , "00") : Seco = Format(seco , "00") Cls : Lcd Hourr ; ":" ; Minu ; ":" ; Seco Return
دیدگاه