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

📄 ocmj10x10d.c

📁 芯片为8803的汉字液晶显示屏程序
💻 C
字号:
/***************************************
*
*型号:160160-1(OCMJ10X10D)
*编写:ROGER
*日期:2007/4/19
*修改:
*
***************************************/
#include <reg52.h>

sbit LCD_RS   =P3^0;		//L:存取缓存器,H:存取DDRAM
sbit LCD_WR   =P3^1;		//L有效
sbit LCD_RD   =P3^3;		//L有效
sbit LCD_CS1  =P3^4;		//L有效
sbit LCD_CS2  =P3^5;		//H有效
sbit LCD_BUSY =P3^6;
sbit LCD_INT  =P3^2;
sbit LCD_RST  =P3^7;		//L有效

#define lcd_regname  P1
#define lcd_regdata  P1
#define lcd_regnada  P1
#define lcd_data     P1
#define lcd_control  P3

#define uchar        unsigned char
#define uint         unsigned int

//=============================================
uchar code inittab1[]={
0x00,0x01,0x02,0x03,0x10,0x11,0x12,0x21,0x31,0x41,0x51,0x20,0x30,0x40,0x50,0x60,
0x61,0x70,0x71,0x72,0x80,0x81,0x91,0x90,0xA0,0xA1,0xA2,0xA3,0xB0,0xB1,0xC0,0xC1,
0xC8,0xC9,0xCA,0xD0,0xE0,0xF0,0xF1};
uchar code inittab2[]={
0xC9,0xF2,0x10,0x80,0x6B,0x00,0x91,0x13,0x9F,0x00,0x00,0x13,0x9F,0x00,0x00,0x00,
0x00,0x00,0x00,0x9F,0xAA,0x00,0x00,0x12,0x11,0x00,0x00,0x00,0x13,0x9F,0x00,0x0A,
0x80,0x80,0x00,0x80,0x00,0xA0,0x0F};

//=============================================
uchar code chn[]={
"肇庆金鹏实业有限公司"
"肇庆金鹏电子有限公司"
" 奥可拉液晶显示器 "
"肇庆市建设四路13号天"
"宁广场E 栋13.14.15层"
"http://www.gptlcm.cn"
"E_mail:syl@gptlcm.cn"
"FAX: 0758--2317023  "
"TEL: 0758--2317153  "
"TEL: 0758--2317156  "
};
uchar code pic[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x7F,0xFC,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x00,
0x0F,0xFF,0x00,0x01,0x83,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,
0x43,0x01,0x80,0x00,0x7F,0xFF,0xF0,0x01,0x87,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x19,0xFF,0x07,0x00,0x07,0xFF,0xFF,0xFE,0x01,0x8F,0xFF,0xFF,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0xFC,0x1E,0x00,0x1F,0xFF,0xFF,0xFF,0x81,
0x9F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xBF,0xFF,0xFC,0x00,0x7F,
0xFC,0x00,0x7F,0xC1,0x97,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,
0xFF,0xF0,0x00,0xFF,0xC0,0x00,0x0F,0xE1,0x9F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFC,0x01,0xF1,0x97,0xFF,0xFF,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xDF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0x80,0xF1,
0x9F,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x0F,0xFF,
0xFF,0xFF,0xE0,0x39,0x8B,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,
0xF8,0x00,0x1F,0xFF,0xF0,0x03,0xF8,0x39,0x87,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0xFF,0xE0,0x00,0x3F,0xFF,0xFF,0xC0,0x7C,0x19,0x8B,0xFF,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xF0,0x00,0x3F,0xFF,0xFF,0xF8,0x1E,0x09,
0x81,0xF3,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xF8,0x00,0x7F,0xFF,
0xFF,0xFE,0x0F,0x09,0x81,0xF7,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,
0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0x87,0x09,0x81,0xF7,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0x83,0x89,0x81,0xD3,0xFF,0xFF,
0xF0,0x3F,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xC3,0x89,
0x81,0xD3,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFE,0x01,0xFF,0xFF,
0xFF,0xFF,0xE1,0x89,0x80,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0xFF,0xFF,
0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xE1,0x89,0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF1,0x89,0x80,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF3,0x09,
0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,
0xFF,0xFF,0xF2,0x11,0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x01,0xFF,0xFF,
0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xF0,0x21,0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x01,0x80,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x70,0x01,
0x80,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0xFF,0x70,0x01,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x01,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0x20,0x01,0x80,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0x7F,0x20,0x01,
0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xDF,
0xFF,0x7E,0x20,0x01,0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xDF,0xFF,0x3E,0x40,0x01,0x83,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xC0,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x3C,0x40,0x01,0x83,0xE0,0x07,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFE,0x38,0x40,0x01,
0x83,0xC0,0x07,0xC0,0x00,0x3F,0xFF,0xF7,0xE0,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x8F,
0xFE,0x38,0x40,0x01,0x83,0x80,0x07,0xC0,0x00,0x3F,0xFF,0xE7,0xF0,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0x8F,0xFE,0x30,0x40,0x01,0x83,0x80,0x07,0xC0,0x00,0x1F,0xFF,0xE3,
0xF8,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x1F,0x7C,0x20,0x40,0x01,0x83,0x80,0x0F,0x80,
0x00,0x1F,0xFF,0xC3,0xF8,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x1E,0x78,0x00,0x40,0x01,
0x83,0x00,0x0F,0x80,0x00,0x0F,0xE7,0xE1,0xFC,0x00,0x00,0x3F,0xFF,0xFF,0xFE,0x1E,
0xF0,0x00,0x00,0x01,0x83,0x80,0x0F,0x00,0x00,0x0F,0xF7,0xE0,0xFE,0x00,0x00,0x1F,
0xFF,0xFF,0xDA,0x3C,0xE0,0x00,0x00,0x01,0x87,0x80,0x1F,0x00,0x00,0x07,0xF7,0xE0,
0x77,0x00,0x00,0x07,0xFF,0xFF,0xF2,0x30,0x80,0x00,0x00,0x01,0x87,0xC0,0x1F,0x00,
0x00,0x03,0xF3,0xF0,0x73,0x80,0x00,0x01,0xFF,0xFF,0xF1,0x20,0x00,0x00,0x00,0x01,
0x87,0xE0,0x1E,0x00,0x00,0x01,0xF9,0xF0,0x71,0xC0,0x00,0x00,0xFE,0x7F,0xF0,0x00,
0x00,0x00,0x00,0x01,0x87,0xE0,0x1E,0x00,0x00,0x00,0xF8,0xF8,0x78,0xC0,0x00,0x00,
0x7C,0x3F,0xF0,0x00,0x00,0x00,0x00,0x01,0x83,0xE0,0x1C,0x00,0x00,0x00,0x7C,0xF8,
0x7C,0x60,0x00,0x00,0x78,0x1F,0xE0,0x00,0x00,0x00,0x00,0x01,0x81,0xE0,0x18,0x00,
0x00,0x00,0x7C,0xFC,0x7E,0x30,0x00,0x00,0x72,0x07,0xE0,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x38,0x00,0x00,0x00,0x3F,0xF8,0x7F,0x10,0x00,0x00,0x70,0x00,0xE0,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x38,0x00,0x00,0x00,0x3F,0xE0,0x3C,0x90,0x00,0x00,
0x60,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x78,0x00,0x00,0x00,0x3F,0x80,
0x3C,0x10,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x78,0x00,
0x00,0x00,0x7E,0x00,0x3C,0x10,0x00,0x00,0xC0,0x03,0xF0,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0xF8,0x00,0x00,0x00,0xFC,0x00,0x1E,0x08,0x00,0x01,0x40,0x04,0xD8,0x00,
0x00,0x00,0x00,0x01,0x80,0x01,0xF0,0x00,0x00,0x00,0xF8,0x00,0x07,0x04,0x00,0x01,
0x00,0x01,0x08,0x00,0x00,0x00,0x00,0x01,0x80,0x07,0xE0,0x00,0x00,0x00,0xF0,0x00,
0x00,0x82,0x00,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x0F,0xC0,0x00,
0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x02,0x40,0x04,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x0F,0xC0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x0C,0x48,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,0x38,
0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,
0x00,0x00,0x0F,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};

/*******us延时*******/
void delay_nus(uint n)
{
  uint i;
  for(i=0;i<n;i++);
}

/*******1ms延时*******/
void delay_nms (uint n)
{
  uint i,j;
  for(i=0;i<n;i++)
    for(j=0;j<123;j++);
}

/*写数据子函数*/
void lcd_regwr(uchar regnada) small
{
  lcd_regnada = regnada;
  LCD_CS1= 0; // chip enable.
  LCD_RD = 1; //
  LCD_RS = 0; // rs = 0;
  LCD_WR = 0; // wr = 0;
  ;
  LCD_WR = 1; // wr = 1;
  LCD_RS = 1; // rs = 1;
  LCD_CS1= 1; // chip disable.
}

/*写资料到缓存器*/
void lcd_regwrite(uchar regname,uchar regdata) small
{
  lcd_regwr(regname);
  delay_nus(1);
  lcd_regwr(regdata);
}

/*写资料到DDRAM*/
void lcd_datawrite(uchar wrdata) small
{
  while(LCD_BUSY==1);
  lcd_data = wrdata;
  LCD_CS1= 0; // chip enable.
  LCD_RD = 1; //
  LCD_RS = 1; // rs = 1;
  LCD_WR = 0; // wr = 0;
  ;
  LCD_WR = 1; // wr = 1;
  LCD_RS = 1; // rs = 1;
  LCD_CS1= 1; // chip disable.
}

/*从缓存器读到资料*/
uchar lcd_regread(uchar regname) small
{
  uchar reg_rddata;
  lcd_regwr(regname);

  lcd_data = 0xff;
  LCD_CS1= 0; // chip enable.
  LCD_WR = 1; // wr = 1;
  LCD_RS = 0; // rs = 0;
  LCD_RD = 0; // rd = 0;
  ;
  reg_rddata = lcd_data;
  LCD_RD = 1; // rd = 1;
  LCD_RS = 1; // rs = 1;
  LCD_CS1= 1; // chip disable.
  return(reg_rddata);
}

/*定坐标*/
void Set_Address(uchar x,uchar y) small
{                                
  lcd_regwrite(0x60,x); // active window top register(awtr)
  lcd_regwrite(0x70,y); // active window top register(awtr)
}

/*上电复位*/
void lcd_reset(void) small
{               
  delay_nms(120); // delay 120ms 等待上电复位
  lcd_control = 0xff; // LCD_RS/WR/RD/CS1/CS2 normal - skeep high.
}

/*初始化*/
void lcd_initial(void) small
{
  uchar i;
  for(i=0;i<39;i++)
  {
    lcd_regwrite(inittab1[i],inittab2[i]);
  }
}

/*清屏*/
void lcd_clear(void) small
{                  
  uchar reg_rddata;
  lcd_regwrite(0xe0,0x00);
  reg_rddata = lcd_regread(0xf0);
  reg_rddata |= 0x08;
  lcd_regwrite(0xf0,reg_rddata);
}

/*显示图形*/
void lcd_photo(uchar code *pho) small
{ 
  uchar i,j,k;
  uchar code *pp;
  Set_Address(0,0);
  for(k=0;k<2;k++)
  {
    pp=pho;
    for(j=0;j<80;j++)
    {
      for(i=0;i<20;i++)
      {
        lcd_datawrite(*pp);
        ++pp;
      }
    }
  }
}

/*显示点阵*/
void lcd_lattice(uchar data1,uchar data2) small
{
  uchar i,j;
  Set_Address(0,0);
  for(j=0;j<40;j++)
  {
    for(i=0;i<40;i++)
    {
      lcd_datawrite(data1);
    }
    for(i=0;i<40;i++)
    {
      lcd_datawrite(data2);
    }
  }
}

/*显示中文或字符*/
void lcd_character(uchar code *chn,int count) small
{                                    
  int i;
  for(i=0;i<count;i++)
  {
    lcd_datawrite(*chn);
    ++chn;
  }
}

/*主程序*/
void main (void)
{
  lcd_reset();
  lcd_initial();
  lcd_clear();
  while(1)
  {
    lcd_regwrite(0x10,0x2b);
    lcd_regwrite(0x00,0xcd);
    Set_Address(0x00,0x00);
    lcd_character(chn,200);
    delay_nms(3000);
    lcd_regwrite(0x00,0xc5);
    lcd_lattice(0xcc,0xcc);
    delay_nms(3000);
    lcd_lattice(0x33,0x33);
    delay_nms(3000);
    lcd_regwrite(0x10,0x3b);
    lcd_regwrite(0x00,0xcd);
    Set_Address(0x00,0x00);
    lcd_character(chn,200);
    delay_nms(3000);
    lcd_regwrite(0x00,0xc5);
    lcd_lattice(0xcc,0x33);
    delay_nms(3000);
    lcd_photo(pic);
    delay_nms(3000);
  }
}

⌨️ 快捷键说明

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