NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3039 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 6 از 6 نخستنخست 123456
نمایش نتایج: از 101 به 106 از 106

موضوع: شروع کار با pic و ccs ( کتاب اموزشی به

  1. #101
    کاربر فعال
    تاریخ عضویت
    Mar 2013
    نوشته ها
    136
    تشکر
    87
    تشکر شده 70 بار در 47 پست

    پیش فرض

    90 درصد برنامه تون مشکل داره ..... و پایه 5 lcd رو به زمین وصل کنید شاید حل شد

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #102
    تازه وارد
    تاریخ عضویت
    Jun 2013
    نوشته ها
    1
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    پايه rw روي lcd رو گراند كن.

  4. تشکرها از این نوشته :


  5. #103
    تازه وارد
    تاریخ عضویت
    Oct 2015
    نوشته ها
    2
    تشکر
    4
    تشکر شده 2 بار در 2 پست

    پیش فرض

    با سلام و عرض ادب خدمت دوستان گرامی
    من یه پروژه دارم که باید روز شنبه ارائه بدم و یه برنامه نویسی کوچیک داره که بیشترشو با مطالعه این کتاب مفید فهمیدم فقط چند تا سطر هست که منظور برنامه نویس رو متوجه نشدم
    از دوستان خواهش میکنم اگر اطلاعاتی دارید به من کمک کنید
    با تشکر فراوان
    اون قسمتهایی که متوجه نشدم رو به رنگ قرمز مینویسم
    pic 16f877

    #include <finalmt8870.h>

    #INT_EXT
    void EXT_isr(void)
    {


    }
    #define LCD_ENABLE_PIN PIN_B5
    #define LCD_RS_PIN PIN_B7
    #define LCD_RW_PIN PIN_B6
    #define LCD_DATA4 PIN_B4
    #define LCD_DATA5 PIN_B3
    #define LCD_DATA6 PIN_B2
    #define LCD_DATA7 PIN_B1

    #include <lcd.c>

    void main()
    {

    enable_interrupts(INT_EXT);
    enable_interrupts(GLOBAL);


    lcd_init();
    unsigned int8 reza=0;
    #bit pina0 = reza.0
    #bit pina1 = reza.1
    #bit pina2 = reza.2
    #bit pina3 = reza.3

    lcd_putc("motor off");
    pwm_set_duty_percent(0);

    while(TRUE)
    {
    reza=0;
    pina0=input(PIN_A0);
    pina1=input(PIN_A1);
    pina2=input(PIN_A2);
    pina3=input(PIN_A3);



    switch(reza) {
    case 1 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(0);
    break;
    }
    case 2 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(100);

    break;
    }
    case 3 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(200);

    break;
    }
    case 4 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(300);

    break;
    }
    case 5 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(400);

    break;
    }
    case 6 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(500);

    break;
    }
    case 7 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(600);

    break;
    }
    case 8 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(700);

    break;
    }
    case 9 :{
    printf(lcd_putc,"\f\ level= %u",reza);
    pwm_set_duty_percent(1000);

    break;
    }





    }
    delay_ms(100);
    }

    }
    ببخشید هر کاری می کنم علامتا اینجا برعکس میشه

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

    آپلود عکس | آپلود فایل | سایت آپلود رایگان و دائمی

    آپلود عکس | آپلود فایل | سایت آپلود رایگان و دائمی
    ویرایش توسط hamedba : 08-10-2015 در ساعت 04:23

  6. تشکرها از این نوشته :


  7. #104
    همکار علمی sarbaz13 آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    محمد قاسمی
    نوشته ها
    410
    تشکر
    995
    تشکر شده 425 بار در 230 پست

    پیش فرض


    #INT_EXT
    void EXT_isr(void)
    {


    }
    این کد یک تابع وقفه خارجی هست.
    به این معنی که بعد از اینکه وقفه خارجی اتفاق می افتد برنامه می رود و تمامی دستورات داخل تابع را اجرا می کند.
    --------------------

    enable_interrupts(INT_EXT);
    enable_interrupts(GLOBAL);
    این کدها هم وقفه خارجی و وقفه را فعال می کند
    -----------

    void main()
    {

    این کد که برای شروع برنامه هست و به صورت defult توی تمامی برنامه های میکرو هست.(یعنی یک تابعی هست که هیچ مقداری رو برمی گرداند)
    ----------
    unsigned int8 reza=0;
    این کد که معرفی یک متغییر از نوع integer 8 بیتی هست که وقتی unsigned ابتدای اون اومده یعنی قسمت مثبت مد نظر هست.(متغییر رضا کلا که 8 بیت هست همش رو صفر کرده)
    ---
    ;
    #bit pina0 = reza.0
    #bit pina1 = reza.1
    #bit pina2 = reza.2
    #bit pina3 = reza.3
    این کد هم که اومده از بیت صفر تا سه رو با مقدار رضا از 0 تا 3 مقدار دهی کرده
    -----------
    بقیشم برید کتاب بخونید و لطف کنید بدون مطالعه قبلی پست نگذارید.
    با تشکر
    شرکت Time Owner

  8. کاربران : 2 تشکر کرده اند از شما sarbaz13 برای ارسال این پست سودمند:


  9. #105
    تازه وارد
    تاریخ عضویت
    Oct 2015
    نوشته ها
    2
    تشکر
    4
    تشکر شده 2 بار در 2 پست

    پیش فرض

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

  10. تشکرها از این نوشته :


  11. #106
    تازه وارد
    تاریخ عضویت
    Jul 2015
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    ممنون خیلی جالب بود.

صفحه 6 از 6 نخستنخست 123456

موضوعات مشابه

  1. شروع آموزش stm32 بر پایه برد سفارشی
    توسط alishekarriz در انجمن stm32
    پاسخ: 1154
    آخرين نوشته: 08-11-2016, 14:27
  2. برای شروع
    توسط cmuiran در انجمن FPGA
    پاسخ: 9
    آخرين نوشته: 01-05-2012, 22:08
  3. پاسخ: 9
    آخرين نوشته: 01-08-2010, 12:53
  4. انتشار قريب‌الوقوع نخستين به‌روزرساني بزرگ ويندوز سون
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 08-06-2010, 12:43
  5. شروع کار pic
    توسط aliAVR در انجمن PIC
    پاسخ: 0
    آخرين نوشته: 25-11-2009, 13:20

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •