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);
)
Код:
# включват "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);
)