اطلاعیه

Collapse
No announcement yet.

CCS && LCD

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    CCS && LCD

    سلام
    من برنامه هایی که با ccs نوشتم رو فقط در پروتئوس اجرا کرده بودم ، ولی حالا یکی از بر نامه هام رو توعمل دارم اجرا میکنم و با مشکلی رو به رو شدم ؛ oo:
    دستورات lcd کاراکتری به راحتی در پروتئوس اجرا میشن اما تو عمل همون برنامهایی که روی بوردت داره جواب میده اگه دستورات lcd بهش اضافه بشه دیگه کل بر نامه کار نمیکنه . :eek:
    لطفا اگه کسی مشکل رو میدونه راهنمایی کنه . :bye

    #2
    پاسخ : CCS && LCD

    برنامه ای که نوشتی رو بزار اینجا . اینطوری بهتر میشه نظر داد .

    دیدگاه


      #3
      پاسخ : CCS && LCD

      #include <16f877a.h>

      #FUSES NOWDT //No Watch Dog Timer
      #FUSES HS //High speed Osc (> 4mhz)
      #FUSES PUT //Power Up Timer
      #FUSES NOPROTECT //Code not protected from reading
      #FUSES NODEBUG //No Debug mode for ICD
      #FUSES NOBROWNOUT //No brownout reset
      #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
      #FUSES NOCPD //No EE protection
      #FUSES WRT_50% //Lower half of Program Memory is Write Protected

      #device ADC=10
      #use delay(clock=20000000)
      #define use_portb_lcd TRUE
      #include <lcd.c>

      #int_EXT
      void EXT_isr()
      {
      disable_interrupts(GLOBAL);
      output_e(0x00);
      output_c(0x07);
      output_d(0x01);
      delay_ms(2000);
      output_c(0x00);
      output_d(0x00);
      delay_ms(2000);
      enable_interrupts(GLOBAL);
      }

      void main()
      {
      int a;

      lcd_init();
      setup_adc(ADC_OFF);
      enable_interrupts(INT_EXT);
      enable_interrupts(GLOBAL);

      set_tris_e(0);
      set_tris_d(0x00);
      set_tris_c(0X00);

      While(TRUE)
      {
      lcd_putc(" Salam"

      output_e(0x01);
      delay_ms(300);
      output_e(0x02);
      delay_ms(300);

      lcd_putc("\f"
      }
      }

      دیدگاه


        #4
        پاسخ : CCS && LCD

        برنامتون که ظاهرا درسته!
        فقط یه چیزی . چرا لبه پالسی که باید در اون وقفه صورت بپذیره رو تعیین نکردید؟ (توسط دستور ext_int_edge)

        دیدگاه


          #5
          پاسخ : CCS && LCD

          آقای ایجی
          بابا دمت گرم ، این انجمنه و یه آقا محمد گل
          ممنون از پاسختون ، درسته تعیین لبه وقفه رو جا انداختم .

          دیدگاه


            #6
            پاسخ : CCS && LCD

            سلام
            کسی واسه مشکل ما جوابی نداشت ؟
            خب حالا من نتیجه چند روز دهن سرویسی رو در اختیارتون میگذارم .
            هرچند سادست ولی
            1.در ccs باید حتما پایه rw به میکرو متصل باشه .
            2.اگه lcd تعریف کردی ودستوراتشو نوشتی باید حتما اونو روی بردت نصب کرده باشی تا کل بر نامت جواب بده .

            یا حق

            دیدگاه

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