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

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСритСля расстояний

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ — число ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅. Для ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки это 02, Ρ‚. Π΅. ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ (02H=2); для Π²Ρ‚ΠΎΡ€ΠΎΠΉ это 10H=16; Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строкС ΠΈΡ… 00H. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° — адрСс ячСйки памяти, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ записываСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚ строки (ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ строки Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки памяти), Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±Π°ΠΉΡ‚ отличаСтся ΠΎΡ‚ Π½ΡƒΠ»Ρ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠ»ΡƒΠΆΠ΅Π±Π½Ρ‹Ρ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСритСля расстояний (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠžΡ‡Π΅Π½ΡŒ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ расстояниС ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° достаточно Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ это расстояниС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€ΡƒΠ»Π΅Ρ‚ΠΊΠΈ. Однако Ссли конСчная Ρ‚ΠΎΡ‡ΠΊΠ° являСтся слишком ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ труднодоступной, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π΄ΠΈΡΡ‚Π°Π½Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ расстояния Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ Π½Π°ΡΡ‚оящСС врСмя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»Π΅ΠΉ расстояний: ΡƒΠ»ΡŒΡ‚Ρ€Π°Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅, инфракрасныС, Π»Π°Π·Π΅Ρ€Π½Ρ‹Π΅.

Для измСрСния Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… расстояний (Π΄ΠΎ Π΄Π΅ΡΡΡ‚ΠΊΠΎΠ² ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²) Π²ΠΏΠΎΠ»Π½Π΅ подходят ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ инфракрасного излучСния.

Π’ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ рассматриваСтся процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСритСля расстояний. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ устройства Π»Π΅ΠΆΠΈΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (МК) ATtiny2313 Ρ„ΠΈΡ€ΠΌΡ‹ ATMEL. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСритСля ΡΠ²Π»ΡΡŽΡ‚ΡΡ использованиС инфракрасного свСтодиода Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ источника Π·ΠΎΠ½Π΄ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ излучСния, индикация посрСдством ТидкокристалличСского дисплСя.

1. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ свойства ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

1.1 НазначСниС

Устройство ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для измСрСния расстояния ΠΎΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Сля Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, находящСгося Π·ΠΎΠ½Π΅ Π² ΠΏΡ€ΡΠΌΠΎΠΉ видимости Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ.

1.2 ВСхничСскиС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Π Π΅ΠΆΠΈΠΌΡ‹ Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒ расстояния ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…:

— Ρ€Π΅ΠΆΠΈΠΌ «ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½»;

— Ρ€Π΅ΠΆΠΈΠΌ «ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅»;

— Ρ€Π΅ΠΆΠΈΠΌ «ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄».

Π Π΅ΠΆΠΈΠΌ «ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½» соотвСтствуСт ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ напряТСния питания, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ «Π’ΠšΠ›/Π’Π«ΠšΠ›» Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «Π’Π«ΠšΠ›» ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ отсутствии Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ питания Π Π΅ΠΆΠΈΠΌ «ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅» соотвСтствуСт ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄Π°Π½ΠΎ напряТСниС питания ΠΈ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ измСнСния Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ².

Π Π΅ΠΆΠΈΠΌ «ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄» соотвСтствуСт ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ расстояния ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΆΠΈΠ΄ΠΊΠΎΠΊΡ€ΠΈΡΡ‚алличСский дисплСй. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ осущСствляСтся ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° «ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅» ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅».

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

1.3 БрСдства ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ, сигнализации, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, управлСния. ΠŸΡƒΠ»ΡŒΡ‚

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ устройства, имССтся 1 ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ свСтодиод (рисунок), Π° Ρ‚Π°ΠΊΠΆΠ΅ ТидкокристалличСский дисплСй для Π²Ρ‹Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния (см. Π€Π’Π‘ ΠšΠŸ 4.468 004.017 Π­2).

Рисунок — ПанСль (корпус) ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°

Один свСтодиод, располоТСнный Π½Π° ΠΊΠΎΡ€ΠΏΡƒΡΠ΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°, сигнализируСт ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ питания. Π­Ρ‚ΠΎΡ‚ свСтодиод Π³ΠΎΡ€ΠΈΡ‚ ΠΏΡ€ΠΈ состоянии «Π’ΠšΠ›» ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’ΠšΠ›/Π’Π«ΠšΠ›» ΠΈ ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ питания. ЖидкокристалличСский дисплСй слуТит для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ расстоянии Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… измСрСния.

1.4 Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ

Устройство Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исправныС Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ «Π’ΠšΠ›/Π’Π«ΠšΠ›» Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π’ΠšΠ›».

Если ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ присутствуСт загорится свСтодиодный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ «ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅».

Для измСрСния расстояния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ навСсти ΠΏΡ€ΠΈΠ±ΠΎΡ€ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ расстояниС Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ 1» ΠΈΠ»ΠΈ «Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ 2» ΠΈ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ 1» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ строчку ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ 2» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строчку ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ПослС окончания измСрСния ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ измСрСния Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ собою ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘брос» ΠΎΠ±Π΅ строчки дисплСя очистятся.

Если послС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ символы «————-», Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ. НСудачноС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

— Ρ€Π°ΡΡΡ‚ояниС Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° слишком Π²Π΅Π»ΠΈΠΊΠΎ ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π΅Π» измСрСния;

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ большой ΡƒΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡Π°.

индикация сигнализация Π΄Π°Ρ‚Ρ‡ΠΈΠΊ адрСсный

2. Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ€Π³Π°Π½Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

2.1 Бостав Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

Π”Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ: 3 нСфиксируСмых ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ ΠΈ 1 Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄.

2.2 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия, кинСматичСская, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСмы Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… воздСйствий

Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСфиксируСмыС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

Рисунок — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Как Π²ΠΈΠ΄Π½ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π² Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии ΠΏΠΎΠ΄Π°ΡŽΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ «1», Π° ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии логичСский «0».

ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π°ΠΊΠΎΠ²Π°: ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ находятся Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ, Π° Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΡ€ΠΈ Π΅Π³ΠΎ засвСткС. Благодаря использованию Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ„ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄Π° инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° (Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΈ Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ рассчитаны Π½Π° Π΄Π»ΠΈΠ½Ρƒ Π²ΠΎΠ»Π½Ρ‹ 940Π½ΠΌ). ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€ Π½Π° Π½Π΅Ρ„иксируСмом ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ слуТит для подавлСния Π΄Ρ€Π΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

2.3 Бостав ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΎΠ² Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΡ€Π³Π°Π½Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ: свСтодиод Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, свСтодиод инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ТидкокристалличСский дисплСй

2.4 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия, кинСматичСскиС ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΎΠ², ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ограничСния Π½Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиодов ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ.

Рисунок — Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° свСтодиоды (ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ Ρ„ΠΎΡ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ) Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΡ€Π΅Ρ‚ΡŒ ΠΈΠ·Π»ΡƒΡ‡Π°Ρ‚ΡŒ свСт ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° напряТСния Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Ρ‚. Π΅. логичСского «0», ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° напряТСния высокого уровня свСтодиод ΠΈΠ·Π»ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° выступаСт ТидкокристалличСский дисплСй 16 символов 2 строчки со Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ HD44780 ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ТидкокристалличСского дисплСя.

Рисунок — Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дисплСя Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° дисплСй ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ ΠΏΠΎ ΡˆΠ΅ΡΡ‚ΠΈ линиям, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 4 ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ 2 ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…. Π’Ρ…ΠΎΠ΄ «rw» дисплСя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° дисплСя, для Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства ΠΎΠ½ Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Π½, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Ρƒ. Π’Ρ…ΠΎΠ΄ «Vee» дисплСя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для настройки Π΅Π³ΠΎ контрастности, ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΡƒ питания Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ рСзистор, сопротивлСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ настройкС мСняСтся ΠΎΡ‚ 10 Π΄ΠΎ20 кОм.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ дисплСя ΠΈΠΌΠ΅Π΅Ρ‚ свой Π±Π»ΠΎΠΊ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Она дСлится Π½Π° Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π°:

DDRAM — ΠΏΠ°ΠΌΡΡ‚ΡŒ дисплСя. ВсС Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² DDRAM Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΠΊΡ€Π°Π½. НапримСр, Ссли Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠ΄ 0?31— Π½Π° ΡΠΊΡ€Π°Π½Π΅ появится символ «1? Ρ‚.ΠΊ. 0×31 это ASCII ΠΊΠΎΠ΄ Ρ†ΠΈΡ„Ρ€Ρ‹ 1.

CGROM — Ρ‚Π°Π±Π»ΠΈΡ†Π° символов. Когда записываСтся Π² ΡΡ‡Π΅ΠΉΠΊΡƒ DDRAM Π±Π°ΠΉΡ‚, Ρ‚ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ бСрСтся символ ΠΈ Ρ€ΠΈΡΡƒΠ΅Ρ‚ся Π½Π° ΡΠΊΡ€Π°Π½Π΅. CGROM нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, поэтому ΠΎΡ‚ Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡ зависит Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках. CGRAM — Ρ‚ΠΎΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° символов, Π½ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ, создавая свои символы. ВсСго Π² CGRAM ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 8 символов, соотвСтствСнно CGRAMΠΈΠΌΠ΅Π΅Ρ‚ 64 Π±Π°ΠΉΡ‚Π° памяти. Для доступа ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ производится запись, Π° ΡΠ»Π΅Π΄ΠΎΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ «RS» напряТСниС Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

Π’Π°Π±Π»ΠΈΡ†Π°Π’Π°Π±Π»ΠΈΡ†Π° ΠΊΠΎΠΌΠ°Π½Π΄ дисплСя

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° экрана. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ адрСса Π½Π° 0 ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ DDRAM

;

АдрСсация Π½Π° DDRAM сброс сдвигов, Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ адрСса Π½Π° 0

I/D

S

Настройка сдвига экрана ΠΈ ΠΊΡƒΡ€ΡΠΎΡ€Π°

D

C

B

Настройка Ρ€Π΅ΠΆΠΈΠΌΠ° отобраТСния

S/C

R/L

;

;

Π‘Π΄Π²ΠΈΠ³ курсора ΠΈΠ»ΠΈ экрана, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π±ΠΈΡ‚ΠΎΠ²

DL

N

F

;

;

Π’Ρ‹Π±ΠΎΡ€ числа Π»ΠΈΠ½ΠΈΠΉ, ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΡˆΠΈΠ½Ρ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° символа

AG

AG

AG

AG

AG

AG

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π½Π° SGRAM ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ адрСс Π² SGRAM

AD

AD

AD

AD

AD

AD

AD

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π½Π° DDRAM ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ адрСс Π² DDRAM

УсловныС обозначСния:

I/D — ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ счСтчика адрСса.

— S — сдвиг экрана, Ссли ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ 1 Ρ‚ΠΎ Ρ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ символом Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ экрана,

— D — Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ дисплСй.

— Π‘ — Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ курсор Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ€ΠΊΠ°.

— B — ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ курсор Π² Π²ΠΈΠ΄Π΅ ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°.

— S/C сдвиг курсора ΠΈΠ»ΠΈ экрана.

— R/L — опрСдСляСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сдвига курсора ΠΈ ΡΠΊΡ€Π°Π½Π°. 0 — Π²Π»Π΅Π²ΠΎ, 1 — Π²ΠΏΡ€Π°Π²ΠΎ.

— D/L — Π±ΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. 1−8 Π±ΠΈΡ‚, 0−4 Π±ΠΈΡ‚Π°

— N — число строк. 0 — ΠΎΠ΄Π½Π° строка, 1 — Π΄Π²Π΅ строки.

— F — Ρ€Π°Π·ΠΌΠ΅Ρ€ символа 0 — 5×8 Ρ‚ΠΎΡ‡Π΅ΠΊ. 1 — 5×10 Ρ‚ΠΎΡ‡Π΅ΠΊ (встрСчаСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ)

— AG — адрСс Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ CGRAM

— ΠD — адрСс Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ DDRAM

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ Π΄ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, сначала слСдуСт ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дисплСя.

Она Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ настройкС Ρ‚Π°ΠΊΠΈΡ… Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ интСрфСйса (4 ΠΈΠ»ΠΈ 8 Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…), установка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² курсора ΠΈ Π΅Π³ΠΎ полоТСния. ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

3. ЭлСмСнтная Π±Π°Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

3.1 ΠœΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состава ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Для создания измСритСля расстояния Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ логичСского ядра устройства Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Attiny 2313 Ρ„ΠΈΡ€ΠΌΡ‹ Atmel. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ показатСлям для выполнСния Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Он ΠΈΠΌΠ΅Π΅Ρ‚ 2 Кб ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Flash-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠžΠ—Π£ Ρ‘ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 128 Π±Π°ΠΉΡ‚, 18 Π»ΠΈΠ½ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ±Ρ‰Π΅Π³ΠΎ примСнСния, Ρ‡Ρ‚ΠΎ являСтся достаточным для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх Π½ΡƒΠΆΠ½Ρ‹Ρ… устройств, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ USART. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 32 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. ΠŸΡ€ΠΈ этом всС 32 рСгистра нСпосрСдствСнно связаны с Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСским устройством (АЛУ), Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π²ΡƒΠΌ нСзависимым рСгистрам ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ данная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ стандартная CISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΡƒΡŽ систСму ΠΊΠΎΠΌΠ°Π½Π΄.

3.2 БвСдСния ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π’Π°Π±Π»ΠΈΡ†Π° ОписаниС Π²Ρ…ΠΎΠ΄ΠΎΠ²/Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Π’Ρ…ΠΎΠ΄Ρ‹:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ…ΠΎΠ΄ΠΎΠ² Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

Π’ΠΈΠΏΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

Π¦ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Π΅)

