اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام دوستان
    من برنامه زیر رو برای کار با ال سی دی نوشتم
    ولی مشکل این که خروجی بهم نمی ده
    برای این که مطمئن بشم که دستورات اجرا می شه یا نه پورت d رو 0xFF می کنم بعد 0x00 می کنم با یک led هم چک می کنم LED روشن خاموش می شه نتیجتا دستورات دارن اجرا می شند ولی چیزی نشون نمی ده به این نتیجه رسیدم که شاید این کتاب خونه موجود در CODE VISION با این LCD من درست کار نمی کنه حالا از شما دوستان کمک می خوام در ضمن از پشت LCD هم نتونستم مدلش رو در بیارم ولی 16 پایست چیزایی که پشت LCD نوشته ایناست:
    A.E.C
    AE162 RHOS
    MADE IN TAIWAN

    کدی هم که نوشتم اینه:
    #include <mega32.h>
    #include <delay.h>
    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm
    #include <lcd.h>

    // Declare your global variables here

    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTA=0x00;
    DDRA=0x00;

    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTB=0x00;
    DDRB=0x00;

    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x00;

    // Port D initialization
    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
    // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
    PORTD=0x00;
    DDRD=0xFF;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    // LCD module initialization
    PORTD=0xFF;
    lcd_init(16);
    PORTD=0x00;
    while (1)
    {
    // Place your code here
    lcd_clear();
    PORTD=0xFF;
    lcd_putsf("salam"
    PORTD=0x00;
    delay_ms(500);
    };
    }

    #2
    پاسخ : کتاب خانه کار با ال سی دی کاراکتری

    سلام
    مدل lcd تون درسته 16*2 هست خیالتون از این بابت راحت چون که خودم هم از این نوع استفاده کردم ... :agree:

    اول از همه باید مطمئن بشین که میکرو درست به lcd وصل شده یا نه ....
    در مورد برنامه ایی که گذاشتین درسته ولی فکر کنم اینم باید اضافه کنید <include <stdio.h#
    ذكات علم ياد دادنه ....

    دیدگاه


      #3
      پاسخ : کتاب خانه کار با ال سی دی کاراکتری

      دوست عزیز سلام
      برنامه شما درسته
      اتصالات رو درست بررسی کنید ، و مراقب باشید که پایه d4 رو از portx.4 شروع کنید و یک پایه از اون پورت بدون استفاده است

      stdio.h هم دز این برنامه نیازی نیست چون که از دستور sprintf استفاده نکردید

      فایل های پیوست شده

      دیدگاه


        #4
        پاسخ : کتاب خانه کار با ال سی دی کاراکتری

        خیلی ممنون بابت راهنما یی هاتون
        مشکلم حل شد
        :wow: :wow: :wow: :wow: :wow: :wow:

        دیدگاه

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