ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC. Π§Π°ΡΡΡ 1. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ½ΠΎΠ²Ρ MPLAB
ΠΡΠ°ΠΊ, Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ pic-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠ°ΠΊ-ΡΠΎ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄Π°Ρ , Π³ΠΎΡΠΎΠ²ΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ (Π½Π° ΡΠ»Π΅Π½Π³Π΅ ΠΎΠ±ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡΡ Π·Π°Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. Π’Π°ΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°Ρ ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π΅, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π½Π°ΡΠ΅ΠΉ ΡΠΏΠΎΠΏΠ΅ΠΈ (ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎ Π·Π°Π»ΠΈΠ²Π°ΡΡ), Π° ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎ-ΠΏΠΎΡΡΠ΄ΠΊΡ β ΠΊΠ°ΠΊ Π½Π°ΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° β ΡΡΠΎ, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π», Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ², Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Β«hexΒ» (Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎ ΡΠΎΡΠΌΠ°Ρ *.hex), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΡΠΆΠ½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE β integrated development environment), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ Π΅Ρ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΈΡΡΠΌ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΆΠ΅Π»Π°Π½ΠΈΡ. ΠΠΎΡΠΎΡΠ΅, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΠΎΠΌΠΈΠΌΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
IDE, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ², ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ MPLAB ΠΈ Π²Π°ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ, ΠΏΠΎ ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΡΡΠΎ MPLAB β ΡΡΠΎ IDE ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ PIC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² β ΡΠΈΡΠΌΡ Microchip, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ). Π‘ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Microchip ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠ°ΠΌ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌ. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°ΡΠ»ΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠΌΠ°Π΅Ρ ΠΈΡΠΊΠ°ΡΡ β ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ, ΠΏΡΠ°Π²Π΄Π° ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΌΠ°Ρ ΡΠ²Π΅ΠΆΠ°Ρ Π²Π΅ΡΡΠΈΡ.
Π ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎ Π²ΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ: ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ setup ΠΈ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΠΏΠ°ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΡΠΈΠΏΠ° ΠΊΡΠ΄Π° ΡΡΠ°Π²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, ΠΎΡ ΡΠ΅Π±Ρ Π»ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Ρ, ΡΡΠΎ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π³Π»ΡΠΊΠΎΠ² ΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°Π΄ΠΎ Π² ΡΠ°ΠΊΡΡ ΠΏΠ°ΠΏΠΊΡ, ΡΡΠΎΠ±Ρ Π² ΠΏΡΡΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠ΅ Π±ΡΠΊΠ²Ρ (Π° Π½Π΅ Π² ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ, ΡΠΈΠΏΠ° C:\ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ\PIC\MPLAB). ΠΠΎΠΎΠ±ΡΠ΅, ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ Π² ΠΏΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π³Π»ΡΠΊΠΈ.
MPLAB ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄Π²ΡΡ ΡΠ·ΡΠΊΠ°Ρ : Π‘Π ΠΈ ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ. ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠΎΡΡΠΎ Π»ΠΎΠΌΠΈΡΡΡ ΠΎΡ ΡΠ°Π·Π±ΠΎΡΠΎΠΊ Π‘Π-ΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΠ΅Π½ΠΎΠΉ Ρ ΡΡΠ° Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ Π»ΡΡΡΠ΅. Π― ΠΎΡΠ½ΠΎΡΡ ΡΠ΅Π±Ρ ΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡΠΈΠΊΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΡΠ΅ΠΌΡ Π»ΡΡΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ.
ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°ΠΊΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ. Π’ΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π»ΠΈΡΡΠΈΠ½Π³ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘Π (Π΄Π° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ) β ΡΡΠΎ ΡΠΆΠ΅ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ½Π° Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, β ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π·Π½Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ·ΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²Ρ ΠΈΠ·ΡΡΠ°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΠ΄Ρ ΠΎΠ±ΠΎΠ·Π²Π°Π» ΡΠ²ΠΎΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈΡ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ: Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ ΠΊΠΈΡΠ°ΠΉΡΠ΅ΠΌ, Π½ΠΎ Π²Π°ΠΌ Π³ΠΎΠ²ΠΎΡΡΡ: βΠΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ·ΡΠΊ, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π΄ΡΠ΄Ρ Π² ΠΠΎΠ»Π³Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ 20 Π»Π΅Ρ ΠΆΠΈΠ» Π² ΠΠΈΡΠ°Π΅ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π΅Π³ΠΎ Π²ΡΡΡΠΈΠ». Π Π±ΠΎΠ»Π³Π°ΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Ρ ΡΡΡΡΠΊΠΈΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ ΠΈ ΡΡΡΡΠΊΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΎΠ½ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ΅Π½, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΡΡΠΈΡΠ΅ Π±ΠΎΠ»Π³Π°ΡΡΠΊΠΈΠΉ, Π° ΡΠΆ Π΄ΡΠ΄Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΡ.β
Π ΡΠ»ΡΡΠ°Π΅ Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠΌ, Π²Ρ ΠΈΠ·ΡΡΠ°Π΅ΡΠ΅ ΡΠ°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π΄ΠΎ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅Π³ΠΎ-ΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π»ΠΈΡΡΠΊΠ΅ ΠΈ ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΊΠΈΠ½ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π²Π·Π³Π»ΡΠ΄ΠΎΠΌ.
ΠΠ°Π΄Π΅ΡΡΡ, ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²Ρ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ±ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΉΠ΄ΡΠΌ Π΄Π°Π»ΡΡΠ΅.
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² MPLAB, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ? ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π» β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΊ IDE MPLAB, ΠΎΠ½ΠΎ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΠΈ ΡΠ°ΠΌ Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ β ΠΈΠ΄ΡΠΌ Π½Π° ΡΠΎΡΡΠΌ), Ρ ΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠ°ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Ρ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΈ Π΄Π°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ.
ΠΡΠ°ΠΊ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ MPLAB, Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ.
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², Π°, Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΡΠ°ΠΌ MPLAB ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (*.lst, *.err, *.cod, *.bkx). ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±ΡΠ΄ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ. ΠΠΎΡΠΎΡΠ΅, ΡΠΎΠ·Π΄Π°ΡΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ MPLAB ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΌΠ΅Π½Ρ Project -> New Projectβ¦
Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠΎΡΠΊΠ΅, Π² ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΡΠΏΡΠ°Π²Π°, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ, Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ (Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ΄ Π½Π°Π΄ΠΏΠΈΡΡΡ File Name) ΠΏΠΈΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ my1.pjt (Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅), ΠΈ ΠΆΠΌΡΠΌ ΠΠ.
ΠΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Edit Project. ΠΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΌΠ΅Π½Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅). ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
Development Mode. Π‘ΠΏΡΠ°Π²Π° ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° Changeβ¦ ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ.ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠΎΡΠΊΠΎ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Development Mode, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΡΡΡ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Tools ΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ ΡΡΠ΄ΠΎΠΌ Ρ MPLAB SIM Simulator (Π³ΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ), Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Processor Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Clock ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΊΠ°Ρ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΎΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΠΌΡΠΌ ΠΠ. ΠΠ° ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ .hex (Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Ρ Π½Π°Ρ ΠΏΠΎΠΊΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Ρ) ΠΈ ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π°Π΄ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ (ΡΠ°ΠΊ ΠΌΡ Π΅ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ).
Π ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Language Tool Suite Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Microchip.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Add Nodeβ¦ Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅, Π² ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΡΠΏΡΠ°Π²Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡΠ»Π΅Π²Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ my1.asm (Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅), ΠΈ ΠΆΠΌΡΠΌ ΠΠ. ΠΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ» my1.asm (ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅).
ΠΠ° ΡΡΠΎΠΌ Ρ Edit project Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ, β Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΠ.
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ Π±ΡΠ΄Π΅Ρ Π² ΡΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠ°ΠΉΠ»Π΅, Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π΅ΡΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄ΡΠΌ Π² ΠΌΠ΅Π½Ρ File ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ New. ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠΎΡΠΊΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Untitled1. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΌΠ΅Π½Ρ File -> Save Asβ¦, Π² ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΡΠΏΡΠ°Π²Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° File Name ΠΏΠΈΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎ Π΅ΡΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ my1.asm. ΠΡΠ»ΠΈ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠΊΠΎΡΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ Untitled1 Π½Π° \ΠΏΡΡΡ\my1.asm.
ΠΠΎΡ ΠΈ Π²ΡΡ! Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΡΠ°ΡΡ Π² ΠΎΠΊΠΎΡΠΊΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ (ΠΌΠ΅Π½Ρ
Project->Build All) ΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ (ΡΡΠΎ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π·Π° Π±ΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ), ΡΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π³ΠΎΡΠΎΠ²Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° (ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ hex), ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.- Π§Π°ΡΡΡ 1. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ½ΠΎΠ²Ρ MPLAB
- Π§Π°ΡΡΡ 2. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ
- Π§Π°ΡΡΡ 3. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅
- Π§Π°ΡΡΡ 4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
- Π§Π°ΡΡΡ 5. ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ. ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ
- Π§Π°ΡΡΡ 6. ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°Π»ΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ
radiohlam.ru
Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ PIC ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ (Π.Π. ΠΠΎΡΠ°Π±Π΅Π»ΡΠ½ΠΈΠΊΠΎΠ²,2008)
1. ΠΠΎΡΠΎΠ²ΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ (ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ) ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ, ΡΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΡΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π½ΡΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ.
Π’Π΅, ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ², ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² ΠΈ Ρ.Π΄., ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠΉΠΌΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π’Π°ΠΊ ΠΊΠ°ΠΊ, ΡΡΠ΅Π΄ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΈΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ Π»ΡΠ΄Π΅ΠΉ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ, ΡΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠΎΠ³Π»Π°ΡΡΡΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ Π°ΠΊΡΠΈΠΎΠΌΠΎΠΉ: ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² βΠΌΠ°Π»ΡΡ Π΄ΠΎΠ·Π°Ρ β.
ΠΠ²ΠΎΡ ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ βΠ±ΠΎΠ»ΡΡΠΈΠ΅ Π΄ΠΎΠ·Ρβ (ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π΄Π΅ΡΡΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΡΠΏΡΡΠΎΠ² ΠΌ/ΡΡ Π΅ΠΌ), ΡΠΎ βΠΌΠΎΠ·Π³ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΄ΡΠΌΠΈΡΡΡΡβ Π΄Π°ΠΆΠ΅ Ρ ΠΊΠ»Π°ΡΡΠ½ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΈΠΊΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ Π½Π΅Π΄ΡΠΆΠΈΠ½Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°ΠΌΠΎΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΈΠΊΠ° ΡΠ΅Π·ΠΊΠΎ βΠΏΠ°Π΄Π°Π΅Ρβ.
Π Π² ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠΈΠ» ΠΈ ΡΡΠ΅Π΄ΡΡΠ² Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ βΠΌΠΎΡΠ΅β, Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅, Π³Π°Π±Π°ΡΠΈΡΠ½ΠΎΠ΅, ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π² ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠΈ, ΡΠ½Π΅ΡΠ³ΠΎΠ΅ΠΌΠΊΠΎΠ΅ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎΠ΅.
Π§ΡΠΎΠ±Ρ βΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ ΠΎΠΌ ΠΏΡΠΈΡ Π»ΠΎΠΏΠ½ΡΡΡβ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, βΡΠΉΡΠ΅Π³ΠΎΠ»ΠΎΠ²ΡΠ΅β ΠΈ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΡΠ½Π°ΡΠ°Π»Π° βΠ±ΠΎΠ»ΡΡΠΈΠ΅β ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ (ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ), Π° Π·Π°ΡΠ΅ΠΌ ΠΈ βΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅β, Π½Π°Π·Π²Π°Π² ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ.
ΠΠ½ΡΡΡΠΈ ΠΌ/ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ βΠ½Π°Π±ΠΎΡβ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½. ΠΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡ Π²Π΅ΡΡΠΌΠ° Π½Π΅ ΡΠ»Π°Π±ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΡΠΎΠ³ΠΎ βΠ½Π°Π±ΠΎΡΠ°β, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ βΡ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎΠΌβ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ βΡΡΠ»ΠΈΡΡβ. ΠΡΠ° βΡΡΠ»Π΅ΠΆΠΊΠ°β ΠΈ Π΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ βΠΌΠ°ΡΡΠΈΠ²Π°Ρ β ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ², ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ (Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄Π°Ρ ) ΠΈ Π²ΡΠ°Π³Ρ Π½Π΅ ΠΏΠΎΠΆΠ΅Π»Π°Π΅ΡΡ: ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ, Π΄Π°, ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ, ΠΈ Π² βΠΏΡΠΈΡ ΡΡΠΊΡβ ΠΏΠΎΠΏΠ°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ (Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ β Π»ΡΠ΄ΠΈ Ρ Π²ΡΠ΄Π°ΡΡΠΈΠΌΠΈΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΈ Π³Π΅Π½ΠΈΠΈ). ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³Π»ΠΈ, Π±Π΅Π· ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ βΠ½Π°ΠΏΡΡΠ³Π°β, Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘ΠΌΡΡΠ» Π²ΡΠ΅Ρ ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π·Π°ΠΌΠ΅Π½Π΅ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ»ΠΎΠ², Π°Π±ΡΠ΅Π²Π΅Π°ΡΡΡΠ°ΠΌΠΈ ΠΈ Ρ. Π΄., ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΈ ΡΠ΅ΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ΅ ΡΡΠΈ βΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌΡΠ΅ ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈβ, ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΎΠ΄Π½ΠΈΠΌ βΠ»Π΅Π³ΠΊΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΊΠΈβ (ΠΌΠΎΠ·Π³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡΡΡΡ).
Π§ΡΠΎΠ±Ρ ΡΡΠΎ βΠ»Π΅Π³ΠΊΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΈβ ΠΈΠΌΠ΅Π»ΠΎ ΠΌΠ΅ΡΡΠΎ Π±ΡΡΡ, βΡΠΉΡΠ΅Π³ΠΎΠ»ΠΎΠ²ΡΠ΅β ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ βΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈβ.
ΠΡΠΎ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΠΊΠΎΠΌΡΠΎΡΡΠ°, ΠΏΡΠΈΡΠ΅ΠΌ, ΠΏΠΎ Π²ΡΠ΅ΠΌΡ βΠΌΠ°ΡΡΠΈΠ²Ρβ ΡΠ΅ΡΠ°Π΅ΠΌΡΡ ΠΈΠΌ Π·Π°Π΄Π°Ρ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ Ρ.Π΄. ΠΈ Ρ.ΠΏ.).
Π§ΡΠΎ, ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΡΠΊΠΎΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΏΠ°Π» Π² ΠΠ½Π³Π»ΠΈΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌ ΠΆΠΈΡΡ?
ΠΡΡΡΠΈΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ.
ΠΡΠΈ βΠ²ΡΠ΅Π·Π΄Π΅β Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ (Π·Π°Π΄Π°ΡΠ° Π΄Π°ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅).
βΠΡΠΎΠΌΠ°ΡΠ΅ΡΡβ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ.
Π₯ΠΎΡΡ ΠΎΠ½ ΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ, Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ βΠΏΡΠΎΡΡΠΎΠΉβ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΊ Π½Π°Π±ΠΎΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡ β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅, ΠΈ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ, Π½ΠΎ Π½Π΅ ΠΊ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎΠΌΡ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΠΈΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ ΡΠ»ΠΎΠ², Π»ΠΈΠ±ΠΎ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΡΡ Π±ΡΠΊΠ² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΠΈ ΡΠ΅ΠΌ, ΠΈ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ βΠ΄ΠΆΠ΅Π½ΡΠ»ΡΠΌΠ΅Π½ΡΠΊΠΈΠΉβ Π½Π°Π±ΠΎΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΄Π»Ρ ΠΠΠΠΎΠ² ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 35 ΠΊΠΎΠΌΠ°Π½Π΄. Π Π΅Π°Π»ΡΠ½ΠΎ ΠΆΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡ 10 Π΄ΠΎ 20 ΠΊΠΎΠΌΠ°Π½Π΄.
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ΅Π±Ρ ΠΏΡΠΎΡΡΠΎ Π½Π° ΡΡΠΏΠΎΠ΅ Π·Π°ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ (Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΡΠ°Ρ ) Π²ΡΠ΅ΠΉ ΡΡΠΎΠΉ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ βΠ°Π±ΡΠ°ΠΊΠ°Π΄Π°Π±ΡΡβ, ΡΠΈΠΏΠ° Π·ΡΠ±ΡΠ΅ΠΆΠΊΠΈ (Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΠ»ΠΎΠ½Π½ΠΎΡΡΠΈ ΠΊ ΠΈΠ½ΠΎΡΡΡΠ°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠ°ΠΌ, Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΎΡΠ²ΠΎΠΈΠ»), Π½Π΅ ΡΠ°ΠΊΠ°Ρ ΡΠΆ ΡΡΠΎ ΠΈ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, Π·Π°Π²Π΅ΡΡΡ ΠΠ°Ρ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΠ°ΡΠ΅ ΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π·ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΠ°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡΡ.
ΠΠ²ΡΡΡΠΈΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ
βΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌβ, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΠΈΡΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ, Π±ΡΡΡΡΡΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ
studfile.net
ΠΠ΄Π΅Π°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ PIC β Π»ΠΈΡΠ½ΡΠΉ ΠΎΠΏΡΡ / Habr
Π ΡΠ²ΡΠ·ΠΈ Ρ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅, ΡΠ΅ΡΠΈΠ» Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Π²ΡΠ»Π΅Π·ΡΠΈ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΎΠ»ΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. ΠΡ Π° ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ (ΠΠ) ΠΈ ΡΠ²Π»ΡΡΡΡ ΡΠ°Π½Π°ΡΠΎΠΌ Eclipse, ΡΠΎ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎ ΡΡΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ. ΠΠ°ΡΠ½Ρ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PIC, Π° Π·Π°ΠΊΠΎΠ½ΡΡ ΡΠΎΠ²Π΅ΡΠ°ΠΌΠΈ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΎ Π΄ΠΎΠ»Π³Ρ ΡΠ»ΡΠΆΠ±Ρ ΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ ΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅Ρ Π½Π° ΠΠ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC, Ρ ΠΎΡΡ, Π²ΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΈ ΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡ ΡΠ³ΠΎΠ΄ΡΡΡΡ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΠ.Π ΡΡΠ΅Π΄Ρ ΠΆΠ΅Π»Π΅Π·ΡΡΠ½ΠΈΠΊΠΎΠ² Ρ ΠΏΠΎΠΏΠ°Π» Π² 2006 Π³ΠΎΠ΄Ρ Π½Π° 4-ΠΌ ΠΊΡΡΡΠ΅ ΡΡΡΠ±Ρ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ» Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ Π² Π½Π°ΡΡΠ½ΠΎ-ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π½ΡΡ, Π³Π΄Π΅, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠ΅ΠΉΠ½ΡΡΡΠΈΠΌΠΎΠΌ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Keil uVision2 Π΄Π»Ρ ΠΠ Π½Π° Π±Π°Π·Π΅ C51 ΠΈ ARM. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ΄ΡΠΎΠ²ΡΠ²Π°Π»ΠΈ ΠΏΡΠΎΡΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠ΄ PIC, Π²ΡΠΎΠ΄Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ (ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΠΊΠ»-Π²ΡΠΊΠ»), ΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ»ΠΈ Π±Π»ΠΎΠΊΠ½ΠΎΡΡ β Π±ΡΠΌΠ°ΠΆΠ½ΡΠΉ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΉ, ΠΏΠ»ΡΡ ΠΊΠ½ΠΈΠΆΠΊΠΈ Π±ΡΠΌΠ°ΠΆΠ½ΡΠ΅ ΠΏΠΎ PIC. ΠΡΠ³Π»ΡΠ΄Π΅Π»Π° ΠΌΠΎΡ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:

ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ½Π΅ Π²ΡΠ΄Π°Π»ΠΈ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ bat-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ½ΠΎΠΉ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π·Π΄ΡΠΌΠ½ΠΎ β Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ, ΡΡΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ Π±ΡΠ». Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΡΠΎΠ²ΡΠ΅ Π±ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π°β¦

