برنامه من کارکرد؟
شما اومدی مقدار رو خوندی بعد ضربدر 5 کردی بعد تقسیم بر 10 :-??
چرا؟ :-/
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
من یه برنامه از همین سایت گرفتم که این کارو کرده بود منم فکر کردم شاید درست تر باشه راستش ساعتای قبلموتقسیم به2میکردم نمیدونم یعنی این اشتباهه؟مال شمارو هنوز تست نکردم ولی حتما جواب میده استاد مایید خودمم دیدم مشکلی نداره :applause:تست میکنم راستی منavccروبه5وصل میکنم اگه رفرنسو داخلی بذارمavccرو چه کنم و اصلا تو دقتش فرقی داره؟ ضمناممنون از وقتی که در اختیار من گداشتید
من یه برنامه از همین سایت گرفتم که این کارو کرده بود منم فکر کردم شاید درست تر باشه راستش ساعتای قبلموتقسیم به2میکردم نمیدونم یعنی این اشتباهه؟مال شمارو هنوز تست نکردم ولی حتما جواب میده استاد مایید خودمم دیدم مشکلی نداره :applause:تست میکنم راستی منavccروبه5وصل میکنم اگه رفرنسو داخلی بذارمavccرو چه کنم و اصلا تو دقتش فرقی داره؟ ضمناممنون از وقتی که در اختیار من گداشتید
AVCC در همه حالات باید به 5 ولت وصل باشه
اگر رفرنس داخلی هم تنظیم کنید دقت تغییری نمیکنه
اگر دقت براتون مهمه هم از تکنیکهای کاهش نویز استفاده کنید و هم از سنسورهایی با دقت بالاتر
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
ممنون ولی منظورتون از تکنیکهای کاهش نویز چیه و اگه منظورتون idelو...است چطوریه
راستی شما باds1307کار میکنید؟من ساعتام خیلی هنگ میکنه البته فقطdsرو نمیخونه و بقیه کارا رو درست انجام میده من فکر کردم مشکل فقطdsهست نه چیز دیگه
البته این برا بعضی ساعتاس که هر کاری کردم درست نمیشه و بعد چندبار خاموشو روشن دیگهdsرونمیخونه :angry: :angry: :angry:اینم برنامه
'-------------------------------------------------------------------------------
$regfile = "m8def.dat"
$crystal = 1000000
$lib "mcsbyte.lbx" ' for smaller code
$lib "ds1307clock.lib"
Config Adc = Single , Prescaler = Auto ', Reference = Internal_2.56
'Enable Adc
Dim Weekday As Byte
'Time$ = "1859" ' to watch the day changing value
'Date$ = "89-01-06"
'i2cstart
Dim S As Byte , M As Byte , H As Word , Ma As Word , Mlb As Byte , Hl1 As Word
Dim A As Byte , B As Byte , Mha As Word , Mla As Word , Lm As Word , Sl As Byte
Dim Mh As Byte , Yh As Byte , Yl As Byte , Monh As Byte , Monl As Byte , Jumptemp As Byte
Dim Ml As Byte , Dh As Byte , Dl As Byte , Jump As Word , Jump1 As Word
Dim Hh As Byte , Of As Byte , R As Byte , Yyh As Byte , Yyl As Byte , Day1 As Word
Dim Hl As Byte , Hh1 As Word , L As Word , L1 As Byte , Lm1 As Word , Da As Word
Dim Moh As Byte , Mol As Byte , Y As Byte , Monha As Word , Monla As Word , Mona As Word
Dim Dha As Word , Dla As Word , Aa As Byte , T As Byte , C As Byte , Gettemp As Byte
Dim Ad2 As Byte , S1 As Byte , W As Word , Sh As Byte , Sa As Byte , Sla As Byte , Sm As Byte , Sha As Byte
Dim Ad1 As Word
Dim Ad As Word , Ad3 As Byte
_set Alias Pinb.4
Down Alias Pinb.3
Up Alias Pinb.2
Ok Alias Pinb.1
Dot Alias Portc.4
Slash Alias Portd.7
Dama Alias Portb.0
A1 Alias Portc.0
A2 Alias Portc.1
A3 Alias Portc.2
A4 Alias Portc.3
حالا چطور دقت دمارو بالا ببرم و دوم اینکهicساعت چیر دیگه سراغ ندارید که بعض dsباشه؟من خسارت زیادی دادم :cry2:
همین DS خیلی خوبه و هیچ مشکلی نداره
نکته جالبی که توی برنامه شما به چشمم خورد این بود که ظاهرا شما تقویم رو خودتون محاسبه کردین (روز ماه و سال ..)
نیاز به این کار نیست و خود DS همه رو با تشخیص سال کبیسه داره
به هرحال دنبال جنس خوب باش و تکنیکهای کاهش نویز رو هم اعمال کن (توجه کن که DS به تغذیش حساسه و اشکال در تغذیه یعنی از دست دادن ساعت)
تاپیکی در مورد همین تکنیکهای کاهش نویز در مدارات میکرو کنترلری هست (جزو تاپیکهای مهم هم هست) اون رو بخون و سعی کن مواردش رو تا جایی که میتونی رعایت کنی
من با از DS توی تابلو روان استفاده میکنم خدا رو شاهد میگیرم الان حدود و شایدم بیشتر از 2 ساله که در محیط بیرون گرما و سرما یکسره و بدون خاموشی مگر به دلیل قطع برق(که اونم به ندرت پیش اومده) داره کار میکنه و حتی 30 ثانیه هم عقب جلو نیفتاده!
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
منظورتون خازن از خروجی به زمینه؟اگه اون باشه که تو دیتاشیط نوشته1میکرو سری به یه مقاومت75اهمه
For best results in such cases,
a bypass capacitor from VIN to ground and a series R-C
damper such as 75W in series with 0.2 or 1 μF from output to
ground are often useful. These are shown in Figure 13,
Figure 14, and Figure 16
نمیدونم واقعا تاثیر داره؟یحرحال ممنون امتحان میکنم
نکته جالبی که توی برنامه شما به چشمم خورد این بود که ظاهرا شما تقویم رو خودتون محاسبه کردین (روز ماه و سال ..)
نیاز به این کار نیست و خود DS همه رو با تشخیص سال کبیسه داره
راستش من یه بار گذاشتم به عهده حودش ولی ماههای 31روزه رو 30روزه عوض کرد و اخر هرماه یه بار تنظیمش میکردم که بعد از 2بار این برنامه رو نوشتم :redface:
راستی دوتا سوال دیگه اول اینکه اگه زیادDSروبخونیم تو برنامه،خطا میده و اشتباه کنه یا هنگ کنه؟و دوم اینکه روزای هقته رو چطور مشخص میکنه خوندم که رجیستر داره ولی نفهمیدم چطوری باش کلر کنم و روزای هفته رو چجوری مشحص میکنه البنه ببخشید من اینقد سوال میپرسما بهرحال از شما ممنونم برای راهنماییها
نکته جالبی که توی برنامه شما به چشمم خورد این بود که ظاهرا شما تقویم رو خودتون محاسبه کردین (روز ماه و سال ..)
نیاز به این کار نیست و خود DS همه رو با تشخیص سال کبیسه داره
راستش من یه بار گذاشتم به عهده حودش ولی ماههای 31روزه رو 30روزه عوض کرد و اخر هرماه یه بار تنظیمش میکردم که بعد از 2بار این برنامه رو نوشتم :redface:
راستی دوتا سوال دیگه اول اینکه اگه زیادDSروبخونیم تو برنامه،خطا میده و اشتباه کنه یا هنگ کنه؟و دوم اینکه روزای هقته رو چطور مشخص میکنه خوندم که رجیستر داره ولی نفهمیدم چطوری باش کلر کنم و روزای هفته رو چجوری مشحص میکنه البنه ببخشید من اینقد سوال میپرسما بهرحال از شما ممنونم برای راهنماییها
خوب DS تاریخ رو میلادی حساب میکنه و احتمالا شما شمسی میخوای که باید از تابع تبدیل میلادی به شمسی استفاده کنید
نه زیاد خوندن مشکلی پیش نمیاره ولی حداقل سعی کن بینش یکم تاخیر ایجاد کنی
روز هفته رو DS نمیتونه خودش حساب کنه فقط میتونه یک شمارنده بین 1 تا 7 داشته باشه که ساعت 24 یکی به این شمارنده اضافه کنه اینطوری یعنی شما یک بار روز هفته رو تنظیم میکنی و DS براتون میشماره(خودش تشخیص نمیده چند شنبه ست)
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
:wow: :wow: :wow:وای باورنکردنی بود :applause:خازن رو گذاشتم دمااز18درجه اومد رو12درجه و باورنکردنی بود ممنون ممنون علی جان
راستی امیرجان چطور این شمارنده کار میکنه و میشه فعالش کردو ازش استفاده کرد واسه روزای هفته رو میگم ممنون میشم راهنمایی کنی :nerd:
:wow: :wow: :wow:وای باورنکردنی بود :applause:خازن رو گذاشتم دمااز18درجه اومد رو12درجه و باورنکردنی بود ممنون ممنون علی جان
راستی امیرجان چطور این شمارنده کار میکنه و میشه فعالش کردو ازش استفاده کرد واسه روزای هفته رو میگم ممنون میشم راهنمایی کنی :nerd:
خوش حالم که مشکلت حل شد.ولی چون چیزی درباره دقت نگفتی من فکر میکردم قبلا مشکلت حل شده بوده!
برای راه اندازی روز هفته کار خاصی نمیخواد بکنی فقط به weekday که در برنامت تعریف هم کردی یک مقدار زیر هفت بده و به زیر برنامه settime برو و از این به بعد مقدار این متغیر ساعت 24 افزایش پیدا میکنه(در زیر برنامه Getdatetime این متغیر مقدار جدید رو بخودش میگیره)
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
:applause:ممن.نم ازت حالا اگه من به این متغیر مقدار مثلا3بدم هربار که این ساعت برنامه رو از اول شروع میکنه و مثلا برق میره و میاد مقدارش 3میشه؟
یا باید برم داخل تنظیمات و اینطوری کنم
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
دیدگاه