اطلاعیه

Collapse
No announcement yet.

راه اندازی lcd در مد هشت سیمه

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

    راه اندازی lcd در مد هشت سیمه

    سلام به دوستان عزیزم
    سوالم در مورد راه اندازی ال سی دی در مد هشت سیمه هستش
    میخواستم بدونم اگه بخوام این کارو بکنم حتما باید خطوط دیتای ال سی دی به یک پورت معلوم وصل بشه یا میشه کاری کرد که خطوط دیتای ال سی دی به پین های پورت های مختلف وصل بشه یعنی مثلا به چهارتا پین پورت cوصل بشه و به چهارتا پین پورت d
    خواهشا اگه اطلاعاتی دارید کمکم کنید
    میخواستم با بسکاام هم راه بندازم
    ممنونم
    منتظرم

    #2
    پاسخ : راه اندازی lcd در مد هشت سیمه

    سلام دوست عزیز
    این کار به راحتی با بسکام انجام میشه و نیازی نیست که به پورت مشخصی وصل بشه
    نمونه برنامه بسکام :
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6

    help بسکام راهنمای خوبیه
    موفق باشید
    به اميد ظهور مولامون که صد البته نزديک است

    دیدگاه


      #3
      پاسخ : راه اندازی lcd در مد هشت سیمه

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

      دیدگاه


        #4
        پاسخ : راه اندازی lcd در مد هشت سیمه

        خواهشا کسی اگه اطلاعی داره کمک کنه
        بازم میگم خدمتون
        سوالم در مورد مد هشت سیمه هستش

        دیدگاه


          #5
          پاسخ : راه اندازی lcd در مد هشت سیمه

          سلام
          من با بسکام کار نمیکنم.اگه بسکام برای مد 8 بیتی تابع نداره خوب باید خودتون دست به کار بشید.
          یه همچین کاری هم فکر نکنم کسی تاحالا با بسکام کرده باشه.
          اگه زبان c بلدین خدمت شما این کد رو به بیسیک تبدیل کنید.
          کد:
          #ifndef _LCD_INCLUDED_ 
          #define _LCD_INCLUDED_
          
          #define lcd_rs(x) PORTCbits.RC0=x 
          #define lcd_en(x) PORTCbits.RC1=x 
          #define lcd_data(x) PORTD=x
          
          #define lcd_cursor_on   0x0e
          #define lcd_cursor_off  0x0c
          #define lcd_cursor_blink 0x0f
          #define lcd_clear     0x01
          #define lcd_home     0x02
          #define lcd_display_off  0x0c
          #define lcd_display_on  0x08
          #define lcd_shift_left  0x18
          #define lcd_shift_right  0x1e
          #define lcd_8bit_mode   0x38
          
          void lcd_init  (void);
          void lcd_puts  (unsigned char *m);
          void lcd_putc  (unsigned char a);
          void lcd_put   (int w);
          void lcd_gotoxy (unsigned char x,unsigned char y);
          void lcd_cmd   (unsigned char c);
          void lcd_write  (unsigned char c);
          
          void lcd_init (void){
          lcd_cmd(lcd_home);
          lcd_cmd(lcd_8bit_mode);
          lcd_cmd(lcd_display_off);
          lcd_cmd(lcd_display_on);
          lcd_cmd(lcd_cursor_off);
          }				
          //************************************************************
          void lcd_cmd(unsigned char c){
          lcd_rs(0); 
          lcd_write(c);
          if(c<3) wait_us(1500);}
          //************************************************************
          void lcd_puts(unsigned char *m){
          unsigned char i;
          lcd_rs(1);
          i=0;
          while(m[i]!=0){
          lcd_write(m[i]);
          i++;}}
          //************************************************************
          void lcd_putc(unsigned char a){
          lcd_rs(1);
          lcd_write(a);
          }
          //************************************************************
          void lcd_put(int w){
          unsigned char t[17],b;
          int a,c;
          a=w;b=0;
          while(a>9){a=a/10;b++;}
          c=1;
          for(a=0;a<b;a++){c=c*10;}
          for(a=0;a<18;a++){t[a]='\0';}
          a=0;
          while(c!=0){
          t[a]=(w/c)+0x30;
          w=w%c;
          c=c/10;
          a++;}
          lcd_puts(t);}
          //************************************************************
          void lcd_write(unsigned char c){
          lcd_data(c);
          lcd_en(1);
          wait_us(70);
          lcd_en(0);}
          //*************************************************************
          void lcd_gotoxy(unsigned char x,unsigned char y){
          (x-1)?(lcd_cmd(0xc0+y-1)):(lcd_cmd(0x80+y-1));}
          //*************************************************************
          #endif
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه

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