امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت ساعت با AVR
نویسنده پیام
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #1
ساخت ساعت با AVR
با سلام خدمت دوستان محترم

من نیاز به یک برنامه ساده ی ساعت با پیکره بندی confog clock=soft,gosub=sectic دارم.

یک برنامه پیدا کردم اما بعضی از جاهای برنامه رو سر در نمیارم :

کد:
$regfile = "M8def.dat"
$crystal = 8000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , _
Db7 = Portc.3 , Rs = Portc.4 , E = Portc.5
Cls
Cursor Off

Config Clock = Soft , Gosub = Sectic
Disable Interrupts

Config Portd = &B00000111

Dim S As Byte , Mi As Byte , H As Byte , Y As Word , Mo As Byte , D As Byte , _
Slc As Byte , Flag As Bit

Declare Sub First
Declare Sub Second

Slc = 0 : Y = 1385 : Mo = 1 : D = 1 : S = 0 : Mi = 0 : H = 12 : Flag = 0
'*************************************************************************
Scan:
   If Pind.0 = 1 Then Incr Slc
     If Slc = 5 Then Slc = 0
   If Pind.2 = 1 Then
     Flag = 0
     Goto Waitls
   End If
   On Slc Goto Hour , Minute , Year , Month , Day
   Goto Scan
'*************************************************************************
Waitls:
   Enable Interrupts
   Do
     If Pind.0 = 1 Then
       Flag = 1
       Goto Scan
     End If
   Loop
'*************************************************************************
Sectic:
   If Flag = 0 Then Gosub Show
   Incr S
   If S > 59 Then
     S = 0
     Incr Mi
     Locate 1 , 14
     Lcd "   "
     If Mi > 59 Then
       Mi = 0
       Incr H
       If H > 23 Then
         H = 1
         Incr D
       End If
     End If
   End If
   If Mo < 7 Then Call First
   If Mo => 7 Then Call Second

   Return
'*************************************************************************
Show:
   Cursor Off
   Cls
   Lcd "Date  " ; Y ; "/" ; Mo ; "/" ; D
   Lowerline
   Lcd "Time  " ; H ; ":" ; Mi ; ":" ; S
   Return
End                                                         'end program


'=========================================================================
'=========================================================================


Hour:
   If Pind.1 = 1 Then Incr H
     If H => 24 Then H = 0
   Lcd "Hour: " ; H
   Waitms 400
   Cls
   Goto Scan
'-------------------------------------------------------------------------
Minute:
   If Pind.1 = 1 Then Incr Mi
     If H => 60 Then Mi = 0
   Lcd "Minute: " ; Mi
   Waitms 400
   Cls
   Goto Scan
'-------------------------------------------------------------------------
Year:
   If Pind.1 = 1 Then Incr Y
   If Y = 1400 Then Y = 1385
   Lcd "Year: " ; Y
   Waitms 400
   Cls
   Goto Scan
'-------------------------------------------------------------------------
Month:
   If Pind.1 = 1 Then Incr Mo
   If Mo = 13 Then Mo = 1
   Lcd "Mount: " ; Mo
   Waitms 400
   Cls
   Goto Scan
'-------------------------------------------------------------------------
Day:
   If Pind.1 = 1 Then Incr D
   If D = 32 Then D = 1
   Lcd "Day: " ; D
   Waitms 400
   Cls
   Goto Scan
'_________________________________________________________________________

Sub First:
   If D > 31 Then
     D = 1
     Incr Mo
   End If
End Sub First

Sub Second:
   If D > 30 Then
     D = 1
     Incr Mo
     If Mo > 12 Then
       Mo = 1
       Incr Y
     End If
   End If
End Sub Second

وقتی با بسکام شبیه سازیش می کنم همیشه تو زیر برنامه ی scan باقی می ماند!!
مثلاً با شروع برنامه نمی دونم چطور به برنامه sectic وارد می شود؟

پیشاپیش از راهنماییتون ممنونم

Time is jewel
۰۲-اسفند-۱۳۸۵, ۱۹:۳۳:۴۲
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
 
برنامه هنگامی به برچسب sectic پرش می کند که تایمر 2 سر ریز شود و با فعال بودن اینتراپ به آنجا پرش میکند .
۰۳-اسفند-۱۳۸۵, ۰۲:۲۰:۱۲
ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #3
 
terip2008 نوشته است:برنامه هنگامی به برچسب sectic پرش می کند که تایمر 2 سر ریز شود و با فعال بودن اینتراپ به آنجا پرش میکند .

ممنونم از راهنماییتون
پس با این تفاسیر نمیشه آنرا در بسکام شبیه سازی کرد و حتماً باید آنرا روی آی سی پروگرام کنم و نتیجه را ببینم ؟ !

Time is jewel
۰۳-اسفند-۱۳۸۵, ۱۱:۰۸:۵۴
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #4
 
راستی در برنامه بالا برچسب Waitls چه کاری انجام می دهد ؟

برنامه چه موقع به این برچسب وارد می شود ؟

Time is jewel
۰۳-اسفند-۱۳۸۵, ۱۶:۲۹:۲۰
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #5
 
