Lâu quá không ai ghé đây nhỉ. Em thuộc lớp sinh sau đẻ muộn. Giờ mới lần mò Pic & CCS. Em có nhiều điều muốn hỏi "dần dần". Ai ghé qua thì giúp em với. Em viết Avr thì em viết Lcd như thế này.
Code:
unsigned char M[16];
#define LcdPort PORTB
#define LcdPin PINB
#define LcdDDR DDRB
#define LcdRS PORTB.0
#define LcdRW PORTB.1
#define LcdEN PORTB.2
unsigned char LcdBusy(void)
{
unsigned char BF;
LcdDDR &=0x0F;//High 4 bit are input
//LcdPort=0xF7;//R Pull-Up Enable
LcdRS=0;
LcdRW=1;
BF=0;
LcdEN=1;
delay_us(10);
BF=LcdPin&0x80;
LcdEN=0;
delay_us(10);
LcdEN=1;
delay_us(10);
LcdEN=0;
delay_us(10);
if(BF==0x80)return(1);
else return(0);
}
//----------------
void LcdWr(unsigned char D)
{
LcdDDR|=0xF0;//High 4bit are Output
delay_us(10);
LcdPort=((LcdPort&0x0F)|(D&0xF0));
LcdEN=1;
LcdEN=0;
//--
LcdPort=((LcdPort&0x0F)|((D<<4)&0xF0));
LcdEN=1;
LcdEN=0;
}
//----------------
void LcdWrData(unsigned char LcdData)
{
while(LcdBusy());
//delay_ms(200);
LcdRS=1;
LcdRW=0;
LcdWr(LcdData);
//LcdRW=1;
}
//----------------
void LcdWrCmd(unsigned char LcdCmd)
{
while(LcdBusy());
//delay_ms(200);
LcdRS=0;
LcdRW=0;
LcdWr(LcdCmd);
//LcdRW=1;
}
//----------------
void LcdWrStr(char *s)
{
while(*s)
{
LcdWrData(*s);
s++;
}
}
void LcdInit(void)
{
LcdWrCmd(0x02);
LcdWrCmd(0x0c);
LcdWrCmd(0x28);
LcdWrCmd(0x03);
LcdWrCmd(0x01);
}
unsigned int k=123;
void main(void)
{
LcdInit();
LcdWrCmd(0xC0);
sprintf(&M[0],"Display:%d ",k); LcdWrStr(&M[0]);
while(1);
}
cái em muốn hỏi là: %d gọi là cái gì (Em ko biết tên nên mới "tả" nó thế).
trong CCS em muốn hiển thị các dạng số thực, số nguyên, số hexa... thì dùng cái %gì đựoc ạ. nó có ở mục nào trong help không?
//mong mọi nguời giúp đỡ