找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12443|回复: 3
打印 上一主题 下一主题
收起左侧

Nokia5110液晶屏使用方法

[复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-26 17:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Nokia5110液晶屏是诺基亚5110手机的拆机屏,该手机于1998年上市,现在早已停产,液晶屏就被拆机卖了。裸屏价格5元左右,加PCB板和背光的价格在15元左右。5110的优点是:性价比高,给英文屏的价格买中文屏!性能优于 优于1602,12864液晶。1602价格10左右,不能显示中文,而且只有两排显示!12864价格昂贵了,价格一般在60元以上。1602,12864液晶是单片机开发的常规正统的LCD显示器。但是,5110液晶屏完全可以取代它们了。

    5110全屏能显示6行字母或数字,一行能显示14个字母或数字。全屏可显示3行汉字,一行能容纳7个汉字!从这个参数看来,性价比上就优于1602,12864液晶。5110液晶屏现在在市面上的库存应该有数十万片以上,一般只有单片机开发的人才用得上这种屏。所以,在短时间看来,还是不用担心库存问题!
//液晶屏驱动测试代码
#include <reg51.h>
/*
程序默认IO连接方式:
sce-P0^0;  res-P0^1;  dc-P0^2;  sdin-P1^5;  sclk-P1^7;
*/

sbit    sce = P0^0;  //片选
sbit    res = P0^1;  //复位,0复位
sbit    dc  = P0^2;  //1写数据,0写指令
sbit    sdin = P1^5;  //数据
sbit    sclk = P1^7;  //时钟
//6*16字符
unsigned char code shuzi[]={
/*--  文字:  G  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0xF0,0x08,0x04,0x44,0xCC,0x40,0x00,0x01,0x02,0x02,0x01,0x00
};
unsigned char code hanzi[]=
{
/*--  文字:  单  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=12x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
0x00,0x00,0x7C,0x55,0x56,0xFC,0x56,0x55,0x54,0x7C,0x00,0x00,0x01,0x01,0x01,0x01,
0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,
};

void delayms(unsigned  int ii)  //1ms延时函数
{
unsigned int i,x;
for (x=0;x<ii;x++)
{
for (i=0;i<100;i++);
}
}
/*--------------------------------------------
LCD_write_byte: 使用SPI接口写数据到LCD
输入参数:dt:写入的数据;
command :写数据/命令选择;
----------------------------------------------*/
void LCD_write_byte(unsigned char dt, unsigned char command)
{
unsigned char i;
sce=0;
dc=command;
for(i=0;i<8;i++)
{
  if(dt&0x80)
   sdin=1;
  else
   sdin=0;
  dt=dt<<1;  
  sclk=0;   
  sclk=1;
}
dc=1;
sce=1;
sdin=1;
}
/*---------------------------------------
LCD_init: 3310LCD初始化
-----------------------------------------  */
void LCD_init(void)
{
res=0;   
   delayms(10);
   res=1;  
LCD_write_byte(0x21,0); //初始化Lcd,功能设定使用扩充指令
LCD_write_byte(0xC6,0); //设定液晶偏置电压
LCD_write_byte(0x06,0); //温度校正
   LCD_write_byte(0x13,0); //1:48
LCD_write_byte(0x20,0); //使用基本指令
LCD_write_byte(0x0C,0); //设定显示模式,正常显示
}
/*-------------------------------------------
LCD_set_XY: 设置LCD坐标函数
输入参数:X:0-83  Y:0-5
---------------------------------------------*/
void LCD_set_XY(unsigned char X, unsigned char Y)
{
LCD_write_byte(0x40 | Y, 0); // column
LCD_write_byte(0x80 | X, 0); // row
}
/*------------------------------------------
LCD_clear: LCD清屏函数
--------------------------------------------*/
void LCD_clear(void)
{
unsigned char t;
unsigned char k;
LCD_set_XY(0,0);
for(t=0;t<6;t++)
{
  for(k=0;k<84;k++)
  {
   LCD_write_byte(0x00,1);
   
  }
}
}
/*---------------------------------------------
LCD_write_shu: 显示6(宽)*16(高)点阵列数字字母符号等半角类
输入参数:c:显示的字符;
-----------------------------------------------*/
void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c)  //row:列 page:页 dd:字符
{
unsigned char i;   

LCD_set_XY(row*6, page); // 列,页
for(i=0; i<6;i++)
{
  LCD_write_byte(shuzi[c*12+i],1);
}

    LCD_set_XY(row*6, page+1); // 列,页
for(i=6; i<12;i++)
{
  LCD_write_byte(shuzi[c*12+i],1);
}   
}
/*---------------------------------------------
LCD_write_hanzi: 显示12(宽)*16(高)点阵列汉字等半角类
输入参数:c:显示的字符;
-----------------------------------------------*/
void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
{
unsigned char i;   

LCD_set_XY(row*6, page); // 列,行
for(i=0; i<12;i++)
{
  LCD_write_byte(hanzi[c*24+i],1);
}

    LCD_set_XY(row*6, page+1); // 列,行
for(i=12; i<24;i++)
{
  LCD_write_byte(hanzi[c*24+i],1);
}
}

main()
{
   unsigned char k;
sce=0;
res=0;
for(k=0;k<250;k++);
res=1;
LCD_init();  //初始化LCD模块
LCD_clear(); //清屏幕
LCD_write_hanzi(0,0,0);  //单
LCD_write_shu(10,4,0);  //G
   

   while(1)
   {

delayms(5000);
}
}

评分

参与人数 1黑币 +5 收起 理由
sunyuhao + 5 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:91888 发表于 2015-11-18 20:59 | 只看该作者
技术贴,支持
回复

使用道具 举报

板凳
ID:88905 发表于 2017-9-11 10:21 | 只看该作者
支持  5110的屏  玩玩很便宜
回复

使用道具 举报

地板
ID:79544 发表于 2017-9-12 09:28 | 只看该作者
好资料就要分享,感谢!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表