![]() |
![]() |
#19 |
Đệ tử 1 túi
Tham gia ngày: Oct 2009
Bài gửi: 12
: |
![]() 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); } 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 đỡ thay đổi nội dung bởi: dcn_dt, 20-07-2012 lúc 09:38 AM. |
![]() |
![]() |