НапряТСниС, ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π²Ρ…ΠΎΠ΄Ρ‹ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

0.5 Π’

Π‘ΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄ΠΎΠ² Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

3,3 кОм

Π’Ρ‹Ρ…ΠΎΠ΄Ρ‹:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств

МаксимальноС ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ напряТСниС

5 Π’ (пост)

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ‚ΠΎΠΊ

300 мА

РасполоТСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Attiny 2313 прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

РисунокРасполоТСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

XTAL1 — Π²Ρ…ΠΎΠ΄ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ усилитСля Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π²Ρ…ΠΎΠ΄ внСшнСго Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала. XTAL2 — Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ усилитСля Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ внСшний ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ с Ρ‡Π°ΡΡ‚ΠΎΡ‚ΠΎΠΉ 10MHz. VCC — Π²Ρ‹Π²ΠΎΠ΄ источника питания. GND — «ΠΎΠ±Ρ‰ΠΈΠΉ» ΠΏΡ€ΠΎΠ²ΠΎΠ΄ (зСмля, корпус). — Π²Ρ…ΠΎΠ΄ сброса. ΠŸΠΎΡ€Ρ‚ B (PB0 — PB7) являСтся 8-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. ΠŸΠΎΡ€Ρ‚ D (PD0 — PD6) являСтся 7-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ Π²Π²ΠΎΠ΄Ρ‹/Π²Ρ‹Π²ΠΎΠ΄Π°.

Рисунок — Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ состав ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° АрхитСктурная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ построСния ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Ρƒ AVR ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ физичСского Π²Ρ‹Π²ΠΎΠ΄Π° сущСствуСт 3 Π±ΠΈΡ‚Π° контроля/управлСния, Π° Π½Π΅ 2, ΠΊΠ°ΠΊ Ρƒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½Ρ‹Ρ… 8-разрядных ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² (Intel, Microchip ΠΈ Ρ‚. Π΄.).

УпрощСнная схСма элСмСнта Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

Рисунок — УпрощСнная схСма Π²Ρ‹Π²ΠΎΠ΄Π° PB1

DDRB — Π±ΠΈΡ‚ контроля направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ² Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DDRB опрСдСляСт, Ρ‡Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π½ΠΎΠΆΠΊΠΈ этого ΠΏΠΎΡ€Ρ‚Π° (Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ). Если Π² ΡΡ‚ΠΎΠΌ рСгистрС ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «0», Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ Π½ΠΎΠΆΠΊΠ° являСтся Π²Ρ…ΠΎΠ΄ΠΎΠΌ. Если ΠΆΠ΅ Π±ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «1», Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π½ΠΎΠΆΠΊΠ° являСтся Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ.

PINB — Π±ΠΈΡ‚ для отобраТСния логичСского уровня сигнала Π½Π° Ρ„изичСском Π²Ρ‹Π²ΠΎΠ΄Π΅ микросхСмы. НапряТСниС Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ PB1 прСобразуСтся Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ «1» ΠΈΠ»ΠΈ «0», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PINB это Π±ΠΈΡ‚1 ΠΈΠ»ΠΈ PINΠ’.1.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π½ΠΎΠΆΠΊΠ°Ρ… ΠΏΠΎΡ€Ρ‚Π° B ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ «1» ΠΈΠ»ΠΈ «0», ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PORTB Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ «1» ΠΈΠ»ΠΈ «0». ΠŸΡ€ΠΈ этом Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π±ΠΈΡ‚ рСгистра DDRB Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π² «1», Ρ‚. Π΅. Π½ΠΎΠΆΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ. Если ΠΎΠ½Π° сконфигурирована ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ (Ρ‚.Π΅. ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DDRB ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «0») ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PORTB Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «0», Π½ΠΎΠΆΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ высокоимпСдансным Π²Ρ…ΠΎΠ΄ΠΎΠΌ (Z-состояниС, Π²Ρ…ΠΎΠ΄ с ΠΎΡ‡Π΅Π½ΡŒ высоким Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ сопротивлСниСм Π±ΠΎΠ»Π΅Π΅ 10 Мом). А Π΅ΡΠ»ΠΈ ΠΆΠ΅ Π±ΠΈΡ‚ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PORTB установлСн Π² «1», Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся «ΠΏΠΎΠ΄Ρ‚яТка» (pull-up) высокоимпСдансного Π²Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠ»ΡŽΡΡƒ питания ΠœΠš Ρ‡Π΅Ρ€Π΅Π· встроСнный рСзистор ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 40 КОм, Ρ‚. Π΅. Π½ΠΎΠΆΠΊΡƒ ΠΊΠ°ΠΊ Π±Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌ рСзистором с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠœΠš [2], [3],.

Π‘ΠΈΡ‚1 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DDRB управляСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ — Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.2.3 ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΠΈΡ‚1 Ρ€Π°Π²Π΅Π½ «0». Π”ΠΈΠΎΠ΄ Π½Π° ΡΡ…Π΅ΠΌΠ΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ — Π·Π½Π°Ρ‡ΠΈΡ‚, Ссли Π±ΠΈΡ‚1 Π² PORTB Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠΆΠ΅ Ρ€Π°Π²Π΅Π½ «0», Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ PB1 Π±ΡƒΠ΄Π΅Ρ‚ высокоомным Π²Ρ…ΠΎΠ΄ΠΎΠΌ.

