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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² 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. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡŽ Π±Ρ‹Π»Π° спроСктирована Слочная гирлянда с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹: «ΠŸΡ€Ρ‹Π³Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ³ΠΎΠ½Π΅ΠΊ» ΠΈ «ΠŸΠΎΠΆΠ°Ρ€Π½Π°Ρ сигнализация». ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ осущСствляСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ управлСния. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСдставлСн Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ сигналов с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ осциллографС.

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