ΠΠΎΡΠΎΠΌ Π±ΡΠ» MPASM, Π½ΠΎ ΠΎΠ½ ΡΠ±ΠΎΠ³ΠΈΠΉ ΠΈ ΠΌΠ½Π΅ ΠΏΡΠΎ Π½Π΅Π³ΠΎ ΠΏΠΎΡΡΠΈ Π½Π΅ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ. ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΈΡΠ°Π» Π² Π±Π»ΠΎΠΊΠ½ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΊΠΈ.
MPLAB IDE
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π½Π°Π²ΡΠΊΠΎΠ² Ρ ΡΠ·Π½Π°Π», ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΠΈΠΊΡΡΡΠ΅ΠΉΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΡΠΎΠ³Π΄Π° ΠΊΠ°Π·Π°Π»ΠΎΡΡ, MPLAB IDE:

Π Π΅Ρ ΡΠΎΡΡΠ°Π² Π²Ρ ΠΎΠ΄ΡΡ:
- CC18 ΠΈ Π΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°;
- Ρ ΠΎΡΠΎΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ;
- ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ inc-ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΠ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC, Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅;
- Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ;
- ΠΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ° Π‘ΠΈ β ΡΡΠΎ Π±ΡΠ» Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π³Π»ΠΎΡΠΎΠΊ ΡΠ²Π΅ΠΆΠ΅Π³ΠΎ Π²ΠΎΠ·Π΄ΡΡ Π°!
Π₯ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅ΡΡΡΡ ΠΊ ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅Ρ ΡΠ±ΠΎΠ³ΠΎΡΡΡ ΠΈ ΠΎΡΡΡΠ°Π»ΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ³Π½ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΎ-ΠΌΠ°Π»ΡΡΠΊΠΈ ΠΏΡΠΈΠ²ΡΠΊΡΠ΅Π³ΠΎ ΠΊ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π½ΠΎ Ρ ΡΠΎΠ³Π΄Π° ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ Π·Π½Π°Π». Π‘ΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π½Π°Π΄ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈ ΠΈΡΠΊΠ°ΡΡ, ΡΡΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ. ΠΠ»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² β Π½Π΅ΠΏΠΎΡΠΈΠ»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π° ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΡΠΌΠ°Ρ Π»ΡΠ΄ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ; ΠΊΡΠΎ-ΡΠΎ ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MPLAB IDE.
MikroC
ΠΠ°Π΄Π°ΡΠΈ Π΄Π»Ρ PIC ΠΌΠ½Π΅ ΠΏΠΎΠ΄ΠΊΠΈΠ΄ΡΠ²Π°Π»ΠΈ Π²ΡΡ ΡΠ΅ΠΆΠ΅ ΠΈ ΡΠ΅ΠΆΠ΅, Π½Π°ΡΠ°Π»ΠΈ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΎΠ±ΠΎΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΠ ΡΠ΅ΡΠΈΠΈ C51, ARM7 (Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ARMv7!), Cortex-M. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠΎ ΠΌΠ½Π΅ ΡΠ½ΠΎΠ²Π° ΠΎΠ±ΡΠ°ΡΠ°Π»ΠΈΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ΄ PIC, Π° Ρ Π² ΡΠΈΠ»Ρ Π»ΡΠ±ΠΎΠΏΡΡΡΡΠ²Π° ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π» Π² Keil uVision3 β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄ΠΎΠΏΠΎΡΠΎΠΏΠ½ΠΎΠΌΡ MBLAB IDE ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ. Π’Π°ΠΊ Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ Ρ MikroC, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ PICKit:

ΠΠ°Π±ΠΎΡ ΠΏΠ»ΡΡΠ΅ΠΊ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² MBLAB IDE, Π½ΠΎ Π²ΡΡ ΠΆΠ΅ ΠΏΠΎΠ±ΠΎΠ³Π°ΡΠ΅:
- ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
- Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ;
- ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ h-ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΠ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC;
- Π½Π°Π±ΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ
- ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ
- Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ;
- Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²;
- Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π² ΡΠ°ΠΉΠ»Π΅
Π§Π΅ΡΡΠ½ΠΎ, Π΄Π»Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ΄ PIC, ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ Π±ΡΡΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ Π΄Π΅Π»ΠΎ Ρ PIC, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡ ΡΡΠ΅Π΄Ρ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, ΡΠ΄Π΅Π»Π°Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² MikroC, Ρ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎ Π·Π°Π±ΡΠ» ΠΏΡΠΎ PICβΠΈ ΠΈ Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΡΠΆΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΊ Π½ΠΈΠΌ Π½Π΅ Π²Π΅ΡΠ½ΡΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡΡΠΎΡΠΈΡ Π»ΡΠ±ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ!
Π§Π΅ΡΠ΅Π· 3 Π³ΠΎΠ΄Π°, Π² 2013 Π³ΠΎΠ΄Ρ, ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΠ ΠΏΠΎ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΠ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» Π·Π°Π»ΠΎΠΆΠ΅Π½ PIC18F4680. Π§Π΅ΡΡΠ½ΠΎ, Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π», ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ PICβΠΎΠ² Π±ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ½ΡΡΡΡ, Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅Π»ΠΎΡΡΡ!
ΠΠ°Π΄Π°ΡΠΈ Π±ΡΠ»ΠΈ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π΄Π»Ρ Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ, ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΆΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΠ¦Π, Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π¦ΠΠ, Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ-ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ.
ΠΡΡΠ°ΡΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡ ΠΎΡ ΡΠ΅ΠΌΡ: ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±Π°Π½ΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² PIC, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΠ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΡΠ΅ Π±Π°Π½ΠΊΠΈ Ρ ΠΠ ΠΏΠΎ 256 Π±Π°ΠΉΡ. Π Ρ ΠΎΡΡ ΡΠ±Π΅ΠΉΡΡ, Π½ΠΎ Π΄Π»Ρ PIC Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΎΠ±ΡΡΠΌΡ ΡΡΠΈ 256 Π±Π°ΠΉΡ β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»ΡΠ»ΠΎ Π½Π°ΡΡΠΆΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π°, Π½Ρ Π΄Π° Π»Π°Π΄Π½ΠΎ, ΠΏΡΠΎΠ΅Ρ Π°Π»ΠΈβ¦
Π ΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Keil uVision3 ΠΌΠ½Π΅ ΡΠΆΠ΅ ΠΈΠ·ΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π½Π°Π΄ΠΎΠ΅Π», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠΎΡΠ»Π° ΠΈ ΠΌΠ½Π΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΠΈΠΌΠ΅Π²ΡΠ΅Π³ΠΎΡΡ Π² Keil ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. ΠΠ΄Π΅-ΡΠΎ Ρ 2011 Π³ΠΎΠ΄Π° Ρ ΠΎΡΠ²ΠΎΠΈΠ» Eclipse, GCC, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ makefile β ΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π°ΡΠ°Π» Π²Π΅ΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠΎΠΌΡ ΠΆΠ΅, Ρ ΠΌΠ΅Π½Ρ ΡΠΆΠ΅ Π±ΡΠ» ΠΎΠΏΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΡΠ·ΠΊΠΈ Eclipse + SDCC Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ C51 ΠΠ. ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Keil uVision4 Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ», ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» ΠΏΠΎΠ»-ΡΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠ½ΡΡ, ΠΈΠ±ΠΎ ΠΏΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΡΠ°ΡΡ ΠΎΡ Eclipse.
Eclipse + SDCC
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Eclipse Π΄Π΅-ΡΠ°ΠΊΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ IDE, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Eclipse, ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΡΠ΅Π½Π΄ΠΎΠ²:
- NXP LPCXpresso IDE
- Freescale CodeWarrior
- Xilinx Platform Studio
- Texas Instruments CCS
- Android Development Tools
ΠΠ²ΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΌΠ°ΠΊΡΠΎΡΡ, Π·Π°ΡΠ΅ΠΌΠ½Π΅Π½ΠΈΠ΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΠ΄ΠΎΠ±Π½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅-ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅, β Ρ Π½Π΅ Π±ΡΠ΄Ρ Π²ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ, β ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΈ Π½Π΅ Π·Π½Π°ΡΡ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΠ»ΡΡΠ΅ΠΊ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠΈΡ ΠΆΠΈΠ·Π½Ρ:

ΠΠ»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠΎΠ³ΠΎ Eclipse Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° C/C++ ΠΏΠΎΠ΄ ΠΠ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² Π½Π΅Π³ΠΎ ΠΆΠ΅Π»Π΅Π·ΡΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² 1-2 ΠΊΠ»ΠΈΠΊΠ°, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅ΡΡ Ρ
ΡΠΆΠ΅, Π½Π° Π²ΡΡΡΠ½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ makefile β Π²ΡΡ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠΈΡΠΊΡ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈ ΠΏΠΎΡΠΎΠ±ΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΠΎΠ²ΠΎΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΎΠΏΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²-ΠΆΠ΅Π»Π΅Π·ΡΡΠ½ΠΈΠΊΠΎΠ² Π½Π° Eclipse.
ΠΠΎΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΡΡΡ ΡΡΠ°ΡΡΡ β Π΄Π°ΠΉΡΠ΅ Π·Π½Π°ΡΡ, Ρ Ρ ΠΎΡΡ ΡΠ·Π½Π°Ρ, ΠΊΠ°ΠΊ Ρ Π½Π°Ρ ΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠ΅ Ρ Π°Π±Ρ Π½Π° Π₯Π°Π±ΡΠ°Ρ Π°Π±ΡΠ΅
ΠΠ΄Π½Π°ΠΊΠΎ, Π·Π° ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ²ΠΎΠΈΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½Π°ΠΏΠΈΡΠ°Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ makefile, Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎ Π½Π°ΠΊΠ°ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ ΡΡΠ΅Π±ΡΡΡ Π»ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ΄ PIC β ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Eclipse ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ GCC. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ (Π±ΡΠ΄Ρ ΡΠΎ Π‘Π‘18 ΠΈΠ»ΠΈ SDCC), ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π²ΡΠ΄Π°Π²Π°Π» Π»ΠΎΠΆΠ½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» eclipse-syntax.h:
#ifndef ECLIPSE_SYNTAX_H_
#define ECLIPSE_SYNTAX_H_
// keyword SDCC defined when compiling with SDCC compiler
#ifndef SDCC
#ifdef __SDCC_PIC18F4680
#error "SDCC not found, project compile will be with errors!"
#endif
// file not parsed through makefile - just for proper eclipse syntax
#ifndef __CC18__
#error "__CC18__ not found, use `-D__CC18__` in makefile for proper CC18 compilation!"
#define near
#define far
#define rom
#define ram
#define _asm
#define _endasm
#define Nop()
#define ClrWdt()
#define Sleep()
#define Reset()
#define clrwdt
#define nop
#define __code
#define __data
#define __xdata
#define __sfr
#define __sbit
#define __naked
#define __wparam
#define __bit char
#define __at(num)
#else // __CC18__ defined - compile stage!
#endif // __CC18__
#define __inline
#define __asm
#define __endasm
#define __interrupt(x)
#define INTERRUPT(x)
#define USING(x)
#define CRITICAL
#define CRITICAL_START
#define CRITICAL_END
#define _REENTRANT
#else // if SDCC defined
#define INTERRUPT(x) __shadowregs __interrupt (x)
//#define USING(x) __using (x)
#define USING(x)
#define CRITICAL __critical
#define CRITICAL_START __critical {
#define CRITICAL_END }
#endif // SDCC defined
#endif /* ECLIPSE_SYNTAX_H_ */
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² SDCC Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ»ΠΈΠ½ΠΊΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π³ΠΎΡΠΎΠ²ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ β ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ GPUtils, Π² ΡΠΎΡΡΠ°Π² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄ΡΡ gpasm, gpdasm, gplink ΠΈ ΡΠΊΡΠΈΠΏΡΡ .lkr ΠΊΠ°ΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΠ PIC. ΠΡΠ°Π²Π΄Π°, ΠΈΠ·-Π·Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΉ Π±Π°Π³Π° Π² SDCC Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° Ρ Π² ΠΈΡΠΎΠ³Π΅ Π²Π΅ΡΠ½ΡΠ»ΡΡ Π½Π° CC18 ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, SDCC ΠΈ GPUtils Π±ΡΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ β Π΄Π»Ρ ΡΡΡΠ°ΠΆΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΡΠ°ΡΡΡ makefile, ΠΊΠ°ΡΠ°ΡΡΡΡΡΡ ΠΎΠΏΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠ² CC18, SDCC, GPUtils:
ΠΡΡΠΎΡΠΊΠΈ makefile
###########################################################
# project-specific compile options
###########################################################
# Project definitions
CHIP = 18F4680
DEFINES := -DPIC$(CHIP)
#DEFINES += -D__SDCC_PIC$(CHIP) # use SDCC compiler
DEFINES += -D__CC18__ # use MPLAB CC18 compiler
#DEFINES += -DOPTIMIZE_BITFIELD_POINTER_GET # SDCC memory optimize for bitfield structures
###########################################################
# common part for all sdcc-based projects
###########################################################
SDCC_BASE = c:/DevTools/SDCC
CC = "$(SDCC_BASE)/bin/sdcc.exe"
LD = "$(SDCC_BASE)/bin/sdcc.exe"
ELF2HEX = "$(SDCC_BASE)/bin/packihx.exe"
HEX2BIN = "$(SDCC_BASE)/bin/makebin.exe"
###########################################################
# common part for all MPLAB MCC18-based projects
###########################################################
MPLAB_BASE = c:/DevTools/CC18
CC_MPLAB = "$(MPLAB_BASE)/bin/mcc18.exe"
AS_MPLAB = $(MPLAB_BASE)/mpasm/mpasmwin.exe
LD_MPLAB = $(MPLAB_BASE)/bin/mplink.exe
###########################################################
# GPUtils used with SDCC for linking project
###########################################################
GPUTILS_BASE = c:/DevTools/GNUPICutils
GPASM = "$(GPUTILS_BASE)/bin/gpasm.exe"
GPDASM = "$(GPUTILS_BASE)/bin/gpdasm.exe"
GPLINK = "$(GPUTILS_BASE)/bin/gplink.exe"
###########################################################
# C preprocessor flags for MPLAB MCC18 compiler
###########################################################
#optimization parameters (default = full optimization)
OPT_ENABLE_ALL := -O+ # Enable all optimizations (default)
OPT_DEBUG :=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
OPT :=$(OPT_ENABLE_ALL)
#OPT :=$(OPT_DEBUG)
CFLAGS_MPLAB := -p $(CHIP)
CFLAGS_MPLAB += -I $(MPLAB_INC_DIR)
CFLAGS_MPLAB += -nw=2066 # suppress Warning [2066] type qualifier mismatch in assignment
CFLAGS_MPLAB += -ml # Large memory model
CFLAGS_MPLAB += -ls # large stack (can span multiple banks)
#CFLAGS_MPLAB += -scs # Enable default static locals
#CFLAGS_MPLAB += -sco # Enable default overlay locals (statically allocate activation records). Ignored if set --extended
CFLAGS_MPLAB += --extended # generate extended mode code
COMPILE_MPLAB_STRING=$(CC_MPLAB) $(CFLAGS_MPLAB) $< -fo=$@ $(DEFINES) $(OPT)
AFLAGS_MPLAB := /y
AFLAGS_MPLAB += /rDEC # set default radix HEX/DEC/OCT
AFLAGS_MPLAB += /l- # disable listing file
#AFLAGS_MPLAB += /l$(OBJDIR_MPLAB) # enable listing file
AFLAGS_MPLAB += /o # specify path for object files
#AFLAGS_MPLAB += /o$(OBJDIR_MPLAB) # specify path for object files
#AFLAGS_MPLAB += /q # enable quiet mode
AFLAGS_MPLAB += /d__LARGE__ # define symbol
AFLAGS_MPLAB += /p$(CHIP) # set processor type
#ASSEMBLE_MPLAB_STRING=$(AS_MPLAB) $(AFLAGS_MPLAB) %<
# used linker script
LDFLAGS_MPLAB := $(CHIP)_g.lkr
# objects to compile
LDFLAGS_MPLAB += $(OBJS_MPLAB)
LDFLAGS_MPLAB += $(MPLAB_LIBS)
# specify chip for proper linking
LDFLAGS_MPLAB += /p$(CHIP)
# verbose mode operation
#LDFLAGS_MPLAB += /v
# generate report file for stack analysis
LDFLAGS_MPLAB += /g
# generate .LST file and no .COD file
LDFLAGS_MPLAB += /i
# do not invoke MP2COD (no .COD or .LST file)
LDFLAGS_MPLAB += /w
# link MPLAB libs
LDFLAGS_MPLAB += /l $(MPLAB_LIB_DIR)
# generate MAP file
LDFLAGS_MPLAB += /m $(EXEDIR)/$(PROJECT_NAME)_mplab.map
# set output file
LDFLAGS_MPLAB += /o $(EXEDIR)/$(PROJECT_NAME)_mplab.hex
###########################################################
# C preprocessor flags for SDCC v.3.3.0 compiler
###########################################################
# ----- processor selection -----
CFLAGS := -m$(ARCH)
CFLAGS += -p$(CHIP)
# ----- preprocessor options -----
CFLAGS += $(INCS)
CFLAGS += $(DEFINES)
# ----- verbose & dependancy generate -----
# CFLAGS += -M # generate dependencies
# CFLAGS += -E #
# CFLAGS += -C # dont discard comments
CFLAGS += -c # dont link file (i.e. have multiple source files)
CFLAGS += $(DEBUG)
# ----- common settings -----
#CFLAGS += --nostdinc # This will prevent the compiler from passing on the
# default include path to the preprocessor.
#CFLAGS += --nostdlib # This will prevent the compiler from passing on the
# default library path to the linker.
#CFLAGS += --less-pedantic # Disable some of the more pedantic warnings.
CFLAGS += --stack-auto # All functions in the source file will be compiled as reentrant.
# It automatically implies --int-long-reent and --float-reent.
CFLAGS += --int-long-reent # Integer (16 bit) and long (32 bit) libraries have been compiled as reentrant.
CFLAGS += --float-reent # Floating point library is compiled as reentrant.
#CFLAGS += --no-peep
#CFLAGS += --funsigned-char # The default signedness for every type will be unsigned.
#CFLAGS += --cyclomatic # This option will cause the compiler to generate an information
# message for each function in the source file. The message contains
# the number of edges and nodes the compiler detected in the
# control flow graph of the function, and most importantly
# the cyclomatic complexity.
# ----- optimization options -----
#CFLAGS += --nogcse # Will not do global subexpression elimination, this option may be used
# when the compiler creates undesirably large stack/data spaces to store
# compiler temporaries.
#CFLAGS += --noinvariant # Will not do loop invariant optimizations.
#CFLAGS += --noinduction # Will not do loop induction optimizations.
#CFLAGS += --nojtbound # Will not generate boundary condition check when switch statements
# are implemented using jumptables.
#CFLAGS += --noloopreverse # Will not do loop reversal optimization.
#CFLAGS += --nolabelopt # Will not optimize labels (makes the dumpfiles more readable).
CFLAGS += --nooverlay # The compiler will not overlay parameters and local variables of any function.
CFLAGS += --peep-asm # Pass the inline assembler code through the peep hole optimizer.
#CFLAGS += --opt-code-speed # Optimize for code speed rather than size
#CFLAGS += --opt-code-size # Optimize for code size rather than speed
CFLAGS += --fomit-frame-pointer # Frame pointer will be omitted when the function uses
# no local variables.
CFLAGS += --use-non-free # Search / include non-free licensed libraries and header files
# ----- special options for pic16 port of SDCC -----
CFLAGS += --pstack-model=large # use stack model 'small' (default) or 'large'
# don't use extended instruction set - SDCCman, $4.6.20.1 Known Bugs
#CFLAGS += -y --extended # enable Extended Instruction Set/Literal Offset Addressing mode
#CFLAGS += --pno-banksel # do not generate BANKSEL assembler directives
CFLAGS += --obanksel=2 # set banksel optimization level (default=0 no)
CFLAGS += --denable-peeps # explicit enable of peepholes
CFLAGS += --no-optimize-goto # do NOT use (conditional) BRA instead of GOTO
CFLAGS += --optimize-cmp # try to optimize some compares
CFLAGS += --optimize-df # thoroughly analyze data flow (memory and time intensive!)
#CFLAGS += --preplace-udata-with=udata_shr # Place udata variables at another section: udata_acs, udata_ovr, udata_shr
#CFLAGS += --ivt-loc= # Set address of interrupt vector table.
#CFLAGS += --nodefaultlibs # do not link default libraries when linking
#CFLAGS += --use-crt= # use <crt-o> run-time initialization module
#CFLAGS += --no-crt # do not link any default run-time initialization module
#CFLAGS += --mplab-comp # enable compatibility mode for MPLAB utilities (MPASM/MPLINK)
#CFLAGS += --asm= # Use alternative assembler
#CFLAGS += --link= # Use alternative linker
CFLAGS += --debug-xtra # show more debug info in assembly output
CFLAGS += --debug-ralloc # dump register allocator debug file *.d
CFLAGS += --pcode-verbose # dump pcode related info
CFLAGS += --calltree # dump call tree in .calltree file
#CFLAGS += --gstack # trace stack pointer push/pop to overflow
###########################################################
# linker flags
###########################################################
#gputils (GNU PIC Utils) used to link objects and libs.
GPLINK_FLAGS = -c -m -w -r -I $(LIBDIR) -s $(GPUTILS_BASE)/lkr/$(CHIP)_g.lkr
#SDCC linker not used
#LDFLAGS := -m$(ARCH)
#LDFLAGS += $(DEBUG)
#LDFLAGS += --profile
#LDFLAGS += --code-size $(FLASH_SIZE) # Code Segment size
#LDFLAGS += --code-loc $(FLASH_LOC) # The start location of the code location, default value is 0
#LDFLAGS += --iram-size $(IRAM_SIZE) # Internal Ram size
#LDFLAGS += --xram-loc $(XRAM_LOC) # The start location of the external ram, default value is 0
#LDFLAGS += --xram-size $(XRAM_SIZE) # External Ram size
#LDFLAGS += --stack-loc $(STACK_LOC) # By default the stack is placed after the data segment.
# Using this option the stack can be placed anywhere in the
# internal memory space of the 8051.
##############################################################################
# MPLAB CC18 compiler - linker
$(HEX_MPLAB): $(OBJS_MPLAB) Makefile
@echo "--- CC18 Linking objects to $(HEX_MPLAB) ..."
@$(LD_MPLAB) $(LDFLAGS_MPLAB)
##############################################################################
# SDCC compiler - linker
$(HEX): $(OBJS) Makefile
@echo "--- SDCC Linking objects to $(HEX) ..."
$(GPLINK) $(GPLINK_FLAGS) -o $(HEX) $(OBJS) $(LIBS)
$(GPDASM) -p$(CHIP) $(HEX) > $(DASM)
ΠΠΏΠΈΠ»ΠΎΠ³
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π² ΠΈΡΠΎΠ³Π΅ Ρ ΠΏΡΠΈΡΡΠ» ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·ΠΊΠΈ Eclipse Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ β Π΄Π΅Π»ΠΎ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΈ Π½Π΅ ΡΡΠΎΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ ΠΎΡ Π½Π΅Π³ΠΎ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ β Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΌΠ°Ρ, Π² ΠΈΡΠΎΠ³Π΅ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π°Ρ ΡΠ²ΡΠ·ΠΊΠ°, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ΄ PIC.
Π‘ΠΎΠ±ΠΈΡΠ°Ρ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Eclipse ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ:
- CC18 Π΄Π»Ρ PIC
- SDCC Π΄Π»Ρ C51
- gnu-arm-embedded Π΄Π»Ρ ARM7 ΠΈ Cortex-M
- MinGW Π΄Π»Ρ x86
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΠΌΠΎΡ ΠΈΡΡΠΎΡΠΈΡ, ΠΊΡΠΎ-ΡΠΎ ΡΠ΅ΡΠΈΡΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠΎΠΉΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΡ IDE ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠ΅.
ΠΠ΅ΡΠ·Π°ΠΉΡΠ΅!
habr.com
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ
ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Β» ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ
ΠΠ΅ΡΠ²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² 60-Ρ Π³ΠΎΠ΄Π°Ρ . ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠΎΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π»Π΅. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΠ΅Π»Π΅ΠΉΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π³Π»Π°Π²Π½ΡΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΠ΅Π»Π΅ΠΉΠ½ΡΡ ΡΡ Π΅ΠΌ ΡΠ²Π»ΡΠ»ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΏΡΠΎΡΠ΅ Π±ΡΠ»ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅Π»Π΅ΠΉΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ. Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΎΡΡΠ°ΡΡΡΡ ΠΌΠ°Π»ΠΎΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π΄ΠΈΠΎΠ»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΠΠ (PLC β Peripheral Interface Controller): ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microchip Technology Inc.
Π‘ΠΠΠΠ ΠΠΠΠΠ ΠΠ£ΠΠΠΠΠΠ¦ΠΠ :
ΠΠ±ΡΠΈΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΠΠ
Π‘ΠΈΡΡΠ΅ΠΌΡ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ) Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². Π―Π·ΡΠΊ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΠΠ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΡΡ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ° ΠΆΠ΅ ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ β Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
- ΠΏΠ°ΠΌΡΡΡ,
- Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΡΡΡ,
- Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΡΡΡ.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΡ ΡΡ Π΅ΠΌΡ, Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ:
- ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ,
- ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½ΡΡ ,
- Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ²,
- ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π°,
- ΡΠ°ΠΉΠΌΠ΅ΡΡ,
- Π°Π½Π°Π»ΠΎΠ³ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ,
- Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠΎΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡ Π΅ΠΌΡ.
ΠΠ°ΠΊΡΠΎΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠ°ΠΏΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ (ΡΡ ΠΎΠΆΠ΅ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ) ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ.

ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΠΊΠ°ΠΊ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Β«CΒ». ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC12 / PIC16
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ PIC ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PIC Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Β«ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡΒ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»Π°Π±Ρ. ΠΡΠΎΡ ΡΠ°ΠΊΡΠΎΡ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅ΡΡ ΡΡΠΈ ΡΠΈΠ³Π½Π°Π»Π°:
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ (ΠΎΠΊΠΎΠ»ΠΎ 13Π).
- Π’Π°ΠΉΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ICSPCLK).
- ΠΠ°Π½Π½ΡΠ΅ (ICSPDAT).
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² PIC Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Β± 12Π, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΠ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Β«Π·Π°ΠΏΠΈΡΠ°ΡΡΒ» PIC Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Π΅ΠΉ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΡΠΏΡΠΎΡΡΠ½Π½Π°Ρ ΡΡ Π΅ΠΌΠ°, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ PIC ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ ΡΡΠ° ΡΡ Π΅ΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.

