?? ocmj10x10d.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 + -