реклама на сайте
подробности

 
 
> инициализация графического LCD
goodking
сообщение Mar 11 2010, 12:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 21-12-09
Пользователь №: 54 383



Привет! Не проходит инициализация ЖКИ, подскажите, в чем ошибка, или посоветуйте пример, т.к. перепробовал уже несколько различных вариантов, но кроме мусора на экране ничего не получается
мк SiLabs c8051F120
LCD t6963c

CODE
#include "c8051F120.h"

#define DATA P4

#define BUSY P4&0x03

sbit WR=P2^0;

sbit RD=P2^1;

sbit CE=P2^2;

sbit CD=P2^3;

sbit RST=P2^4;

sbit FS=P2^5;

sbit RV=P2^6;

void GetStatusLCD(void);
void LcdInit (void);
void Send8LCD(unsigned char cmd, unsigned char bt);
void LcdInit(void);
void delay(unsigned int i);
int a;

void main (void)

{ WDTCN = 0xDE;
WDTCN = 0xAD;
SFRPAGE = CONFIG_PAGE;

P2MDOUT = 0xFF;
P4MDOUT = 0xFF;
XBR2 = 0x40;

LcdInit();





while (1) {};
}


void GetStatusLCD(void)
{


RD=0;
WR=1;
CE=0;
CD=1;

for (a=0;a<2;a++);


while(BUSY != 0x03);

CE = 1;
CD = 1;
WR = 1;
RD = 1;
delay(50);
}


void delay(unsigned int i)
{
while ( i--!=0);
}



void Send8LCD(unsigned char cmd, unsigned char bt)
{
char i;

if (cmd)
CD=1;
else
CD=0;

for (i=0;i<2;i++);

CE=0;
WR=0;
DATA=bt;

for (i=0;i<2;i++);

CE=1;
WR=1;
CD=1;
}



void LcdInit()
{
delay(1000);
RST=0;
GetStatusLCD();
RST=1;

Send8LCD(1,0x80);
GetStatusLCD();
Send8LCD(0,0x00);//graphic home
GetStatusLCD();
Send8LCD(0,0x00);
GetStatusLCD();
Send8LCD(1,0x42);
GetStatusLCD();
Send8LCD(0,0x28);//graphic ar
GetStatusLCD();
Send8LCD(0,0x00);
GetStatusLCD();
Send8LCD(1,0x43);
GetStatusLCD();
Send8LCD(0,0x00);//text home
GetStatusLCD();
Send8LCD(0,0x17);
GetStatusLCD();
Send8LCD(1,0x40);
GetStatusLCD();
Send8LCD(0,0x28);//text ar
GetStatusLCD();
Send8LCD(0,0x00);
GetStatusLCD();
Send8LCD(1,0x41);
GetStatusLCD();
Send8LCD(0,0x17);
GetStatusLCD();
Send8LCD(0,0x00);
GetStatusLCD();
Send8LCD(1,0x24);

GetStatusLCD();
Send8LCD(0,0x24);
GetStatusLCD();
Send8LCD(1,0xc0);
GetStatusLCD();
Send8LCD(0,0x25);
GetStatusLCD();
Send8LCD(1,0xc0);
GetStatusLCD();
Send8LCD(0,0x2e);
GetStatusLCD();
Send8LCD(1,0xc0);
GetStatusLCD();
Send8LCD(1,0x9c);

}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
goodking
сообщение Mar 12 2010, 07:25
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 21-12-09
Пользователь №: 54 383



Цитата(rezident @ Mar 11 2010, 22:21) *
Запись типа sbit WR=P2^0; из какого языка/компилятора?

Описание sbit

Сообщение отредактировал zltigo - Mar 12 2010, 13:56
Причина редактирования: Убрано повторное!!! самоцитирование мутного исзодника
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016