А Π΅ΡΠ»ΠΈ Π±ΠΈΡ‚1 Π² PORTB ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ «1», Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ PB1 Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΠΎΠ΄ ΠΈ Ρ€Π΅Π·ΠΈΡΡ‚ΠΎΡ€ 40 КОм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ МК — Ρ‚. Π΅. станСт Π²Ρ…ΠΎΠ΄ΠΎΠΌ с ΠΏΠΎΠ΄Ρ‚яТкой. Если Π±ΠΈΡ‚1 Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DDRB ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ «1», ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ состояниС, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚1 Π² PORTB Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ прямо Π½Π° PB1 — Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ просто Π²Ρ‹Ρ…ΠΎΠ΄.

Π’Π°Π±Π»ΠΈΡ†Π° — Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚Π°_x

БостояниС Π²Ρ‹Π²ΠΎΠ΄Π° МК

Π‘ΠΈΡ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управляСт этими Π±ΠΈΡ‚Π°ΠΌΠΈ

PBx

PINB.x

DDRB.x

PORTB.x

Высокий Π»ΠΎΠ³. ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

Низкий Π»ΠΎΠ³. ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

опрСдСляСтся Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ напряТСниСм Π½Π° Π½ΠΎΠΆΠΊΠ΅ МК

ΠŸΠΎΠ΄Ρ‚ΡΠΆΠΊΠ° — pull-up Π’Ρ‹Π²ΠΎΠ΄ подсоСдинСн ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ ΠœΠš Ρ‡Π΅Ρ€Π΅Π· рСзистор Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ рСзистор 40 КОм

Z-состояниС. Высокоомный Π²Ρ…ΠΎΠ΄

4. ОбоснованиС ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ элСктричСской схСмы ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Рассмотрим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ схСму ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (см. Π€Π’Π‘ ΠšΠŸ 4.468 004.043 Π­2).

БоставныС части ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСритСля расстояния согласно схСмС (см. Π€Π’Π‘ ΠšΠŸ 4.468 004.043 Π­2) :

— ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AT Tiny2313

— ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ Π½Π° 10ΠœΠ³Ρ†

— ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Ρ‹

— Π½Π΅Ρ„иксируСмыС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ

— Ρ€Π΅Π·ΠΈΡΡ‚ΠΎΡ€Ρ‹

— ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹

— ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

— Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄ инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

— ΠΆΠΈΠ΄ΠΊΠΎΠΊΡ€ΠΈΡΡ‚алличСский дисплСй со Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ

— Π±Π°Ρ‚арСя питания Для проСктирования ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ доступныС ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½Ρ‹Π΅ элСктронныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ элСмСнтом устройства являСтся 8-разрядный ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ATtiny2313 Ρ„ΠΈΡ€ΠΌΡ‹ Atmel.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ источник динамичСского питания — ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌ XTAL1 ΠΈ XTAL2. ΠŸΡ€ΠΈ этом Π½ΠΎΠΆΠΊΠΈ XTAL1 ΠΈ XTAL2 Π·Π°Π·Π΅ΠΌΠ»ΡΡŽΡ‚ кондСнсаторами Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 22 ΠΏΠ€ Π½Π° GND (см. Π€Π’Π‘ ΠšΠŸ 4.468 004.043 Π­2). ΠšΠ²Π°Ρ€Ρ† ΠΈΠΌΠ΅Π΅Ρ‚ частоту 10 ΠœΠ“Ρ† (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ частот Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ATtiny2313: 0−20 ΠœΠ“Ρ†), данная частота обСспСчиваСт ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ расстояния с Π²Ρ‹ΡΠΎΠΊΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ точности.

Устройство питаСтся ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ Π½Π° 5 Π’. Π—Π° ΠΏΠΎΠ΄Π°Ρ‡Ρƒ Π½Π° ΡƒΡΡ‚ройство питания ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ фиксируСмый ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ SA1: Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «Π’ΠšΠ›» ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ соСдинСн с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, дисплСя ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Слями.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ устройства Π² Ρ€Π΅ΠΆΠΈΠΌ измСрСния происходит ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ SB1, SB2 (Π²Ρ‹Π²ΠΎΠ΄Ρ‹ PD2, PD3). ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° Π·Π΅ΠΌΠ»ΡŽ «GND», Ρ‡Ρ‚ΠΎ соотвСтствуСт логичСскому Π½ΡƒΠ»ΡŽ. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° находится логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°.

Бброс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ осущСствляСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ SB3 (Π²Ρ‹Π²ΠΎΠ΄ PD4), ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Ρ…ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° замыкаСтся Π½Π° Π·Π΅ΠΌΠ»ΡŽ.

Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ VD1, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ PD0, сигнализируСт ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ питания. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ источника Π·ΠΎΠ½Π΄ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ (ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ) излучСния использован свСтодиод инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (Π΄Π»ΠΈΠ½Π° Π²ΠΎΠ»Π½Ρ‹ 940Π½ΠΌ) VD2, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ PD1. Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ инвСрсноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‚. Π΅. ΠΈΡ… ΡΠ²Π΅Ρ‡Π΅Π½ΠΈΠ΅ обСспСчиваСтся ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ логичСского нуля Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄ инфракрасного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (940Π½ΠΌ) VD, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ PD5. Π’ Π½Π΅ Π·Π°ΡΠ²Π΅Ρ‡Π΅Π½Π½ΠΎΠΌ состоянии Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° находится логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π½Π° Ρ„ΠΎΡ‚ΠΎΠ΄ΠΈΠΎΠ΄ свСта Π½ΡƒΠΆΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π²ΠΎΠ»Π½Ρ‹ сопротивлСниС Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ-смСщСнного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Ρ€Π΅Π·ΠΊΠΎ ΠΏΠ°Π΄Π°Π΅Ρ‚ практичСски Π΄ΠΎ 0 ΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° Π·Π΅ΠΌΠ»ΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ инвСрсноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π’Π°ΠΊΠΆΠ΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ схСмС имССтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор 10 кОм ΠΎΡ‚ Π½ΠΎΠΆΠΊΠΈ .

5. Алгоритм функционирования

5.1 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ прСдставлСния ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π Π°Π±ΠΎΡ‚Ρƒ устройства ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 2 дСйствия

— ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ

— ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ПослС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, срСди ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΠ²ΡƒΡŽΡ‚ дСйствия настройки ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дисплСя. ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания, Π² ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½ ΠΆΠ΄Π΅Ρ‚ наТатия Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ SB1, SB2, SB3 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° соСдиняСтся с Π·Π΅ΠΌΠ»Π΅ΠΉ, ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅.

Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ SB1 ΠΈΠ»ΠΈ SB2 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ расстояния Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ измСрСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выдаСтся Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ SB3 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

5.2 Π‘Ρ…Π΅ΠΌΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Рисунок — Π‘Π»ΠΎΠΊ-схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

6. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

6.1 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ прСдполоТСния Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования (C/C++, Assembler). Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 2 ΠšΠ‘.

Для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ рСгистры ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° R0… R31, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для хранСния констант ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для хранСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

6.2 Π₯арактСристика состава ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ²:

— Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дисплСя

— ΠΏΡƒΡΡ‚ΠΎΠΉ бСсконСчный Ρ†ΠΈΠΊΠ»

— ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡŽ состояний Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния для расчСта расстояния

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° числа ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ

— ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° состоит Π² Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (Π²Ρ‹Π²ΠΎΠ΄Ρ‹ 0−5 ΠΏΠΎΡ€Ρ‚Π° B Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° LCD, Π²Ρ‹Π²ΠΎΠ΄Ρ‹ 0,1 ΠΏΠΎΡ€Ρ‚Π° D Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ — свСтодиод питания ΠΈ Ρ„ΠΎΡ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ, Π²Ρ‹Π²ΠΎΠ΄Ρ‹ 2−5 ΠΏΠΎΡ€Ρ‚Π° D Π½Π° Π²Ρ…ΠΎΠ΄ — ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ). А Ρ‚Π°ΠΊΠΆΠ΅ происходит запись строк-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΊ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° «1: $», Π³Π΄Π΅ $ - Π·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° строки, Π±ΡƒΠ΄Π΅Ρ‚ использован Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дисплСя состоит ΠΈΠ· Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈ дисплСя, которая осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ посылки Π½Π° Π½Π΅Π³ΠΎ слуТСбных сообщСний, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, настройки курсора ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅ сообщСния ΠΎΡ‚ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ WriteCmd (Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: R16(Temp) — адрСс DDRAM + 0×80.).

ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ бСсконСчный Ρ†ΠΈΠΊΠ» (ΠΌΠ΅Ρ‚ΠΊΠ° main). Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΆΠ΄Π΅Ρ‚ возникновСния прСрывания. ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π»ΡŽΠ±ΠΎΠΌ ΠΈΠ· Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎΡ€Ρ‚Π° D, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ маской Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ PCMSK0. ПослС возникновСния прСрывания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Π’ Ρ‚Π΅Π»Π΅ прСрывания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ опрСдСляСт Π²Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Π²Π°Π» ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, сравнивая ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС Π²Ρ…ΠΎΠ΄ΠΎΠ² (хранится Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ flag) с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ. Π—Π°Ρ‚Π΅ΠΌ происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΊΠ΅ (but0, but1, but2 — для ΠΊΠ½ΠΎΠΏΠΎΠΊ; foto — для Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°).

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ 1 ΠΈ 2 происходит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ маски для прСрывания PCMSK0, посылка Π·ΠΎΠ½Π΄ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ счСтного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ наТатия Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ 3 происходит очистка Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния. Для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Ρ‹ 34 Π±Π°ΠΉΡ‚Π° Π² ΠžΠ—Π£ (izm1: .byte 17). значСния ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΠ°ΠΌ (izm+3) -(izm+7) ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ записью Π½ΡƒΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прСрывания ΠΎΡ‚ Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° происходит остановка Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ Ρ€Π°ΡΡ‡Π΅Ρ‚ расстояния. РасчСт расстояния вСдСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ умноТСния числа ΠΈΠ· ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ° (tcnt1h, tcnt1l) Π½Π° ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρƒ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ скорости свСта ΠΊ ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ПослС умноТСния число пСрСводится Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичноС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ bin2BCD16. Π—Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠžΠ—Π£.

ПослС подсчСта расстояния ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π΅Π³ΠΎ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ происходит Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π’Ρ‹Π²ΠΎΠ΄ осущСствляСтся ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ display, которая Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс строки Π² ΠžΠ—Π£ (ldi ZL, Low (izm1) ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° строки.

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄Π° строки дСйствуСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ адрСса Π½Π°Ρ‡Π°Π»Π° строки ΠΎΠ½Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ число ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° Z. ΠŸΠΎΠ±Π°ΠΉΡ‚Π½ΠΎ считывая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠžΠ—Π£ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° отправляСт ΠΈΡ… Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ символом для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ «$». ПослС Π²Ρ‹Π²ΠΎΠ΄Π° маска ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ вновь устанавливаСтся Π½Π° ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания.

Π’ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дисплСя ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Delay40mks ΠΈ Delay1500mks, для Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° 40 ΠΈ 1500мкс соотвСтсвСнно.

6.3 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, А Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки.

6.4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΎΠ±Ρ‰Π΅ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 2 ΠšΠ‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, 128 Π±Π°ΠΉΡ‚Π½ΡƒΡŽ EEPROM ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, 128 Π±Π°ΠΉΡ‚Π½ΠΎΠ΅ SRAM (статичСскоС ΠžΠ—Π£), 32 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ USART.

7. ΠžΡ†Π΅Π½ΠΊΠ° объСмов ΠžΠ—Π£, ΠŸΠ—Π£. РаспрСдСлСниС адрСсного пространства ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 2 ΠšΠ‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, 128 байтная EEPROM ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, 128 Π±Π°ΠΉΡ‚Π½ΠΎΠ΅ SRAM (статичСскоС ΠžΠ—Π£). Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°) гСнСрируСтся Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ *.hex, ΠΊΠ°ΠΊ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²ΠΎ Flash-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ), Ρ‚Π°ΠΊ ΠΈ Π² EEPROM (элСктричСски пСрСпрограммируСмая постоянная ΠΏΠ°ΠΌΡΡ‚ΡŒ). Π”Π²Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΠ΄Π½Π° конСчная строка ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ (Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.hex) прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π’Π°Π±Π»ΠΈΡ†Π° — Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ

:02

FC

:10

00C0

0FEF

07BB

0FE3

01BB

969A

00C0

B3

.

.

:00

FF

КаТдая строка начинаСтся Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. КаТдая ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠ°Ρ€Π° символов прСдставляСт собой ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Π±Π°ΠΉΡ‚Π° Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ слуТСбными, находящиСся ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π±Π°ΠΉΡ‚Ρ‹ — ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ — Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ ΡΠ»ΡƒΠΆΠ΅Π±Π½Ρ‹Ρ… строках ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ — число ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅. Для ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки это 02, Ρ‚. Π΅. ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ (02H=2); для Π²Ρ‚ΠΎΡ€ΠΎΠΉ это 10H=16; Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строкС ΠΈΡ… 00H. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° — адрСс ячСйки памяти, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ записываСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚ строки (ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ строки Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки памяти), Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±Π°ΠΉΡ‚ отличаСтся ΠΎΡ‚ Π½ΡƒΠ»Ρ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠ»ΡƒΠΆΠ΅Π±Π½Ρ‹Ρ… строках. Он Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строкС, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°. Π”Π°Π»Π΅Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΏΠ°Ρ€Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚, каТдая ΠΏΠ°Ρ€Π° составляСт Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR.

8. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ характСристика тСхничСских срСдств ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСд ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠœΠš ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… — компиляторах. ATtiny2313 поддСрТиваСтся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ срСдствами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ компиляторы C, макроассСмблСры, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ/симуляторы, внутрисхСмныС эмуляторы ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ (CodeVisionAVR, C Compiler, AVR Studio, WinAVR).

AVR Studio 4 прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ сСмСйства AVR Ρ„ΠΈΡ€ΠΌΡ‹ ATMEL. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с AVR Studio ΠΎΡ‡Π΅Π½ΡŒ просто. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создаСтся Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .asm, содСрТащий исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π² Π½Π°ΡˆΠ΅ΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° Assembler), Π² ΠΌΠ΅Π½ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Build -> Build (F7). ΠŸΡ€ΠΈ этом Π² ΡΠ»ΡƒΡ‡Π°Π΅ отсутствия ошибок Π² Π½Π°Π±Ρ€Π°Π½Π½ΠΎΠΌ исходном ΠΊΠΎΠ΄Π΅ выполнится компиляция исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ отсутствия ошибок исходный ΠΊΠΎΠ΄ прСобразуСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²ΠΎ flash ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR. ΠŸΡ€ΠΈ этом Π² ΠΎΠΊΠ½Π΅ «Build» появится сообщСниС ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции (рисунок):

Рисунок — Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΠΈ Если Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции Π½Π΅ Π±Ρ‹Π»ΠΎ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… — Error, Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ появятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ (рисунок):

Рисунок 9.2 — Π€Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π€Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .hex — Ρ„Π°ΠΉΠ» для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AVR. Π’ Π½Π΅ΠΌ хранится ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

ПослС этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС Ρ‚Ρƒ ΠΆΠ΅ AVR Studio 4, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° посрСдством SPI интСрфСйса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

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

Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌ курсовым ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π±Ρ‹Π» спроСктирован ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ измСритСля расстояний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удовлСтворяСт трСбованиям тСхничСского задания. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ систСмы измСрСния являСтся Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ инфракрасного излучСния, Ρ‡Ρ‚ΠΎ прСдставляСт Π½Π΅ΠΏΠ»ΠΎΡ…ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π΅ΡˆΠ΅Π²Π»ΡΠ΅Ρ‚ ΡΠ΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ устройства.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ элСктричСская схСма, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, листинг ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π’. Π‘. Π‘Ρ€ΠΎΠ΄ΠΈΠ½, А. Π’. Калинин «Π‘истСмы Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… ΠΈ Π‘Π˜Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ» — Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, ЭКОМ, 2002 — 400с.

2. ОБ Π’Π£Π‘Π£Π  6.1−99. Π Π°Π±ΠΎΡ‚Ρ‹ студСнчСскиС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ½Ρ‹Π΅ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅. ΠžΠ±Ρ‰ΠΈΠ΅ трСбования ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° оформлСния.

3. Воргонский Π›. А., ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²: / ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания ΠΏΠΎ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ дисциплины «ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств Π­Π’Π‘-2»,-Вомск:-Изд. Π’Π£Π‘Π£Π , 2005 Π³.- 12 с.

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

.include «C:Program FilesAtmelAVRToolsAvrAssemblerAppnotes2313def. inc»

.def temp= R22

.def step= R23

.def flag= R24

.def temp2= R25

.org 0

.cseg ;ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начиная с 0 адрСсса

rjmp RESET; Reset Handler

//Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

rjmp PC_INT0; ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡŽ Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… ΠΏΠΎΡ€Ρ‚Π° D

;**********************************************************************

; Π΄Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

;**********************************************************************

LCD_INIT_DATA:

.db 0b00000011,0b00000011; 30h Установка разрядности

.db 0b00000011,0b00000010; 20h Установка разрядности

.db 0b00000010,0b00001000; 28h Установка разрядности

.db 0b00000000,0b00001000; 0Ch Π’Ρ‹Π³Π»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя

.db 0b00000000,0b00000110; 06h Установка направлСния ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ сдвига

.db 0b00000000,0b00001111; 0Fh Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΠΌΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ курсор

.db 0b00001000,0b00000000; ΠšΡƒΡ€ΡΠΎΡ€ Π΄ΠΎΠΌΠΎΠΉ

.db 0b00000000,0b00000001; 01h ΠžΡ‡ΠΈΡΡ‚ΠΊΠ°, курсор Π΄ΠΎΠΌΠΎΠΉ

;**********************************************************************

;инициализация (настройка ΠΏΠΎΡ€Ρ‚ΠΎΠ², инициализация дисплСя)

;**********************************************************************

Reset:

ldi temp, LOW (RAMEND)

out spl, temp ;установка указатСля стСка Π½Π° Π΄Π½ΠΎ ОП

ldi temp, 0b00111111 ;разряды 0−5 ΠΏΠΎΡ€Ρ‚Π° D Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ (LCD)

out DDRD, temp

ldi temp, 0b11111111

out portD, temp

ldi temp, 0b01000011 ;0−2 разряды ΠΏΠΎΡ€Ρ‚Π° Π’ — Π²Ρ…ΠΎΠ΄Ρ‹ — ΠΊΠ½ΠΎΠΏΠΊΠΈ

out DDRB, temp ;разряд 3-Π²Ρ‹Ρ…ΠΎΠ΄ ШИМ-3

ldi temp, 0b00111101;Π·Π°ΠΆΠΈΠ³Π°Π΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ «ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅», Ρ„ΠΎΡ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π² 0

out portB, temp

ldi temp, 0b01100011 ;разряды 0,1,5 ΠΏΠΎΡ€Ρ‚Π° D Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄, 2−4 Π½Π° Π²Ρ…ΠΎΠ΄

out DDRD, temp

ldi temp, 0b11111111

out portD, temp

ldi zh, high (izm1) ;записываСм Π² ΠžΠ—Π£ Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки (1:)

ldi zl, low (izm1)

ldi temp, 0×31

std z+1,temp

ldi temp, 0x3a

std z+2,temp

ldi temp,'$' ;символ $ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° строки

std z+16,temp

ldi zh, high (izm2) ;записываСм Π² ΠžΠ—Π£ Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки (1:)

ldi zl, low (izm2)

ldi temp, 0×33

std z+1,temp

ldi temp, 0x3a

std z+2,temp

ldi temp,'$' ;символ $ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° строки

std z+16,temp

ldi temp,(1<

sts PCICR, temp ;Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… ΠΏΠΎΡ€Ρ‚Π° D

ldi temp, 0b00011100 ;Π·Π°Π΄Π°Π½ΠΈΠ΅ масок для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

sts PCMSK0, temp ;прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… 2−4 ΠΏΠΎΡ€Ρ‚Π° D

ldi temp,(1<

sts timsk1, temp

ldi temp,(1<

sts tccr1b, temp

rcall Init_LCD16s2d; Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ дисплСя

sei ;Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ прСрывания

;**********************************************************************

; основной Ρ†ΠΈΠΊΠ»

;**********************************************************************

main:

rjmp main ;бСсконСчный Ρ†ΠΈΠΊΠ» ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°

;***************************************************************************

; ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния

;***************************************************************************

.def mc16uL =r16 ;младший Π±Π°ΠΉΡ‚ мноТитСля

.def mc16uH =r17 ;ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ мноТитСля

.def mp16uL =r18 ;младший Π±Π°ΠΉΡ‚ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ

.def mp16uH =r19 ;ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ ΠΌΠ½ΠΎΠΆΠΈΠΆΠΈΠΌΠΎΠ³ΠΎ

.def m16u0 =r12 ;1-ΠΉ Π±Π°ΠΉΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

.def m16u1 =r13 ;2-ΠΉ Π±Π°ΠΉΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

.def m16u2 =r20 ;3-ΠΉ Π±Π°ΠΉΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

.def m16u3 =r21 ;4-ΠΉ Π±Π°ΠΉΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

.def mcnt16u =r22 ;счСтчик ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ

;***** Code

mpy16u: clr m16u3

clr m16u2

ldi mcnt16u, 16

lsr mp16uH

ror mp16uL

m16u1: brcc noad8

add m16u2, mc16uL

adc m16u3, mc16uH

noad8: ror m16u3

ror m16u2

ror m16u1

ror m16u0

dec mcnt16u

brne m16u1

ret

;**********************************************************************

; ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

;**********************************************************************

.equ AtBCD0 =10

.equ AtBCD2 =11

.def tBCD0 =r10 ;Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичноС число Ρ†ΠΈΡ„Ρ€Ρ‹ 0 ΠΈ 1

.def tBCD1 =r11 ;Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичноС число Ρ†ΠΈΡ„Ρ€Ρ‹ 2 ΠΈ 3

.def fbinL =r12 ;младший Π±Π°ΠΉΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа

.def fbinH =r13 ;ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа

.def cnt16a =r16 ;счСтчик

.def tmp16a =r25 ;пСрСмСнная

bin2BCD16:

ldi cnt16a, 16

clr tBCD1

clr tBCD0

clr ZH

bBCDx1:lsl fbinL

rol fbinH

rol tBCD0

rol tBCD1

dec cnt16a

brne bBCDx2

ret

bBCDx2:ldi r30, AtBCD2+1

bBCDx3:

ld tmp16a,-Z

subi tmp16a,-$ 03

sbrc tmp16a, 3

st Z, tmp16a

ld tmp16a, Z

subi tmp16a,-$ 30

sbrc tmp16a, 7

st Z, tmp16a

cpi ZL, AtBCD0

brne bBCDx3

rjmp bBCDx1

;**********************************************************************

; Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ

;**********************************************************************

display:

rcall Delay40mks; ΠŸΠ°ΡƒΠ·Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

ldi Temp, 0b10000000

rcall WriteCmd; Установка курсора

ldi ZL, Low (izm1)

ldi ZH, High (izm1)

rcall WriteLn; Π’Ρ‹Π²ΠΎΠ΄ 1-ΠΉ строки

ldi Temp, 0b11000000

rcall WriteCmd; Установка курсора

ldi ZL, Low (izm2)

ldi ZH, High (izm2)

rcall WriteLn; Π’Ρ‹Π²ΠΎΠ΄ 2-ΠΉ строки

ret

;**********************************************************************

; Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ LCD

;**********************************************************************

INIT_LCD16S2D:

ldi R16,0

out portC, R16

rcall Delay40mks

ldi b1,16

ldi ZL, Low (LCD_INIT_DATA*2)

ldi ZH, High (LCD_INIT_DATA*2)

Init_next0:

lpm

out portC, r0 ;Temp

adiw ZL, 1 ;AddImmedaiate to Word. Π˜Π½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚ΡΡ слово.

nop ;НС мСнСС 40нс

nop

sbi portC, 4

nop ;НС мСнСС 230нс

nop

nop

nop

nop

nop

cbi portC, 4

rcall Delay40mks

dec b1

brne Init_next0

rcall Delay1500mks

ret

;**********************************************************************

; ΠŸΠ°ΡƒΠ·Π° 40 мксСк

;**********************************************************************

Delay40mks:

push Temp

ldi Temp, 0

Loop:

dec Temp

brne Loop

pop Temp

ret

;**********************************************************************

; ΠŸΠ°ΡƒΠ·Π° 1500 мксСк

;**********************************************************************

Delay1500mks:

push Temp

push b1

ldi Temp, 0

ldi b1,20

Loop3:

dec Temp

brne Loop3

dec b1

brne Loop3

pop b1

pop Temp

ret

;**********************************************************************

; Установка адрСса для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ

; Π²Ρ‹Π±ΠΎΡ€ оласти DDRAM.

; Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: R16(Temp) — адрСс DDRAM + 0×80.

; Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ рСгистр R16(Temp).

;**********************************************************************

WriteCmd:

push Temp

Swap Temp

andi Temp, 0b00001111

out portC, Temp

nop ;НС мСнСС 40нс

nop

sbi portC, 4

nop ;НС мСнСС 230нс

nop

nop

nop

nop

nop

cbi portC, 4

nop ;НС мСнСС 270нс

nop

nop

nop

nop

nop

nop

pop Temp

andi Temp, 0b00001111

out portC, Temp

nop ;НС мСнСС 40нс

nop

sbi portC, 4

nop ;НС мСнСС 230нс

nop

nop

nop

nop

nop

cbi portC, 4

rcall Delay40mks

ret

;**********************************************************************

; Π’Ρ‹Π²ΠΎΠ΄ тСкстовой строки Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

; Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: рСгистр Z — адрСс строки Π²

; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ памяти. '$' - ΠΊΠΎΠ½Π΅Ρ† строки.

; Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ рСгистр R16(Temp), Z.

;**********************************************************************

WriteLn:

; lpm

ld temp, z

cpi Temp,'$'

breq WriteLnEnd

adiw ZL, 1

push Temp

Swap Temp

andi Temp, 0b00001111

ori Temp, 0b00100000

out portC, Temp

nop ;НС мСнСС 40нс

nop

sbi portC, 4

nop ;НС мСнСС 230нс

nop

nop

nop

nop

nop

cbi portC, 4

nop ;НС мСнСС 270нс

nop

nop

nop

nop

nop

nop

pop Temp

andi Temp, 0b00001111

ori Temp, 0b00100000

out portC, Temp

nop ;НС мСнСС 40нс

nop

sbi portC, 4

nop ;НС мСнСС 230нс

nop

nop

nop

nop

nop

cbi portC, 4

rcall Delay40mks

rjmp WriteLn

WriteLnEnd:

ret

;**********************************************************************

; ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ

;**********************************************************************

PC_INT0:

clr temp2

in temp, pinb ;ΡƒΠ·Π½Π°Π΅ΠΌ какая ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π°

andi temp, 0b00111100 ;сравнивая Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π±Π±Ρ‡Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ (flag)

andi flag, 0b00111100

eor flag, temp

;Π² зависимости ΠΎΡ‚ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

sbrc flag, 2

rjmp but0

sbrc flag, 3

rjmp but1

sbrc flag, 4

rjmp but2

sbrc flag, 5

rjmp foto

exit_int0:

in flag, pinb ;заносим Π² Ρ„Π»Π°Π³ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΊΠ½ΠΎΠΏΠΎΠΊ

reti

;********

but0: ;ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 1

sbic pind, 2 ;Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ

rjmp exit_int0

ldi temp2,0×01 ;Π½Π°ΠΆΠ°Ρ‚Π° 1-я ΠΊΠ½ΠΎΠΏΠΊΠ°

sts PCICR, temp ;Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… ΠΏΠΎΡ€Ρ‚Π° D

ldi temp, 0b00100000 ;Π·Π°Π΄Π°Π½ΠΈΠ΅ маски для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

sts PCMSK0, temp ;прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π΅ 5 ΠΏΠΎΡ€Ρ‚Π° D

sbi portD, 1 ;Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ

rcall timer_clear_start ;обнуляСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ

sbi portD, 0 ;Π²Ρ‹Π»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ

rjmp exit_int0

but1: ;ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 2

sbic pinD, 3 ;Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ

rjmp exit_int0

ldi temp2,0×02 ;Π½Π°ΠΆΠ°Ρ‚Π° 2-я ΠΊΠ½ΠΎΠΏΠΊΠ°

sts PCICR, temp ;Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π΅ 5 ΠΏΠΎΡ€Ρ‚Π° D

ldi temp, 0b00100000 ;Π·Π°Π΄Π°Π½ΠΈΠ΅ маски для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

sts PCMSK0, temp ;прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния Π½Π° Π²Ρ…ΠΎΠ΄Π΅ 5 ΠΏΠΎΡ€Ρ‚Π° D

sbi portD, 1 ;Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ

rcall timer_clear_start ;обнуляСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ

sbi portD, 0 ;Π²Ρ‹Π»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ

rjmp exit_int0

but2: ;ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 3

sbic pinD, 4 ;Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ

rjmp exit_int0 ;обнуляСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния Π² ΠžΠ—Π£ для 2-Ρ… строк

ldi temp, 0×30

ldi zh, high (izm1+3)

ldi zl, low (izm1+3)

rcall zerowr

ldi temp, 0×30

ldi zh, high (izm2+3)

ldi zl, low (izm2+3)

rcall zerowr

rcall display ;Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π½ΡƒΠ»ΠΈ

rjmp exit_int0

foto: ;ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания ΠΏΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Ρƒ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°

ldi temp,(1<

sts tccr1b, temp

in mc16uL, tcnt1l ;записываСм содСрТимоС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π² ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ

in mc16uh, tcnt1h

ldi mp16uL, 0×07 ;записываСм константу Π² ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ для рассчСта расстояния

ldi mp16uh, 0×00

rcall mpy16u ;Π²Ρ‹Π·ΠΎΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ умноТСния

rcall bin2BCD16 ;Π²Ρ‹Π·ΠΎΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсячичноС число

sbrc temp, 0 ;Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ строчки ΠΏΠ΅Ρ€Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΡƒ

rjmp foto1

sbrc temp, 1

rjmp foto2

rjmp exit_int0

foto1:

ldi ZL, Low (izm1) ;устанавливам Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ 1-ΠΉ строчку

ldi ZH, High (izm1)

rcall digitwr

rjmp exit_int0

foto2:

ldi ZL, Low (izm2) ;устанавливам Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ 2-ю строчку

ldi ZH, High (izm2)

rcall digitwr

rjmp exit_int0

;*******

timer_clear_start: ;очистка Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ ΡΡ‚Π°Ρ€Ρ‚

clr temp

sts tcnt1h, temp

sts tcnt1l, temp

ldi temp,(1<

sts tccr1b, temp

ret

digitwr:

mov temp, r11

rcall digitwr2

mov temp, r10

rcall digitwr2

ret

digitwr2:

ldi temp2,0×30

push temp

swap temp

andi temp, 0x0f

add temp, temp2

st z+, temp

pop temp

andi temp, 0x0f

add temp, temp2

st z+, temp

ret

zerowr:

st z+, temp ;запись Π² ΠžΠ—Π£ ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡΡƒ Z ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ temp

st z+, temp

st z+, temp

st z+, temp

ret

;***************************************************************************

; Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти Π² ΠΎΠ·Ρƒ для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния

;***************************************************************************

.dseg

izm1: .byte 17 ;Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅ΠΌ 17 Π±Π°ΠΉΡ‚

izm2: .byte 17

.ur

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