老五家 LCD屏 ST7539 I2C接口 128*32

老五 0.6元LCD
驱动:ST7539
接口:I2C
数据地址:3F
命令地址: 3E

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

屏幕初始化:

void initLCD() {
  // 初始化LCD指令序列
  digitalWrite(LCD_REST,LOW);
  delay(20);
  digitalWrite(LCD_REST,HIGH);
  delay(500);
  sendCommand(0xE2);  // 软复位
  sendCommand(0xA3);  // 刷新率0.76 1.95 2.132 3.168
  sendCommand(0xEB);  // 设置偏压比
  sendCommand(0xC2);  // 方向
  sendCommand(0x81);  // 对比度命令
  sendCommand(0x2F);  // 微调对比度
  sendCommand(0xB0);  // 显示起始行
  sendCommand(0x10);  // 
  sendCommand(0x00);  // 
  sendCommand(0x40);  // 
  sendCommand(0xAF);  // 显示开
  delay(100);
}

I2C数据&指令

#define LCD_I2C_ADDR_CMD  0x3E  // 命令地址
#define LCD_I2C_ADDR_DATA 0x3F  // 数据地址

void sendCommand(uint8_t command) {
  Wire.beginTransmission(LCD_I2C_ADDR_CMD);
  Wire.write(command);
  delay(1);
  Wire.endTransmission();
}
void sendData(uint8_t data) {
  Wire.beginTransmission(LCD_I2C_ADDR_DATA);
  Wire.write(data);
  delay(1);
  Wire.endTransmission();
}

坐标

void setAddress(uint8_t page, uint8_t column)
{    
    uint8_t Page, Column;   
    Page = page - 1;    
    Column = column;    
    sendCommand(0xB0 + Page);  
    sendCommand(((Column >> 4) & 0x0f) + 0x10); //列地址MSB    
    sendCommand(Column & 0x0f); //列地址LSB
}

816字符:阳码&列行式&逆向&3216
在这里插入图片描述
字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~

const uint8_t Ascii_8x16[][16]=	  
{

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/
{0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCC,0xFF,0xFF,0xFF,0xFF},/*"!",1*/
{0xFF,0xEF,0xF3,0xFD,0xEF,0xF3,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*""",2*/
{0xFF,0xBF,0x3F,0x87,0xBF,0x3F,0x87,0xFF,0xFF,0xFB,0xC0,0xFB,0xFB,0xC0,0xFB,0xFF},/*"#",3*/
{0xFF,0x8F,0x77,0x77,0x03,0xF7,0xCF,0xFF,0xFF,0xE7,0xDF,0xDF,0x00,0xDE,0xE1,0xFF},/*"$",4*/
{0x0F,0xF7,0x0F,0x7F,0x9F,0xE7,0xFF,0xFF,0xFF,0xCE,0xF3,0xFC,0xE1,0xDE,0xE1,0xFF},/*"%",5*/
{0xFF,0x0F,0xF7,0x77,0x8F,0xFF,0xFF,0xFF,0xE1,0xDE,0xDC,0xD3,0xE6,0xD8,0xDE,0xEF},/*"&",6*/
{0xFF,0xED,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"'",7*/
{0xFF,0xFF,0xFF,0x1F,0xE7,0xFB,0xFD,0xFF,0xFF,0xFF,0xFF,0xF8,0xE7,0xDF,0xBF,0xFF},/*"(",8*/
{0xFF,0xFD,0xFB,0xE7,0x1F,0xFF,0xFF,0xFF,0xFF,0xBF,0xDF,0xE7,0xF8,0xFF,0xFF,0xFF},/*")",9*/
{0xBF,0xBF,0x7F,0x0F,0x7F,0xBF,0xBF,0xFF,0xFD,0xFD,0xFE,0xF0,0xFE,0xFD,0xFD,0xFF},/*"*",10*/
{0xFF,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xF0,0xFE,0xFE,0xFE},/*"+",11*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",12*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF},/*"-",13*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF},/*".",14*/
{0xFF,0xFF,0xFF,0xFF,0x3F,0xC7,0xFB,0xFF,0xFF,0x9F,0xE7,0xF8,0xFF,0xFF,0xFF,0xFF},/*"/",15*/
{0xFF,0x1F,0xEF,0xF7,0xF7,0xEF,0x1F,0xFF,0xFF,0xF0,0xEF,0xDF,0xDF,0xEF,0xF0,0xFF},/*"0",16*/
{0xFF,0xFF,0xEF,0xEF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF},/*"1",17*/
{0xFF,0x8F,0xF7,0xF7,0xF7,0xF7,0x0F,0xFF,0xFF,0xCF,0xD7,0xDB,0xDD,0xDE,0xCF,0xFF},/*"2",18*/
{0xFF,0xCF,0xF7,0xF7,0xF7,0x77,0x8F,0xFF,0xFF,0xE7,0xDF,0xDE,0xDE,0xDD,0xE3,0xFF},/*"3",19*/
{0xFF,0xFF,0x7F,0xBF,0xCF,0x07,0xFF,0xFF,0xFF,0xF9,0xFA,0xDB,0xDB,0xC0,0xDB,0xDB},/*"4",20*/
{0xFF,0x07,0x77,0x77,0x77,0xF7,0xF7,0xFF,0xFF,0xE6,0xDF,0xDF,0xDF,0xEE,0xF1,0xFF},/*"5",21*/
{0xFF,0x1F,0xEF,0x77,0x77,0x6F,0xFF,0xFF,0xFF,0xF0,0xEE,0xDF,0xDF,0xDF,0xE0,0xFF},/*"6",22*/
{0xFF,0xE7,0xF7,0xF7,0x77,0x97,0xE7,0xFF,0xFF,0xFF,0xFF,0xC1,0xFE,0xFF,0xFF,0xFF},/*"7",23*/
{0xFF,0x8F,0x77,0xF7,0xF7,0x77,0x8F,0xFF,0xFF,0xE3,0xDD,0xDE,0xDE,0xDD,0xE3,0xFF},/*"8",24*/
{0xFF,0x0F,0xF7,0xF7,0xF7,0xEF,0x1F,0xFF,0xFF,0xFE,0xED,0xDD,0xDD,0xEE,0xF0,0xFF},/*"9",25*/
{0xFF,0xFF,0xFF,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xFF,0xFF,0xFF},/*":",26*/
{0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0xFF,0xFF},/*";",27*/
{0xFF,0xFF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFF,0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xFF},/*"<",28*/
{0xFF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xFF,0xFF,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFF},/*"=",29*/
{0xFF,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF},/*">",30*/
{0xFF,0x8F,0xB7,0xF7,0xF7,0x77,0x8F,0xFF,0xFF,0xFF,0xFF,0xCF,0xC8,0xFF,0xFF,0xFF},/*"?",31*/
{0x3F,0xCF,0x37,0xD7,0x17,0xEF,0x1F,0xFF,0xF8,0xE7,0xD8,0xD7,0xD0,0xD7,0xE8,0xFF},/*"@",32*/
{0xFF,0xFF,0x3F,0xC7,0x1F,0xFF,0xFF,0xFF,0xDF,0xC3,0xDC,0xFD,0xFD,0xD8,0xC7,0xDF},/*"A",33*/
{0xF7,0x07,0x77,0x77,0x77,0x8F,0xFF,0xFF,0xDF,0xC0,0xDF,0xDF,0xDF,0xEE,0xF1,0xFF},/*"B",34*/
{0x3F,0xCF,0xF7,0xF7,0xF7,0xF7,0xC7,0xFF,0xF8,0xE7,0xDF,0xDF,0xDF,0xEF,0xF7,0xFF},/*"C",35*/
{0xF7,0x07,0xF7,0xF7,0xF7,0xEF,0x1F,0xFF,0xDF,0xC0,0xDF,0xDF,0xDF,0xEF,0xF0,0xFF},/*"D",36*/
{0xF7,0x07,0x77,0x77,0x17,0xF7,0xEF,0xFF,0xDF,0xC0,0xDF,0xDF,0xDC,0xDF,0xE7,0xFF},/*"E",37*/
{0xF7,0x07,0x77,0x77,0x17,0xF7,0xEF,0xFF,0xDF,0xC0,0xDF,0xFF,0xFC,0xFF,0xFF,0xFF},/*"F",38*/
{0x3F,0xCF,0xF7,0xF7,0xF7,0xC7,0xFF,0xFF,0xF8,0xE7,0xDF,0xDF,0xDD,0xE1,0xFD,0xFF},/*"G",39*/
{0xF7,0x07,0xF7,0xFF,0xFF,0xF7,0x07,0xF7,0xDF,0xC0,0xDE,0xFE,0xFE,0xDE,0xC0,0xDF},/*"H",40*/
{0xFF,0xF7,0xF7,0x07,0xF7,0xF7,0xFF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF,0xFF},/*"I",41*/
{0xFF,0xFF,0xF7,0xF7,0x07,0xF7,0xF7,0xFF,0x3F,0x7F,0x7F,0x7F,0x80,0xFF,0xFF,0xFF},/*"J",42*/
{0xF7,0x07,0x77,0x3F,0xD7,0xE7,0xF7,0xFF,0xDF,0xC0,0xDF,0xFE,0xD9,0xC7,0xDF,0xFF},/*"K",43*/
{0xF7,0x07,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xC0,0xDF,0xDF,0xDF,0xDF,0xCF,0xFF},/*"L",44*/
{0xF7,0x07,0x07,0xFF,0x07,0x07,0xF7,0xFF,0xDF,0xC0,0xFE,0xC1,0xFE,0xC0,0xDF,0xFF},/*"M",45*/
{0xF7,0x07,0xCF,0x3F,0xFF,0xF7,0x07,0xF7,0xDF,0xC0,0xDF,0xFF,0xF8,0xE7,0xC0,0xFF},/*"N",46*/
{0x1F,0xEF,0xF7,0xF7,0xF7,0xEF,0x1F,0xFF,0xF0,0xEF,0xDF,0xDF,0xDF,0xEF,0xF0,0xFF},/*"O",47*/
{0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0x0F,0xFF,0xDF,0xC0,0xDE,0xFE,0xFE,0xFE,0xFF,0xFF},/*"P",48*/
{0x1F,0xEF,0xF7,0xF7,0xF7,0xEF,0x1F,0xFF,0xF0,0xEF,0xD7,0xD7,0xCF,0xAF,0xB0,0xFF},/*"Q",49*/
{0xF7,0x07,0x77,0x77,0x77,0x77,0x8F,0xFF,0xDF,0xC0,0xDF,0xFF,0xFC,0xF3,0xCF,0xDF},/*"R",50*/
{0xFF,0x8F,0x77,0xF7,0xF7,0xF7,0xC7,0xFF,0xFF,0xC7,0xDF,0xDE,0xDE,0xDD,0xE3,0xFF},/*"S",51*/
{0xE7,0xF7,0xF7,0x07,0xF7,0xF7,0xE7,0xFF,0xFF,0xFF,0xDF,0xC0,0xDF,0xFF,0xFF,0xFF},/*"T",52*/
{0xF7,0x07,0xF7,0xFF,0xFF,0xF7,0x07,0xF7,0xFF,0xE0,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF},/*"U",53*/
{0xF7,0x87,0x77,0xFF,0xFF,0x37,0xC7,0xF7,0xFF,0xFF,0xF8,0xC7,0xF1,0xFE,0xFF,0xFF},/*"V",54*/
{0xF7,0x07,0xFF,0x07,0xFF,0x07,0xF7,0xFF,0xFF,0xFC,0xC1,0xFE,0xC1,0xFC,0xFF,0xFF},/*"W",55*/
{0xF7,0xE7,0x97,0x7F,0x7F,0x97,0xE7,0xF7,0xDF,0xCF,0xD3,0xFC,0xFC,0xD3,0xCF,0xDF},/*"X",56*/
{0xF7,0xC7,0x37,0xFF,0x37,0xC7,0xF7,0xFF,0xFF,0xFF,0xDF,0xC0,0xDF,0xFF,0xFF,0xFF},/*"Y",57*/
{0xEF,0xF7,0xF7,0xF7,0x37,0xC7,0xF7,0xFF,0xDF,0xC7,0xD9,0xDE,0xDF,0xDF,0xE7,0xFF},/*"Z",58*/
{0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0xFF,0xFF,0xFF,0x80,0xBF,0xBF,0xBF,0xFF},/*"[",59*/
{0xFF,0xFD,0xFD,0xFD,0x01,0xFF,0xFF,0xFF,0xFF,0xBF,0xBF,0xBF,0x80,0xFF,0xFF,0xFF},/*"]",60*/
{0xFF,0xFF,0xFB,0xFD,0xFD,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"^",61*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F},/*"_",62*/
{0xFF,0xFD,0xFD,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"`",63*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xE6,0xDB,0xDB,0xED,0xC0,0xDF,0xFF},/*"a",64*/
{0xEF,0x0F,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,0xEE,0xDF,0xDF,0xEE,0xF1,0xFF},/*"b",65*/
{0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xF1,0xEE,0xDF,0xDF,0xDF,0xEE,0xFF},/*"c",66*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0x6F,0x0F,0xFF,0xFF,0xE0,0xDF,0xDF,0xDF,0xEF,0xC0,0xDF},/*"d",67*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xE0,0xDB,0xDB,0xDB,0xDB,0xE8,0xFF},/*"e",68*/
{0xFF,0x7F,0x7F,0x1F,0x6F,0x6F,0xDF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF,0xFF},/*"f",69*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0x94,0x6B,0x6B,0x6B,0x6C,0x9F,0xFF},/*"g",70*/
{0xEF,0x0F,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xDF,0xC0,0xDE,0xFF,0xFF,0xDF,0xC0,0xDF},/*"h",71*/
{0xFF,0x7F,0x67,0x67,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF,0xFF},/*"i",72*/
{0xFF,0xFF,0xFF,0x7F,0x67,0x67,0xFF,0xFF,0xFF,0x3F,0x7F,0x7F,0x7F,0x80,0xFF,0xFF},/*"j",73*/
{0xEF,0x0F,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0xDF,0xC0,0xDB,0xF9,0xD6,0xCF,0xDF,0xFF},/*"k",74*/
{0xFF,0xEF,0xEF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF,0xFF},/*"l",75*/
{0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xDF,0xC0,0xDF,0xFF,0xC0,0xDF,0xFF,0xC0},/*"m",76*/
{0x7F,0x7F,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xDF,0xC0,0xDE,0xFF,0xFF,0xDF,0xC0,0xDF},/*"n",77*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xE0,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF},/*"o",78*/
{0x7F,0x7F,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0x7F,0x00,0x6E,0xDF,0xDF,0xEE,0xF1,0xFF},/*"p",79*/
{0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0x7F,0xFF,0xFF,0xF1,0xEE,0xDF,0xDF,0x6E,0x00,0x7F},/*"q",80*/
{0x7F,0x7F,0x7F,0xFF,0x7F,0x7F,0x7F,0xFF,0xDF,0xDF,0xC0,0xDE,0xDF,0xFF,0xFE,0xFF},/*"r",81*/
{0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xCC,0xDB,0xDB,0xDB,0xDB,0xE6,0xFF},/*"s",82*/
{0xFF,0x7F,0x7F,0x1F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xDF,0xDF,0xEF,0xFF},/*"t",83*/
{0x7F,0x7F,0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0xFF,0xE0,0xDF,0xDF,0xDF,0xEF,0xC0,0xDF},/*"u",84*/
{0x7F,0x7F,0x7F,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xFC,0xF3,0xCF,0xF3,0xFC,0xFF,0xFF},/*"v",85*/
{0x7F,0x7F,0xFF,0x7F,0x7F,0xFF,0x7F,0x7F,0xFE,0xF1,0xCF,0xF3,0xF8,0xC7,0xF9,0xFE},/*"w",86*/
{0xFF,0x7F,0x7F,0x7F,0xFF,0x7F,0x7F,0xFF,0xFF,0xDF,0xCE,0xF1,0xD1,0xCE,0xDF,0xFF},/*"x",87*/
{0x7F,0x7F,0x7F,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x7E,0x79,0x87,0xE7,0xF9,0xFE,0xFF},/*"y",88*/
{0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xDE,0xCF,0xD3,0xDD,0xDE,0xCF,0xFF},/*"z",89*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFD,0xFD,0xFF,0xFF,0xFF,0xFF,0xFE,0xC1,0xBF,0xBF},/*"{",90*/
{0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},/*"|",91*/
{0xFD,0xFD,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xBF,0xC1,0xFE,0xFF,0xFF,0xFF,0xFF},/*"}",92*/
{0xFF,0xFD,0xFE,0xFD,0xFD,0xFB,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"~",93*/

};

void LcdDispStr8x16(uint8_t reverse, uint8_t page, uint8_t column, const char* str) {
  uint16_t i = 0, j = 0, k = 0;
  
  while(str[i]!= '\0') {
    if(str[i] >= 0x20 && str[i] <= 0x7e) {
      j = str[i] - 0x20; 
      setAddress(page, column);
      for(k = 0; k < 8; k++) {
        if(reverse) {
          sendData( Ascii_8x16[j][k]);
         // sendData( Ascii_8x16[j][k]);
        } else {
          sendData( ~Ascii_8x16[j][k]);
         // sendData( ~Ascii_8x16[j][k]);
        }
      }
      setAddress(page +1, column);
      for(k = 0; k < 8; k++) {
        if(reverse) {
          sendData(Ascii_8x16[j][k + 8]);
          //sendData(Ascii_8x16[j][k + 8]);
        } else {
          sendData( ~Ascii_8x16[j][k + 8]);
          //sendData( ~Ascii_8x16[j][k + 8]);
        }
      }
      i++; 
      column += 8;
    }
  }
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值