اطلاعیه

Collapse
No announcement yet.

متن روی tvبا avr

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

    متن روی tvبا avr

    سلام من می خوام با avrروی تلویزیون متن بنویسم اما چگونه؟

    #2
    پاسخ : متن روی tvبا avr

    کافیه توی گوگل عبارت "avr video" را سرچ کنی
    این سایت یکی از ده ها سایت http://avga.prometheus4.com/

    موفق باشید
    امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : متن روی tvبا avr

      اینا کتابخانه دارن و من می خوام بفهمم چطوری کار می کنه بازم تشکر

      دیدگاه


        #4
        پاسخ : متن روی tvبا avr

        کلیات کار اینه که سیگنال آنالوگ متناسب تصویر را توسط PWM میسازه
        حالا اینکه چطوری و چگونه باید توی همون سایت قسمت توضیحاتش را بخونی
        نمونه برنامه را از لینک زیر دانلود کنید
        http://avga.prometheus4.com/download.php?get=release/AVGA_release_022.zip
        امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

        دیدگاه


          #5
          پاسخ : متن روی tvبا avr

          ایا ربطی به کاراکتر اسکی داره

          دیدگاه


            #6
            پاسخ : متن روی tvبا avr

            نوشته اصلی توسط بنیامین خلیلی
            ایا ربطی به کاراکتر اسکی داره
            این چیزی که شما میگی با اون چیزی که عنوان تاپیک نوشتی هیچ ارتباطی با هم ندارند :surprised:
            کد اسکی (Ascii) چیست؟
            به ازاء هر کرکتر لاتین و کرکتر های علامت (مثل علامت سوال یا کاما) یک بایت در نظر گرفته شده که به اون کدهای اسکی میگویند :arrow:

            حالا کجا اونها را استفاده کنی دست خودته
            ولی معقوله TV یک چیز دیگه ای هست
            امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

            دیدگاه


              #7
              پاسخ : متن روی tvبا avr

              سلام دوست عزیز
              توی این دو تا کتاب از صفر تا صد رو توضیح داده (توی هر دو کامل توضیح داده)




              اولی
              Programming_16_Bit_PIC_Microcontrollers_in_C

              دومی
              Programming_32_bit_Microcontrollers_in_C_Exploring _the_PIC32

              موفق باشید
              :bye

              [glow=black,2,300]بردی جالب با سیستم عاملی جالب !!![/glow]

              دیدگاه


                #8
                پاسخ : متن روی tvبا avr

                آخر هیچکس یه جواب درست و حسابی نداد و همه مارو پاس دادن به لینکای مختلف که جواب درستی در اونها هم داده نشده ، ینی یک نفر نیس که اینکارو انجام داده باشه؟!!!!!! :sad: :angry:

                دیدگاه


                  #9
                  پاسخ : متن روی tvبا avr

                  نوشته اصلی توسط Abbas Sarami
                  کلیات کار اینه که سیگنال آنالوگ متناسب تصویر را توسط PWM میسازه
                  حالا اینکه چطوری و چگونه باید توی همون سایت قسمت توضیحاتش را بخونی
                  نمونه برنامه را از لینک زیر دانلود کنید
                  http://avga.prometheus4.com/download.php?get=release/AVGA_release_022.zip
                  دوست عزیز این لینکی که گذاشتی نه شماتیک داره و نه عکسی اصلا مشخص نیس ، به خدا سرگیجه گرفتم انقد گشتم اما یه جواب مناسب برای این پروژه پیدا نکردم
                  آخر هیچکس یه جواب درست و حسابی نداد و همه مارو پاس دادن به لینکای مختلف که جواب درستی در اونها هم داده نشده ، ینی یک نفر نیس که اینکارو انجام داده باشه؟!!!!!
                  من میخوام به تصویر دوربیت یه تکست اضافه کنم فقط

                  دیدگاه


                    #10
                    پاسخ : متن روی tvبا avr

                    http://www.eca.ir/forum2/index.php?t...5604.msg380327
                    سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                    دیدگاه


                      #11
                      پاسخ : متن روی tvبا avr

                      نوشته اصلی توسط ShahiMV
                      برای اینکه با نحوه کار کردن این برنامه آشنا بشید ابتدا باید نحوه نشون دادن تصویر روی تاویزیون رو یاد بگیرید، خوب به عنوان یه آشنایی خیلی ساده و مفید میشه نحوه کار کردن تلویزیون رو اینجوری توضیح داد:

                      ابتدای کار به تلویزیون میگید که سر خط هستید ( اگه روبه روی تلویزیون بایستید اونوقت گوشه بالا سمت چپ میشه سر خط اول و همینجوری که به سمت پایین بیایید به خط های دوم، سوم و ... می رسید ) خوب نحوه انجام اینکار هم اینطوریه که یک پالس همزمانی افقی(horizontal sync) آخر خط قبلی باید بفرستید تا تلویزیون از اون به بعد اطلاعات رو از اول خط بعدی نشون بده (برای اطلاع بیشتر هم باید بگم که پالس همزمانی افقی یعنی اینکه به تلویزیون 5us ولتاژ صفر بدید).

                      خوب حالا ممکنه براتون این سوال پیش بیاد که تلویزیون چند تا خط داره؟
                      تو جواب این سوال میشه گفت که این بستگی به استانداردی داره که با اون دارید اطلاعات رو به تلویزیون میفرستید، ما از استاندارد NTSC-RS170 استفاده کردیم تو این استاندارد تعداد خطها 262.5 تا هستش و طول هر خط هم 63.55us هستش، این مدت زمانیه که طول میکشه تا اشعه تلویزیون از سر خط به انتهای اون برسه و یا بعبارت دیگه مدت زمانیه که شما فرصت دارید تا اطلاعات رو بفرستید هر چه سرعت میکروتون بیشتر باشه اطلاعات بیشتری رو میتونید روی یک خط بفرستید و در نتیجه کیفیت تصویرتون هم بیشتر میشه.

                      خوب حالا میریم سراغ قسمت دوم کار؛ این بار میپرسید که اگه به آخر صفحه رسیدیم چی کار باید بکنیم؟ این بار باید به تلویزیون پالس همزمانی عمودی (vertical sync) رو بفرستید تا تلویزیون متوجه بشه که صفحه کاملا پر شده و اشعه رو باید دوباره به سر خط اول ببره.
                      خوب اینم از یه آشنایی ساده با طرز کار تلویزیون. الان دیگه همتون مهندس های تلویزیون شدید :icon_razz:

                      حالا میریم به سراغ برنامه اصلی؛ این برنامه از سه قسمت اصلی تشکیل شده:
                      1) تایمر، که وضیفه تولید پالس های همزمانی افقی و عمودی رو داره.
                      2) آرایه screen، که حامل تصویریکه تلویزیون باید نشون بده.
                      3) قسمت تبدیل آرایه بالا به اطلاعات قابل نشون دادن روی تلویزیون.

                      1 : همونطور که مشاهده میکنید تایمر در حالت CTC no prescaling هستش و نیز OCR1A برابر 514 هستش و این یعنی اینکه تایمر هر 64.375us پالس همزمانی افقی رو میفرسته، به علاوه اینکه وقتی شماره خط یعنی متغییر LineCount به 248 میرسه شروع میکنه به فرستادن پالس همزمانی عمودی.

                      2 : همونطور که مشاهده میکنید این یه آرایه 800 تاییه و ما اون رو به صورت 100 خط 8 بایتی نشون دادیم که دلیلشم قابل فهم شدن هرچه بیشتر اونه؛ همونجوری که قبلا بهتون گفتم ما یه مدت زمان محدودی برای فرستادن اطلاعات روی یک خط داریم، حالا با توجه به اینکه سرعت میکرو 8MHz هست پس تقریبا میشه روی هر خط
                      64 bit رو نشون داد که میشه همون 8 بایتی که قبلا گفته بودم؛
                      حالا بریم سراغ این مساله که چرا 100 خط ؟ باید بگم که دلیل خاصی نداشت شما میتونید طولش رو کمتر یا بیشتر کنید؛ ما فقط اطلاعات رو از خط 70 تا 169 نشون دادیم ولی شما میتونید تغییرش بدید.

                      3 : همونطور که دیدید آرایه screen یک بعدی است، پس برای اینکه بشه روی تلویزیون نشونش داد ما 8 تا متغییر تعریف کردیم و همونطور که میبینید برای هر چه سریع تر شدن کار برنامه اون هارو توی رجیسترها ریختیم،(اونها رو تو رجیسترهای R4 تا R11 ریختیم)
                      #pragma regalloc-
                      register char v1 @4;
                      register char v2 @5;
                      register char v3 @6;
                      register char v4 @7;
                      register char v5 @8;
                      register char v6 @9;
                      register char v7 @10;
                      register char v8 @11;
                      register int i @12;
                      #pragma regalloc+

                      این متغییرها شروع میکنند به خوندن 8 بایت، 8 بایت آرایه و هرکدوم از این 8 بایت خونده شده رو به عنوان یک خط روی تلویزیون نشون میدند.
                      کدی که در زیر مشاهده میکنید مسولیت خوندن اطلاعات از آرایه و ریختن آنها به رجیسترها رو داره.

                      #asm
                      push r26
                      push r27

                      ldi r26, low(_screen)
                      ldi r27, high(_screen)
                      add r26, r12
                      adc r27, r13
                      ld r4, x+
                      ld r5, x+
                      ld r6, x+
                      ld r7, x+
                      ld r8, x+
                      ld r9, x+
                      ld r10, x+
                      ld r11, x

                      pop r27
                      pop r26
                      #endasm

                      قسمت بعدی کد که صرفا یک ماکرو به زبان اسمبلی هستش، کارش اینه که شما یک بایت بهش میدید و اون هم اون رو بصورت بیت به بیت روی پورت PD.6 که پایه مربوط به فرستادن اطلاعات هستش قرار میده.
                      .macro videobits
                      push r31
                      bst @0, 7
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 6
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 5
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 4
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 3
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 2
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 1
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31

                      bst @0, 0
                      in r31, 0x12
                      bld r31, 6
                      nop
                      out 0x12, r31
                      pop r31
                      .endm

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

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

                      دیدگاه


                        #12
                        پاسخ : متن روی tvبا avr

                        نوشته اصلی توسط ShahiMV
                        برای تولید سیگنال NTSC به سه نوع ولتاژ نیاز داریم(درحالت ساده) 0 ولت برای سیگنال های سنکرون . 0.3 ولت براس رنگ سیاه و 1 ولت برای رنگ سفید
                        ولی میکرو فقط ولتاژ 5 تولید میکند پس باید با مقاومت ها تقسیم ولتاژ کنیم یا به اصطلاح یک DAC درست کنیم
                        وقتی که دو مقاومت 300 و 1k به گراند وصل اند ولتاژ ما نیز 0 است و برای سیگنال سنکرون است
                        وقتی مقاومت 1k به Vcc وصل باشد ولتاژ 0.3 ولت تولید میشه و رنگ سیاه رو داریم
                        وقتی مقاومت 300 به Vcc وصله ولتاژ 0.86 را داریم و رنگ سفید است
                        راستی برای مقاومت 75 اهم از دو تا مقاومت 150 که تو بازار پیدا میشه استفاده کردم
                        سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                        دیدگاه

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