NOKIA 5510.docx
- 文档编号:9323524
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:10
- 大小:265.05KB
NOKIA 5510.docx
《NOKIA 5510.docx》由会员分享,可在线阅读,更多相关《NOKIA 5510.docx(10页珍藏版)》请在冰豆网上搜索。
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);// 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); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOKIA 5510
![提示](https://static.bdocx.com/images/bang_tan.gif)