.


:




:

































 

 

 

 


. - ()




- () , .

, , , , , . . , . , , HD44780 Hitachi. (, , ). , .

, , DR (Data Register), IR (Instruction Register), DDRAM (Display Data RAM), CGRAM (haracter Generator RAM), (Address Counter) BF (Busy Flag).

ASCII- DR DDRAM , . , 80 , , . 40 , , . DDRAM, , . 3.17.

. 3.17. DDRAM

, . , . . , DDRAM.

. DDRAM 40 , 0 39 (0x27), 40 64 (0x40) 103 (0x67). DDRAM 4063 (0x28...0x3F) .

, IR, . IR , BF.

, , , 40 , . BF, BF. , , , , , .

HD44780 11 , (DB0DB7) , (RS, R/W, E) .

RS (Register Select) , IR DR, . R/W : (R/W = 0) (R/W = 1). (Enable) , . 1 0.

RS, R/W IR, . 3.8.

 

3.8

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
                    ( 0)
                  * ( 0). DDRAM .
                I/D S (I/D = 0/1) DDRAM. (S = 1)
              D C B - (D = 1/0) . - (C = 1/0) . (B = 1)
            S/C R/L * * (S/C = 0) (S/C = 1) (R/L = 1) (R/L = 0)
          DL N F * * 4 8 (DL = 0/1), (N = 0/1), 5 × 7 5 × 10 (F = 0/1)
        AG AG AG AG AG AG CGRAM.
      AD AD AD AD AD AD AD DDRAM.
    BF AC AC AC AC AC AC AC busy- BF AC
    DDRAM CGRAM
    DDRAM CGRAM

 

WH1602C-YGH Winstar, 16 . . 3.18.

 

. 3.18.

, (. . 3.8):

DL = 1 8;

N = 0 ;

F = 0 5 × 7 ;

B = 0 ;

C = 0 ;

D = 0 ;

I/D = 1 ;

S = 0 .

, (, ). , , , 10 . .

8- .

15 , - 0.10.2 . RS = 0, R/W = 0 0x30, 4.1 0x30. , 100 , 0x30. , . BF, 100200 .

:

 

1. 100200 0x38

RS R/W   DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
            DL N F    

 

DL = 1 (8- ); N = 1 (2 ); F = 0 ( 5 × 7 ).

2. 100200 0x0E

RS R/W   DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
                D C B

 

D = 1 ( .); C = 1 ( .); B = 0 ( .).

3. 100200 0x06

RS R/W   DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
                  I/D S

 

I/D = 1 ( ); S = 0 ( ).

,

#define RS 7 //

#define E 6 //

void LCD_cmd(unsigned char cmd) {

//[]--------------------------------------------------[]

//| : |

//| : cmd - |

//[]--------------------------------------------------[]

DDRC = 0xFF; // PORTC

DDRD |= ((1<<E)|(1<<RS));// PORTD

PORTD &= ~(1<<RS); // RS=0

PORTC = cmd; // PORTC

PORTD |= (1<<E); // \

delay_us(5); // | E 1-0

PORTD &= ~(1<<E); // /

delay_ms(100); //

}

.

void LCD_init(void) {

//[]--------------------------------------------------[]

//| : |

//[]--------------------------------------------------[]

DDRC = 0xFF; // PORTC

DDRD |= ((1<<E)|(1<<RS)); // PORTD

delay_ms (100); //

//

LCD_cmd(0x30); // \

LCD_cmd(0x30); // |

LCD_cmd(0x30); // / 0x30

LCD_cmd(0x38); // 8 ., 2 , 5 × 7

LCD_cmd(0x0E); // ,

LCD_cmd(0x06); // ,

LCD_cmd(0x01); // ,

}

, ASCII . , , .

unsigned char TabCon[] =

{0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,0xA5,0xA6,0x4B, 0xA7,0x4D,0x48,0x4F,0xA8,0x50,0x43,0x54,0xA9,0xAA,0x58,





:


: 2016-11-24; !; : 819 |


:

:

! . .
==> ...

1706 - | 1489 -


© 2015-2024 lektsii.org - -

: 0.025 .