ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° рисунков Π½Π° графичСский Π–Πš-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

MCS-51 — ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ сСрии МК51. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ INT0 Π΄Π²Π° Π±Π°ΠΉΡ‚Π°, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ соотвСтствСнно, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ для Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ графичСского дисплСя ΠΈ ΠΎΡ‚сылаСт Π΅Π³ΠΎ Π½Π° Π–Πš-дисплСй. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ осущСствляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сброс ТидкокристалличСского дисплСя, посылая Π½Π° Π²Ρ…ΠΎΠ΄ RST Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, поддСрТивая Π΅Π³ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° рисунков Π½Π° графичСский Π–Πš-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° рисунков Π½Π° Π³Ρ€Π°Ρ„ичСский Π–Πš-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€

1. ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структурно-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ схСмы

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмы

3.1 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма ΠΈ Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅

3.2 Π’Ρ‹Π±ΠΎΡ€ элСмСнтной Π±Π°Π·Ρ‹

4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

4.1 Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4.2 Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

5.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

.

6. Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

1. ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅

НСобходимо ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ схСму Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° для Π²Ρ‹Π²ΠΎΠ΄Π° рисунков Π½Π° Π³Ρ€Π°Ρ„ичСский Π–Πš-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ГрафичСскиС Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ с LPT ΠΏΠΎΡ€Ρ‚Π°, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ с LPT ΠΏΠΎΡ€Ρ‚Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Π–Πš-дисплСй.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структурно-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ схСмы

Рис. 1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма.

НазначСниС Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ структурно-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ схСмы.

Β· LPT ΠΏΠΎΡ€Ρ‚ — 25-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. По ΡΠΈΠ³Π½Π°Π»Ρƒ Ack# приходящСму ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ графичСскиС Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ X, Y) для MCS — 51 ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ Centronics. ΠŸΡ€ΠΈ этом ΠΎΠ½ Π²Ρ‹ΡΡ‚авляСт сигнал Strobe#, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ считываСт ΠΈΡ….

Β· Π‘ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, присланных LPT ΠΏΠΎΡ€Ρ‚ΠΎΠΌ.

Β· MCS-51 — ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ сСрии МК51. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ INT0 Π΄Π²Π° Π±Π°ΠΉΡ‚Π°, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ соотвСтствСнно, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ для Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ графичСского дисплСя ΠΈ ΠΎΡ‚сылаСт Π΅Π³ΠΎ Π½Π° Π–Πš-дисплСй.

Β· LCD дисплСй — ТидкокристалличСский дисплСй. ВысвСчиваСт принятый ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π±Π°ΠΉΡ‚.

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмы

3.1 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма ΠΈ Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ΅ КП02.98 020 088.01.Π­3.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LPT ΠΏΠΎΡ€Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ Centronics графичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр-Π·Π°Ρ‰Π΅Π»ΠΊΡƒ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° 8-Π±ΠΈΡ‚Π½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚Π° Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ². Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ содСрТится ΠΎΠ΄Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° (X ΠΈΠ»ΠΈ Y), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π‘ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Ρƒ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ происходит ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ сигнала Strobe# Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€ Π½Π° ΠΎΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚ΡƒΡŽ линию рСгистра. ПослС этого ΠΎΠ½ Π·Π°Ρ‰Π΅Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ся ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ хранСния Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π° Π½Π° Π‘.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ послС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сброса ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π–Πš-дисплСя, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚, засылая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· ΡΠ΅ΠΌΠΈ Ρ‚Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° 8-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, выставляСт высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° 36 линию, сигнализируя этим LPT ΠΏΠΎΡ€Ρ‚Ρƒ ΠΎ ΡΠ²ΠΎΠ΅ΠΉ готовности ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ПослС этого MCS-51 ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT0 ΠΏΠΎ ΡΠΈΠ³Π½Π°Π»Ρƒ Π½Π° Π΄Π²Π΅Π½Π°Π΄Ρ†Π°Ρ‚ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это происходит, ΠΎΠ½ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡ€Ρ‚Π° P1. Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ снова сообщаСт ΠΎ Π³ΠΎΡ‚овности ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ. ПослС принятия Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚ MCS-51 ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ…, получая ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ дисплСя, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ считываСт Π±Π°ΠΉΡ‚, находящийся ΠΏΠΎ ΡΡ‚ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ маску для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ отправляСт Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

3.2 Π’Ρ‹Π±ΠΎΡ€ элСмСнтной Π±Π°Π·Ρ‹

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° XP1 — ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ LPT ΠΏΠΎΡ€Ρ‚.

ΠšΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ ZQ1 — 16ΠœΠ“Ρ† Ρ‚ΠΈΠΏΠ° Π Π“-5−16ΠœΠ“Ρ† ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° DD1 — К1554ИР23. 8-разрядный Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр-Π·Π°Ρ‰Π΅Π»ΠΊΠ°.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° DD2 — ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ АВ89Π‘52.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° DD3 — ТидкокристалличСский дисплСй Hantronix 240×64.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° DD4 — КР1554ЛН1. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° прСдставляСт собой 6 ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€ΠΎΠ².

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹ Π‘2 ΠΈ Π‘3 Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ 33 ΠΏΠ€, C1 -1 ΠΌΠΊΠ€.

РСзисторы R1 — 20КОм, R2 — 10 КОм.

Π”ΠΈΠΎΠ΄ VD1 — ΠšΠ”521.

4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

4.1 Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ осущСствляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сброс ТидкокристалличСского дисплСя, посылая Π½Π° Π²Ρ…ΠΎΠ΄ RST Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, поддСрТивая Π΅Π³ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2 микросСкунд. Π—Π°Ρ‚Π΅ΠΌ производится инициализация дисплСя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Β· ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ дисплСя ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄.

Β· На Π²Ρ…ΠΎΠ΄ Π‘D Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Ρ…ΠΎΠ΄ Π 2.2 подаСтся высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сигнала, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ присланный Π±Π°ΠΉΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Β· Π’ ΠΏΠΎΡ€Ρ‚ Π 0 записываСтся Π±Π°ΠΉΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Β· АктивизируСтся Π²Ρ…ΠΎΠ΄ WR с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Ρ…ΠΎΠ΄ P2.0 сигнала Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня для считывания Π±Π°ΠΉΡ‚Π° дисплССм с Π²Ρ…ΠΎΠ΄ΠΎΠ² D0D7.

Β· На Π²Ρ…ΠΎΠ΄Π΅ WR (Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Ρ…ΠΎΠ΄ Π 2.0) снова устанавливаСтся логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ ΠΊΠΎΠ½Π΅Ρ† считывания Π±Π°ΠΉΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ посылаСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· 21 Π±Π°ΠΉΡ‚Π° (сСмь ΠΊΠΎΠΌΠ°Π½Π΄).

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ посылаСт Π½Π° Π»ΠΈΠ½ΠΈΡŽ Ack# LPT ΠΏΠΎΡ€Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Ρ…ΠΎΠ΄ Π 2.4 Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ, послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ всС прСрывания.

По ΠΏΡ€ΠΈΡ…ΠΎΠ΄Ρƒ логичСского нуля Π½Π° 12 линию ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT0, вступаСт Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ этого прСрывания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считываСт Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡ€Ρ‚Π° Π 1 ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ принятого Π±Π°ΠΉΡ‚Π°.

Π’ Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ принятый Π±Π°ΠΉΡ‚ запоминаСтся ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π°ΠΉΡ‚Π° выставляя Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π½Π° Π 2.4.

Когда ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ принятого Π±Π°ΠΉΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚, вычисляСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ дисплСя.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ считываСт с LCD Π±Π°ΠΉΡ‚ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ мСстополоТСниСм, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Β· На Π²Ρ‹Ρ…ΠΎΠ΄ Π 2.2 выставляСтся Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Β· На ΠΏΠΎΡ€Ρ‚ Π 0 посылаСтся ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Ρ‚Ρ€ΠΈ Π±Π°ΠΉΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ установки ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ дисплСя.

Β· БчитываСтся Π±Π°ΠΉΡ‚, записанный Π² ΡΡ‚ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

Π—Π°Ρ‚Π΅ΠΌ Π½Π° ΡΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚ накладываСтся маска, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠ°ΠΊΠΎΠΉ Π±ΠΈΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ, ΠΈ Π±Π°ΠΉΡ‚ посылаСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° ΡΠ²ΠΎΠ΅ мСсто Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ очистки дисплСя, которая происходит ΠΏΡ€ΠΈ посылании с LPT ΠΏΠΎΡ€Ρ‚Π° Π±Π°ΠΉΡ‚Π° 0FFH.

4.2 Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ts:do;

$include (reg51.dcl)

declare (i, r0, r1,a, a1, x, y, bait, ostatok, nomer, counter, mask, j) byte,

inibyte (*) byte constant (80h, 07h, 40h,

1eh, 00h, 41h,

00h, 00h, 42h,

1eh, 00h, 43h,

00h, 00h, 81h,

00h, 00h, 24h,

00h, 00h, 98h);

/*ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° готовности дисплСя*/

status: procedure;

declare c byte;

p2=p2 or 100b; /*cd=1*/

p0=0ffh;

c=0bh;

r1=0;

do while r1-c<>0;

p2=p2 and 1 111 1101b; /*rd=0*/

r1=p0;

p2=p2 or 10b; /*rd=1*/

r1=r1 and c;

end;

end status;

/*Π§Ρ‚Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π° с Π΄ΠΈΡΠΏΠ»Π΅Ρ*/

read: procedure;

call status;

p2=p2 or 100b; /*cd=1*/

p0=low (nomer);

p2=p2 and 1 111 1110b; /*wr=0*/

p2=p2 or 01b; /*wr=1*/

p0=high (nomer);

p2=p2 and 1 111 1110b; /*wr=0*/

p2=p2 or 01b; /*wr=1*/

p0=24h;

p2=p2 and 1 111 1110b; /*wr=0*/

p0=p2 or 01b; /*wr=1*/

p2=p0 and 1 111 1011b; /*cd=0*/

p2=p2 and 1 111 1101b; /*rd=0*/

a=p0;

p2=p2 or 10b; /*rd=1*/

end read;

/*Π—Π°ΠΏΠΈΡΡŒ Π±Π°ΠΉΡ‚Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ*/

write: procedure;

p0=a;

p2=p2 and 1 111 1110b; /*wr=0*/

p2=p2 or 01b; /*wr=1*/

end write;

/*ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° принятых ΠΎΡ‚ LPT ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚*/

send: procedure;

if a=0ffh then goto label1; /*Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ засылаСт 0ffh, Ρ‚ΠΎ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ очищаСтся ΠΈ ΡΠ½ΠΎΠ²Π° Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ*/

counter=counter+1;

if counter=2 then

do;

counter=0;

y=a;/*ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° ΠΏΠΎ Y*/

mask=1 000 0000b;

if x>7 then bait=y*30+x/8; /*вычислСниС Π±Π°ΠΉΡ‚Π° Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ дисплСя*/

else bait=y*30;

nomer=bait;

ostatok=x mod 8;/*вычислСниС Π±ΠΈΡ‚Π°*/

mask=ror (mask, ostatok); /*цикличСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ mask Π½Π° ostatok ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ*/

call read;/*Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π° с Π΄ΠΈΡΠΏΠ»Π΅Ρ*/

a=mask or a;/*Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ маски Π½Π° ΡΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚*/

call status;/*ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° готовности дисплСя*/

p2=p2 or 100b;/*cd=1*/

p0=low (nomer);

p2=p2 and 1 111 1110b;/*wr=0*/

p2=p2 or 01b;/*wr=1*/

p0=high (nomer);

p2=p2 and 1 111 1110b;/*wr=0*/

p2=p2 or 01b;/*wr=1*/

p0=24h;

p2=p2 and 1 111 1110b;/*wr=0*/

p2=p2 or 01b;/*wr=1*/

p2=p2 and 1 111 1011b;/*cd=0*/

call write;/*Π²Ρ‹Π²ΠΎΠ΄ Π±Π°ΠΉΡ‚Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ*/

p2=p2 or 1 0000b;/*Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ*/

end;

else

do;

x=a;/*ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° ΠΏΠΎ X*/

a=0;

p2=p2 or 1 0000b;/*ack=1*/

end;

end send;

*ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ LPT*/

receive: procedure interrupt 0;

a=p1; /*считываниС ΠΈΠ· ΠΏΠΎΡ€Ρ‚Π° P1*/

call send;/*Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ принятого Π±Π°ΠΉΡ‚Π°*/

end receive;

/*Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ дисплСя*/

initialization: procedure;

do i=0 to 20;

a=inibyte (i);

call status;/*ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° готовности дисплСя*/

p2=p2 or 100b;/*cd=1*/

call write;/*Π²Ρ‹Π²ΠΎΠ΄ Π±Π°ΠΉΡ‚Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ*/

p2=p2 and 1 111 1011b;/*cd=0*/

end;

end initialization;

/*—————————-ΠΠΠ§ΠΠ›Πž ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«—————————————-*/

/*ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сброс дисплСя Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2-Ρ… микросСкунд*/

label1: p2=p2 and 1 111 0111b; /*RST=0*/

do i=0 to 25;

end;

p2=p2 or 1000b;/*RST=1*/

/*инициализация дисплСя*/

call initialization;

/*acknowledge — Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ*/

p2=p2 or 1 0000b;/*Ack=1*/

enable;/*Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ*/

counter=0;

do while 1;

end;

end;

ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»Π° использована Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, указанная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» reg51.dcl. Π•Π³ΠΎ листинг ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

/* Copyright 1982,1983,1986 Intel Corporation */

/* REGISTER DECLARATIONS FOR 8051 */

$nolist

DECLARE REG LITERALLY 'REGISTER';

/********* BYTE REGISTERS ********/

DECLARE

P0 BYTE AT (80H) REG,

P1 BYTE AT (90H) REG,

P2 BYTE AT (0A0H) REG,

P3 BYTE AT (0B0H) REG,

PSW BYTE AT (0D0H) REG,

ACC BYTE AT (0E0H) REG,

B BYTE AT (0F0H) REG,

SP BYTE AT (81H) REG,

DPL BYTE AT (82H) REG,

DPH BYTE AT (83H) REG,

DPP BYTE AT (84H) REG,

PCON BYTE AT (87H) REG,

TCON BYTE AT (88H) REG,

TMOD BYTE AT (89H) REG,

TL0 BYTE AT (8AH) REG,

TL1 BYTE AT (8BH) REG,

TH0 BYTE AT (8CH) REG,

TH1 BYTE AT (8DH) REG,

IE BYTE AT (0A8H) REG,

IP BYTE AT (0B8H) REG,

SCON BYTE AT (98H) REG,

SBUF BYTE AT (99H) REG;

/********* BIT REGISTERS ********/

/********* PSW BITS ********/

DECLARE

CY BIT AT (0D7H) REG,

AC BIT AT (0D6H) REG,

F0 BIT AT (0D5H) REG,

RS1 BIT AT (0D4H) REG,

RS0 BIT AT (0D3H) REG,

OV BIT AT (0D2H) REG,

P BIT AT (0D0H) REG,

/********* TCON BITS ********/

TF1 BIT AT (8FH) REG,

TR1 BIT AT (8EH) REG,

TF0 BIT AT (8DH) REG,

TR0 BIT AT (8CH) REG,

IE1 BIT AT (8BH) REG,

IT1 BIT AT (8AH) REG,

IE0 BIT AT (89H) REG,

IT0 BIT AT (88H) REG,

/********* IE BITS ********/

EA BIT AT (0AFH) REG,

ES BIT AT (0ACH) REG,

ET1 BIT AT (0ABH) REG,

EX1 BIT AT (0AAH) REG,

ET0 BIT AT (0A9H) REG,

