320*240的无控制器LCD屏幕,可以X轴任意位置写,但是Y轴就没法写了,不能同步,看手册上也没写Y轴的同步信号应该怎么给。。。。。。。
#include "pic.h"
#define LCM_D1 RB7
#define LCM_D2 RB6
#define LCM_D3 RB5
#define LCM_D4 RB4
#define LCM_DISOFF RB3
#define LCM_CDAT RB2
#define LCM_CL1 RB1
#define LCM_CL2 RB0
#define LCM_CON_TRI TRISB
void LCM_PORT_ADDR( unsigned char dat )
{
LCM_D4 = dat & 0x01;
LCM_D3 = (dat >> 1) & 0x01;
LCM_D2 = (dat >> 2) & 0x01;
LCM_D1 = (dat >> 3) & 0x01;
}
void Delay()
{
unsigned int i = 500;
while(i--);
}
//---一屏数据
void LCM320240_WR( int x,int y,unsigned char dat )
{
int i,j;
unsigned char data;
LCM_DISOFF = 1; //--开显示
//---写Y轴数据
for ( i= 0;i < 240; i ++ )
{
LCM_CL1 = 1; //---Y轴时钟
Delay();
if ( i < 120 ) LCM_CDAT = 1; //---Y轴数据---想让屏幕上半白黑下半黑,但是一直从上往下滚动,无法定住?
else LCM_CDAT = 0;
LCM_CL1 = 0; //---
Delay();
//---写X轴数据
for ( j = 0;j < 40;j ++ )
{
data = dat;
LCM_CL2 = 1; //--X轴时钟
LCM_PORT_ADDR( data ); //---数据低位
LCM_CL2 = 0;
LCM_CL2 = 1;
LCM_PORT_ADDR( data >> 4 ); //---数据高位
LCM_CL2 = 0;
}
}
}
void main()
{
LCM_CON_TRI = 0X00;
PORTB = 0X00;
while(1)
{
LCM320240_WR( 0,10,0xff );
}
}
点击此处下载
ourdev_612018I9OUX2.pdf(文件大小:561K) (原文件名:KS7086.pdf)
原理图和手册的最后一页那个一样
一周热门 更多>