saravanakumar P
Newbie
here i am tried the code below have,I want to change big size font,can anyone help me to change the font size in big..
Code:
#include <xc.h>
#include"nokia_lcd.h"
void Nokia_Init();
void Nokia_SendCommand(char);
void Nokia_SendData(char);
void Nokia_SendString(char *);
void MSdelay(unsigned int);
void Nokia_Clear();
void Nokia_PositionXY(char, char);
void SPI_Init_Master();
void SPI_Write(unsigned char x);
void setCursor(unsigned char row, unsigned char col);
void setPixel(unsigned char x, unsigned char y);
void charDisp(unsigned char a);
#define CS PORTAbits.RA5
#define DC PORTDbits.RD7
#define RES PORTDbits.RD4
unsigned char font[][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
{ 0x00,0x00, 0x06, 0x09, 0x09, 0x06 } // horiz lines
};
void main()
{
SPI_Init_Master(); /* initialize SPI master*/
Nokia_Init(); /* initialize Nokia 5110 display */
Nokia_Clear(); /* clear Nokia display */
Nokia_PositionXY(0,0); /* set X and Y position for printing */
Nokia_SendString("SARAVANA");
while(1);
// {
//Nokia_SendString("saravana");
// Nokia_SendData('s');
// }
}
void Nokia_SendCommand(char cmd)
{
DC = 0; /* Data/Command pin, D/C=1 - Data, D/C = 0 - Command*/
CS = 0; /* enable chip */
SPI_Write(cmd); /* write command to the Nokia 5110 */
CS = 1; /* disable chip */
}
void Nokia_SendData(char dat)
{
char i;
DC = 1; /* Data/Command pin, D/C=1 - Data, D/C = 0 - Command*/
CS = 0; /* enable chip */
for(i=0;i<6;i++)
//SPI_Write(dat);
SPI_Write(font[(dat) - (0x20)]); /* write data to the Nokia 5110 */
CS = 1; /* disable chip */
}
void charDisp(unsigned char a){
unsigned char i, b;
if ( (a < 0x20) || (a > 0x7c) ){
a = 92;
}
for(i=0;i<5;i++){
b = font[a - 32] << 1;
SPI_Write(b);
}
SPI_Write(0x00);
}
void Nokia_SendString(char data[])
{
char j=0;
while(data[j]!='\0')
{
//charDisp(data[j]);
Nokia_SendData(data[j]);
j++;
}
j=0;
}
void Nokia_PositionXY(char X, char Y)
{
Nokia_SendCommand(0x80 | X); /* set X position */
Nokia_SendCommand(0x40 | Y); /* set Y position */
}
void Nokia_Init()
{
/*apply 100 ms reset(low to high) pulse */
RES = 0; /* enable reset */
MSdelay(100);
RES = 1; /* disable reset */
Nokia_SendCommand(0x23); /* display extended commands*/
Nokia_SendCommand(0x13); /* select Bias voltage*/
Nokia_SendCommand(0x07); /* set temperature coefficient*/
Nokia_SendCommand(0xC0); /* set LCD Vop for contrast */
Nokia_SendCommand(0x20); /* display basic commands */
Nokia_SendCommand(0x0C); /* set normal mode */
}
void Nokia_Clear()
{
char i,j;
CS = 0;
DC = 1;
for(i=0;i<6;i++)
{
for(j=0;j<84;j++)
SPI_Write(0); /*write 0 to clear display */
}
CS = 1;
}
void MSdelay(unsigned int val)
{
unsigned int i,j;
for(i=0;i<=val;i++)
for(j=0;j<81;j++); /*This count Provide delay of 1 ms for 8MHz Frequency */
}
void setPixel(unsigned char x, unsigned char y)
{
Nokia_SendCommand(0x40|(y&0x07)); // Y axis
Nokia_SendCommand(0x80|(x&0x7f)); // X axis
}
void setCursor(unsigned char row, unsigned char col){
if((row>6) || (row<1) || (col<1) || (col>14))
return;
setPixel(((col-1)*6),(row-1));
}
void SPI_Init_Master()
{
TRISC =0X10;
PORTC=0X00;
TRISD=0X00;
PORTD=0X00;
TRISA=0X00;
PORTA=0X00;
ANSELA=0X00;
ANSELD=0X00;
ANSELC=0X00;
CS = 1;
SSPSTAT=0x40;
SSPCON1=0x22;
SSPIF=0;
//ADCON0=0;
//ADCON1=0x0F;
}
void SPI_Write(unsigned char x)
{
unsigned char data_flush;
SSPBUF=x; /* put data in SSBUF which has to transmit */
while(!SSPIF); /* wait for complete 1 byte transmission */
SSPIF=0; /* clear SSPIF flag */
data_flush=SSPBUF; /* flush the data as simultaneous read occurs */
}
Last edited by a moderator: