⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd-char.lst

📁 nokia5110.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
   221: 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,
   222: 
   223: /*--  文字:  +  --49*/
   224: /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
   225: 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   226: 
   227: /*--  文字:  -  --50*/
   228: /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
   229: 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00
   230: };
   231: 
   232: const unsigned char hanzi[]=
   233: {
   234: /*--  文字:  宁  --*/
   235: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   236: 0x00,0x90,0x8C,0x84,0x84,0x84,0x85,0x86,0x84,0x84,0x84,0x84,0x94,0x8E,0x04,0x00,
   237: 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   238: 
   239: /*--  文字:  波  --*/
   240: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   241: 0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
   242: 0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
   243: 
   244: /*--  文字:  单  --*/
   245: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   246: 0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
   247: 0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,
   248: 
   249: /*--  文字:  片  --*/
   250: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   251: 0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,
   252: 0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,
   253: 
   254: /*--  文字:  机  --*/
   255: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   256: 0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
   257: 0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
   258: 
   259: /*--  文字:  开  --*/
   260: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   261: 0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
   262: 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
   263: 
   264: /*--  文字:  发  --*/
   265: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   266: 0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,
   267: 0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00,
   268: 
   269: /*--  文字:  网  --*/
   270: /*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
   271: 0x00,0xFE,0x02,0x12,0x22,0xC2,0x22,0x1A,0x22,0x42,0x82,0x72,0x22,0xFE,0x00,0x00,
   272: 0x00,0x7F,0x08,0x04,0x03,0x00,0x03,0x0C,0x04,0x02,0x01,0x26,0x60,0x3F,0x00,0x00,
   273: };
   274: 
   275: void delay_1ms(void)//1ms延时函数
   276: {
   277:         unsigned int i;
   278:         for (i=0;i<500;i++)
   279:                 asm("CLRWDT");
   280: }
   281: void init(void)
   282: {
   283:         asm("CLRWDT");  
   284:         ADCON1=0X06;
   285:         OPTION=0x81;
   286:         TRISA=0B00000000;
   287:         TRISB=0B00111000;
   288:         TRISC=0B00000000;
   289:         TRISD=0B00000000;
   290:         TRISE=0B00000000;
   291:         PORTA=0;
   292:         PORTB=0x04;
   293:         PORTC=0;
   294:         PORTD=0;
   295:         PORTE=0;
   296:         RBIE=0;         
   297: }
   298: /*--------------------------------------------
   299: LCD_write_byte: 使用SPI接口写数据到LCD
   300: 输入参数:dt:写入的数据;
   301: command :写数据/命令选择;
   302: 编写日期:20080918 
   303: ----------------------------------------------*/
   304: void LCD_write_byte(unsigned char dt, unsigned char command)
   305: {
   306:         unsigned char i; 
   307:         sce=0;  
   308:         dc=command;     
   309:         for(i=0;i<8;i++)
   310:         { 
   311:                 if(dt&0x80)
   312:                         sdin=1;
   313:                 else
   314:                         sdin=0;
   315:                 dt=dt<<1;               
   316:                 sclk=0;                 
   317:                 sclk=1; 
   318:         }       
   319:         dc=1;   
   320:         sce=1;  
   321:         sdin=1;
   322: }
   323: /*---------------------------------------
   324: LCD_init: 3310LCD初始化
   325: 编写日期:20080918 
   326: -----------------------------------------  */
   327: void LCD_init(void)
   328: {
   329:         sce=1;
   330:         res=1;
   331:         delay_1ms();
   332:         res=0;          
   333:         delay_1ms();
   334:         res=1;  
   335:         LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
   336:         LCD_write_byte(0xd9,0);//设定液晶偏置电压(高--低)
   337:         LCD_write_byte(0x20,0);//使用基本指令
   338:         LCD_write_byte(0x0C,0);//设定显示模式,正常显示
   339: }
   340: /*-------------------------------------------
   341: LCD_set_XY: 设置LCD坐标函数
   342: 输入参数:X:0-83  Y:0-5
   343: 编写日期:20080918 
   344: ---------------------------------------------*/
   345: void LCD_set_XY(unsigned char X, unsigned char Y)
   346: {
   347:         LCD_write_byte(0x40 | Y, 0);// column
   348:         LCD_write_byte(0x80 | X, 0);// row
   349: } 
   350: /*------------------------------------------
   351: LCD_clear: LCD清屏函数
   352: 编写日期:20080918 
   353: --------------------------------------------*/
   354: void LCD_clear(void)
   355: {
   356:         unsigned char t;
   357:         unsigned char k;
   358:         LCD_set_XY(0,0);
   359:         for(t=0;t<6;t++)
   360:         { 
   361:                 for(k=0;k<84;k++)
   362:                 { 
   363:                         LCD_write_byte(0x00,1);
   364:                         asm("CLRWDT");                  
   365:                 } 
   366:         }
   367: }
   368: /*---------------------------------------------
   369: LCD_write_shu: 显示8(宽)*16(高)点阵列数字字母符号等半角类
   370: 输入参数:c:显示的字符;
   371: 编写日期:20080918 
   372: -----------------------------------------------*/
   373: void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
   374: {
   375:         unsigned char i;        
   376:         asm("CLRWDT");
   377:         LCD_set_XY(row*8, page);// 列,页 
   378:         for(i=0; i<8;i++) 
   379:         {
   380:                 LCD_write_byte(shuzi[c*16+i],1); 
   381:         }
   382:         asm("CLRWDT");
   383:     LCD_set_XY(row*8, page+1);// 列,页 
   384:         for(i=8; i<16;i++) 
   385:         {
   386:                 LCD_write_byte(shuzi[c*16+i],1);
   387:         }               
   388: }
   389: /*---------------------------------------------
   390: LCD_write_hanzi: 显示16(宽)*16(高)点阵列汉字等半角类
   391: 输入参数:c:显示的字符;
   392: 编写日期:20080918 
   393: -----------------------------------------------*/
   394: void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
   395: {
   396:         unsigned char i;        
   397:         asm("CLRWDT");
   398:         LCD_set_XY(row*8, page);// 列,页 
   399:         for(i=0; i<16;i++) 
   400:         {
   401:                 LCD_write_byte(hanzi[c*32+i],1); 
   402:         }
   403:         asm("CLRWDT");
   404:     LCD_set_XY(row*8, page+1);// 列,页 
   405:         for(i=16; i<32;i++) 
   406:         {
   407:                 LCD_write_byte(hanzi[c*32+i],1);
   408:         }       
   409: }
   410: main()
   411: {       
   412:         init();                 
   413:         LCD_init();  //初始化LCD模块 
   414:         LCD_clear(); //清屏幕   
   415:         LCD_write_hanzi(0,0,0);  //宁   
   416:         LCD_write_hanzi(2,0,1);  //波
   417:         LCD_write_hanzi(4,0,2);  //单
   418:         LCD_write_hanzi(6,0,3);  //片
   419:         LCD_write_hanzi(8,0,4);  //机
   420:         
   421:         LCD_write_hanzi(1,2,5);  //开
   422:         LCD_write_hanzi(4,2,6);  //发
   423:         LCD_write_hanzi(7,2,7);  //网
   424:                                 
   425:         LCD_write_shu(1,4,23);   //n
   426:         LCD_write_shu(2,4,11);   //b
   427:         LCD_write_shu(3,4,13);   //d
   428:         LCD_write_shu(4,4,25);   //p
   429:         LCD_write_shu(5,4,19);   //j
   430:         LCD_write_shu(6,4,45);   //.
   431:         LCD_write_shu(7,4,12);   //c
   432:         LCD_write_shu(8,4,24);   //o
   433:         LCD_write_shu(9,4,22);   //m    
   434:         
   435:         while(1)
   436:         {
   437:         asm("CLRWDT");  
   438:         }
   439: }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -