View Single Post
Old 28-10-2009, 05:11 PM   #76
popeye_ts22
Đệ tử 2 túi
 
popeye_ts22's Avatar
 
Tham gia ngày: Jul 2008
Nơi Cư Ngụ: Hà Nội
Bài gửi: 42
:
Send a message via Yahoo to popeye_ts22
Đoạn code sau em dựa vào thư viện lcd_lib_8bit của CCS, chạy trên CCS cho PIC24FJ128GA010 rùi nhưng khi chỉnh sửa cho sang C30 thì không báo lỗi nhưng cũng không thấy hiện tượng gì, các bác giúp em với
Code:
#include <p24FJ128GA010.h>
#include <string.h>
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) 
_CONFIG2( FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_HS & FNOSC_PRI)
///////////////////////
#define RS  LATD15
#define RW  LATD5
#define E   LATD4
#define LCD PORTE
/*Ham yeu cau goi lenh dieu khien LCD*/
   void comnwrt(void)
   {
      LATDbits.RS = 0;
      LATDbits.RW = 0;
      LATDbits.E  = 1;
      LATDbits.E  = 0;
      DelayMs(1);
   }
/*Ham yeu cau goi du lieu hien thi len LCD*/
   void datawrt(void)
   {
      LATDbits.RS = 1;
      LATDbits.RW = 0;
      LATDbits.E = 1;
      LATDbits.E = 0;
      DelayMs(1);
   }
void lcd_init(void)
   {
      DelayMs(100);   //   Tao tre 100ms cho LCD khoi dong
      LCD = 0x38;      //   Hai hang, ma tran dot 5*7, 8 bit interface
      comnwrt();
      LCD = 0x0C;      //   Bat hien thi, tat con tro
      comnwrt();
   }
void lcd_putcmd(unsigned int Cx)
   {
      LCD=Cx;
      comnwrt();
   }
void lcd_putchar(char Cx)
   {
     unsigned char x=0;unsigned char i=0;
      x=(strlen(Cx));  
      for(i=0;i<=x;i++)
      {
         if(Cx==' ')i=i+2;
         LCD=Cx;
         datawrt();
      }  
   }
///////////////////
int main(void)
{
	_TRISD4=0;
	LATDbits.E=0;
	_TRISD5=0;
	LATDbits.RW=0;
	_TRISD15=0;
	LATDbits.RS=0;
	TRISE=0xFFF0;
	lcd_init();
	DelayMs(1000);
	lcd_putcmd(0x01);
     while(1);
	{
	lcd_putcmd(0x80);
	lcd_putchar("PIC");
    DelayMs(5000);
	}
}
__________________
Best Regard.
popeye_ts22 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn