ايران ويج

نسخه‌ی کامل: کمک برای ساعت زنگدار با avr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
(۲۵-آذر-۱۳۹۱, ۰۰:۱۷:۱۱)amir_s نوشته است: [ -> ]منظورم از مکان همون عددیه که میدیم و مکان خوندن یا نوشتن از 1307رو تعیین میکنیم.
ایناروهم نگفتی چیه:

$framesize = 128
$hwstack = 128
$swstack = 128
$projecttime = 1
$lib "ds1307clock.lib"
این مکان ها تو دیتاشیت آی سی وجود دارند مثلا برای این آی سی
مکان 0 ثانیه وجو داره
مکان 1 دقیقه وجود داره
مکان 2 ساعت وجود داره
مکان 3 ایام هفته رو مشخص می کنه
مکان 4 روز وجو داره
مکان 5 ماه وجود داره
مکان 6 سال رو مشخص می کنه
کد:
$framesize = 128
$hwstack = 128
$swstack = 128
$projecttime = 1
اینا رو دقیقا نمی دونم قبلا نمی گذاشتم ساعت توی واقعیت کار نمی کرد ولی الان می ذارم کاملا کار می کنه
کد:
$lib "ds1307clock.lib"
این کتابخانه ی آی سی ساعته باید تعریقش کنیم
خوب حالا بگو ببینم ساعتتون چی میخادWink
خب حالا چند تا تایم زنگ میخاد که تایم ها رو هم بتونیم با چند تا کلید تنظیم کنیم
این ساعت آلارم دار رو نوشتم، برنامه اش ساده و قابل فهمه ولی باز متوجه نشید درخدمتم.
تو این مدار شما با کمکترین کلید(4 عدد) می تونید ساعت و آلارم رو فعال کنید.
من واسه این برنامه 4 تا آلارم مختلف نوشتم که می تونید خودتون بی نهایت آلارم به برنامه اش اضافه کنید.

[تصویر:  tooccmde42cexcb2ipk7.jpg]



[attachment=8248]
خیلی ممنون.ولی این که فقط ساعت رو میشه واسه الارم تنظیم کرد؟
برنامه ساعت و تقویم رو که هادی جان گذاشتندWink
این فقط جهت یاد گرفتن طریقه ایجاد آلارم زنگه و مابقی رو از روی برنامه آقا هادی کامل کنید
اقا هادی؟کجایی بس؟
BiggrinBiggrinمن اینجااااااااامBiggrinBiggrin
من دیدم امید جان زحمتش کشیدن فکر کردم پروژتون تموم شد

خوب حالا نگاه کنید 2 تا متغیر نیاز داریم که تعریف می کنیم و بعدش با یه شرط مشخص می کنیم که هر زمان دقیقه با دقیقه ی تعریف شده و ساعت با ساعت تعریف شده برابر شد یه بیزر بوق بزنه
کد:
dim m1 as byte
dim h1 as byte
2 تا متغیر تعریف می کنیم این 2 تا به کلید نیاز دارن پس 2 تا کلید براشون تعریف می کنیم اول پول آپ
config portc.3=output
ddrc.1=0:portc.1=1
ddrc.2=0:portc.2=1
declare sub alarmm
declare sub alarmh
حالا تو حلقه اصلی اینا رو می نویسیم
debounce pinc.1,1,alarmm,sub
debounce pinc.2,1,alarmh,sub
if m1=m and h1=h then sound portc.3,100,100
locate 1,10
lcd h1;":";m1
و در آخر برنامه2 تا زیر برنامه تعریف می کنیم به این صورت
sub alarmm
incr m1
if m1>59 then m1=0
end sub
sub alarmh
incr h1
if h1>23 then h1=0
end sub
حالا اینا رو اضافه کن و یه مشکلی هست بگو چیه تا حلش کنیمWink
خداوكيلي اين آقا هادي خيلي گله
اگه نبود چيكار ميكرديم
من پروژم همينه كه با كمك آقا هادي كامل كردم(همه جي هم توش داره (البته باكيپد))
اگه دوست داشتين واستون بزارم
بله که اقا هادی گله.کی منکرشه؟
خب بزارین استفاده کنیم

اقا هادی همه چی ردیفه فقط حالا اگه بخایم ساعت و تاریخ رو رو یه تابلو بزرگ نشون بدیم باید چیکار کنیم؟
یه سوال دیگه اینکه وقتی یه پایه هم 0 و هم 1 بودنش کنترل میشه چیکار کنیم تا اصلا خطا نداشته باشه؟یا کلا واسه ای سی؟
(۰۸-دى-۱۳۹۱, ۰۴:۴۴:۰۲)amir_s نوشته است: [ -> ]بله که اقا هادی گله.کی منکرشه؟
خب بزارین استفاده کنیم

اقا هادی همه چی ردیفه فقط حالا اگه بخایم ساعت و تاریخ رو رو یه تابلو بزرگ نشون بدیم باید چیکار کنیم؟
یه سوال دیگه اینکه وقتی یه پایه هم 0 و هم 1 بودنش کنترل میشه چیکار کنیم تا اصلا خطا نداشته باشه؟یا کلا واسه ای سی؟
ای بابا مگه من چکار می کنمShy
باید یا از سگمنت بزرگ استفاده کنی یا خودت سگمنت براش طراحی کنیWink
یه مثالی بزن درست متوجه نشدم منظورت چیهConfused
صفحه‌ها: 1 2 3