EX0 BIT AT (0A8H) REG,

/********* IP BITS ********/

PS BIT AT (0BCH) REG,

PT1 BIT AT (0BBH) REG,

PX1 BIT AT (0BAH) REG,

PT0 BIT AT (0B9H) REG,

PX0 BIT AT (0B8H) REG,

/********* P3 BITS ********/

RD BIT AT (0B7H) REG,

WR BIT AT (0B6H) REG,

T1 BIT AT (0B5H) REG,

T0 BIT AT (0B4H) REG,

INT1 BIT AT (0B3H) REG,

INT0 BIT AT (0B2H) REG,

TXD BIT AT (0B1H) REG,

RXD BIT AT (0B0H) REG,

/********* SCON BITS ********/

SM0 BIT AT (9FH) REG,

SM1 BIT AT (9EH) REG,

SM2 BIT AT (9DH) REG,

REN BIT AT (9CH) REG,

TB8 BIT AT (9BH) REG,

RB8 BIT AT (9AH) REG,

TI BIT AT (99H) REG,

RI BIT AT (98H) REG;

$list

ПослС компиляции получился .hex Ρ„Π°ΠΉΠ», листинг ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

:1021F1008007401E00410000421E00430000810094

:52 201 000 024 000 0961C

:1 020 2600E5A04404F5A07580FF75150B750A00E55B

:10 203 6000AC395156017E5A054FDF5A085800AE54D

:1 020 4600A04402F5A0E50A5515F50A80E222122001

:102 056 0026E5A04404F5A0E511F580E5A054FEF5BB

:1 020 6600A0E5A04401F5A0E4F580E5A054FEF5A0A6

:1 020 7600E5A04401F5A0758024E5A054FEF5A0E591

:1 020 8600A04401F580E58054FBF5A0E5A054FDF5DC

:1 020 9600A085800BE5A04402F5A022850B80E5A073

:1020A60054FEF5A0E5A04401F5A022E50BB4FF031C

:1020B60002216E0512E512B4020280030221617547

:1020C6001200850B0E751380E50DD394074018E5B5

:1020D6000E75F01EA4FFAEF0E50D75F00884FD7CCC

:1020E60000EF2DF50F800BE50E75F01EA4FFAEF088

:1020F6008F0F850F11E50D75F00884AFF07E008F08

:102 106 0010E5130F2303DFFDF513122054E51345E5

:10 211 6000BF50B122026E5A04404F5A0E511F58089

:1 021 2600E5A054FEF5A0E5A04401F5A0E4F580E5A0

:1 021 3600A054FEF5A0E5A04401F5A0758024E5A015

:102 146 0054FEF5A0E5A04401F5A0E5A054FBF5A0DA

:10 215 600 1220A1E5A04410F5A0800C850B0D750B8F

:102 166 0000E5A04410F5A0229021A812220F859028

:10 217 6000B1220B122750800E508D394145022E50D

:1 021 860 008 9021F193F50B122026E5A04404F5A052

:10 219 600 1220A1E5A054FBF5A07808740126F6509C

:1021A600D722E5A054F7F5A0750800E508D39419E1

:1021B60050087808740126F650F1E5A04408F5A009

:1021C60012217BE5A04410F5A0D2AF75120080FE67

:05220F00758116E47367

:3 000 300 0221D601

:300 000 002 2206D3

:92 206 007 581 1675D0000221A8B3

:1021D600C0E0C0F0C083C082C0D075D000122174A8

:0B21E600D0D0D082D083D0F0D0E03207

:01FF

5. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° ΠΈΠ·ΡƒΡ‡Π΅Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AT89C52 Ρ„ΠΈΡ€ΠΌΡ‹ Atmel ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π° Π½Π° Π΅Π³ΠΎ основС микропроцСссорная систСма управлСния Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ изобраТСния Π½Π° Π³Ρ€Π°Ρ„ичСский Π–Πš-дисплСй. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ программирования микропроцСссорных систСм.

ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚ дисплСй

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