اطلاعیه

Collapse
No announcement yet.

rtc ds1307 ساعت ارزان ولی بدون مشتری

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

    با عرض سلام خدمت اساتید گرامی
    بالاخره رفتم سراغ این آیسی و یکم پیشو به تنم مالیدم تا ببینم اوضاع از چه قراره !!! :mrgreen:

    از لحاظ نمایش روی LCD مشکلی نیست.
    اما برای نمایش روی سون سگمنت و یا تابلو روان،لازمه که روی خروجی تابع تبدیلاتی انجام بپذیره !

    ببنید تابع دریافت زمان به این صورته :
    کد:
     void rtc_get_time(unsigned char *hour, unsigned char *min, unsigned char *sec)
    همونطور که واضحه،مقادیر ساعت و دقیقه و ثانیه در متغیرهایی از جنس char ذخیره میشوند.
    اما در صورتیکه بخواهیم بر روی این مقادیر عملیات حسابی انجام بدیم،لازمه که ابتدا تبدیل به int بشوند.

    مشکل بنده دقیقا همین قسمته !
    با انواع روش های معرفی شده در سطح نت،این تبدیل رو انجام دادم ولی پاسخ صحیح دریافت نکردم.
    از دوستان عزیزی که با این آیسی+7سگمنت کار کردند،تقاضای راهنمایی دارم.

    با نهایت تشکر
    * هر گاه خدا بخواهد بنده ای را خوار کند، دانش را از او دور سازد.
    * سخن بگویید تا شناخته شوید، زیرا که انسان در زیر زبان خود پنهان است.
    *بدترین دوست،آ‌ کسی است که برای او به رنج و زحمت افتی.
    حضرت علی(ع)
    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

    دیدگاه


      پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

      اصلا اینارو بیخیال داداش ....دنبال تاپیکی هستم که جز برنامه ای که نوشتم راه دیگه ای برای نوشتن برنامه نمایش ساعت و تاریخ داشته باشه که تعداد پایه هاشم اقتصادی شده باشه یا کم شده باشه
      الان ساده ترین راه اینه که مقداری که مثلا داخل second هست رو مساوی پورت a میذاری بعد پورت a رو دوقسمت میکنی هر قسمت 4تا خط و پایه هست که میدی به 7447 از اونورم نمایش میدی......خب الان چند تابرنامه میخوام ببینم که یه راه دیگه واسه نمایش رو سون سگمنت داشته باشه که تعداد پایه هام کمتر شه
      اینکاری که گفتم رو بیشتر سایت ها دیدم نمیدونم همین برنامه رو میشه طوری بهش تاریخ رو اضافه کرد که بدون مشکل پوررت حل بشه یا نه
      از 7447 کمتر راه مقرون به صرفه تر نداری
      شما باید 7447 رو مالتی پلکس کنی چیزی که من از حرفای شما فهمیدم اینه که الان شما به تعداد 7سگمنت هاتون 7447 گذاشتید اگه درست گفتم این کار رو نکنید و فقط یکدونه 7447 بزارید
      در غیر این صورت به لینک 7سگمنت که گذاشته بودم رجوع کنید
      من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

      دیدگاه


        پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

        نوشته اصلی توسط احسان نوری
        با عرض سلام خدمت اساتید گرامی
        بالاخره رفتم سراغ این آیسی و یکم پیشو به تنم مالیدم تا ببینم اوضاع از چه قراره !!! :mrgreen:

        از لحاظ نمایش روی LCD مشکلی نیست.
        اما برای نمایش روی سون سگمنت و یا تابلو روان،لازمه که روی خروجی تابع تبدیلاتی انجام بپذیره !

        ببنید تابع دریافت زمان به این صورته :
        کد:
         void rtc_get_time(unsigned char *hour, unsigned char *min, unsigned char *sec)
        همونطور که واضحه،مقادیر ساعت و دقیقه و ثانیه در متغیرهایی از جنس char ذخیره میشوند.
        اما در صورتیکه بخواهیم بر روی این مقادیر عملیات حسابی انجام بدیم،لازمه که ابتدا تبدیل به int بشوند.

        مشکل بنده دقیقا همین قسمته !
        با انواع روش های معرفی شده در سطح نت،این تبدیل رو انجام دادم ولی پاسخ صحیح دریافت نکردم.
        از دوستان عزیزی که با این آیسی+7سگمنت کار کردند،تقاضای راهنمایی دارم.

        با نهایت تشکر
        مشکل حل شد !
        ایراد از تعریف جابجای پایه های sda و scl بود !

        ممنون
        * هر گاه خدا بخواهد بنده ای را خوار کند، دانش را از او دور سازد.
        * سخن بگویید تا شناخته شوید، زیرا که انسان در زیر زبان خود پنهان است.
        *بدترین دوست،آ‌ کسی است که برای او به رنج و زحمت افتی.
        حضرت علی(ع)
        آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

        دیدگاه


          پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

          داشتم جواب شما رو میدادم که گفتید حل شد :applause:
          در کل برای این تبدیل ها توی برنامه نویسی از
          itoa() و atoi() استفاده میشه
          در ضمن 1307 به صورت BCD خروجی میده

          من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

          دیدگاه


            پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

            نوشته اصلی توسط icarus
            از 7447 کمتر راه مقرون به صرفه تر نداری
            شما باید 7447 رو مالتی پلکس کنی چیزی که من از حرفای شما فهمیدم اینه که الان شما به تعداد 7سگمنت هاتون 7447 گذاشتید اگه درست گفتم این کار رو نکنید و فقط یکدونه 7447 بزارید
            در غیر این صورت به لینک 7سگمنت که گذاشته بودم رجوع کنید
            آره داداش اوایل فقط دنبال این بودم ساعتو یه جوری نمایش بدم مهم نبود چقد پایه استفاده کنم......اون حرفتون فهمیدم که گفتید واسه ساعت و دقیقه و ثانیه 6+7 یعنی 7تا پایه 7سگمت رو با جاروب بهش اطلاعات رو بدیم و اون 6تا که مربوط به دهگان و یکان 7سگمنت ها هست رو هم برای روشن و خاموش کردن استفاده کنی.....این کار همون مالتی پلکس کردنه؟ :-/

            من الان خروجی تابع تبدیل تاریخ رو با این روش جاروب کردن میتونیم نمایش بدم؟باید متغییر خروجی تابع تبدیل تاریخ رو داخل تکه برنامه ای که واسه جاروب هست استفاده کنم؟
            ببخشید سوالا زیاد شد :biggrin:
            در روزگاری که لبخند ادم ها بخاطر شکست توست برخیز تا بگیرند.........

            دیدگاه


              پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

              بله مالتی پلکس هست
              این مثال اتمل رو ببینید تا متوچه بشید چقدر پایه هدر دادید
              http://www.atmel.com/images/doc1231.pdf

              شما با روش مالتی پلکس هر چیزی که برای 7سگمنت قابل نمایش باشه رو میتونید نمایش بدید آزار ندارم که بیام راه حل بدرد نخور معرفی کنم
              راه حل زیاد دارید ببینید کدوم انتظاراتتون رو برآورده میکنه
              موفق باشید
              من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

              دیدگاه


                پاسخ : پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                نوشته اصلی توسط icarus
                بله مالتی پلکس هست
                این مثال اتمل رو ببینید تا متوچه بشید چقدر پایه هدر دادید
                http://www.atmel.com/images/doc1231.pdf

                شما با روش مالتی پلکس هر چیزی که برای 7سگمنت قابل نمایش باشه رو میتونید نمایش بدید آزار ندارم که بیام راه حل بدرد نخور معرفی کنم
                راه حل زیاد دارید ببینید کدوم انتظاراتتون رو برآورده میکنه
                موفق باشید
                اخه داداش من گرایشم قدرت هست و فقط کتاب کاهه رو اونم خیلی روزنامه وار خوندم واسه همین رو روش هایی که هست زیاد مسلط نیستم تا آب دیده شم خیلی زمان می بره :angry: این روش هم که گفتید من قبلا واسه rtc داخلی میکرو دیده بودم منهتی چون اولای کار زیاد بلد نبودم اون روشو بیخیال شدم اما الان فهمیدم چقد بدرد میخوره میخوام چند تا برنامه رو ترکیب کنم که تاریخ و ساعت و همچنین زنگ خوردن رو باهم داشته باشه البته یکم زمان بر هست ولی خب از ساعت قبلیم خیلی بهتر میشه و ایراداتش رفع میشه
                راستی این روش جاروب مشکل جریان نداره؟ :-/ من واسه ساعت قبلی که واسه هرکدوم از سون سگمنت 7447 میذاشتم سمت مشترکشونم یه مقاومت 330 میذاشتم ابعاد سون سگمنت هم این تصویری هست که میذارم:




                از نظر جریانی نیازی به هیچ درایور و یا ترانزیستوری نداشتم و قشنگ جواب میداد .....تو این روش جاروب هم همینطوره یا نیاز به درایور و......هست؟ واسه سون سگمنت های کوچیک که فک نکنم مشکلی پیش بیاد :-?
                در روزگاری که لبخند ادم ها بخاطر شکست توست برخیز تا بگیرند.........

                دیدگاه


                  پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                  شما تا زمانی که شروع به مطالعه نکنید آب دیده نمیشید صد سال هم طول بکشه فایده نداره همیشه مشکلای الکی میخواد اذیت بکنه
                  در مورد روش جاروب کردن من چیزی نمیدونم
                  در مورد مالتی پلکس میدونم که توضیحش رو دادم اگه خواستید یه شماتیک کلی میزارم که بهتر متوجه بشید
                  بهتره که روی پایه های سون سگمنت مقاومت بزارید نه روی مشترکشون
                  :angry: مالتی پلکس میکنن که جریان کمتر مصرف شه :angry:
                  بهتره که کتاب های الکترونیک و دیجیتال مقدماتی رو هم مطالعه کنید
                  من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                  دیدگاه


                    پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                    نوشته اصلی توسط icarus
                    شما تا زمانی که شروع به مطالعه نکنید آب دیده نمیشید صد سال هم طول بکشه فایده نداره همیشه مشکلای الکی میخواد اذیت بکنه
                    در مورد روش جاروب کردن من چیزی نمیدونم
                    در مورد مالتی پلکس میدونم که توضیحش رو دادم اگه خواستید یه شماتیک کلی میزارم که بهتر متوجه بشید
                    بهتره که روی پایه های سون سگمنت مقاومت بزارید نه روی مشترکشون
                    :angry: مالتی پلکس میکنن که جریان کمتر مصرف شه :angry:
                    بهتره که کتاب های الکترونیک و دیجیتال مقدماتی رو هم مطالعه کنید
                    یعنی واسه هر پایه برای همین سون سگمن که گذاشتم مقاومت 330بذارم یا 220؟جواب میده جفتش :-? من 330 رو مشترک گذاشتم هیچ مشکلی پیش نیومد نورش هم خیلی عالی بود
                    پس یه شماتیک بذارید ببینم هرچند قبلا دیدم اما نمیدونم همونی هست که مدنظرشماست یا نه ...دمت گرم
                    در روزگاری که لبخند ادم ها بخاطر شکست توست برخیز تا بگیرند.........

                    دیدگاه


                      پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                      یعنی واسه هر پایه برای همین سون سگمن که گذاشتم مقاومت 330بذارم یا 220؟جواب میده جفتش :-? من 330 رو مشترک گذاشتم هیچ مشکلی پیش نیومد نورش هم خیلی عالی بود
                      پس یه شماتیک بذارید ببینم هرچند قبلا دیدم اما نمیدونم همونی هست که مدنظرشماست یا نه ...دمت گرم
                      اون کتابهای الکترونیک مقدماتی چی شد گرفتی بخونی؟
                      من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                      دیدگاه


                        پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                        نوشته اصلی توسط icarus
                        اون کتابهای الکترونیک مقدماتی چی شد گرفتی بخونی؟
                        ممنون بابت شماتیک

                        نه هنوز نگرفتم فعلا از نت سرچ میکنم ببینم چی میشه .....راستی دیروز یکم رو برنامه همین جاروب کار کردم اون تاخیرهایی که تو این روش هست باعث تاخیر و خطا تو نمایش ساعت نمیشه؟البته در بلند مدت !!!
                        راستی این تیکه برنامه هارو یه توضیح میدی مربوط به همین روش جاروب هست البته قسمت اول مربوط به چشمک زدن واسه ثانیه ساعت هست این خط اول رو نمیدونم چیکار میکنه

                        S = Seco Mod 2
                        If S = 0 Then Set Portc.2
                        If S = 1 Then Reset Portc.2




                        H2 = Hour Mod 10
                        H1 = Hour - H2
                        H1 = H1 / 10

                        در روزگاری که لبخند ادم ها بخاطر شکست توست برخیز تا بگیرند.........

                        دیدگاه


                          پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                          چیزی که شما میبینید با چیزی که اتفاق میفته فرق میکنه
                          تاخیر های شما مثلا اگه 750 میلی ثانیه باشه هر بار فقط و فقط باعث میشه ثانیه دیر تر رو صفحه بیاد نگه داری زمان کارش با 1307 هست و ربطی به تاخیر ها نداره
                          مدارتون اگه درست و اصولی بسته بشه مشکلی از لحاظ تاخیر به اون شکل نداره

                          من بیسیک بلد نیستم و دوست هم ندارمش ولی کد ها ضاهرا دارن اینارو میگن
                          قسمت اول باقی مانده تقسیم ثانیه به 2 اگه صفر باشه پین 2 پورت سی رو داره مقدار میده احتمالا برای چشمک زدن هست
                          قسمت دوم هم داره اعداد رو به یکان دهگان تبدیل میکنه اونهم به بدترین شکل ممکن
                          اول اومده عدد رو تقسیم به 10 کرده تا دهگان بدست بیاد مثلا ساعت 12 باشه خروجیش میشه 1 برای دهگان
                          بقیه چرا اونجوری نوشته نمیدونم نظری هم ندارم در موردش دوستان اگه میدونند بگن
                          من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                          دیدگاه


                            پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                            آقا من یه ساعت درس کردم با ds منو کلافه کرده.یکم کار می کنه یکم کار نمی کنه مقاومت پول پ ها رو ب زمین وصل می کنم و دوباره پول اپ می کنم 19-20 ساعتی درست کار میکنه بعد اشتبا می زنه قاطی می کنه.
                            حرف زدن کافی نیست باید عمل کرد.دانستن کافی نیست باید به کار گرفت

                            دیدگاه


                              پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                              یعنی تاخیر پیدا میکنه یا چرت و پرت نشون میده ؟
                              بیشتر توضیح بده
                              من دوست ندارم خودم را درگیر مسئله بهشت یا جهنم بکنم ، چون در هر دو قسمت دوستان خوبی دارم !

                              دیدگاه


                                پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                                درست نشون می ده بعد کلا یا هنگ می کنه یا چرت و پرت نشون میده.اینم سخت افزارش.اگر امکانش هست یکی یه برنامه واسه این سخت افزار بده بهم

                                حرف زدن کافی نیست باید عمل کرد.دانستن کافی نیست باید به کار گرفت

                                دیدگاه

                                لطفا صبر کنید...
                                X