اطلاعیه

Collapse
No announcement yet.

کرنومتر با اسمبلی

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

    کرنومتر با اسمبلی

    سلام من چند تامشکل دارم میخوام یک کرنومتر بادقت دهم ثانیه درست کنم واز خود نوسانساز 8 مگ میکرو استفاده کنم

    ابتدا نیاز به تنظیم کردن تایمر 1 به مدت 100 میلی ثانیه دارم .که اگه 10 تا 100 میلی ثانیه شمرد بشه 1 ثانیه والی تا اخر

    مشکل بعدی اینه که برا نمایش روی LCD تقریبا یه 200 میلی ثانیه تاخیر برا خود LCD داریم که در این صورت زمان واقعی نمایشداده شده درست نیست پس چکار کنم

    ادمهای خوب تو eca خیلی پیدا میشه

    #2
    پاسخ : کرنومتر با اسمبلی

    چرا از تایمر 2 استفاده نمیکنی؟
    من با یه تایمر می تونم چندین تایمر بسازم!!! تایمر کم آوردی؟

    دیدگاه


      #3
      پاسخ : کرنومتر با اسمبلی

      اگه به زبان اسمبلی میخوای و با استفاده از تایمر1.
      بنظرم فرکانس 8 مگ و باید تقسیم بر 64 کنی و همچنین تایمر 1 رو با مقدار اولیه بارگذاری کنی.بعدش بیای پرچم سرریز تایمرو چک کنی.اینجور میتونی 100 میل بسازی.حالا لازم چند حلقه تو در تو بسازی و مقدار ریجیسترهارو افزایش بدی.
      اینکه پاسخ ال سی دی 200 میل هست بنظر من مشکلی نیست.چون لازم نیست دهم ثانیه رو بطور انی روی ال سی دی ببینی.اونو واسه زمانی لازم داری که کرنومترتو متوقف کردی و میخای زمانو چک کنی.که در این حالت ال سی دی میتونه بدون مشکلی اونو نشون بده.
      البته راه های رسیدن به کورنومتر زیاده که این یه راهشه.

      دیدگاه


        #4
        پاسخ : کرنومتر با اسمبلی

        خب برنامه به این صورت باشه الان واقعی هست یا نه

        اول یه تاخیر 100 میلی ثانیه میزازیم بعد میام پرچم سریز چک میکنیم که ایا 1شده یا خیر اگه 1 بود میرم سراغ نمایش زمان درسته
        ادمهای خوب تو eca خیلی پیدا میشه

        دیدگاه


          #5
          پاسخ : کرنومتر با اسمبلی

          اگه با اسمبلی میخوای من میتونم برای این قسمت یه نمونه برنامه بذارم.

          دیدگاه


            #6
            پاسخ : کرنومتر با اسمبلی

            دمت گرم بزار
            ادمهای خوب تو eca خیلی پیدا میشه

            دیدگاه


              #7
              پاسخ : کرنومتر با اسمبلی

              :cry:
              ادمهای خوب تو eca خیلی پیدا میشه

              دیدگاه


                #8
                پاسخ : کرنومتر با اسمبلی

                نبودم.
                اینم قسمتی از برنامه:
                کد:
                #include "m16def.inc"
                ldi r16,low(53036)
                ldi r17,high(53036)
                clr r0
                out tccr1a,r0 // timer dar halat mamuli mishomarad
                ldi r18,0b11 //dar in halat clk/64 mishavad
                out tcnt1h,r17
                out tcnt1l,r16
                clr r20
                clr r21
                clr r22
                
                start:
                out tccr1b,r18 //timer shoru mishavad
                
                in r19,tifr  //ta zamanike parcham 1 nashod dar in halghe beman 
                sbrs r19,tov1
                rjmp pc-2
                
                out tccr1b,r0 //timer stop
                out tcnt1h,r17 //timer meghdar dehi avalie mishavad 
                out tcnt1l,r16
                out tccr1b,r18
                
                ser r19 
                out tifr,r19  //parcham pak mishavad
                inc r20   //agar r20=256 nashod be start bepar
                brne start
                inc r21  //agar r21=256 nashod be start bepar
                brne start
                inc r22  //agar r22=256 nashod be start bepar
                brne start

                دیدگاه


                  #9
                  پاسخ : کرنومتر با اسمبلی

                  ببخشید منم یه سوال در مورد همین کرنومتر

                  برا نمایش دادن اطلاعات باید چیکار کنیم ./

                  دیدگاه


                    #10
                    پاسخ : کرنومتر با اسمبلی

                    نوشته اصلی توسط liapanof
                    ببخشید منم یه سوال در مورد همین کرنومتر

                    برا نمایش دادن اطلاعات باید چیکار کنیم ./
                    اینجا lcd رو توضیح داده باید چکار کنیم هم با روش 8 بیتی هم با 4 بیتی:
                    http://web.alfredstate.edu/weimandn/lcd/lcd_initialization/lcd_initialization_index.html
                    من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                    آلبرت اینشتین
                    منبع: http://fa.wikiquote.org

                    دیدگاه


                      #11
                      پاسخ : کرنومتر با اسمبلی

                      ببخشید سوالم کامل نبود .. میخوام اعدادو رو سون سگمنت نمایش بدم .. سون سگمنت 6 تایی اند مشترک

                      دیدگاه


                        #12
                        پاسخ : کرنومتر با اسمبلی

                        نوشته اصلی توسط liapanof
                        ببخشید سوالم کامل نبود .. میخوام اعدادو رو سون سگمنت نمایش بدم .. سون سگمنت 6 تایی اند مشترک
                        باید به هر آند یه ترانزیستور وصل کنی و بیس ترانزیستورها رو بدی به میکرو و پایه های متناظر سون سگمنتها رو به هم وصل کنی
                        و بعد با روش جاروب سگمنها رو راه بندازی

                        روش جاروب: یک سون سگمنت را از راه آندش روشن میکنیم و مقدار مربوط به اون رو روی گذرگاه داده قرار میدیم. و بعد از مدتی کوتاه خاموشش میکنیم و سون سگمنت بعدی ... همین طور میریم تا به سگمنت آخری برسیم و بعد دوباره از اول ... فرکانس جاروب هم باید بالای 60 هرتز باشه
                        من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                        آلبرت اینشتین
                        منبع: http://fa.wikiquote.org

                        دیدگاه


                          #13
                          پاسخ : کرنومتر با اسمبلی

                          این روشو امتحان کردم نشد... فرکانسو از 0 تغییر دادم تا حدود 100 کیلو . ولی باز جواب نگرفتم ./
                          ولی از ترانزیستور استفاده نکردم..... چه نوع ترانزیستوری رو باید بزام....
                          تو بعضی جاها دیدم یه ای سی میزارن سر راه پایه مشترک اطلاعات که فک کنم فلیپ فلاپ D باشه ././
                          ربطی به اونا نداره؟؟؟

                          دیدگاه


                            #14
                            پاسخ : کرنومتر با اسمبلی

                            راستی سون سگمنت ها باید اند مشترک باشند یا کاتد مشترک؟؟؟؟؟؟
                            کدومش بهتره

                            دیدگاه


                              #15
                              پاسخ : کرنومتر با اسمبلی

                              نوشته اصلی توسط liapanof
                              راستی سون سگمنت ها باید اند مشترک باشند یا کاتد مشترک؟؟؟؟؟؟
                              کدومش بهتره
                              (اگه درست یادم باشه ) اگر از سون سگمنت سایز معمولی استفاده میکنی و ترانزیستورت هم c945 هست باید کاتد مشترک باشن

                              اگرم آند مشترک بخوای بزاری یه ترانزیستور pnp مناسب باید براش بزاری

                              فرقی هم نمیکنه که آند مشترک باشه یا کاتد مشترک
                              من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                              آلبرت اینشتین
                              منبع: http://fa.wikiquote.org

                              دیدگاه

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