اطلاعیه

Collapse
No announcement yet.

ال سی دی نوکیا 1202

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

    ال سی دی نوکیا 1202

    با سلام
    من یه برنامه خودم نوشتم واسه این ال سی دی که توی پروتیوس با ال سی دی 1100 امتحان کردم جواب داد ولی عملی جواب نمیده
    توی تاپیک http://www.eca.ir/forum2/index.php?topic=91526.msg572756#msg572756 آقا مهدی (punisher.x64) یک فایل هگز گذاشتن ک اونو امتحان کردم جواب داد فقط نوشته test for 1202 lcd به صورت برعکس(mirror) روش نمایش داده میشه
    برنامه رو میزارم ببینید مشکلش چیه؟آیا توابعی که نوشتم درسته؟(چون تو شبیه سازی درست عمل میکنه البته با ال سی دی 1100)
    کد:
    [left]
    #include <mega32.h>
    #include <delay.h>
    
    
    #define set_data_pin        PORTB |= 0x02
    #define clear_data_pin       PORTB &= ~0x02
    
    #define set_rst_pin        PORTB |= 0x04
    #define clear_rst_pin       PORTB &= ~0x04
    
    #define set_clk_pin        PORTB |= 0x01
    #define clear_clk_pin       PORTB &= ~0x01
    
    #define set_cs_pin         PORTB |= 0x08
    #define clear_cs_pin        PORTB &= ~0x08
    
    
    void LCD_writeCommand ( unsigned char command );
    void LCD_writeData ( unsigned char data );
    void Gotoxy(char x,char y);
    
    
    void LCD_init (void ){
    unsigned int j;
      
      delay_ms(10);
      
      clear_rst_pin;  //reset LCD
      delay_ms(100);
      set_rst_pin;
      
      LCD_writeCommand(0xe2); 
    
      delay_ms(10);
      
    Gotoxy(0,0);
      
    for(j=0;j<864;j++) LCD_writeData(0x00);
      
    }
    
    
    void LCD_writeData ( unsigned char data ){
    char i;
    
    clear_clk_pin;
    set_data_pin;
    set_clk_pin;
    
           
      for(i=0;i<8;i++){
          clear_clk_pin;
           
          if(data & 0x80) set_data_pin;
          else clear_data_pin;
               
    
        
        set_clk_pin;
        
        data <<= 1;
        }
        clear_clk_pin;
        clear_data_pin;
        set_cs_pin;     //disable LCD
    }
    
    
    void LCD_writeCommand ( unsigned char command ){
    char i;
    
    clear_clk_pin;
    clear_data_pin;
    set_clk_pin;
    
           
      for(i=0;i<8;i++){
          clear_clk_pin;
           
          if(command & 0x80) set_data_pin;
          else clear_data_pin;
            
    
    
        
        set_clk_pin;
        
        command <<= 1;
        }
        clear_clk_pin;
        clear_data_pin;
        set_cs_pin;     //disable LCD
    }
    
    
    void Gotoxy(char x,char y){
    		LCD_writeCommand(0xB0|(y&0x0F));		 // Y axis initialisation: 0100 yyyy			
    		LCD_writeCommand(0x00|(x&0x0F));		 // X axis initialisation: 0000 xxxx ( x3 x2 x1 x0)
    		LCD_writeCommand(0x10|((x>>4)&0x07)); // X axis initialisation: 0010 0xxx ( x6 x5 x4)
    
    }
    
    void main(void){
    unsigned int i;
    
    DDRD=0xff;
    DDRB=0xff;
    PORTB=0x00;
    delay_ms(300);
    LCD_init();
    
    Gotoxy(0,0);
    
      for(i=0;i<864;i++){ 
      LCD_writeData(0xff);
      }
    
    
    while(1){
    PORTD.0=1;
    
    delay_ms(500);
    PORTD.0=0;
    
    delay_ms(500);
    }
    }
    [/left]

    #2
    پاسخ : ال سی دی نوکیا 1202

    امداد برسانید

    دیدگاه


      #3
      پاسخ : ال سی دی نوکیا 1202

      ببین این لینک کمکی بهت میکنه.......
      http://www.eca.ir/forum2/index.php?topic=91568.0

      دیدگاه


        #4
        پاسخ : ال سی دی نوکیا 1202

        سلام
        مشکل Mirror شدن رو میتونید داخل Library با تغییر یکی از Defineها که اسمش هم مشخص هست رو برطرف کنید
        موفق باشید
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازي با AVR [آموزشی]

        دیدگاه


          #5
          پاسخ : ال سی دی نوکیا 1202

          نوشته اصلی توسط punisher.x64
          سلام
          مشکل Mirror شدن رو میتونید داخل Library با تغییر یکی از Defineها که اسمش هم مشخص هست رو برطرف کنید
          موفق باشید
          کدی که من نوشتم چه مشکلی داره که در شبیه سازی جواب میده ولی در عمل جواب نمیده؟

          دیدگاه


            #6
            پاسخ : ال سی دی نوکیا 1202

            نوشته اصلی توسط punisher.x64
            سلام
            مشکل Mirror شدن رو میتونید داخل Library با تغییر یکی از Defineها که اسمش هم مشخص هست رو برطرف کنید
            موفق باشید
            آخه توی شبیه سازی درسته،در عمل به صورت mirror نشون میده(همون فایل هگزیه که خودتون توی تاپیکی که گفتم واسه مگا 32 گزاشتید)
            حالا فکر میکنید مشکل چیه؟

            دیدگاه


              #7
              پاسخ : ال سی دی نوکیا 1202

              نوشته اصلی توسط abolfazles
              آخه توی شبیه سازی درسته،در عمل به صورت mirror نشون میده(همون فایل هگزیه که خودتون توی تاپیکی که گفتم واسه مگا 32 گزاشتید)
              حالا فکر میکنید مشکل چیه؟
              عرض کردم...
              این که توی شبیه سازی مشکلی نداره بستگی به طراحی السیدی در محیط شبیه ساز داره
              السیدی هایی که در بازار هستند همه توسط یک کمپانی تولید نمیشند...بسته به مدل طراحی چیپشون هم تغییر میکنه
              اون دیفاین هم که داخل لایبرری گذاشته شده واسه همینه که شما کدهاتون رو بر اساس نوع السیدی که دارید کامپایل کنید.
              حالا این که کد هگزی که من گذاشتم روی السیدی خودم درست نشون داده میشه و روی السیدی شما mirror میشه به خاطر اینه که چیپشون تفاوت داره و کافیه که شما اون دیفاین داخل Library رو بر اساس نوع چیپ السیدی خودتون تغییر بدید و مجددا کامپایل کنید
              موفق باشید...
              تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

              www.intelart.ir


              ساخت کنترلر دما PID فازي با AVR [آموزشی]

              دیدگاه


                #8
                پاسخ : ال سی دی نوکیا 1202

                ببینید این به دردتون میخوره:
                http://s5.picofile.com/file/8152262500/nlcd.7z.html
                گذشت خصلت مردان است

                دیدگاه

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