ΠΠ½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PIC
Π Π°Π·ΡΡΠΌ Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ICSP) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ. ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΠΈΠ΄ΠΈΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, Π³Π΄Π΅ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PIC ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΡΠΌΠ° ICSP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΈΡΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PIC ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π³Π½Π΅Π·Π΄Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΠ·Π³ΠΈΠ±Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π·ΡΡΠ΄ΠΎΠ²). Π’Π°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·ΡΡΠΌΠΎΠΌ ICSP ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.

Π‘Π»Π΅Π΄ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΊΠ°Π±Π΅Π»Ρ ICSP, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡ Π΅ΠΌΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°ΡΡΡΠ°ΡΡ Ρ ΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ β ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π΅Π·ΡΠΊΠΎΡΠΈΠ·Π½Π΅Π½Π½ΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
- Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«0 β 13ΠΒ» ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄;
- ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ°Π·ΠΌΠ°Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ;
- Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π° PGM ΠΎΡΡΠ°ΡΡΡΡ Π½ΠΈΠ·ΠΊΠΈΠΌ Π²ΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ PIC ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΡΠΏΠΎΠ½Π΄ΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ Π² ΡΠ΅ΠΏΡΡ ΡΡ Π΅ΠΌΡ. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΠΏΠΈ ΠΊ Π»ΠΈΠ½ΠΈΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ (ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ) ΡΠ±ΡΠΎΡΠ° (MCLR β Microcontroller Line Reset). ΠΡΠ»ΠΈ ΡΠΈΠ³Π½Π°Π» MCLR ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° PIC, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ 56 ΠΊΠΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ MCLR ΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΏΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΌΠΊΠΎΡΡΠΈ β ΠΌΠ΅Π½Π΅Π΅ 100 ΠΏΠ€ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Π·Π΅ΠΌΠ»Ρ (Π²ΡΠ²ΠΎΠ΄ GND).
Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½Π΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΌΠΊΠΎΡΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ΅Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π΅ΡΡΡΡΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΈΡΠ°Π½ΠΈΡ PIC ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.

ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΡ Π΅ΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΎΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΎΡΠ½Π°ΡΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΌΠΊΠΎΡΡΠΈ. ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ 3,3Π, Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π·Π°ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ, Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ PIC ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4,5Π.
ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΡ Π΅ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΠΎΠ΄ Π¨ΠΎΡΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (PGM) Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ ΠΊ Π·Π΅ΠΌΠ»Π΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ ΠΎΡ 2,2 ΠΊΠΠΌ Π΄ΠΎ 10 ΠΊΠΠΌ.
ΠΡΠ΅Π³Π΄Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π½ΠΎΡΠΈΡΡ Π² Β«ΡΠ»ΠΎΠ²ΠΎΒ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π±ΠΎΠ»Π΅Π΅ 40 ΠΌΡ Π΄Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΡΠ°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎ Π²Ρ ΠΎΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΏΠΎΡΡΠ° ΠΎΡΡΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π²ΠΎΠ΄Π° β ΠΈΠΌΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΈΠΌΠΏΠ΅Π΄Π°Π½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ Β«ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ²Β», ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΌΠΈ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PIC Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½ΠΈΠΆΠ΅ 4,5Π, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΡ Π·Π°ΡΠΈΡΡ. ΠΡΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Β«Chip EraseΒ», Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ PIC Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΡΠ΅ 4,5Π.
Π‘ΠΈΠ³Π½Π°Π»Ρ ICSP ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ PIC 12Fxxx / 16Fxxx
Π§ΠΈΡΠ»ΠΎ Π½ΠΈΠΆΠ΅ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ΅ΠΌΠ° ICSP ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π°Π΄Π°ΠΏΡΠ΅Ρ.

Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌ PIC 12Fxxx / 16Fxxx:

Π€ΠΈΡΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΠΈΠ΄Π½Π°Ρ Π³ΡΡΠΏΠΏΠ° ΡΠΈΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°:
- REAL ICE
- Pickit 1-2-3
- IC PROG
- ICD 2-3
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² β ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ. Π€ΠΈΡΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°ΠΌ ΠΏΡΠΈΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΡΡΠΊΠ°.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: Uolsinectis
zetsila.ru
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ PIC16F876A. Π‘ΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΡΡ Π΅ΠΌΡ Ρ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΠΈΠ³Π°ΡΡΠΈΠΌ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ / Habr
ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π° Π½Π° Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° PIC16 ΠΎΡ Microchip. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ Π²ΡΠ±ΡΠ°Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β PIC16F876A. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² MPLAB IDE.Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ: ΡΠΎΠ±ΡΠ°ΡΡ ΡΡ Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ³Π°ΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ, Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π¨ΠΠ.
Π ΡΠ°ΠΊ, ΡΠ΅Π»Ρ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΡΠΈΡ
ΠΏΠ»Π°Π½ΠΎΠ².
Π§Π°ΡΡΡ 1. ΠΠ΅Π»Π΅Π·ΠΎ.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΡ Π΅ΠΌΡ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
- ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ PIC16F876A
- Π Π°ΡΡΡΠΏΡΡ Π° ΠΊ Π½Π΅ΠΌΡ
- Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄
- ΠΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°
ΠΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ.
Π ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΡΠ°ΡΡΡΠΏΡΡ ΠΈΒ» Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΊΠ°ΠΊ: ΠΏΠ°ΡΠ° ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠ²Π°ΡΡΠ° ΠΈ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π½Π° Π²ΡΡ ΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ CPP (ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ ΠΏΡΠ»ΡΡΠ°ΡΠΈΠΈ).
Π‘ΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΡΡ Π΅ΠΌΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎ ΡΠΈΠΏΠΎΠ²ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π½ΠΈΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΡΡ Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π».
Π’Π°ΠΊ ΠΆΠ΅, Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ-ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ICD2. ΠΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΏΠΎ USB ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows, ΡΠ°ΠΊ ΠΈ Π½Π° GNU/Linux. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π½ΠΎΠΉ MPLAB IDE Π² Windows.
Π‘ΠΊΡΠΈΠ½ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
Π§Π°ΡΡΡ 2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ.
Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π° 1ΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ CPP (Π¨ΠΠ). ΠΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡ CPP1CON. Π§ΡΠΎΠ±Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π½Π°Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π», ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ. ΠΠ»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° Π¨ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ TMR2. ΠΠ° Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡ T2CON. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ:
movlw .0
bcf STATUS, 5movwf T2CON ; ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡ T2CON - 0
bsf T2CON, 0 ; Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΡ T2CKPS0 (ΠΡΠ΅Π΄Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ)
bsf T2CON, 2 ; ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ TMR2 Π±ΠΈΡΠΎΠΌ TMR2ON
bsf T2CON, 3 ; Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΡ TOUTPS0 (ΠΠΎΡΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅)
ΠΠ° ΡΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π¨ΠΠ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π¨ΠΠ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
movlw 00101111b ; ΠΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
movwf CPPCON ; ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ Π¨ΠΠ
bsf CPPCON, 2 ; ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π¨ΠΠ
ΠΡΠ΅, Π½Π° ΡΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ CPP1L ΡΠΈΡΠ»ΠΎ ΠΎΡ 0 Π΄ΠΎ 255, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΠ΅Π½ΡΡ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ².ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°:
STATUS equ 03h
TRISC equ 07h
CPPCON equ 17h
CPP1L equ 15h
T2CON equ 12h
counter equ 23h
tmp equ 25h
org 0
goto start
start
bsf STATUS, 5
movlw .0
movwf TRISC
bcf STATUS, 5
movwf T2CON
bsf T2CON, 0
bsf T2CON, 2
bsf T2CON, 3
movlw 00101111b
movwf CPPCON
bsf CPPCON, 2
movlw .0
movwf CPP1L
movlw .255
movwf tmp
decfsz tmp, 1
goto $+2
goto $+4
call delay10mS
incf CPP1L, 1
goto $-5
movlw .255
movwf tmp
decfsz tmp, 1
goto $+2
goto $+4
call delay10mS
decf CPP1L, 1
goto $-5
goto $-16
delay10mS
movlw .50
movwf counter
loop
call delay200uS
decfsz counter
goto loop
return
delay200uS
movlw .100
addlw -1
btfss STATUS,2
goto $-2
return
end
ΠΡΠ°ΡΠΊΠ°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.equ β ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ.
goto β ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ΅ΡΠΊΡ, Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ
call β ΠΡΠ·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
movlw β ΠΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ W, ΡΠΈΡΠ»ΠΎ
movwf β ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° W ΡΠΈΡΠ»ΠΎ
bsf β Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 1
bcf β Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 0
addlw β ΠΡΠΈΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ W ΡΠΈΡΠ»ΠΎ
btfss β ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π±ΠΈΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π½Π° 1
incf β ΠΠ½ΠΊΡΠΈΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡ (ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ 1)
decf β ΠΠ΅ΠΊΡΠΈΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡ (Π²ΡΡΠ΅ΡΡΡ 1)
decfsz β ΠΡΡΠ΅ΡΡΡ 1 ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° + ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° 0
ΠΠ°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ°ΡΡΠΎΡΡ ΠΊΠ²Π°ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡΠ° Π² 8ΠΌΠ³Ρ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π½Π°ΡΠ°Π»Π΅, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ tmp ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠΊΠΎΡΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°.
ΠΠ°Π»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ°ΠΌΠΎ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°, Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π¨ΠΠ. Π‘Π½Π°ΡΠ°Π»Π°, ΠΈΠ½ΠΊΡΠΈΠΌΠΈΠ½ΠΈΡΡΡ CPP1L Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ tmp ΠΌΡ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ²Π΅ΡΠΈΡΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
Π§Π°ΡΡΡ 3. Π€ΠΈΠ½Π°Π»ΡΠ½Π°Ρ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡ ΠΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π±ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ΅Π· Π½ΠΈΡ , Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
Π ΡΠ°ΠΊ:
1) WDT β Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ. ΠΡΠΎ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΡΠΎΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ.
2) LWP β Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ. ΠΡΠΎ Π½ΠΈΠ·ΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π°Π΅Ρ Π½Π° MCLR 13Π.
3) ΠΡΡΠΈΠ»ΡΡΠΎΡ: Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ 8ΠΌΠ³Ρ. ΠΠ½Π°ΡΠΈΡ ΡΡΠ°Π²ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ XT.
Π§Π°ΡΡΡ 4. ΠΠΎΠ½ΡΡΠ½Π°Ρ.
ΠΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π»/Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π» ΡΡ Π΅ΠΌΡ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π§Π°ΡΡΡ 5. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ microchip β www.microchip.com
Π¦ΠΈΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ β www.wikipedia.org
Π ΡΡΡΠΊΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC β www.microchip.ru/lit/?mid=1Γ0
habr.com
Π Π°Π΄ΠΈΠΎΠΠΎΡ :: ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC
Π Π°Π΄ΠΈΠΎΠΠΎΡ >ΠΠ±ΡΡΠ°Π»ΠΊΠ° >ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈ ΠΠΠΠ‘ >ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ PIC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ >ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC
ΠΠ²ΡΠΎΡ: ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π.
degvv@mail.ru
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° Π½Π°ΡΠ°Π»Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅. ΠΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ Pic ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Microchip,ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ, Π²Π²ΠΈΠ΄Ρ ΠΎΡΠ½ΠΎΡΠΈ- ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡΠΎΠ²ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² (Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ).ΠΠ½ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· datasheet -ΠΎΠ².
ΠΡΠΈΠΌΠ΅ΠΌ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ β FΡΠ°ΠΊΡ. = 4,096 ΠΠΡ (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠ²Π°ΡΡ). Π’ΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΡΠΈΠΊΠ»Π° ΡΠΎΡΡΠ°Π²ΠΈΡ t c = 1 / FΡΠ°ΠΊΡ. * 4 = 0,97656 ΠΌΠΊΡ
INI_TMR ; ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΡ RTCC bsf STATUS,RP0 ; Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π±Π°Π½ΠΊ 1 movlw b"00000100" movwf OPTION ; ΠΏΡΠ΅Π΄Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ RTCC 1 : 32 bcf STATUS,RP0 ; Π±Π°Π½ΠΊ 0 movlw b"10100000" movwf INTCON ; ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΡ RTCC movlw .96 ; Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π² RTCC ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 96 movwf TMR0
ΠΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ:
t i = t c * 32 * (256 β 96 = 160)
t i = 0,97656 * 32 * 160 = 5 000 ΠΌΠΊΡ = 5 ΠΌΡ
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π² ΠΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π²Π΅ΡΡΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΊΠ» ΠΎΠΆΠΈ- Π΄Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ), ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΡΠΎΡ ΡΠΈΠΊΠ», ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ 5 ΠΌΡ.Π ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π΅ΡΠ½ΡΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (ΡΠ°ΡΠ΅ ΡΡΠΎ 04h).ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ β ΡΠΌΠΎΡΡΠΈ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠ°ΠΊ:
; org 0 START ; Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ ; Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ org 04h ; Π° ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ main ; Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ; START ; Π·Π΄Π΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΠΈ- INI_TMR ; ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ², ΡΠ΅ΠΆΠΈΠΌΠΎΠ², ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ Ρ.ΠΏ. INI_PORTS loop goto loop ; Π° ΡΡΠΎ ΠΈ Π΅ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ;-------------------------------------------------- main ; Π΄Π°Π»Π΅Π΅ ΠΈΠ΄ΡΡ ΡΠ΅Π»ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ; Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΡ RTCC, ; Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CALL: ServTMR btfsc INTCON,RTIF ; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ»Π°Π³ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΡ RTCC ΠΈ call SET_TMR ; Π΅ΡΠ»ΠΈ "Π΄Π°",ΡΠΎ ΡΠ½ΠΎΠ²Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ TMR0 return ; Π΅ΡΠ»ΠΈ "Π½Π΅Ρ" - Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° ServTMR Π² ; ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ main ; SET_TMR movlw .96 movwf TMR0 ; ΡΠ½ΠΎΠ²Π° Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΈΡΠ»ΠΎ 96 bcf INTCON,RTIF ; ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ retfie ; Π²ΠΎΠ·Π²ΡΠ°Ρ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π² ServTMR, Π° ; Π·Π°ΡΠ΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ main
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡ RTCC Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²ΡΡ ΠΎΠ΄ΠΎΠ² , ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΠΎΡΡΠ° Π β RB0 : ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ Rsec, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π² Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
FORM_1S ; Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅, Π° ΠΎΠ½ ΠΏΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ RTCC Π΄Π»ΠΈΡΡΡ incf Rsec,w ; 5 ΠΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ Rsec Π½Π° 1 Π΄ΠΎ ΡΠΈΡΠ»Π° 200 xorlw .200 ; (5 ΠΌΡ * 200 = 1 ΡΠ΅ΠΊ) btfsc STATUS,z goto OUT_PORT ; ΠΏΡΠΈ Rsec = 200 ΡΠ»Π°Π³ z = "1" ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ; Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ RB0 ΠΏΠΎΡΡΠ° Π return ; Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ main ; OUT_PORT btfss PORTB,0 ; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° RB0 goto OUT_ON ; Π΅ΡΠ»ΠΈ RB0 ="0", ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π² "1" bcf PORTB,0 ; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π² "0" goto main ; Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ; OUT_ON bsf PORTB,0 ; ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ RB0 = "1" goto main
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ RB0 ΠΏΠΎΡΡΠ° Π ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π° Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎ β0β ΡΠΎ β1β.
Π ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ( Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅). ΠΠΎ ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎ β Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (BCD β ΠΊΠΎΠ΄), ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎ ΡΠ΅ΠΌΠΈΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° b2 Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎ β Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ BCD ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π 8 β bit ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 0 Π΄ΠΎ 255 ( ΠΎΡ bβ00000000β³ Π΄ΠΎ bβ11111111β³ ). ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΡΡΠΈ ΡΠ°Π·ΡΡΠ΄Π° Π΄Π²ΠΎΠΈΡΠ½ΠΎ β Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° - βΡΠΎΡΠ½ΠΈβ, βΠ΄Π΅ΡΡΡΠΊΠΈβ ΠΈ βΠ΅Π΄ΠΈΠ½ΠΈΡΡβ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² :
Rbin β ΡΠ΅Π³ΠΈΡΡΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ b2
Rhan β ΡΠ΅Π³ΠΈΡΡΡ βΡΠΎΡΠ½ΠΈβ ΠΊΠΎΠ΄Π° BCD
Rdec β ΡΠ΅Π³ΠΈΡΡΡ βΠ΄Π΅ΡΡΡΠΊΠΈβ ΠΊΠΎΠ΄Π° BCD
Rsim β ΡΠ΅Π³ΠΈΡΡΡ βΠ΅Π΄ΠΈΠ½ΠΈΡΡβ ΠΊΠΎΠ΄Π° BCD
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΠ΅Π» 100, Π° Π·Π°ΡΠ΅ΠΌ 10 Ρ ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ°Π½ΠΈΠΉ.
CON_100 movlw .100 ; Π²ΡΡΠΈΡΠ°Π΅ΠΌ 100 ΠΈΠ· Rbin c ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ, ΡΡΠΎ subwf Rbin,w ; ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ. Π€Π»Π°Π³ "c" = 1 ΠΏΡΠΈ btfss STATUS,c ; ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ > ΠΈΠ»ΠΈ = 0, ΠΈ "c" = 0 ΠΏΡΠΈΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ BCD - ΠΊΠΎΠ΄Π° Π² b2. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ΅ ΠΆΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ Rhan, Rdec, Rsim Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΡΠ»ΠΎ Π² BCD - ΠΊΠΎΠ΄Π΅, ΡΠ΅Π³ΠΈΡΡΡΡ RbinH - ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ ΠΈ RbinL - ΠΌΠ»Π°Π΄ΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ Π΄Π»Ρ ΡΠΈΡΠ΅Π» ( > 255) Π² ΠΊΠΎΠ΄Π΅ b2 ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ RM1 - "ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅" , RM2- "ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ".ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ BCD Π² b2 Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ "ΡΠΎΡΠ½ΠΈ" Π½Π° 100, "Π΄Π΅ΡΡΡΠΊΠΈ" Π½Π° 10 ΠΈ ΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ "Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ" ΠΈ Ρ ΡΡΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ ΠΏΡΠΈ Π½Π΅ΠΎΠ±- Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.ΠΠ»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
B2X_100 movlw .99 ; ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ "ΡΠΎΡΠ΅Π½" movwf RM2 ; ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ = ΠΊΠΎΠ» - Π²ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (100) ΠΌΠΈΠ½ΡΡ ΠΎΠ΄ΠΈΠ½ movf Rhan,w movwf RM1 ; ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ = "ΡΠΎΡΠ½ΠΈ" loopX100 addwf RM1,w btfsc STASTUS,c ; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π² ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ incf RbinH,f ; Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ decfsz RM2,f ; ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ goto loopX100 movwf RbinL ; ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Π½ΠΎΡΠΈΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡ ΠΌΠ». ΡΠ°Π·ΡΡΠ΄Π° ; B2X_10 movlw .9 ; ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ "Π΄Π΅ΡΡΡΠΊΠΎΠ²" movwf RM2 ; ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ = ΠΊΠΎΠ» - Π²ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (10) ΠΌΠΈΠ½ΡΡ ΠΎΠ΄ΠΈΠ½ movf Rdec,w movwf RM1 ; ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ = "Π΄Π΅ΡΡΡΠΊΠΈ" loopX10 addwf RM1,w ; Π·Π΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, Ρ.ΠΊ. ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ decfsz RM2,f ; Π²ΡΠ΅Π³Π΄Π°ΠΠΎΠ½Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ RbinL ΠΈ RbinH ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ 16 - bit ΡΠΈΡΠ»ΠΎ Π² ΠΊΠΎΠ΄Π΅ b2.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΡΠΌΠΎΡ- ΡΠ΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ RHsum (ΡΡΠ°ΡΡΠΈΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ) ΠΈ RLsum (ΠΌΠ»Π°Π΄ΡΠΈΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ) - Π½Π° Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ( ΠΏΡΠΈΠΌΠ΅ΠΌ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π΅ > 255) Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ Rdel.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅ΠΌ Π·Π°Π½ΠΎΡΠΈΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΡ RHrez ΠΈ RLrez (ΡΡΠ°ΡΡΠΈΠ΅ ΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ ΡΠΎΠΎΡ- Π²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ) :
OP_DEL movf Rdel,w subwf Rlsum,w btfss STATUS,c ; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ? goto DEF_carry ; Π΅ΡΠ»ΠΈ "Π΄Π°", ΡΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π·Π°ΡΠΌ ΠΈΠ· ΡΡ. ΡΠ°Π·ΡΡΠ΄Π° incf RLrez,f ; ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ Π²ΡΡΠΈΡΠ°Π½ΠΈΠΉ Ρ ΡΡΡΡΠΎΠΌ btfsc STATUS,c ; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ incf RHrez,f movwf RLsum ; Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΡΠ°ΡΠΎΠΊ, ΡΡΠΎ Π±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ goto OP_DEL ; ΠΏΡΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ; DEF_carry movlw 0h xorwf RHsum,w ; Π²ΡΡ Π»ΠΈ Π·Π°Π½ΡΠ»ΠΈ ΠΈΠ· ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΡΠ΄Π° Π² ΠΌΠ»Π°Π΄ΡΠΈΠΉ? btfsc STATUS,z ; Π΅ΡΠ»ΠΈ "Π΄Π°", Ρ.Π΅. RHdel = 0 ΠΈ Π² OP_DEL ΠΎΡΡΠΈ- goto OUT_ DEL ; ΡΠ°Ρ. ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ - ΠΊΠΎΠ½Π΅Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π²ΡΡ ΠΎΠ΄ decf RHsum,f ; Π΅ΡΠ»ΠΈ "Π½Π΅Ρ" - Π·Π°ΡΠΌ ΠΈΠ· ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΡΠ΄Π° ΠΈ ΠΏΡΠΎ- incf RLrez,f ; Π΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅ btfsc STATUS,c ; ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² ΡΡ.ΡΠ°Π·ΡΡΠ΄ incf RHrez,f goto OP_DEL
ΠΠ°ΠΊ Π²Π°ΠΌ ΡΡΠ° ΡΡΠ°ΡΡΡ? | ΠΠ°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π»ΠΈ ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ Π²Π°Ρ? |
www.radiokot.ru
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC. Π§Π°ΡΡΡ 2. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ
ΠΡΠ°ΠΊ, Π²Ρ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΠ°ΡΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ MPLAB. Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅? ΠΠ°Π»ΡΡΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ pic-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΡΡΡΠΎΠ΅Π½ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Ρ Π²ΡΠ΅Ρ pic-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΡΠΎΠΆΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ PIC16F628A.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΡΠΏΡΡΠ΅, ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΄ΡΠΎΠΌ (ΠΎΠ½ΠΎ ΡΠΎΠΆΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ: ΠΠΠ£, Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΡΠ΅ΠΊ ΠΈ Ρ.Π΄., Π½ΠΎ Π½Π°ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π²Π°ΠΆΠ½ΠΎ). ΠΠ»Π°Π²Π½ΡΠΌ ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ Π·Π°ΡΠΈΡΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°Π·Π΄Π°Π²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ΄ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΠ£ β Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΎ-Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ PIC ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ W ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π»ΡΠ±ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ . Π’ΠΎ, ΡΡΠΎ ΠΠΠ£ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ β ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ.
ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° β ΡΡΠΎ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠ½ΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ PIC16F628A ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: 2 ΠΏΠΎΡΡΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (ΠΏΠΎ 8 Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ²), ΠΌΠΎΠ΄ΡΠ»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠΎΠ² (2 ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠ°), 3 ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ/Π·Π°Ρ Π²Π°ΡΠ°/Π¨ΠΠ ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ USART.
Π Π°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ), Π½ΠΎ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅ ΡΠ΄ΡΠΎ.
ΠΠ°ΠΌΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ Ρ Π±ΡΠΊΠ²ΠΎΠΉ F β ΡΠ»Π΅ΡΠΎΠ²Π°Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π°. ΠΠ΄Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΠΊΡΠ°ΡΠ΅Π½ 8-ΠΌΠΈ Π±ΠΈΡΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ 14 Π±ΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎΠΌ. ΠΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° 14-ΡΠΈ ΡΠ°Π·ΡΡΠ΄Π½ΡΠ΅, ΡΠΎ Π΅ΡΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ 14-ΡΠΈ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΡΠΈΠ½Π΅.
Π’Π΅, ΠΊΡΠΎ ΠΏΠΈΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, Ρ.ΠΊ. Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ β ΡΡΠΎ 16 Π±ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ. ΠΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PIC16F628A ΡΠ°Π²Π΅Π½ 1 ΠΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ, ΡΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 1024 Π±Π°ΠΉΡΠ° ΠΏΠΎ 8 Π±ΠΈΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 1024-ΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΏΠΎ 14 Π±ΠΈΡ.
ΠΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ , Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π΄Π΅Π»ΠΈΡΡΡ Π½Π° EEPROM ΠΈ ΠΠΠ£.
EEPROM β ΡΡΠΎ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π―ΡΠ΅ΠΉΠΊΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ β 8 Π±ΠΈΡ. Π’ΡΡ Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΠΠ£ β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Ρ ΡΠ°Π½ΠΈΠ²ΡΠ°ΡΡΡ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ. ΠΡΠ° ΠΏΠ°ΠΌΡΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ EEPROM, 8-ΠΌΠΈ Π±ΠΈΡΠ½Π°Ρ. ΠΠ° ΡΡΠΎΠΌ ΡΠΈΠΏΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
ΠΠΠ£ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ 128 Π±Π°ΠΉΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π±Π°Π½ΠΊΠ°ΠΌΠΈ. Π ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°Π½ΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² PIC12 ΠΈΡ 2, Π° Π² PIC16 β 4).
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Π°Π½ΠΊΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ 32-ΠΌ Π°Π΄ΡΠ΅ΡΠ°ΠΌ (Ρ 0000h ΠΏΠΎ 0020h) ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ. ΠΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (SFR β special function register). Π§Π΅ΡΠ΅Π· ΡΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΎΠΉ Π²ΡΠ΅Ρ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΄ΡΠ°, ΡΠ°ΠΊ ΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ).
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£Π²ΠΈΠ΄Π΅Π² ΡΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ², Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠ΄ΡΠΎΠΌ (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΠΠ£ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π»ΡΠ±ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ), ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ²ΠΎΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
Π’ΠΎ Π΅ΡΡΡ, ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²Ρ ΠΎΠ΄ΠΎΠ² ΠΈ Ρ.Π΄.), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ β ΠΏΠΈΡΠ΅Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΡΡ Π² Π½ΡΠΆΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ) β ΡΠ΄ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΠ£.
ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΡΠΎΠ³ΠΎ Π±Π°Π½ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΎΡ ΡΠ΅Π³ΠΈΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ. ΠΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½ΡΠ»Π΅Π²ΠΎΠΌ Π±Π°Π½ΠΊΠ΅, ΡΠΎ ΡΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ Π±Π°Π½ΠΊΠ΅, ΡΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° Π±Π°Π½ΠΊΠ° β Π½ΡΠΆΠ½ΠΎ ΠΎΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΎΡΠ½ΡΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° Π±Π°Π½ΠΊΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈΡΡΡ TRISA ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 85h. ΠΡΠΎΡ Π°Π΄ΡΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π±Π°Π½ΠΊΠ΅ β Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° Π±Π°Π½ΠΊΠ° 80h. Π’ΠΎ Π΅ΡΡΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π°Π½ΠΊ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 85h-80h=05h.
ΠΡΠ±ΠΎΡ Π±Π°Π½ΠΊΠ°, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π½ΡΠΆΠ½ΡΡ Π±ΠΈΡΠΎΠ². Π ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ PIC16F628A ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π±Π°Π½ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ Π±ΠΈΡΠΎΠ² RP1, RP2 Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ STATUS.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΡ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· Π²ΡΠ΅Ρ Π±Π°Π½ΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈΡΡΡ STATUS Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ 03h Π² Π»ΡΠ±ΠΎΠΌ Π±Π°Π½ΠΊΠ΅).
ΠΡΠΎΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΡΡΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ).
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² (Ρ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π±Π°Π½ΠΊΠ°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΄ΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
- Π§Π°ΡΡΡ 1. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ½ΠΎΠ²Ρ MPLAB
- Π§Π°ΡΡΡ 2. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ
- Π§Π°ΡΡΡ 3. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅
- Π§Π°ΡΡΡ 4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
- Π§Π°ΡΡΡ 5. ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ. ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ
- Π§Π°ΡΡΡ 6. ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°Π»ΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ
radiohlam.ru