Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ. ΠΠ° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, ΡΠ΅ΡΠ΅Π· 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΡΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π°ΠΆΠ°ΡΠ°, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΡΠ΄ΠΆΠ΅ΡΠ½ΠΎΠ΅ ΠΠ±ΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π£ΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΡΡΡΠ΅Π³ΠΎ ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
" ΠΠ°Π»ΡΠ½Π΅Π²ΠΎΡΡΠΎΡΠ½ΡΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΏΡΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ"
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ-Π½Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΠΈΡΡΡ ΠΠ°ΡΠ΅Π΄ΡΠ° «ΠΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²ΡΠ·ΠΈ»
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π ΠΠΠ ΠΠΠΠ’ΠΠ ΠΠΠΠ ΠΠΠ ΠΠ¦ΠΠ‘Π‘ΠΠ ΠΠ«Π₯ Π£Π‘Π’Π ΠΠΠ‘Π’Π ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π‘ΡΡΠ΄Π΅Π½Ρ Π. Π. ΠΠ°ΡΠΈΠΆΡΠΊΠ°Ρ Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Π. Π‘. ΠΠΎΡΠΎΠ½ΠΈΠ½ Π₯Π°Π±Π°ΡΠΎΠ²ΡΠΊ 2012
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32
- 1.1 ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32
- 2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
- 3. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° PS/2
- 3.1 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ
- 3.2 ΠΠΎΠ΄Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- 4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΠΎΠ΄ ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΄Π½ΠΎΠΊΡΠΈΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΡΠ΅ΡΠ°Ρ : ΠΎΡ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ±ΠΎΡΠΎΠ², ΡΠΎΡΠΎΠ°ΠΏΠΏΠ°ΡΠ°ΡΠΎΠ² ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ, ΠΏΡΠΈΠ½ΡΠ΅ΡΠΎΠ², ΡΠΊΠ°Π½Π΅ΡΠΎΠ² ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΡΠ½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠΎΠ² Π΄ΠΎ ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ.
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Π² 1970;Ρ Π³ΠΎΠ΄Π°Ρ ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π»Π° Π·Π° ΡΡΠ΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ. Π’Π°ΠΊ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ CISC (Complex Instruction Set Computers — ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄). Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ»ΠΎΡΡ ΠΈ Π½Π°ΡΠ»ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC (Reduced Instruction Set Computers — ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄). ΠΠΌΠ΅Π½Π½ΠΎ ΠΊ ΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ AVR ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Atmel.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ RISC-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ° Π·Π°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠΎ ΡΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ², Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π³Π»Π°Π²Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅, ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΏΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
Π―Π·ΡΠΊ Π‘, ΡΠ²Π»ΡΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π»ΠΈΡΠ΅Π½ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° Π‘. Π ΡΠ·ΡΠΊΠ΅ Π‘ Π²ΡΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½Π΅ Π·Π°Π±ΠΎΡΡΡΡ ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32 ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° AVR, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ PS/2 ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ.
1. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32
1.1 ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32
Π ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.1, ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.2.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.1 — ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32
Atmega32 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΠΠ (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ°Ρ ΠΌΠ΅ΡΠ°Π»Π»-ΠΎΠΊΡΠΈΠ΄-ΠΏΠΎΠ»ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ) 8-Π±ΠΈΡΠ½ΡΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ AVR RISC Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ°ΠΊΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² 1 MIPS (Π²Π΅Π»ΠΈΡΠΈΠ½Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠ΅) Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ°ΡΡΠΎΡΠ΅ 1 ΠΠΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π΅ΡΠ³ΠΈΠΈ Π·Π° ΡΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
AVR ΡΠ΄ΡΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ 32 ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ΅ 32 ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΎ-Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ (ΠΠΠ£), ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π²ΡΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ°ΠΊΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° Π½Π°ΠΈΠ²ΡΡΡΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² 10 ΡΠ°Π· ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ CISC ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ATmega32 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 32ΠΠ±Π°ΠΉΡ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ FLASH ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ, 1024 Π±Π°ΠΉΡ EEPROM, 2Π Π±Π°ΠΉΡ SRAM, 32 ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°, JTAG ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΈ Π³ΠΈΠ±ΠΊΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° — ΡΡΡΡΡΠΈΠΊΠ° Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ USART, Π±Π°ΠΉΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, 8-ΠΈ ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ, 10-ΠΈ Π±ΠΈΡΠ½ΡΠΉ ΠΠ¦Π Ρ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΌ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅ΠΌ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ TQFP), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Watchdog ΡΠ°ΠΉΠΌΠ΅Ρ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΡ SPI ΠΈ ΡΠ΅ΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΡΠ±Π΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΈΠΈ. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Idle Π¦ΠΠ£ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ USART, Π΄Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΠ¦Π, SRAM, ΡΠ°ΠΉΠΌΠ΅ΡΡ — ΡΡΡΡΡΠΈΠΊΠΈ, SPI ΠΏΠΎΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. Π Atmega32 ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΌΠ° ΠΠ¦Π, ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ΅Π»ΠΎΠΌ Π² ΡΠΏΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΠ¦Π ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡΠΌΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠΈΡΡΠ°Π»Π»Π° Π΄ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Π° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Reset. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΠ²ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΏΡΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΡΡΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Atmega32 ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΡΠΏΠΎΡΠ°Π±Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ½Π΅ΡΠ³ΠΈΠΈ, ΡΠ°ΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡ Π² Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ. ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ISP FLASH ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ SPI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ Π² AVR ΡΠ΄ΡΠ΅. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ 8-ΠΈ Π±ΠΈΡΠ½ΠΎΠΉ RISC Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π¦ΠΠ£ ΠΈ ΡΠ²ΡΡΠ΄ΠΎΡΠ΅Π»ΡΠ½ΠΎΠΉ FLASH ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Atmega32 Π²ΡΡΠΎΠΊΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π²ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.2 —. Π‘Ρ Π΅ΠΌΠ° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ATmega32
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ PS/2 ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠ±ΡΠ°Π½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Atmel ATmega32 Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΊ Π½Π΅ΠΌΡ LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ WINSTAR WH1602A. Π’Π°ΠΊΠΆΠ΅ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠΎΡΡ PS/2 ΡΠΈΠΏΠ° «ΠΌΠ°ΠΌΠ°», ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. ΠΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.1.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — Π‘Ρ Π΅ΠΌΠ° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠ° ΡΡ Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Atmega32 (U1). ΠΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Ρ PA0-PA3, PA5-PA7 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ D4-D7, RS, RW ΠΈ E ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° LCD1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π²ΡΠ²ΠΎΠ΄Π°ΠΌ PD2 ΠΈ PD7 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ²ΠΎΠ΄Ρ 5 (Clock) ΠΈ 1 (Data) ΠΏΠΎΡΡΠ° PS/2 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
Π Π²ΡΠ²ΠΎΠ΄Π°ΠΌ XTAL1 ΠΈ XTAL2 ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ²Π°ΡΡΠ΅Π²ΡΠΉ ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡ X1 Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ 16 ΠΠ³Ρ. ΠΡΠ²ΠΎΠ΄ Reset ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ R1 ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ Ρ Π·Π΅ΠΌΠ»Π΅ΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΡ C1, C2 ΠΈ Π‘3 ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠΌΠ΅Ρ .
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.2.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
3. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° PS/2
ΠΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π³ΠΎΡΠΎΠ²Π° ΠΎΡΡΡΠ»Π°ΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ — ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ.
3.1 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π²Π° Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ΅ΡΠ²ΡΠΉ Π²ΡΠ²ΠΎΠ΄ — ΡΠ°ΠΊΡΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» (Clock) ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ°. ΠΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ — Π²ΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ (Data) Π½Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ (ΡΠΈΡΡΠ½ΠΎΠΊ 3.1):
Π ΠΈΡΡΠ½ΠΎΠΊ 3.1 — ΠΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ
§ Π‘Π½Π°ΡΠ°Π»Π° ΡΡΠΎΠ²Π½ΠΈ Π½Π° ΠΎΠ±ΠΎΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°Ρ Π²ΡΡΠΎΠΊΠΈΠ΅. ΠΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (Idle), ΡΠΎ Π΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
§ ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ, Π²ΡΡΡΠ°Π²ΠΈΠ² Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π» Π² «0» (ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ Π±ΠΈΡ) ΠΈ ΡΠΌΠ΅Π½ΠΈΠ² ΡΡΠΎΠ²Π΅Π½Ρ Π½Π° ΡΠ°ΡΠ°Ρ «1″ >» 0″ .
§ ΠΠ°Π»Π΅Π΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅Ρ 8 Π±ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΌΠ»Π°Π΄ΡΠ΅Π³ΠΎ Π±ΠΈΡΠ° ΠΊ ΡΡΠ°ΡΡΠ΅ΠΌΡ, ΡΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ½ΡΠ° ΡΠΈΠ³Π½Π°Π»Π° ΡΠ°ΡΠΎΠ²
§ ΠΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±ΠΈΡΠΎΠΌ ΡΡΡΠ½ΠΎΡΡΠΈ (parity bit) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ° (ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ).
§ ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΠΈΡ ΡΠ°Π²Π½ΡΠ΅ΡΡΡ «1» ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΠΏΠΎΠ²ΡΠΌ Π±ΠΈΡΠΎΠΌ.
§ ΠΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π° ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠ΅ΠΉΠΌ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 11 Π±ΠΈΡ. ΠΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π±Π°ΠΉΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (scancode).
3.2 ΠΠΎΠ΄Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² (ΡΠΎ Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±Π°ΠΉΡ). Π ΠΊΠΎΠ³Π΄Π° ΠΊΠ»Π°Π²ΠΈΡΡ ΠΎΡΠΏΡΡΠΊΠ°Π΅ΡΡ, ΠΏΡΠΈΠ»Π΅ΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±Π°ΠΉΡ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ — 0xF0, Π° Π²ΡΠΎΡΠΎΠΉ (ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π½Π΅Π΅ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅:
Π ΠΈΡΡΠ½ΠΎΠΊ 3.2 — ΠΠΎΠ΄Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ F, ΡΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΏΠΎΡΠ»ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ 0x2B, Π° Π΅ΡΠ»ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΡΡΠΈΡΡ — 0xF0 0x2B.
4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΠΎΠ΄ ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
#define F_CPU 1 600 0000L // Π§Π°ΡΡΠΎΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° - 16 ΠΠΡ
#include . h> // ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°
#include <avr/interrupt. h> // ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ
#include . h> // ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ
#include " lcd_conf. h" // ΠΠΈΠ±Π»ΠΈΡΠΎΡΠ΅ΠΊΠ° LCD
// ΠΡΠ²ΠΎΠ΄ Data ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ PD7
#define DATA_PORT PORTD
#define DATA_DDR DDRD
#define DATA_PIN PIND
#define DATA 7
// ΠΡΠ²ΠΎΠ΄ Clock ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ PD2
#define CLOCK_PORT PORTD
#define CLOCK_DDR DDRD
#define CLOCK_PIN PIND
#define CLOCK 2
unsigned int kb_data_bit = 0; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ Π±ΠΈΡΠ°
unsigned int kb_bit_count = 0; // Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ
unsigned char kb_buffer [33]; // ΠΡΡΠ΅Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΡΡ Π΄Π°Π½Π½ΡΡ
unsigned int j = 0; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΡΠ΅ΡΡΠΈΠΊ
unsigned int i = 0; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΡΠ΅ΡΡΠΈΠΊ
unsigned int scancode = 0; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΠΊΠ°Π½ΠΊΠΎΠ΄Π°
unsigned char key; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ
// ΠΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ΠΎΠ²
unsigned int codes [61] = {0x1C, 0x32, 0x21, 0x23, 0x24, 0x2B, 0x34, 0x33, 0x43, 0x3B, 0x42, 0x4B, 0x3A, 0x31, 0x44, 0x4D, 0x15, 0x2D, 0x1B, 0x2C, 0x3C, 0x2A, 0x1D, 0x22, 0x35, 0x1A, 0x45, 0x16, 0x1E, 0x26, 0x25, 0x2E, 0x36, 0x3D, 0x3E, 0x46, 0x0E, 0x4E, 0x55, 0x5D, 0x54, 0x5B, 0x4C, 0x52, 0x41, 0x49, 0x4A, 0x7C, 0x7B, 0x79, 0x71, 0x70, 0x69, 0x72, 0x7A, 0x6B, 0x73, 0x74, 0x6C, 0x75, 0x7D};
// ΠΠ°ΡΡΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ
unsigned char keys [61] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '~', '-', '=', '\', ' [', '] ', '; ', '? ', ',', '. ', '/', '*', '-', '+', '. ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
int main (void)
{
GICR = 0x40; // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π»ΠΎΠ³.1 Π² 6 Π±ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° GICR Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π½Π° INT0
MCUCR = 0x02; // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π»ΠΎΠ³.1 Π² 1 Π±ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° MCUCR Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° INT0 ΠΏΠΎ ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌΡ ΡΡΠΎΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»Π°
GIFR = 0x40; // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π»ΠΎΠ³.1 Π² 6 Π±ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° GIFR Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° INT0
DATA_DDR |= (0 << DATA); // ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ PD7 Π½Π° Π²Ρ ΠΎΠ΄
sei (); // ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
LCD_Init (); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
LCD_Set_Position (1,0);
LCD_Show_String («ΠΡΠΈΠ²Π΅Ρ!» );
_delay_ms (1000);
LCD_Clear ();
LCD_Set_Position (1,0);
LCD_Show_String («ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ°: » );
while (1)
{
if ((kb_bit_count == 0) || (kb_bit_count == 11)) // ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ = 0 ΠΈΠ»ΠΈ 11
{
KB_Decode (); // ΠΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠΊΠ°Π½ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΡΠΈΠ½ΡΡΡΡ Π΄Π°Π½Π½ΡΡ
if (scancode! = 0) // ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ = 0 - Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΊΠ»Π°Π²ΠΈΡΡ
{
LCD_Set_Position (2,5);
LCD_Show_Char (key);
_delay_ms (1);
}
}
}
}
ISR (INT0_vect) // ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅
{
KB_Recieve (); // ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅
}
void KB_Recieve (void) // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
{
kb_data_bit = (DATA_PIN >> 7); // ΠΠ°ΠΏΠΈΡΡΠ°Π΅ΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ½Π½ΡΡ kb_data_bit ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ PD7
if (kb_bit_count < 32) // ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ < 32
{
kb_buffer [kb_bit_count] = kb_data_bit; // ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ½ΡΡΡΠΉ Π±ΠΈΡ Π² Π±ΡΡΠ΅Ρ kb_buffer Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΠ°Π²Π½ΡΡ ΡΠΈΡΠ»Ρ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ
kb_bit_count++; // Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ Π½Π° 1
} else { // ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ = 32
kb_buffer [kb_bit_count] = kb_data_bit; // ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ½ΡΡΡΠΉ Π±ΠΈΡ Π² Π±ΡΡΠ΅Ρ kb_buffer Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΠ°Π²Π½ΡΡ ΡΠΈΡΠ»Ρ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ
kb_bit_count = 0; // Π‘Π±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ
}
}
int KB_Decode (void) // ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄Π°
{
scancode = (kb_buffer [1] << 0) | (kb_buffer [2] << 1) | (kb_buffer [3] << 2) | (kb_buffer [4] << 3) |
(kb_buffer [5] << 4) | (kb_buffer [6] << 5) | (kb_buffer [7] << 6) | (kb_buffer [8] << 7); // ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π±ΠΈΡΡ ΡΠΊΠ°Π½ΠΊΠΎΠ΄Π°, ΠΎΡΠ±ΡΠΎΡΠΈΠ² ΡΡΠ°ΡΡ, ΡΡΠΎΠΏ Π±ΠΈΡΡ ΠΈ Π±ΠΈΡ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ
if (scancode == 0xAA) // ΠΡΠ»ΠΈ ΡΠΊΠ°Π½ΠΊΠΎΠ΄ = 0xAA (ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ), ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π½ΠΊΠΎΠ΄ ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΠ½ΡΡΡΡ Π±ΠΈΡ
{
kb_bit_count = 0;
scancode = 0;
}
for (j = 0; j < 60;) // ΠΡΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΊΠ°Π½ΠΊΠΎΠ΄Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ key ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»
{
if (scancode == codes [j])
{
key = keys [j];
break;
} else {
key = '0';
j++;
}
}
}
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ. ΠΠ° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, ΡΠ΅ΡΠ΅Π· 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΡΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π°ΠΆΠ°ΡΠ°, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» «0». ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΏΠΈΡΠ°Π½Π° Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅ (ΡΠΈΡΡΠ½ΠΎΠΊ 4.1).
Π ΠΈΡΡΠ½ΠΎΠΊ 4.1 — ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ°Ρ 4.2−4.4.
Π ΠΈΡΡΠ½ΠΎΠΊ 4.2 — Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ «K»
Π ΠΈΡΡΠ½ΠΎΠΊ 4.3 — Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ «R»
Π ΠΈΡΡΠ½ΠΎΠΊ 4.4 — Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ «=»
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠΎΠ΄ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega32 ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° AVR, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ PS/2 ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ.