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

📄 main.c

📁 LCM067的驱动程序
💻 C
字号:
#include <reg52.h>
#include <intrins.h>
sbit cs = P1^5;
sbit wr = P1^3;
sbit da = P1^2;
#define LCM067_CS_UP cs=1
#define LCM067_CS_DOWN cs=0
#define LCM067_WR_UP wr=1
#define LCM067_WR_DOWN wr=0
#define LCM067_DATA_UP da=1
#define LCM067_DATA_DOWN da=0
#define LCM067_DISPLAY_OFF  0x0002
#define LCM067_DISPLAY_ON   0x0003
#define LCM067_MODULE_INIT  0x0029
#define LCM067_32768        0x0018
#define LCM067_EN_OSC       0x0001
void delay2us(unsigned char dly) {
  while (--dly);
}
void LCMWriteCom(unsigned int uCom) {
  unsigned int temp = 0x0800;
  unsigned char i;
  uCom += 1024;
  uCom <<= 1;
  LCM067_CS_UP;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  LCM067_CS_DOWN;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  LCM067_WR_DOWN;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  for (i=0; i<12; i++) {
    if (temp & uCom) LCM067_DATA_UP;
    else LCM067_DATA_DOWN;
    LCM067_WR_UP;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    LCM067_WR_DOWN;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    temp >>= 1;
  }
  LCM067_CS_UP;
  LCM067_WR_UP;
}

void LCMInit() {
//  P6DIR |= (BIT0 + BIT1 + BIT2);
  LCM067_CS_UP;
  LCM067_WR_UP;
  LCMWriteCom(LCM067_MODULE_INIT);
  LCMWriteCom(LCM067_32768);
  LCMWriteCom(LCM067_EN_OSC);
  LCMWriteCom(LCM067_DISPLAY_ON);
}
void LCMWriteData(unsigned int uData) {
  unsigned int temp = 0x1000;
  unsigned char i;
  uData += (0x0400 + 0x1000);
  LCM067_CS_UP;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  LCM067_CS_DOWN;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  LCM067_WR_DOWN;
  _nop_();_nop_();_nop_();_nop_();_nop_();
  for (i=0; i<13; i++) {
    if (temp & uData) LCM067_DATA_UP;
    else LCM067_DATA_DOWN;
    LCM067_WR_UP;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    LCM067_WR_DOWN;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    temp >>= 1;
  }
  LCM067_CS_UP;
  LCM067_WR_UP;
}
int main()
{
  delay2us(200);
  delay2us(200);
  delay2us(200);
  delay2us(200);
  delay2us(200);
  LCMInit();
  LCMWriteData(0x000f);
  LCMWriteData(0x002f);
  LCMWriteData(0x001f);
//  LCMWriteData(0x0000);
//  LCMWriteData(0x0020);
  while (1);
  return 0;
}

⌨️ 快捷键说明

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