ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (ΠΠΠ). ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈΠ· Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΡ ΠΠΠ-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° HD44780. ΠΠΎΠ½ΡΡΠΎΠ»Π΅Ρ HD44780 ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ 2-ΠΌΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎ 40… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ: ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR.
ΠΠ°Π΄Π°Π½ΠΈΠ΅:
Π‘ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π»ΠΎΡΠ½ΡΡ Π³ΠΈΡΠ»ΡΠ½Π΄Ρ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΌ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ: «ΠΡΡΠ³Π°ΡΡΠΈΠΉ ΠΎΠ³ΠΎΠ½Π΅ΠΊ» ΠΈ «ΠΠΎΠΆΠ°ΡΠ½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ». ΠΠΈΡΠ»ΡΠ½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· 8 ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ ΠΏΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° D ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ Ρ Π»ΠΈΠ½ΠΈΠ΅ΠΉ PC3. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΠΠ-Π΄ΠΈΡΠΏΠ»Π΅Π΅ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΡΠ»ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° mikroPascal delay_Cyc.
Π Π΅ΠΆΠΈΠΌ «ΠΡΡΠ³Π°ΡΡΠΈΠΉ ΠΎΠ³ΠΎΠ½Π΅ΠΊ»: «ΠΎΠ³ΠΎΠ½Π΅ΠΊ» ΠΏΠ΅ΡΠ΅ΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ D1 — D4 — D7 — D8 — D5 — D2 — D1. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ «ΠΎΠ³ΠΎΠ½Π΅ΠΊ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π²ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π²Π½ΠΎΠ²Ρ. ΠΠ°ΡΠ·Π°, Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ «ΠΎΠ³ΠΎΠ½Π΅ΠΊ» Π½Π΅ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ, ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 40 ΠΌΡ.
Π Π΅ΠΆΠΈΠΌ «ΠΠΎΠΆΠ°ΡΠ½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ»: ΡΠ½Π°ΡΠ°Π»Π° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 27 ΠΌΡ Π³ΠΎΡΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ 1, 2, 3, 4, 5, ΠΏΠΎΡΠΎΠΌ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π³ΠΎΡΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ 4, 5, 6, 7, 8, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π°.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π³ΠΈΡΠ»ΡΠ½Π΄Π°
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ D0 — D7 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ PD0 — PD7 ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π Π΅Π·ΠΈΡΡΠΎΡΡ R1 — R8 ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΠΎΠΊ, ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, Π½Π° ΡΡΠΎΠ²Π½Π΅ 20 ΠΌΠ (ΡΠΎΠΊ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°). ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅ PD0 — PD7 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΡΠΎΠΊ ΡΠ΅ΡΠ΅Π· ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π½Π΅ ΠΏΡΠΎΡΠ΅ΠΊΠ°Π΅Ρ ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π½Π΅ ΡΠ²Π΅ΡΠΈΡΡΡ. ΠΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π° Π½Π° Π΄Π°Π½Π½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· Π΄ΠΈΠΎΠ΄ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡ ΡΠΎΠΊ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈΠ·Π²Π½Π΅. ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π΄Π°ΡΡΠΈΠΊΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π°ΡΡΠΈΠΊΠ°, ΡΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ³ΡΠ°ΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ (Π΄Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ). ΠΡΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ «Π·Π°Π³ΠΎΡΠ°ΡΡΡΡ» ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, ΠΏΡΠΈ ΡΠ°Π·ΠΌΡΠΊΠ°Π½ΠΈΠΈ — «Π³Π°ΡΠ½ΡΡΡ». Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ. ΠΠ½ΠΎΠΏΠΊΠ° SΠ‘0 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊ Π»ΠΈΠ½ΠΈΠΈ PC3. ΠΠΎΠ³Π΄Π° ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·ΠΎΠΌΠΊΠ½ΡΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠΎ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π°. ΠΡΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ PC3 ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΠΏΠ°Π΄Π°Π΅Ρ Π΄ΠΎ Π½ΡΠ»Ρ, ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎ ΠΊΠ°ΠΊ Π½ΠΈΠ·ΠΊΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. Π Π΅Π·ΠΈΡΡΠΎΡ R9 ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 2 ΠΊΠΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠΊ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (ΠΠΠ). ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈΠ· Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΡ ΠΠΠ-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° HD44780. ΠΠΎΠ½ΡΡΠΎΠ»Π΅Ρ HD44780 ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ 2-ΠΌΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎ 40 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ 5×7 ΡΠΎΡΠ΅ΠΊ.
Π Π°ΡΡΠ΅Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΏΠ°ΡΠ· ΠΠ»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ 40ΠΌΡ ΠΈ 27ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ delay_Cyc Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
Π§Π°ΡΡΠΎΡΠ° ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (ΡΠ°ΡΡΠΎΡΠ° ΠΊΠ²Π°ΡΡΠ°) FCLK ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 4 ΠΠΡ. Π’ΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°
TCLK = 1/FCLK = 1/(4β’106) = 250 Π½Ρ.
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
NCLK = TD / TCLK = 40 000/0,25 = 160 000.
NCLK = TD / TCLK = 27 000/0,25 = 108 000.
ΠΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΠΌΠΌΡ Π Π΅ΠΆΠΈΠΌ «ΠΡΡΠ³Π°ΡΡΠΈΠΉ ΠΎΠ³ΠΎΠ½Π΅ΠΊ»:
Π Π΅ΠΆΠΈΠΌ «ΠΠΎΠΆΠ°ΡΠ½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ»:
Π’Π΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° mikroPascal
program Lab1Var6;
var c: byte;
s:integer;
begin
Lcd4_Custom_Init (PORTA, 7,6,5,4,PORTA, 0,1,2);
ddrD:=0xff;
portd:=0xff;
ddrC:=%11 110 111;
s:=0;
while (true) do
begin
Lcd4_Custom_Cmd (LCD_CLEAR);
Lcd4_Custom_Out (1,1,'Prygauyshiy');
Lcd4_Custom_Out (2,1,'ogonek');
c:=pinc;
c:=c and not (%11 110 111);
if c=%1 000 then
while s<>1 do begin
portD:=0xff;
portd:=portd and not (1 shl 1);
delay_Cyc (160 000);
portd:=portd or (1 shl 1);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 4);
delay_Cyc (160 000);
portd:=portd or (1 shl 4);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 7);
delay_Cyc (160 000);
portd:=portd or (1 shl 7);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 0);
delay_Cyc (160 000);
portd:=portd or (1 shl 0);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 5);
delay_Cyc (160 000);
portd:=portd or (1 shl 5);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 2);
delay_Cyc (160 000);
portd:=portd or (1 shl 2);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
portd:=portd and not (1 shl 1);
delay_Cyc (160 000);
portd:=portd or (1 shl 1);
delay_Cyc (160 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=0 then break;
end else
while s<>1 do
begin
Lcd4_Custom_Cmd (LCD_CLEAR);
Lcd4_Custom_Out (1,1,'Pojarnaya');
Lcd4_Custom_Out (2,1,'signalizaciya');
portd:=0xff;
portd:=portd and not (1 shl 1);
portd:=portd and not (1 shl 2);
portd:=portd and not (1 shl 3);
portd:=portd and not (1 shl 4);
portd:=portd and not (1 shl 5);
delay_Cyc (108 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=%1 000 then break;
portd:=portd or (1 shl 1);
portd:=portd or (1 shl 2);
portd:=portd or (1 shl 3);
portd:=portd or (1 shl 4);
portd:=portd or (1 shl 5);
delay_Cyc (108 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=%1 000 then break;
portd:=portd and not (1 shl 4);
portd:=portd and not (1 shl 5);
portd:=portd and not (1 shl 6);
portd:=portd and not (1 shl 7);
portd:=portd and not (1 shl 0);
delay_Cyc (108 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=%1 000 then break;
portd:=portd or (1 shl 4);
portd:=portd or (1 shl 5);
portd:=portd or (1 shl 6);
portd:=portd or (1 shl 7);
portd:=portd or (1 shl 0);
delay_Cyc (108 000);
c:=pinc;
c:=c and not (%11 110 111);
if c=%1 000 then break;
end;
end;
end.
ΠΠΈΡΡΠΈΠ½Π³ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° VMLab ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
.MICRO «ATmega16»
.TOOLCHAIN «GENERIC»
.TARGET «LAB1VAR6.hex»
.CLOCK 4meg
.POWER VDD = 5 VSS = 0;
D8 VDD uzel0
R8 uzel0 PD0 330
D1 VDD uzel1
R1 uzel1 PD1 330
D2 VDD uzel2
R2 uzel2 PD2 330
D3 VDD uzel3
R3 uzel3 PD3 330
D4 VDD uzel4
R4 uzel4 PD4 330
D5 VDD uzel5
R5 uzel5 PD5 330
D6 VDD uzel6
R6 uzel6 PD6 330
D7 VDD uzel7
R7 uzel7 PD7 330
K0 PC3 VSS LATCHED
R9 VDD PC3 2K
Xdisp LCD (16 2 250K) PA0 PA1 PA2 PA7 PA6 PA5 PA4 nc3 nc2 nc1 nc0
.PLOT V (PD1)
.PLOT V (PD2)
.PLOT V (PD4)
.PLOT V (PD5)
.PLOT V (PD7)
.PLOT V (PD0)
.PLOT V (PC3)
ΠΡΠ²ΠΎΠ΄
Π Ρ ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° AVR. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π±ΡΠ»Π° ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π΅Π»ΠΎΡΠ½Π°Ρ Π³ΠΈΡΠ»ΡΠ½Π΄Π° Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΌ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ: «ΠΡΡΠ³Π°ΡΡΠΈΠΉ ΠΎΠ³ΠΎΠ½Π΅ΠΊ» ΠΈ «ΠΠΎΠΆΠ°ΡΠ½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ». ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠ΅.