Thông báo

Collapse
No announcement yet.

Help! THư viện LCD

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Help! THư viện LCD

    THư viện:
    Code:
    #include <delay.h>
    
    #define EN PORTB.2
    #define RW PORTB.1
    #define RS PORTB.0
    #define BF PINB.7
    /*#define DATA_O PORTB
    #define DATA_I PINB
    #define DDR_DATA DDRB
    */
    
    char Read_LCD()
    {
        char LB,HB;
        PORTB|=0xf0;
        EN=1;
        DDRB&=0x0f;
        HB=PINB&0xf0;
        EN=0;
        
        EN=1;
        LB=PINB&0xf0;
        EN=0;       
        LB=LB>>4;
        return(HB|LB);    
    }
    
    void Write_LCD(unsigned char chr)
    {
        unsigned char temp,HB,LB;
        temp=PORTB&0x0f;
        HB=chr&0xf0;
        LB=(chr<<4)&0xf0;
        
      
        PORTB=(HB|temp);
        EN=1;
        
        EN=0;
        
        PORTB=(LB|temp);
        EN=1;
        
        EN=0;
        
    }
    
    void Wait_LCD()
    {
        char temp;
        while(1)
        {   
            
            RS=0;
            RW=1; 
            temp=Read_LCD(); 
            temp=temp&0x80;
            if (temp==0)
                break;
            
        }          
        RW=0;
        
        DDRB=0xff;
    }
    
    void Start_LCD()
    {
        DDRB=0xff;
        PORTB=0xff;
        // function set
        RW=0;
        RS=0; 
        EN=0;
        
        EN=1;
        PORTB.5=1;
        EN=0;
        Wait_LCD();
        Write_LCD(0x28);
        Wait_LCD();
        
        //Dispaly control
        RS=0;
        Write_LCD(0x0e);
        Wait_LCD();
        
        //Entry mode set
        RS=0;
        Write_LCD(0x06);
        Wait_LCD();
        
    }
    
    void Home_LCD()
    {
        RS=0;
        Write_LCD(0x02);
        Wait_LCD();
    }
    
    void Move_LCD(char y,char x)
    {
        char temp;
        temp=64*(y-1)+(x-1)+0x80;
        RS=0;
        Write_LCD(temp);
        Wait_LCD();
    }
    
    void Clear_LCD()
    {
        RS=0;
        Write_LCD(0x01);
        Wait_LCD();
    }
    void Putchar_LCD(char chr)
    {
        RS=1;
        Write_LCD(chr);
        Wait_LCD();
    }
    Chương trình chính:
    Code:
    #include <mega16.h>
    #include <LCDG.h>
    
    void main()
    {
        Start_LCD();
        Clear_LCD();
        Putchar_LCD('A'); 
        Putchar_LCD('V');
        Putchar_LCD('R');
    
        while(1)
        {
            
        }
    }
    Thư viện viết theo cách của hocavr.com nhưng viết bằng codevision ko chạy. Có ai biết lỗi sửa hộ mình. Thanks!

  • #2
    bạn ơi h ng ta xài thư viện LCD có sẵn ko ak vừa ít chân hơn vừa dễ xài sao bạn ko xài, ko thì bạn vào đó coi coi nó viết nhu thế nào rồi tự kiểm tra cũng đ mà

    Comment


    • #3
      Trong codevision có sẳn bộ thư viện LCD mà? sao bạn ko xài?
      Nick: maiphuocsang
      Mail:
      Yêu Điện Tử, Nhưng Không Giỏi Điện Tử...Anh Em Chỉ Giáo!!!

      Comment

      Về tác giả

      Collapse

      red_black Tìm hiểu thêm về red_black

      Bài viết mới nhất

      Collapse

      Đang tải...
      X