نقل قول: برنامه چه موقع به این برچسب وارد می شود ؟
وقتی Pind.2 = 1
برای اینکه بدونی چی کار میکنه باید دقیقا کار پایه ها رو بدونی می تونی روی برد برد ببندی ببینی چه جوری کار میکنه

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۳-اسفند-۱۳۸۵, ۲۱:۱۱:۱۲
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #6
 
من این برنامه رو پروگرام کردم عالی هم جواب می داد و همین جا از آقای مهدی زارعی بابت برنامشون تشکر می کنم.

امــــا با اینکه هلپ بسکام هم خوندم راجع به پیکربندی کلاک ساعت (Config clock=soft) و همچنین زیر برنامه وقفه ی Sectic چیزی نفهمیدم آخه زبان انگلیسی حرفه ای و تخصصی بلد نیستم. :(

اصلاً روند کار این برنامه چه طوریه ؟
(من سر از کار این وقفه ی سرریز در نیاوردم :x )

Time is jewel
۰۷-اسفند-۱۳۸۵, ۱۰:۳۹:۰۰
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #7
 
سر ریز که کاری نداره یه کاری می کنی که تایمر هر یک پانیه یه بار یه اینتراپت ایجاد کنه با این کار شما یه تابع داری که هر یک ثانیه یه بار اجرا می شه حالا اگه یه متغیر رو یکی اضافه کنی می شه ثانیه شمارت اگه به 60 رسید صفرش کن دقیقه شمار رو یکی اضافه کن و ... می شه ساعت :wink:

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۸-اسفند-۱۳۸۵, ۰۱:۲۶:۴۴
وب سایت ارسال‌ها
پاسخ
MPC آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 4
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #8
چطور یک ساعت دقیق داشته باشیم
من از کریستال داخای استفاده کرده هم ولی خوب نیست / چطور از کریستال خارجی
استفاده کنم و ... از راهنمایی شما قبلا متشکرم.
۰۱-فروردین-۱۳۸۶, ۰۹:۰۹:۲۴
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #9
 
اون داخلیه کریستال نیست برای استفاده از کریستال خارجی باید فیوز بیت هارو تغییر بدی البته مراقب باش اشتباه تغییر ندی چون دیگه اسیلاتور کار نمی کنه و نمی تونی پروگرامش کنی

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۱-فروردین-۱۳۸۶, ۰۹:۱۴:۰۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
MPC آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 4
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #10
 
باز هم سلام
میریت محترم من هم میدانم که اسیلاتور داخلی RC است لطفا راهنمایی فرمایید که
چطوری ساعت دقیق بسازم ( نمونه برنامه و .... ) با CodeVision باشد متشکرم. Biggrin
۰۲-فروردین-۱۳۸۶, ۰۹:۰۲:۰۵
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #11
 
برنامه نومونه که ندارم شما تایمر رو درست تنظیم کنی کریستال خوب هم داشته باشی ساعتت دقیق در می یاد ولی یک ثانیه خطا در روز رو خیلی کاریش نمی تونی بکنی البته اگه کریستالت واقعا 6 صفر باشه خطا خیلی کمتر

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۲-فروردین-۱۳۸۶, ۱۰:۰۷:۲۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درخواست کمک برای ساعت با فونت بزرگ sobhan6831 4 2,400 ۲۴-فروردین-۱۳۹۷, ۲۰:۱۹:۱۲
آخرین ارسال: sobhan6831
  دانلود رایگان سورس ساعت حرم امام رضا (ع) ورژن 2 sina6479 3 5,371 ۲۶-اسفند-۱۳۹۶, ۲۲:۱۹:۴۴
آخرین ارسال: sajjad85
  ساخت تابلو روان و ساعت هوایی گردون یا همون Propeller Clock با موتور فن !!! t3r!p3000 85 91,068 ۲۲-شهریور-۱۳۹۵, ۲۱:۴۴:۳۸
آخرین ارسال: taherehselseleh
  سوال در مورد ساخت ساعت با ال سي دي navayi 5 4,744 ۱۲-اسفند-۱۳۹۴, ۱۲:۱۷:۱۰
آخرین ارسال: 1نفر
  کریستال خارجی+کریستال ساعت در atmega8 cortex-m3 1 2,967 ۰۳-مرداد-۱۳۹۴, ۲۰:۱۳:۰۳
آخرین ارسال: sharin
  ساعت گردان Mani27 0 1,998 ۲۱-اردیبهشت-۱۳۹۴, ۱۳:۳۹:۰۴
آخرین ارسال: Mani27
  کمک در ساخت ساعت دقیق SABER66 30 25,956 ۱۴-دى-۱۳۹۳, ۰۰:۲۵:۵۶
آخرین ارسال: mehdi2015
  کار با ماژول ساعت DS1307 kimiafars 7 6,393 ۰۴-آذر-۱۳۹۳, ۱۰:۳۱:۰۴
آخرین ارسال: kimiafars
  ساعت و دما با سون سگمنت با باتري بك آپ mobah 24 24,574 ۰۹-شهریور-۱۳۹۲, ۱۵:۵۰:۴۶
آخرین ارسال: Ambassador
  [سوال] نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت mehran032 6 5,569 ۱۷-خرداد-۱۳۹۲, ۲۲:۲۳:۲۹
آخرین ارسال: omid_phoenix

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS