📄 s6d0128.c
字号:
/************************************************
dots 240*320
controller lg4531
interface 8080/16bits P1-L,P2-H
************************************************/
#include<absacc.h>
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define p0 XBYTE[0x0000]
sbit res=P3^2;
sbit cs=P3^3;
sbit rs=P3^4;
sbit wr=P3^5;
sbit rd=P3^6;
unsigned char code pic[];
void initialization();
void delay(unsigned int t);
void write_command(uchar dd);
void write_data(uchar data_h,data_l);
void picture();
void display_rgb(uchar h_data,l_data);
void delay(unsigned int t)
{
uchar t1;
while(t--)
for(t1=16;t1>0;t1--)
{;} //0.1ms
}
void write_command(uchar dd)
{
cs=0;
rs=0;
rd=1;
P2=0x00;
P1=dd;
wr=0;
//delay(0);
wr=1;
cs=1;
}
void write_data(uchar data_h,data_l)
{
cs=0;
rs=1;
rd=1;
P2=data_h;
P1=data_l;
wr=0;
wr=1;
cs=1;
}
void picture(void)
{
unsigned int i;
//int j;
write_command(0x44);write_data(0xaf,0x00);
write_command(0x45);write_data(0xdb,0x00);
write_command(0x22);
for(i=0;i<38720; i=i+2)
{
//j=i+1;
write_data(*(pic+i),*(pic+(i+1)));
}
for(i=0;i<38720; i=i+2)
{
//j=i+1;
write_data(*(pic+i),*(pic+(i+1)));
}
}
void initialization()
{
write_command(0x00);
write_data(0x00,0x01); //start osc
write_command(0x11);
write_data(0x30,0x03); //set ss and sm bit
write_command(0x14);
write_data(0x2d,0x2a);//set 1 line inversion
write_command(0x10);
write_data(0x1b,0x00); // set gram write direction and bgr=1
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
write_command(0x13);
write_data(0x00,0x70); //resie register
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
write_command(0x01);
write_data(0x01,0x1b); //set back$front porch
write_command(0x02);
write_data(0x07,0x00);//set no display area refresh cycle ISC(3:0)
write_command(0x03);
write_data(0x10,0x30); //fmark function
write_command(0x08);
write_data(0x01,0x02); //rgb interface setting
write_command(0x0b);
write_data(0x00,0x01); //frame mark position
write_command(0x0c);
write_data(0x00,0x03); //rgb interface polarity
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -