проблем за плосък dislay Nibble режим

H

hbaocr

Guest
PLZ ми покажете някакъв проблем срещнах по този проект
Код:

# включват "REG52.H"

/ / Дефинираме някои необходими вариант

sbit RS P1 ^ = 0;

sbit RW ^ P1 = 1;

sbit EN = P1 ^ 2;

sbit BUSY = P2 ^ 7;

/ / Характер dislay

# определят CHU_A 0x41

# определят CHU_B 0x42

# определят CHU_C 0x43

# определят CHU_D 0x44

# определят CHU_E 0x45

# определят CHU_F 0x46

# определят CHU_G 0x47

# определят CHU_H 0x48

# определят CHU_I 0x49

# определят CHU_J 0x4A

# определят CHU_K 0x4B

# определят CHU_L 0x4C

# определят CHU_M 0x4D

# определят CHU_N 0x4E

# определят CHU_O 0x4F

# определят CHU_P 0x50

# определят CHU_Q 0x51

# определят CHU_R 0x52

# определят CHU_S 0x53

# определят CHU_T 0x54

# определят CHU_U 0x55

# определят CHU_V 0x56

# определят CHU_W 0x57

# определят CHU_X 0x58

# определят CHU_Y 0x59

# определят CHU_Z 0x5A

# определят КТ 0x20

/ /

# определят ДАННИ P2

/ / обяви моята функция

нищожен WR_LCD (грозен Чар TXT, малко RSbit);

нищожен WAIT_LCD (Void);

нищожен INT_LCD (Void);нищожен CLR_LCD (Void);

нищожен HOME_LCD (Void);

/ / основна програманищожен основни (Void)

(

INT_LCD ();

CLR_LCD ();

HOME_LCD ();

Данни = 0X55;

WR_LCD (CHU_B, 1);

WR_LCD (CHU_A, 1);

WR_LCD (CHU_O, 1);

докато (1);

)//================================================ ==

нищожен WAIT_LCD (Void)

(

грозен Чар изкуши = 255;

BUSY = 1;

EN = 1;

RW = 1; / / DOC Ту LCD съм UC

RS = 0; / / команда

докато (натоварените)

;

EN = 0;

RW = 0; / / LCD Nhan данни

)

//================================================ ==

нищожен INT_LCD (Void)

(

/ / функция настроите 8 цв 2 ред, 5x7 точка формат, хапане РЕЖИМ

/ / EN = 1;

/ / RS = 0;

/ / Данни = 0x38;

WR_LCD (0x28, 0);

/ / BG = 0;

/ / WAIT_LCD ();

/ / Dislay ON / OFF курсора Shift

/ / Dislay ON, Курсор на Подчертайте, курсора мигам на разстояние

WR_LCD (0x0E, 0);

/ / EN = 1;

/ / RS = 0;

/ / Данни = 0x0E;

/ / BG = 0;

/ / WAIT_LCD ();

/ / Задаване на Charracter режим

/ / Увеличение (Dich FAI), Dislay Shift Off

WR_LCD (0x06, 0);

/ / EN = 1;

/ / RS = 0;

/ / Данни = 0x06;

/ / BG = 0;

/ / WAIT_LCD ();

)

//================================================ =======нищожен WR_LCD (грозен Чар TXT, малко RSbit) / / RSbit CMD = 0, = 1 данни

(

RS = RSbit;

RW = 0;

/ / напишете 4 битови високи

EN = 1;

DATA = (TXT | 0x0F) &DATA;

EN = 0;

WAIT_LCD ();

/ / Данни = highTXT_lowDATA

/ / напишете 4 битови ниско

EN = 1;

DATA = ((TXT <<4) | 0x0F) &DATA;

/ / Данни = lowTXT_lowDATAEN = 0;

WAIT_LCD ();

)

нищожен CLR_LCD (Void)

(

/ / EN = 1;

/ / RS = 0;

/ / Данни = 0x01;

/ / BG = 0;

/ / WAIT_LCD ();

WR_LCD (0x01, 0);

)

нищожен HOME_LCD (Void)

(/ / EN = 1;

/ / RS = 0;

/ / Данни = 0x02;

/ / EN = 1;

/ / WAIT_LCD ();

WR_LCD (0x02, 0);

)
 
предлагаме да се промени ...Код:нищожен INT_LCD (Void)

(

/ / функция настроите 8 цв 2 ред, 5x7 точка формат, хапане РЕЖИМ

delay_ms (5);

EN = 1;

RS = 0;

Данни = 0x30;

EN = 0;

delay_ms (5);

EN = 1;

RS = 0;

Данни = 0x30;

EN = 0;

delay_ms (5);

EN = 1;

RS = 0;

Данни = 0x30;

EN = 0;

delay_ms (5);

EN = 1;

RS = 0;

Данни = 0x20; / / Тук вие избирате хапане режим

EN = 0;

delay_ms (5);WR_LCD (0x28, 0);

/ / Dislay ON / OFF курсора Shift

/ / Dislay ON, Курсор на Подчертайте, курсора мигам на разстояние

WR_LCD (0x0E, 0);

/ / Задаване на Charracter режим

/ / Увеличение (Dich FAI), Dislay Shift Off

WR_LCD (0x06, 0);

)

//================================================ =======нищожен WR_LCD (грозен Чар TXT, малко RSbit) / / RSbit CMD = 0, = 1 данни

(

RS = RSbit;

RW = 0;

/ / напишете 4 битови високи

EN = 1;

DATA = (TXT | 0x0F) & (DATA & 0x0F);

EN = 0;

WAIT_LCD ();

/ / Данни = highTXT_lowDATA

/ / напишете 4 битови ниско

EN = 1;

DATA = ((TXT <<4) | 0x0F) & (DATA & 0x0F);

/ / Данни = lowTXT_lowDATAEN = 0;

WAIT_LCD ();

)
 
hbaocr,

Какъв е проблемът?Нещо се появи екран?

Вие трябва да проверите дали код се оплакват с контролер на борда Райт (Hitachi, toschiba и др ..).
 
Мисля, че не е нужно да изпратите три от 0x30 команда.

 
Здравейте vietdung79

Цитат:

Мисля, че не е нужно да изпратите три от 0x30 команда.
 

Welcome to EDABoard.com

Sponsor

Back
Top