wfjwch 发表于 2008-2-5 21:38:18

RA8835驱动程序不显示,看看问题出在那里?

帮看看问题出在那里,就是不显示.
#include <mega16.h>
#include <delay.h>
#include <spi.h>

#define LCD_BUSPORTC      
#define _WR      PORTB.0   
#define _RD      PORTB.1   
#define _CS      PORTB.2   
#define AO       PORTB.3   
#define _RES   PORTB.4   

unsigned char CTAB1={
0x53,0x75,0x50,0x50,0x6f,0x72,0x74,0x20,0x54,0x45,0x4c,0x3a,
0x30,0x35,0x37,0x31,0x2d,0x38,0x35,0x31,0x32,0x31,0x37,0x34,0x32};

//--------------写指令代码------------------------------
void Cmdwrite(unsigned char cmdcode)
{
_CS=0;
AO =1;
LCD_BUS=cmdcode;
_RD=1;
_WR=0;
_WR=1;
_CS=0;
}
//--------------写数据或参数-----------------------------
void Datawrite(unsigned char wrdata)
{
_CS=0;
AO =0;
LCD_BUS=wrdata;
_RD=1;
_WR=0;
_WR=1;
_CS=0;
}
//---------------写入数据-------------------------------
void Printstr(void)
{
unsigned char i;
Cmdwrite(0x42);
for(i=0;i<25;i++)
{
Datawrite(CTAB1);//写入数据
}

}
//-------------写入字符串--------------------------------
/*void Printstr( unsigned char*pstr)
{
Cmdwrite(0x42);
while(*pstr>0)
{
Datawrite(*pstr);
pstr++;
}
}*/

//--------------整屏幕写入数据---------------------------
void Fullscreenfill(unsigned char low,unsigned char high, unsigned char fill_data)
{
unsigned char i,j;
Cmdwrite(0x46);
Datawrite(low);
Datawrite(high);
Cmdwrite(0x42);
for(i=0;i<240;j++)
   for(j=0;j<40;j++)
      Datawrite(fill_data);
}
//--------------模块初始化-------------------------------
void LCD_Initial()
{
_RES=0;
delay_ms(100);
_RES=1;
delay_ms(100);

Cmdwrite(0x40);
Datawrite(0x32);
Datawrite(0x87);
Datawrite(0x07);
Datawrite(0x27);
Datawrite(0x2b);
Datawrite(0xef);
Datawrite(0x28);
Datawrite(0x00);

Cmdwrite(0x44);
Datawrite(0x00);
Datawrite(0x00);
Datawrite(0x77);
Datawrite(0x00);
Datawrite(0x28);
Datawrite(0xef);
Datawrite(0x00);
Datawrite(0x50);

Cmdwrite(0x58);
Datawrite(0x55);

Cmdwrite(0x5b);
Datawrite(0x00);

Cmdwrite(0x5c);
Datawrite(0x00);
Datawrite(0x78);

Cmdwrite(0x5d);
Datawrite(0x07);
Datawrite(0x07);
Cmdwrite(0x4c);

Fullscreenfill(0x00,0x00,0x00);
Fullscreenfill(0x00,0x28,0x00);
Fullscreenfill(0x00,0x50,0x00);

Cmdwrite(0x59);
}
//================================================================
void main()
{
DDRB=0xff;
PORTB = 0xff;
DDRC=0xff;
PORTC = 0x00;

_RD=1;
_WR=1;
_CS=1;
AO =1;
LCD_BUS=0xff;
LCD_Initial();

Cmdwrite(0x46);
Datawrite(0x3d);
Datawrite(0x02);
Printstr();

Cmdwrite(0x46);
Datawrite(0x0a);
Datawrite(0x50);
Printstr();

delay_ms(200);
while(1)
{}
}

wfjwch 发表于 2008-2-7 04:20:38

问题解决了,太粗心了,看看这个错误 for(i=0;i<240;j++) .所以一直在清屏(废了我一晚上).

gyroscope 发表于 2008-2-7 13:03:58

恭喜
谢谢
目前用这个液晶的人可能还比较少
先把你的代码收藏了~

john_hua 发表于 2008-2-22 10:00:47

我想学习一下RA8835如何硬件连接单片机和LCD屏,我用240X160,能否共享硬件图,谢谢。

BenJimmy 发表于 2008-2-23 13:30:44

RA8835 这个就是1335的替代
我们公司的一个产品用这个.不怎么成熟啊,I/O模拟的行,总线驱动的悬了,要么是没显示要么是花屏

注意后缀为RA8835AP的改良版可能好些了

austin417 发表于 2008-10-30 08:46:30

有液晶模块方面问题或需求相关资料可联系我

QQ&nbsp;172948918

GESHW 发表于 2009-4-28 11:36:47

记号 收藏

lcmdw 发表于 2011-6-4 14:05:47

mark

zysun20010300 发表于 2011-6-7 13:06:54

MARK一下

zysun20010300 发表于 2011-6-9 16:45:07

楼主能不能留个QQ什么的,小弟也在做RA8835驱动程序,怎么搞也没显示,换成你上面的程序把你错误的那个地方改过来了,也没显示,希望大哥能指导指导,谢谢!我的QQ82131137

zdajun1988 发表于 2011-8-18 15:57:46

mark

avr_labview 发表于 2012-1-3 21:02:54

现在发现液晶的驱动太难了,我现在弄ra8803,整了两天了,都没看到啥,问题纠结啊,ra8835,看来也是不太好弄啊

summerliyang 发表于 2012-3-7 22:42:59

mark
页: [1]
查看完整版本: RA8835驱动程序不显示,看看问题出在那里?