-- пауза 7 мс > 4.1 мс

               WHEN p2 =>

                       Dmsh[DATA_WITH-1..0] = H"38";        OE = vcc;

                       Eena = gnd;        _RW = gnd;        _RS = gnd;        Pause. aclr = gnd;

                       IF Pause. q[]==100 THEN ST = r2; ELSE ST = p2; END IF;

               -- INITIAL SETTING TWICE 00111000

               WHEN r2 =>

                       Dmsh[DATA_WITH-1..0] = H"38";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = p3;

               -- пауза 0.7 мс > 0.1 мс

               WHEN p3 =>

                       Dmsh[DATA_WITH-1..0] = H"38";        OE = vcc;

НЕ нашли? Не то? Что вы ищете?

                       Eena = gnd;        _RW = gnd;        _RS = gnd;        Pause. aclr = gnd;

                       IF Pause. q[]==10 THEN ST = r3; ELSE ST = p3; END IF;

               -- INITIAL SETTING THIRD 00111000

               WHEN r3 =>

                       Dmsh[DATA_WITH-1..0] = H"38";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = p4;

               -- пауза 0.7 мс > 0.1 мс

               WHEN p4 =>

                       Dmsh[DATA_WITH-1..0] = H"38";        OE = vcc;

                       Eena = gnd;        _RW = gnd;        _RS = gnd;        Pause. aclr = gnd;

                       IF Pause. q[]==10 THEN ST = r4; ELSE ST = p4; END IF;

               -- Function Set 0011NF**

               WHEN r4 =>

                       Dmsh[DATA_WITH-1..0] = H"3C";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = b4;

               WHEN b4 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = vcc;        _RW = vcc;        _RS = gnd;        Pause. aclr = vcc;

                       ST = c4;

               WHEN c4 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = gnd;        _RW = vcc;        _RS = gnd;        Pause. aclr = gnd;

                       IF Din[DATA_WITH-1].q==0 THEN ST = r5; ELSE ST = b4; END IF;

               -- Display ON/OFF = 00001DCB, Display ON, Cursor&Blink OFF

               WHEN r5 =>

                       Dmsh[DATA_WITH-1..0] = H"0C";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = b5;

               WHEN b5 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = vcc;        _RW = vcc;        _RS = gnd;        Pause. aclr = vcc;

                       ST = c5;

               WHEN c5 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = gnd;        _RW = vcc;        _RS = gnd;        Pause. aclr = gnd;

                       IF Din[DATA_WITH-1].q==0 THEN ST = r6; ELSE ST = b5; END IF;

               -- Entry Mode Set = 000001IS, Increment & Shift OFF

               WHEN r6 =>

                       Dmsh[DATA_WITH-1..0] = H"06";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = b6;

               WHEN b6 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = vcc;        _RW = vcc;        _RS = gnd;        Pause. aclr = vcc;

                       ST = c6;

               WHEN c6 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = gnd;        _RW = vcc;        _RS = gnd;        Pause. aclr = gnd;

                       IF Din[DATA_WITH-1].q==0 THEN ST = r7; ELSE ST = b6; END IF;

               -- Return Home

               WHEN r7 =>

                       Dmsh[DATA_WITH-1..0] = H"02";        OE = vcc;

                       Eena = vcc;        _RW = gnd;        _RS = gnd;        Pause. aclr = vcc;

                       ST = b7;

               WHEN b7 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = vcc;        _RW = vcc;        _RS = gnd;        Pause. aclr = vcc;

                       ST = c7;

               WHEN c7 =>

                       Dmsh[DATA_WITH-1..0] = H"00";        OE = gnd;

                       Eena = gnd;        _RW = vcc;        _RS = gnd;        Pause. aclr = gnd;

                       IF Din[DATA_WITH-1].q==0 THEN ST = r8; ELSE ST = b7; END IF;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10