NOKIA 5510.docx

上传人:b****8 文档编号:9323524 上传时间:2023-02-04 格式:DOCX 页数:10 大小:265.05KB
下载 相关 举报
NOKIA 5510.docx_第1页
第1页 / 共10页
NOKIA 5510.docx_第2页
第2页 / 共10页
NOKIA 5510.docx_第3页
第3页 / 共10页
NOKIA 5510.docx_第4页
第4页 / 共10页
NOKIA 5510.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

NOKIA 5510.docx

《NOKIA 5510.docx》由会员分享,可在线阅读,更多相关《NOKIA 5510.docx(10页珍藏版)》请在冰豆网上搜索。

NOKIA 5510.docx

NOKIA5510

nokia7110LCD显示汉字

nokia7110LCD显示汉字

简单的打点。

至于屏幕右下角出现的那几条线,可能是proteus的BUG

程序如下

#include

#include"stdio.h"

#defineucharunsignedchar 

#defineuintunsignedint

#defineCLR_CSPORTD&=~(1<<0)

#defineSET_CSPORTD|=(1<<0)

#defineCLR_DCPORTD&=~(1<<1)//lowforControldata    highforDisplaydata

#defineSET_DCPORTD|=(1<<1)

#defineCLR_RESETPORTD&=~(1<<2)

#defineSET_RESETPORTD|=(1<<2)

ucharHZ[][32]={{0xFF,0xBF,0x4D,0x69,0x65,0x6D,0x09,0x65,0x6C,0x6E,0x66,0x68,0x6E,0x6F,0xCF,0xFF,0xBF,0xDF,0x5F,0x6F,0xB3,0xB8,0xD5,0xD5,0xED,0xE5,0xD9,0xDD,0xBF,0x3F,0xBF,0xFF},/*"爱",0*/

{0xDF,0xDF,0xDD,0xDD,0x01,0xDE,0xDE,0xDF,0xDF,0x00,0xDF,0xDD,0x53,0xDF,0xDF,0xFF,0xFB,0xFB,0xBD,0x7D,0x80,0xFE,0xFE,0xEF,0xEF,0xF7,0xF8,0xE5,0xDE,0xBF,0x0F,0xFF},/*"我",1*/

{0xFF,0xFF,0x03,0xF7,0xF7,0xF7,0xF7,0x00,0xF7,0xF7,0xF7,0xF7,0x03,0xF7,0xFF,0xFF,0xFF,0xFF,0xF8,0xFD,0xFD,0xFD,0xFD,0x00,0xFD,0xFD,0xFD,0xFD,0xF8,0xFF,0xFF,0xFF},/*"中",2*/

{0xDF,0xEF,0xF7,0x03,0xFC,0xFD,0xEF,0xEF,0x80,0x77,0x77,0x7B,0x79,0x1B,0xFF,0xFF,0xFF,0xFB,0xFB,0xFA,0xFB,0xFB,0xFB,0x00,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFF},/*"华",3*/

{0xDF,0xDF,0xDD,0xDD,0x01,0xDE,0xDE,0xDF,0xDF,0x00,0xDF,0xDD,0x53,0xDF,0xDF,0xFF,0xFB,0xFB,0xBD,0x7D,0x80,0xFE,0xFE,0xEF,0xEF,0xF7,0xF8,0xE5,0xDE,0xBF,0x0F,0xFF},/*"我",4*/

{0xFF,0x07,0x73,0x74,0x77,0x07,0xBF,0xCF,0x70,0xF7,0xF7,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,0x80,0xEF,0xEF,0xEF,0xC0,0xFF,0xFF,0xFF,0xFC,0xD9,0xBF,0xDF,0xE0,0xFF,0xFF},/*"的",5*/

{0xFF,0xE7,0xFB,0xEB,0x6B,0x6B,0x2A,0x49,0xEB,0xEB,0x6B,0xFB,0xEB,0xF3,0xFB,0xFF,0xFF,0xD6,0xD6,0xEA,0xEB,0xB5,0x76,0xBB,0xC0,0xF9,0xF6,0xF6,0xEF,0xCF,0xEF,0xFF}};

/**********************************************************

              GlobalVariable

**********************************************************/

ucharpage;

ucharx,y;

ucharchar_row;

ucharcharpos;

ucharchardata;

voidnokia_write_dorc(ucharbytefornokia);

voidnokia_write_command(ucharbytefornokia_command);

voidnokia_write_data(ucharbytefornokia_data);

voidnokia_gotoxy(ucharxnokia,ucharynokia);

voidlcdpixel(ucharx,uchary,uchard);

voidlcd_chr(ucharcharsel);

voiddelay_ms(uintt)

{

  uinti,j;

   for(i=0;i

  for(j=0;j<100;j++);

}

voidSPI_init()

{

  DDRB|=(1<<5)|(1<<7);//MOSISCKOUTPUT

  SPCR=(0<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(0<<1)|

(1);

}

voidSPI_sendB(uchard)

{

   /*启动数据传输*/

  SPDR=d;

  /*等待传输结束*/

  while(!

(SPSR&(1<

}

/********************************************************

             NokiaclearLCDfunction

********************************************************/

voidnokia_cls(){

  for(page=0;page<9;page++)             //9page

     {

        nokia_write_command(0xB0|page);  //pageaddressie:

0xB0,0xB1,...,0xB7

        nokia_write_command(0x11);         //most4bitcolumnaddresscommand00010011

        nokia_write_command(0x02);         //least4bitcolumnaddresscommand00000011

        for(x=96;x>0;x--)               //96column

           nokia_write_data(0x00);

     }

}

/**********************************************************

              ResetLCDFunction

**********************************************************/

voidnokia_reset() 

{

  SET_RESET;       //1

  delay_ms(10); 

  CLR_RESET;  //0

  delay_ms(10);

  SET_RESET;  //1

  delay_ms(100);

}

/**********************************************************

              InitialLCDFunction

**********************************************************/

voidnokia_init(){

  nokia_reset();

  nokia_write_command(0xA6);//lcdinnormaldisplaymode(0xA7negativemode)

  nokia_write_command(0xA3);//lcdbias(1/90xA2-1/70xA3)

  nokia_write_command(0xA1);//(0xA1reverselcd-0xA0selectnormal)

  nokia_write_command(0xC0);//commonoutputnormal(0xC8reverse)

  nokia_write_command(0x22);//V5resistorratio

  nokia_write_command(0x81);//electronicvolumemode

  nokia_write_command(0x2E);//powercontrolsetvalue(contrastlevel-->0x00lightestto0x3Fdarkest)

  nokia_write_command(0x2F);//powercontrolsetvalue

  nokia_write_command(0xE3);//nop

  nokia_write_command(0x40);//startlineset

  nokia_write_command(0xAF);//lcdon

  nokia_write_command(0xA5);//lcdallpointson

  delay_ms(500);

  nokia_write_command(0xAE);//lcdoff

  nokia_cls();

  nokia_write_command(0xAF);//lcdon

  nokia_write_command(0xA4);//lcdnormaldisplaymode

}

/**********************************************************

              sent8bitdatatoLCDbyseries

**********************************************************/

voidnokia_write_dorc(ucharbytefornokia)

SPI_sendB(bytefornokia);

}

/**********************************************************

             SentCommandtoLCDFunction

**********************************************************/

voidnokia_write_command(ucharbytefornokia_command) 

{

  CLR_DC;  //lcdcommandmode

  CLR_CS;  //chipenabled

  nokia_write_dorc(bytefornokia_command);

  SET_CS;  //chipdisabled

}

/**********************************************************

              SentDatatoLCDFunction

**********************************************************/

voidnokia_write_data(ucharbytefornokia_data){

  SET_DC;  //displaydatamode

  CLR_CS;  //chipenabled

  nokia_write_dorc(bytefornokia_data);

  SET_CS;  //chipdisabled

}

/**********************************************************

gotoxypositiononLCDFunction

**********************************************************/

voidnokia_gotoxy(ucharlcd_row,ucharlcd_col) 

{                //lcy_row:

0-8(8thcolumnhasonly1line/D0,lcd_col:

0-15

charcol_addr;

nokia_write_command(0xB0+lcd_row);  //pageaddressset.pg8-48inthedatasheet.

col_addr=0x12+(lcd_col);    //eachfonthasfivecolumns+1blankcolumn.xaddr:

0-95onnoki

               //a7110.nooffset.

//lcd_1st_col=0x12:

thefirstcolumnofdisplaystartshere.Weird!

thedatasheetdidn'tmentionit.

nokia_write_command(0x10|(col_addr>>4));//columnaddress4mostbitset

nokia_write_command(0x0f&col_addr);//columnaddress4leastbitset

}

/**********************************************************

          在xy位置xie一个字节

**********************************************************/

voidlcdpixel(ucharx,uchary,uchard)//左下角为(0,0)x0-75   有个bug

           //  y0-63 

{

nokia_gotoxy(x,y);

nokia_write_data(d);

}

voidlcd_HZ(ucharx,uchary,uchar*s)

{

uchari;

y=y*16;

for(i=0;i<16;i++)

{

  lcdpixel(x,y+i,s[i]);

}

for(i=16;i<32;i++)

{

  lcdpixel(x+1,y+i-16,s[i]);

}

}

voidmain()

{

uchari;

   DDRD=0XFF;

SPI_init();

nokia_init();

    

   //lcdpixel(1,0,0xaa);

for(i=0;i<8;i++)

  lcd_HZ(0,i,HZ[i]);

//nokia_write_command(0xa5);  //diaplayallpointson

//while

(1);

}

字模的提取还是用的PCtoLCD2000

######################################################################

上面的“家”,没显示出来

voidmain()

{

uchari;

   DDRD=0XFF;

SPI_init();

nokia_init();

    

   //lcdpixel(1,0,0xaa);

for(i=0;i<6;i++)

  lcd_HZ(0,i,HZ[i]);

  lcd_HZ(2,0,HZ[6]);

//nokia_write_command(0xa5);  //diaplayallpointson

//while

(1);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1