اطلاعیه

Collapse
No announcement yet.

راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

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

    راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

    سلام
    هر از گاهی می بینیم دوستان میان میگن مدار بستیم کار نمیکنه.
    بعد از کلی بحث مشخص میشه مثلاً مقاومت پایه MCLR رو نذاشتن. یا مثلاً آنالوگ رو غیر فعال نکردن.
    این عکس رو که روزهای اول کار با PIC16F873A برای خودم درست کرده بودم اینجا میزارم. دوستان از این به بعد هر کی سوال پرسید اول به اینجا ارجاع بدید.



    اون سوکت بالا سمت راست برای ICSP ( پروگرم کردن میکرو در مدار) هست و بدیهیه که اگر نمی خواهید میتونید نذارید. خازن تغذیه هم 100 نانو هست.
    برای میکروهای دیگه هم همین مدار هست منتها پایه بندیهاشون فرق میکنه. به دیتاشیت مراجعه کنید.
    این فایل هم یک مرجع سریع برای PIC هست که پایه ها رو بصورت رنگی نشون داده و برای تازه کارها خوبه.
    در پست های بعدی انشاالله نمونه کد برای تست هم میزارم.

    #2
    پاسخ : راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

    قبل از اینکه هر پروژه ای رو تست کنید باید اول مطمئن بشید که میکروتون سالمه و تغذیه درسته و سیم کشی درسته و اسیلاتور کار میکنه و ...
    بنابراین باید اول یک کد چشمک زن رو مدارتون تست کنید. همه حرفه ای ها پروژه شون رو از اینجا آغاز میکنن.

    کد زیر LED روی پین B0 رو روشن و خاموش میکنه. میکرو 16F873A. کریستال 4 مگ. زبان C. کامپایلر CCS.
    کد:
    #include <16F873A.h>
    #FUSES HS, NOWDT, NOPROTECT, NOBROWNOUT, PUT, NOLVP
    #use delay(clock = 4000000)
    
    void main()
    {
     setup_adc_ports(NO_ANALOGS);
     while(true)
     {
      output_high(PIN_B0);
      delay_ms(500);
      output_low(PIN_B0);
      delay_ms(500);
     }
    }
    کد هگز برای اونایی که کامپایلرشو ندارن:
    کد:
    :1000000000308A00182800002630840000080319F8
    :1000100017280130A100A001A00B0C28A10B0B2870
    :100020004A30A000A00B12281528800B09280800D0
    :1000300084011F30830583161F149F141F159F1101
    :1000400007309C001F149F141F159F110610831268
    :1000500006140230A500FA30A6000420A50B2B28B8
    :1000600083160610831206100230A500FA30A6008F
    :0C0070000420A50B362883162628630008
    :02400E00323F3F
    :00000001FF
    ;PIC16F873A
    ;CRC=8461 CREATED="04-Jun-14 08:35"

    دیدگاه


      #3
      پاسخ : راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

      سلام خدمت همه ی دوستان
      بعد از مدت ها نبودن، دوباره به جمع خوب و دوست داشتنی ECA برگشتم :smile:
      در این پست بلوک های مداری که در پروژه های مختلف کاربرد دارد، قرار خواهد گرفت. شما می توانید بسادگی فایل شماتیک مدارات را در پروژه خود مورد استفاده قرار دهید. تمامی مدارات در پروژه های مختلف تست و راه اندازی شده و عملکرد آن تأیید می گردد.
      از دوستان و اساتید عزیز خواهش میکنم که در این مسیر با بنده همراه شده و اطلاعات بلوک های مداری که تاکنون ازش جواب عملکرد صحیح رو گرفتن در این پست به اشتراک بگذارند

      دیدگاه


        #4
        پاسخ : راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

        مبدل USB به سریال ایزوله برای برقراری ارتباط سریال با کامپیوتر
        تراشه FT232RL توسط باس USB تغذیه شده و با استفاده از اپتوکوپلر های 6N137 از مدار اصلی ایزوله شده است. با اتصال کابل USB ، مدار POWER ON می شود.


        لینک دانلود فایل شماتیک :
        http://www.4shared.com/file/L4ezzW99ce/usb.html

        دیدگاه


          #5
          پاسخ : راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

          به منظور انتقال اطلاعات در محیط های صنعتی و یا در مسافت های طولانی از ارتباط RS485 استفاده می گردد. مدار زیر با تراشه ADM485 و یا MAX485 کار می کند.
          مقاومت های R1 و R8 به منظور بایاس باس قرار گرفته اند و تنها می بایست در سمت MASTER فعال گردند. R7 مقاومت ترمیناتور بوده که در دو تجهیز ابتدا و انتهای شبکه باید فعال شود. مقاومت های R4 و R5 برای حفاظت آی سی مبدل در برابر اضافه ولتاژهای لحظه ایست. مدار ایزوله نمی باشد و اپتوکوپلر مورد استفاده در مسیر RECEIVE به منظور Signal Releveling قرار گرفته است.


          لینک دانلود فایل شماتیک:
          http://www.4shared.com/file/uLsUkhdQba/RS485.html

          دیدگاه


            #6
            پاسخ : راه اندازی PIC از حداقل های لازم تا بلوک های مداری آماده

            چون این سوال زیاد پرسیده میشه من اینو اینجا میزارم و دوستان رو به اینجا لینک میدم.

            آدرس دهی مستقیم رجیستر ها در CCS:
            برای آدرس دهی مستقیم به رجیستر ها باید اول اون رجیستر یا بیت رو با دایرکتیو های ‎#bit و ‎#byte تعریف کنید.

            برای آدرس دهی SFR به اسم(تابع getenv در مورد محیط اجرا اطلاعات میدهد):
            کد:
            #byte INTCON   = getenv("SFR:INTCON")
            #byte PORTB    = getenv("SFR:PORTB")
            برای آدرس دهی SFR به آدرس:
            کد:
            #byte INTCON   = 0xB
            #byte PORTB    = 6  // Port B address for 16F877 is 0x06
            برای آدرس دهی بیت های SFR به اسم خودشان:
            کد:
            #bit GIE     = getenv("BIT:GIE")
            برای آدرس دهی بیت های SFR به شماره بیت در رجیستر:
            کد:
            #byte INTCON   = 0xB
            #bit GIE     = INTCON.7
            استفاده:
            کد:
            INTCON = 0x80;
            GIE = 1;

            دیدگاه

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