📄 hg1926419c.c
字号:
/*--------------------------------------------------------------------------
File Name:HG1926419C.C;
Description:This Resouce Is For Dot Matrix Liquid Crystal Module
Controlled By SUMSANG'S S6B108
LCM Interface Dimenision:
1 2 3 4 5 6 7 8 9 10
----------------------------------------------------------------------------
VSS VDD V0 RS R/W E D0 D1 D2 D3
11 12 13 14 15 16 17 18 19 20
----------------------------------------------------------------------------
D4 D5 D6 D7 CS1 RST CS2 CS3 VEE LED+
Author By:Joseph
Date:2007-04-02
--------------------------------------------------------------------------*/
//Include Head Files
#include <reg51.h>
#include <INTRINS.H>
//Data Type Re-defination
#define uchar unsigned char
#define uint unsigned int
#define uchar_code unsigned char code
#define DELAYMS 100
#define DataPort P1
//MCU Interface Defination
sbit RS=P3^0;
sbit RW=P3^1;
sbit E=P3^4;
sbit CS1=P3^5;
sbit RST=P3^6;
sbit CS2=P3^7;
sbit CS3=P3^3;
sbit LED_NO = P2^5;
sbit PAUSE=P3^2;
uint ui_pause = 0;
//Defination Border Dots Matrix
uchar_code border_inf[8] = {
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80 };
uchar_code cor_pic[]=
{
0x00,0x00,0x00,0x00,0x08,0x38,0xF0,0xE0,0x40,0x00,0x00,0x00,0xC0,0xF8,0xFC,0xBC,
0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x60,0x60,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x08,0x38,0xF0,0xF0,0xE0,0x00,0x00,0x20,0x20,0x20,0x20,0xE0,
0xE0,0xE0,0x20,0x20,0x20,0x20,0xF0,0xF0,0xF0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xFC,0x3C,0x18,0x08,0x00,0x00,0x00,
0xFC,0xFC,0xF8,0x08,0x00,0x00,0x00,0x80,0xC0,0xE0,0xE0,0x60,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xC0,
0xC0,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xC0,0xE0,0xE0,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xF0,0x70,0x30,0x00,
0x00,0x00,0x18,0xF8,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xF8,0xF8,0xF0,0x00,0x00,0x00,0x00,
0x00,0x02,0x0E,0x3C,0x78,0x70,0x00,0xF0,0xFE,0x1E,0x1C,0x0F,0xFF,0xFF,0x7C,0x08,
0x18,0x38,0xE8,0xE8,0xC8,0x08,0x08,0x08,0xFC,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x20,0x20,0x20,0x30,0xF0,0xF0,0x20,0x00,0x40,0x40,0x40,0x40,0xFF,
0xFF,0xFF,0x40,0x60,0x20,0x60,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x30,0x18,0x0C,0x07,0xFF,0xFF,0xFF,0x41,0x40,0x40,0x60,0x20,0x30,
0x17,0xFF,0xFF,0x0C,0x06,0x06,0x03,0x03,0x01,0x00,0x00,0x00,0xF8,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0x78,0x1E,0x0F,0x07,0x01,0x00,0x80,0xC0,
0xC0,0x80,0x80,0x00,0x03,0x0F,0x1E,0x78,0xF0,0xE0,0xC0,0x80,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x04,0x04,0x04,0xC4,0xC4,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
0x84,0xC4,0xC4,0x86,0x06,0x06,0x04,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x40,0xC0,0xE0,0xF8,0xFF,0x0F,0x02,0x02,0xC2,0xFF,0xFF,0x1F,0x02,0x02,
0x02,0x3A,0xFA,0xF2,0x02,0x02,0x02,0xFE,0xFF,0xFF,0x02,0x02,0x03,0x03,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x7C,0xE0,0xE0,0xF8,0x38,0x00,0x00,
0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x47,0x47,0x47,0x40,0x40,0x40,0x40,0x40,0xFC,
0xFC,0xFF,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x63,0x63,0x41,0x00,
0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x04,0x06,0x03,0x01,0x01,0x00,0x00,0x00,0xC0,0xE0,0x78,0x3E,0x1F,0x07,
0x03,0x00,0x00,0x20,0xE0,0xC0,0x80,0x00,0x00,0x01,0x03,0x03,0x03,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x3F,0x3F,0x30,0x00,0x00,0x01,0x03,0x03,0x03,0x02,0x02,0x02,
0x02,0x12,0x12,0x12,0x32,0x72,0x72,0x7F,0x3F,0x07,0x02,0x03,0x01,0x01,0x00,0x00,
0x00,0x00,0x04,0x0E,0x0F,0x03,0x01,0x01,0x01,0x03,0x06,0x0C,0x0C,0x18,0x18,0x1B,
0x1B,0x19,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x19,0x19,0x19,0x08,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,
0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x07,
0x07,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1F,0x1B,0x18,0x18,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x08,0x09,0x0F,0x1F,0x7E,0x7C,0x30,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x01,0x01,0x00,0x10,0x10,0x30,0x78,0x7F,0x3F,0x0F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x70,0xE0,0xE0,0xC0,0x00,0x00,0x80,0x80,0x80,0x80,
0x80,0x80,0x84,0x9C,0xF8,0xF8,0xB0,0x80,0x80,0x80,0x80,0xE0,0x60,0x60,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xF8,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0xF8,0xF8,0xF8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xF8,0xF8,0xF8,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x18,0x18,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0x08,0x00,0x00,0x40,0x40,0x40,0x40,
0xFC,0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0xFC,0x40,0x40,0x60,0x70,0x70,0x60,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xFC,0xFC,0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x08,0x38,0xF0,0xE0,0xE0,0x01,0xE1,0xF8,0x18,0x00,0xC0,0xF0,0xFE,0x9F,
0x07,0x02,0xC0,0xF8,0xFF,0x9F,0x96,0x10,0x10,0xD0,0xF8,0xF8,0x10,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x11,0x11,0x11,0x11,
0x11,0x11,0x11,0x11,0x11,0x11,0x7F,0x7F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x42,0x42,0x42,0x42,0x42,0x42,
0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xE0,
0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x18,0x18,0x10,0x00,
0x00,0x00,0x02,0x02,0x02,0xE2,0xFF,0xFF,0xFF,0x62,0xC3,0xC3,0x83,0x02,0xFC,0xFC,
0xFB,0x4B,0x49,0x48,0x48,0x48,0x4B,0x4B,0x49,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,0x10,0x10,0x10,0xFF,0xFF,0xFF,0x10,0x18,0x0C,0x0C,0x0A,0x02,0x02,
0x02,0xFF,0xFF,0xFF,0x02,0x02,0x02,0x02,0x02,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x40,0x40,0xC0,0xC0,0xF0,0xFE,0x1F,0x19,0x0E,0x07,0x03,0xFF,0xFF,0x10,
0x1C,0x0F,0x07,0x1F,0x78,0xE1,0x87,0xE7,0xFE,0x3F,0x0F,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0xFE,0x42,0x42,0x42,0x42,0x42,0xFE,0xFF,0xFF,0x02,
0x00,0x00,0xFF,0xFF,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0xFF,0xFF,0x02,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x1C,0x78,0xF0,0xE0,0x80,0x00,0xFF,0xFF,0xFF,0x00,
0x00,0x00,0xFF,0xFF,0xFE,0x02,0x00,0xC0,0xE0,0x78,0x3C,0x1C,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xF0,0x7C,0x1F,0x0F,0x07,0x03,0x00,0x00,0xFF,
0xFF,0xFF,0x00,0x00,0x01,0x03,0x06,0x0C,0x38,0x70,0xF0,0xE0,0xC0,0x00,0x00,0x00,
0x00,0xC0,0xE0,0x38,0x1F,0x07,0xFF,0xFF,0xFF,0x00,0x01,0x87,0x87,0x80,0x8F,0x8F,
0x8F,0x84,0x84,0xFC,0xFC,0xBC,0x84,0x84,0x84,0x8F,0x8F,0xCF,0x60,0x60,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xC0,0xC4,0x44,0x44,0x44,0x04,0x04,
0xE4,0xFF,0x7F,0x0F,0x3C,0xFC,0xC4,0x84,0x04,0x07,0x07,0x06,0x07,0x07,0x06,0x04,
0x00,0x00,0x00,0x00,0x3C,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x40,0x7F,0xFF,0xC0,
0x40,0x60,0x30,0x18,0x0E,0x0F,0x07,0x07,0x0E,0x1C,0x3C,0x38,0x30,0x30,0x10,0x00,
0x00,0x00,0x00,0x00,0x7F,0x7F,0x3F,0x10,0x10,0x10,0x10,0x10,0x3F,0x3F,0x3F,0x00,
0x00,0x00,0x7F,0x7F,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x3F,0x00,0x00,0x00,
0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x23,0x23,0x23,0x20,0x3F,0x1F,0x3F,0x20,
0x20,0x20,0x3F,0x1F,0x3F,0x26,0x23,0x21,0x20,0x20,0x30,0x18,0x18,0x10,0x00,0x00,
0x00,0x00,0x04,0x06,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x10,0x10,0x30,0x70,0x7F,
0x7F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x07,0x07,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x00,0x40,0x40,0x40,0x60,0x20,0x30,
0x18,0x1E,0x0F,0x07,0x01,0x01,0x03,0x0E,0x1C,0x38,0x38,0x70,0x70,0x30,0x20,0x00,
0x00,0x00,0x03,0x03,0x03,0x03,0x41,0x41,0x60,0x20,0x30,0x10,0x18,0x0C,0x0E,0x07,
0x03,0x01,0x00,0x00,0x00,0x00,0x03,0x07,0x0F,0x1E,0x3C,0x78,0x70,0x30,0x20,0x00
};
//Reset Delay
#pragma disable
void delay()
{
uint ui_dlay1,ui_dlay2;
for (ui_dlay1=0; ui_dlay1<500; ui_dlay1++)
for (ui_dlay2=0; ui_dlay2<80; ui_dlay2++);
}
//Delay Times(s Level)
#pragma disable
void delayms()
{
uint ui_dlay1,ui_dlay2;
ui_dlay2 = DELAYMS;
while (ui_dlay2-- >0)
for (ui_dlay1=0; ui_dlay1<500; ui_dlay1++){};
}
//Interrupt 0
#pragma disable
void Func_int0() interrupt 0 using 1
{
if (ui_pause == 0)
ui_pause = 1;
else
ui_pause = 0;
if ( ui_pause == 1 )
while (1)
{
if (PAUSE == 0)
return;
}
}
//Write Instruction Code
#pragma disable
void CHK_Reset()
{
while (RST ==0);
}
//Write Instruction Code
#pragma disable
void wr_cmd(uchar cmd)
{
CHK_Reset();
E=0;
_nop_();
_nop_();
RS=0;
_nop_();
_nop_();
RW=0;
_nop_();
_nop_();
DataPort = cmd;
_nop_();
_nop_();
E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();
}
//Write Display RAM Data
#pragma disable
void wr_dat(uchar dat)
{
CHK_Reset();
E=0;
_nop_();
_nop_();
RS=1;
_nop_();
_nop_();
RW=0;
_nop_();
_nop_();
DataPort = dat;
_nop_();
_nop_();
E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();
}
//S6B0108 Initial
#pragma disable
void initial()
{
CS1=0;CS2=0;CS3=0;
wr_cmd(0x3f); //Display On
wr_cmd(0xc0);//Set Display Start Line(Z Address)
}
//Write Data To DDRAM
#pragma disable
void wr_dots(uchar dat1,uchar dat2,uint Is_Twice)
{
uint page_cnt,col_cnt;
uchar pg_address;
CS1=0;CS2=0;CS3=0;
_nop_();
_nop_();
pg_address = 0xB8;
for (page_cnt=0;page_cnt<8;page_cnt++)
{
wr_cmd(pg_address); //Set Page Address(X Address)
wr_cmd(0x40);//Set Address(Y Address)
for (col_cnt=0;col_cnt<16;col_cnt++)
{
if (Is_Twice == 0)
{
wr_dat(dat1);
wr_dat(dat2);
wr_dat(dat1);
wr_dat(dat2);
}
else
{
wr_dat(dat1);
wr_dat(dat1);
wr_dat(dat2);
wr_dat(dat2);
}
}
pg_address ++;
}
delayms();
}
//Draw Border
#pragma disable
void wr_border(void)
{
uint page_cnt,col_cnt;
uchar pg_address;
CS1=0;CS2=0;CS3=0;
_nop_();
_nop_();
pg_address = 0xb8;
for (page_cnt=0;page_cnt<8;page_cnt++)
{
wr_cmd(pg_address); //Set Page Address(X Address)
wr_cmd(0X40);//Set Address(Y Address)
wr_dat(0xff);
for (col_cnt=1;col_cnt<63;col_cnt++)
{
wr_dat(border_inf[page_cnt]);
}
wr_dat(0xff);
pg_address ++;
}
delayms();
}
//Display Chinese Character
#pragma disable
void disp_bmp(uchar_code *bmparea,uchar uc_IsRev)
{
uint page_cnt,col_cnt;
uchar pg_address;
CS1=0;CS2=1;CS3=1;
_nop_();
_nop_();
pg_address=0xb8;
wr_cmd(0xc0);
for(page_cnt=0;page_cnt<8;page_cnt++)
{
wr_cmd(pg_address);
wr_cmd(0x40);
for(col_cnt=0;col_cnt<64;col_cnt++)
if (uc_IsRev ==0)
wr_dat(bmparea[page_cnt*192 + col_cnt]);
else
wr_dat(0xFF -bmparea[page_cnt*192 + col_cnt]);
pg_address++;
}
delay();
CS1=1;CS2=0;CS3=1;
_nop_();
_nop_();
pg_address=0xb8;
wr_cmd(0xc0);
for(page_cnt=0;page_cnt<8;page_cnt++)
{
wr_cmd(pg_address);
wr_cmd(0x40);
for(col_cnt=0;col_cnt<64;col_cnt++)
if (uc_IsRev ==0)
wr_dat(bmparea[page_cnt*192 + col_cnt +64]);
else
wr_dat(0xFF -bmparea[page_cnt*192 + col_cnt +64]);
pg_address++;
}
delay();
CS1=1;CS2=1;CS3=0;
_nop_();
_nop_();
pg_address=0xb8;
wr_cmd(0xc0);
for(page_cnt=0;page_cnt<8;page_cnt++)
{
wr_cmd(pg_address);
wr_cmd(0x40);
for(col_cnt=0;col_cnt<64;col_cnt++)
if (uc_IsRev ==0)
wr_dat(bmparea[page_cnt*192 + col_cnt +128]);
else
wr_dat(0xFF -bmparea[page_cnt*192 + col_cnt +128]);
pg_address++;
}
delay();
delayms();
}
void main()
{
EA=1; //Interurupt Enabled
IT0 = 1;//INT0 Low Level Trigger
EX0 = 1;//INT0 Enabled
RST = 0;
delay();
delay();
RST = 1;
delay();
LED_NO = 0;
initial();
while (1)
{
LED_NO = 1;
wr_dots(0xff,0xff,0); //All Dots Display
LED_NO = 1;
wr_dots(0x00,0x00,0); //Clear Screen
LED_NO = 0;
wr_dots(0xaa,0xaa,0); //Seperate Rows I
LED_NO = 0;
wr_dots(0x55,0x55,0); //Seperate Rows II
LED_NO = 1;
wr_dots(0x33,0x33,1); //Seperate Rows III
LED_NO = 1;
wr_dots(0xff,0x00,0); //Seperate Columns I
LED_NO = 0;
wr_dots(0x00,0xff,0); //Seperate Columns II
LED_NO = 0;
wr_dots(0xFF,0x00,1); //Seperate Columns III
LED_NO = 1;
wr_dots(0xaa,0x55,0); //Seperate Dots I
LED_NO = 1;
wr_dots(0x55,0xaa,0); //Separate Dots II
LED_NO = 0;
wr_border();//Display The Border
LED_NO = 1;
disp_bmp(cor_pic,0);//Display The Corp Name
LED_NO = 0;
// disp_bmp(cor_pic,1);//Display The Corp Name
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -