??? 10/26/05 06:48 Read: times |
#102956 - LCD drivers in C |
Hi all
hope this routines will be helpful for the beginners. /* this routine will print the hex nos in lcd directly*/ void hex2lcd(unsigned char hexdata) { unsigned char MSB,LSB; MSB=((hexdata&0xf0)>>4); LSB=(hexdata&0x0f); if(MSB<0xa) MSB=0x30+MSB; else MSB=0x37+MSB; if(LSB<0xa) LSB=0x30+LSB; else LSB=0x37+LSB; lcd_data(MSB); lcd_data(LSB); } /* this routine will print the decimal equivalent for the hex nos in lcd directly in the format "X.XX" */ void hex2dec2lcd(unsigned int hexnum) { unsigned char t=0,u=0,v=0; h=0; while(hexnum>=100) { h=hexnum-100; t++; hexnum=h; } while(hexnum>=10) { h=hexnum-10; u++; hexnum=h; } v=hexnum; lcd_data(t+48); lcd_data(46); lcd_data(u+48); lcd_data(v+48); } /* Routine for LCD display */ void lcd_data(unsigned char dat) { LCD_RS=1; LCD_RW=0; LCD_PORT=(dat); LCD_EN=1; for(a=0;a<0xf;a++); LCD_EN=0; } |