Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ‚ΠΎ программистов. Π‘ΠΌΠ΅ΡˆΠ½Ρ‹Π΅ Ρ„ΠΎΡ‚ΠΎ developers.

ΠŸΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с программистами, ΠΏΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ для программиста.

Набор ΡΠΌΠ΅ΡˆΠ½Ρ‹Ρ… Ρ„ΠΎΡ‚ΠΎ ΠΊΠΎ дню программиста.

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

UPD. Π”Π΅Π²Ρ‡Ρ‘Π½ΠΊΠΈ Π»ΡŽΠ±ΡΡ‚ php программистов.

  • Она — я Ρ…ΠΎΡ‡Ρƒ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Π³Π»Π°Π²Π½Ρ‹Ρ… слова.
  • Он — я PHP программист.

Β 

Π’ΠΎΡ‚ ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΏΡ€Π°Π²ΠΊΠ° послСднСго малСнького Π±Π°Π³Π° Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅:

Π£ 20-Π»Π΅Ρ‚Π½Π΅Π³ΠΎ программиста ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 30 Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° ΠΈΠ·-Π·Π° ΠΎΠ²Π΅Ρ€Ρ‚Π°ΠΉΠΌΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ всё:

Β 

Π”Π°Ρ‚Π° добавлСния: 5 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 558

jeka.by

ΠŸΡ€ΠΈΠΊΠΎΠ»Ρ‹ ΠΏΡ€ΠΎ программистов, Π°ΠΉΡ‚ΠΈΡˆΠ½ΠΈΠΊΠΎΠ² ΠΈ Π³Π΅ΠΉΠΌΠ΅Ρ€ΠΎΠ² (60 Ρ„ΠΎΡ‚ΠΎ)

БСгодня Π”Π΅Π½ΡŒ РоТдСния поисковой систСмы ЯндСкс (16 Π»Π΅Ρ‚). НС Π±ΡƒΠ΄Ρƒ Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ³ΠΎ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ, ЯндСкс — моя любимая поисковая систСма, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΠ³ΠΎ поисковика я Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π»Π°. Π–Π΅Π»Π°ΡŽ ΠΈΠΌ дальнСйшСго процвСтания ΠΈ роста. Π’ Ρ‡Π΅ΡΡ‚ΡŒ этого нСбольшого события, я собрала ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ„ΠΎΡ‚ΠΎΠΏΡ€ΠΈΠΊΠΎΠ»Ρ‹ ΠΈ ΠΈΠ΄ΠΈΠΎΡ‚ΠΈΠ·ΠΌΡ‹. И ΠΏΡƒΡΡ‚ΡŒ Ρƒ вас найдСтся всС! И, ЯндСкс, ΠΌΠΈΠ»Ρ‹ΠΉ поисковик, отпусти нас ΠΏΠ»ΠΈΠ· ΠΈΠ·-ΠΏΠΎΠ΄ всяких Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ². :)))























































kaifolog.ru

БрСдства программирования PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² / Habr

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅


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

ΠœΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹Π΅ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈ для построСния ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ интСрфСйсов ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Β«ΠΏΡ€ΠΈΠ΅ΠΌ – ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° – ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…Β» ΠΈ нСслоТных рСгуляторов систСм автоматичСского управлСния.

Компания Microchip распространяСт MPLAB β€” Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду рСдактирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, которая записываСт Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ PIC Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρ‹.

ВзаимодСйствиС MPLAB ΠΈ Matlab/Simulink позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² срСдС Simulink β€” графичСского модСлирования ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° динамичСских систСм. Π’ этой Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ срСдства программирования PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²: MPLAB, Matlab/Simulink ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ PIC-KIT3 Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

β€’ Π₯арактСристики ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ³ΠΎ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629
β€’ Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MPLAB IDE
β€’ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Matlab/Simulink ΠΊ MPLAB
β€’ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3

Π₯арактСристики ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ³ΠΎ PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°


БСмСйство Π IΠ‘12Ρ…Ρ…Ρ… содСрТит ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π² ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠΌ 8–выводном корпусС со встроСнным Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ RISC–архитСктуру ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ процСссора Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½ΠΈΠΆΠ΅ Π΄Π°Π½Ρ‹ характСристики Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ 8-разрядного ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629 с ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ, ΠΌΠ°Π»Ρ‹ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ питания [1].

β€’ АрхитСктура: RISC
β€’ НапряТСниС питания VDD: ΠΎΡ‚ 2,0Π’ Π΄ΠΎ 5,5Π’ (< 6,5Π’)
β€’ ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅:
β€” <1,0 мА @ 5,5Π’, 4ΠœΠ“Ρ†
β€” 20 мкА (Ρ‚ΠΈΠΏ) @ 32 ΠΊΠ“Ρ†, 2,0Π’
β€” <1,0 мкА (Ρ‚ΠΈΠΏ) Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SLEEP@2,0Π’
β€’ РассСиваСмая ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ: 0,8Π’Ρ‚
β€’ ΠœΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°: 6/5
β€’ ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΠΊ ΠΏΠΎΡ€Ρ‚ΠΎΠ² GPIO: 125мА
β€’ Π’ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΏΠΎΡ€Ρ‚ΠΎΠ²: β‰₯50 (250) ≀400 мкА @ 5,0Π’
β€’ Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°: 8
β€’ Вактовая частота ΠΎΡ‚ внСшнСго Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°: 20 ΠœΠ“Ρ†
Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ машинного Ρ†ΠΈΠΊΠ»Π°: 200 нс
β€’ Вактовая частота ΠΎΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°: 4 ΠœΠ“Ρ† Β±1%
Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ машинного Ρ†ΠΈΠΊΠ»Π°: 1мкс
β€’ FLASH ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ: 1К
Число Ρ†ΠΈΠΊΠ»ΠΎΠ² стираниС/запись: β‰₯1000
β€’ ΠžΠ—Π£ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…: 64
β€’ EEPROM ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…: 128
Число Ρ†ΠΈΠΊΠ»ΠΎΠ² стираниС/запись: β‰₯10K (-40ΠΎΠ‘ ≀TA≀ +125 ΠΎΠ‘)
β€’ АппаратныС рСгистры ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния: 16
β€’ Бписок ΠΊΠΎΠΌΠ°Π½Π΄: 35 инструкций, всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»,
ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, выполняСмых Π·Π° 2 Ρ†ΠΈΠΊΠ»Π°
β€’ Аппаратный стСк: 8 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ
β€’ Π’Π°ΠΉΠΌΠ΅Ρ€/счСтчик ВМR0: 8-разрядный с ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ
β€’ Π’Π°ΠΉΠΌΠ΅Ρ€/счСтчик ВМR1: 16-разрядный с ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности:
β€’ Бброс ΠΏΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ питания (POR)
β€’ Π’Π°ΠΉΠΌΠ΅Ρ€ сброса (PWRTΡ‚Π°ΠΉΠΌΠ΅Ρ€ оТидания запуска Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° (OST
β€’ Бброс ΠΏΠΎ сниТСнию напряТСния питания (BOD)
β€’ Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ WDT
β€’ ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ -MCLR
β€’ БистСма ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ измСнСнию уровня сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ…
β€’ Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы
β€’ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ Π·Π°Ρ‰ΠΈΡ‚Π° Π²Ρ…ΠΎΠ΄Π°
β€’ Π Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния SLEEP
β€’ Π’Ρ‹Π±ΠΎΡ€ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°
β€’ ВнутрисхСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ICSP с использованиСм Π΄Π²ΡƒΡ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²
β€’ Π§Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ID ячСйки

ΠŸΡ€Π΅Π΄Π΅Π»ΡŒΠ½Π°Ρ рабочая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° для Π• исполнСния (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½) ΠΎΡ‚ -40ΠΎΠ‘ Π΄ΠΎ +125 ΠΎΠ‘;
Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° хранСния ΠΎΡ‚ -65ΠΎΠ‘ Π΄ΠΎ +150 ΠΎΠ‘.

КМОП тСхнология ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° обСспСчиваСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ статичСский Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ остановка Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ логичСских состояний Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ².
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ PIC12F629 ΠΈΠΌΠ΅Π΅Ρ‚ 6-разрядный ΠΏΠΎΡ€Ρ‚ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° GPIO. Один Π²Ρ‹Π²ΠΎΠ΄ GP3 ΠΏΠΎΡ€Ρ‚Π° GPIO Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ…ΠΎΠ΄, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ Π½Π° Π²Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊ ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ GPIO ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ измСнСнию уровня сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… ΠΈ Π±ΠΈΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MPLAB IDE

MPLAB IDE β€” бСсплатная интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² PIC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ срСдства для создания, рСдактирования, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, трансляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, записи машинного ΠΊΠΎΠ΄Π° Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρ‹.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° MPLAB IDE

БСсплатныС вСрсии MPLAB (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ MPLAB 8.92) хранятся Π½Π° сайтС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microchip Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«DOWNLOAD ARCHIVEΒ».

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² срСдС MPLAB Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги [2].

1. Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.


2. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° PIC ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
3. Π’Ρ‹Π±ΠΎΡ€ компилятора, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Microchip MPASM для ассСмблСра.
4. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (клавиша Browse…) ΠΈ Π²Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

5. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π² ΠΎΠΊΠ½Π΅ Project Wizard β†’ Step Four ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Клавиша Next ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.

6. Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (клавиша Finish).

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FirstPrMPLAB интСрфСйс MPLAB ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²ΠΈΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° Рис. 1.


Рис. 1. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ срСды MPLAB v8.92 ΠΈ шаблон ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² MPLAB ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ: мСню β†’ File β†’ New. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ присвоСно имя Untitled.

2. ΠΠ°Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ассСмблСрС.

3. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (мСню β†’ File β†’ Save As), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, FirstPrMPLAB.asm.


Рис. 2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π° ассСмблСрС) Π²Ρ‹Π²ΠΎΠ΄Π° сигналов Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° GP0, GP1, GP2, GP4, GP5 Π½Π° максимальной частотС.

Π—Π°ΠΏΠΈΡΡŒ β€˜1’ Π² разрядС рСгистра TRISIO ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ Π² 3-Π΅ состояниС, Π² этом случаС ΠΏΠΎΡ€Ρ‚ GP ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ…ΠΎΠ΄. Установка нуля Π² TRISIO настраиваСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΡ€Ρ‚Π° GP Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. По спСцификации PIC12F629 ΠΏΠΎΡ€Ρ‚ GP3 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ (ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚ рСгистра TRISIO Π½Π΅ сбрасываСтся – всСгда находится Π² β€˜1’).

РСгистры TRISIO ΠΈ GPIO находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π°Π½ΠΊΠ°Ρ… области памяти. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Π°Π½ΠΊΠΎΠ² выполняСтся 5-ΠΌ Π±ΠΈΡ‚ΠΎΠΌ рСгистра STATUS.

Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ассСмблСрС начинаСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ org ΠΈ заканчиваСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ end. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ goto Metka обСспСчиваСт цикличСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Рис. 2) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° LIST β€” Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° __CONFIG β€” установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΠΈΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° equ β€” присвоСниС числового значСния
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° org 0 β€” Π½Π°Ρ‡Π°Π»ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с адрСса 0
Команда bsf β€” устанавливаСт Π±ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ рСгистра Π² 1
Команда bсf β€” сбрасываСт Π±ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ рСгистра Π² 0
Команда movlw β€” записываСт константу Π² рСгистр W
Команда movwf β€” ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС рСгистра W Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ рСгистр
Команда goto β€” обСспСчиваСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π±Π΅Π· условия Π½Π° строку с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° end β€” ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Установка Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629 зависит ΠΎΡ‚ настроСк слова ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (2007h), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ __CONFIG.

НСпосрСдствСнно ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ MPLAB: мСню β†’ Configure β†’ Configuration Bits:

Π“Π΄Π΅:

Π‘ΠΈΡ‚ 2-0 β€” FOSC2:FOSC0. Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°
111 β€” Π’Π½Π΅ΡˆΠ½ΠΈΠΉ RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ GP5. GP4 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ CLKOUT
110 β€” Π’Π½Π΅ΡˆΠ½ΠΈΠΉ RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ GP5. GP4 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄
101 β€” Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ 4ΠœΠ“Ρ†. GP5 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄. GP4 β€” ΠΊΠ°ΠΊ CLKOUT
100 β€” Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ 4ΠœΠ“Ρ†. GP5 ΠΈ GP4 Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄
011 β€” EC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. GP4 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄. GP5 β€” ΠΊΠ°ΠΊ CLKIN
010 β€” HC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GP4 ΠΈ GP5
001 β€” XT Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GP4 ΠΈ GP5
000 β€” LP Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GP4 ΠΈ GP5

Π‘ΠΈΡ‚ 3 β€” WDTE: настройка стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (Watchdog Timer)
1 β€” WDTE Π²ΠΊΠ»ΡŽΡ‡Π΅Π½
0 β€” WDTE Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½

Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ прСдохраняСт ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΡ‚ зависания – пСрСзапускаСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ссли Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ Π±Ρ‹Π» ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° устанавливаСтся Π² рСгистрС OPTION_REG. ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° вызываСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CLRWDT.

Π‘ΠΈΡ‚ 4 β€” PWRTE: Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания:
1 β€” PWRT Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½
0 β€” PWRT Π²ΠΊΠ»ΡŽΡ‡Π΅Π½

Π’Π°ΠΉΠΌΠ΅Ρ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² состоянии сброса ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ питания VDD.

Π‘ΠΈΡ‚ 5 β€” MCLR: Π’Ρ‹Π±ΠΎΡ€ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° GP3/-MCLR
1 β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ -MCLR
0 β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΡ€Ρ‚ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° GP3

Π‘ΠΈΡ‚ 6 β€” BODEN: Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ сброса ΠΏΠΎ сниТСнию напряТСния питания (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ < 2.0Π’)
1 β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ сброс BOR
0 β€” Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ сброс BOR автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ сброса BOR автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ PWRT

Π‘ΠΈΡ‚ 7 β€” .CP: Π‘ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ чтСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠΌ
1 Π—Π°Ρ‰ΠΈΡ‚Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π°
0 Π—Π°Ρ‰ΠΈΡ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°

ΠŸΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ стираСтся

Π‘ΠΈΡ‚ 8 β€” .CPD: Π‘ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ EPROM памяти Π΄Π°Π½Π½Ρ‹Ρ…
1 Π—Π°Ρ‰ΠΈΡ‚Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π°
0 Π—Π°Ρ‰ΠΈΡ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°

ПослС Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вся информация Π±ΡƒΠ΄Π΅Ρ‚ стСрта

Π‘ΠΈΡ‚ 11-9 β€” НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ: ЧитаСтся ΠΊΠ°ΠΊ β€˜1’.

Π‘ΠΈΡ‚ 13-12 β€” BG1:BG0. Π‘ΠΈΡ‚Ρ‹ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ сброса ΠΏΠΎ сниТСнию питания
00 β€” Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ
11 β€” Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ добавлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° (Рис. 3).


Рис. 3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ FirstPrMPLAB.asm ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ FirstPrMPLAB.mcp

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: мСню β†’ File β†’ Save Workspace.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ


Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ hex для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Запуск компиляции выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ мСню β†’ Project β†’ Build All. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΠΎΠΊΠ½Π΅ Output (Рис. 1). Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅Ρ‚ ошибок, Ρ‚ΠΎ компилятор Π²Ρ‹Π΄Π°Ρ‘Ρ‚ сообщСниС ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ компиляции: BUILD SUCCEEDED, Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ HEX Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅:

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹


ΠžΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² срСдС MPLAB IDE ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ эмулятора MPLAB REAL ICE ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ симулятора MPLAB SIM. Запуск послСднСго выполняСтся ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 4.
Рис. 4. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ симулятору MPLAB SIM для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ПослС запуска ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π² ΠΎΠΊΠ½Π΅ Output (Рис. 1) появляСтся Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° MPLAB SIM, ΠΊΡƒΠ΄Π° MPLAB Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (Рис. 5) послС запуска становятся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ.


Рис. 5. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°:

β€’ Run β€” НСпрСрывноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ останова (Breakpoint) Ссли таковая установлСна.
β€’ Halt β€” ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ шагС выполнСния.
β€’ Animate β€” Анимация Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
β€’ Step Into β€” Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ шагам (Π²Ρ‹Π·ΠΎΠ²Ρ‹ Call Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ шаг).
β€’ Step Over β€” Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ шагам Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Call.
β€’ Reset β€” ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ установка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ указатСля Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.
β€’ Breakpoints β€” ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ списка Ρ‚ΠΎΡ‡Π΅ΠΊ останова. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списка.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ шагам Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ шаг выдСляСтся стрСлкой (Рис. 6). НСпрСрывноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ останавливаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Halt ΠΈΠ»ΠΈ достиТСниСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ останова. Π’ΠΎΡ‡ΠΊΠ° останова устанавливаСтся/снимаСтся Π² строкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблСрС, которая с максимальной ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ мСняСт состояниС ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Рис. 6 (справа). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π² рСгистр ΠΏΠΎΡ€Ρ‚ΠΎΠ² GPIO Π΄Π°Π½Π½Ρ‹Π΅ b’10101010’ ΠΈ b’01010101’. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² рСгистрС GPIO ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π΅ всС разряды, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 0,1,2,4 ΠΈ 5, Ρ‚ΠΎ состояниС рСгистра GPIO (Рис. 6, слСва) отличаСтся значСниями: b’00100010’ ΠΈ b’00010101’.


Рис. 6. БостояниС рСгистров ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (слСва) ΠΈ выполняСмая ΠΏΠΎ шагам ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (справа).

Π’ процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° состояниСм рСгистров, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, памяти Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΠ½Π°Ρ…, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ View основного мСню. Π’ процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, содСрТимоС рСгистров, памяти, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ПослС измСнСния ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ИзмСнСниС содСрТимого рСгистров, памяти ΠΈ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΎΠΊΠ½Π° Ρ€Π°Π·Π΄Π΅Π»Π° View: Special Function Register, File Register, EEPROM, Watch) Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пСрСкомпиляции.

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Debugger β†’ Stimulus. УстанавливаСмыС состояния сигналов ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Ρ‚Π°ΠΊΡ‚Π°ΠΌ) ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Иногда Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ этой ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅, Ρ‚Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Рис. 6) Π±Π΅Π· инструкций movlw 0x07 ΠΈ movwf cmcon ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ GP0 ΠΈ GP1 рСгистра GPIO Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ β€” находятся Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΌ состоянии, содСрТимоС рСгистра GPIO ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π²Π½ΠΎ 0x14 ΠΈ 0Ρ…20. Однако, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… инструкций, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° осциллографС Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСх пяти Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ²: 0x15 ΠΈ 0Ρ…22, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ GP0 ΠΈ GP1 (см. Рис. 7).

ΠžΡΡ†ΠΈΠ»Π»ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Рис. 6 (Metka… goto Metka) ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Рис. 7.


Рис. 7. ΠžΡΡ†ΠΈΠ»Π»ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π° GP0 (слСва) ΠΈ GP1 (справа) ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ 4ΠœΠ“Ρ† RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Рис. 6) Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сигналы максимальной частоты Π½Π° всСх Π²Ρ‹Ρ…ΠΎΠ΄Π°Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π—Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ сигналов 5.3 мкс выполняСтся 5 ΠΊΠΎΠΌΠ°Π½Π΄ (6 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ²), Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Π° GP0 сигнала Π½Π° осциллограммС Ρ€Π°Π²Π½Π° 4.6Π’, ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 4.75Π’.

ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°


Для записи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС MPLAB IDE Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½ΠΈΠΆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3Β».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ PIC12F629 записана заводская калибровочная константа настройки частоты Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ нСобходимости Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ срСдствами MPLAB с использованиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ измСнСния Π΅Π³ΠΎ настроСк находятся Π² мСню MPLAB Programmer. Π’ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Π² MPLAB выбираСтся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅: мСню β†’ Programmer β†’ Select Programmer.


Рис. 8. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ срСдС MPLAB.

ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ запускаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: мСню β†’ Programmer β†’ Program. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 9.


Рис. 9. Запуск ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π²ΠΈΠ΄ сообщСния ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ΠΎ врСмя ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3 ΠΌΠΈΠ³Π°Π΅Ρ‚ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ свСтодиод.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ MATLAB/SIMULINK ΠΊ MPLAB


Π’ систСмС модСлирования динамичСских систСм Simulink (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Matlab) Π½Π° языкС графичСского программирования [7] ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для сСмСйства PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… АЦП/ЦАП, счСтчики, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹, ШИМ, DMA, интСрфСйсы UART, SPI, CAN, I2C ΠΈ Π΄Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Simulink ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Рис. 10.


Рис. 10. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС графичСского программирования для PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π² срСдС модСлирования динамичСских систСм Simulink.

ВзаимодСйствиС срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² Simulink ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 11 [6].


Рис. 11. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° срСдств построСния Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° языкС графичСского программирования.

Для построСния срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Matlab:

β€’ Simulink
β€’ Real-Time Workshop Embedded Coder
β€’ Real-Time Workshop

И CΠΈ компилятор ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microchip:

β€’ C30 для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² PIC24, dsPIC30 ΠΈ PIC33
β€’ ΠΈΠ»ΠΈ C32 для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСрии PIC32

Установка ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Matlab


На сайтС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Simulink Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (dsPIC Toolbox) для PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ вСрсий Matlab c R2006a ΠΏΠΎ R2012a:

Для скачивания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ 100 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈΠ· сСрий PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
БСсплатныС вСрсии Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Simulink модСлями PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π΄ΠΎ 7 ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Для установки dsPIC Toolbox β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ² PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² для Matlab/Simulink Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ [4]:

β€’ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ dsPIC Toolbox для Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ вСрсии Matlab.
β€’ Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ zip Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ установлСны Simulink Π±Π»ΠΎΠΊΠΈ.
β€’ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Matlab.
β€’ ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Matlab Π½Π° ΠΏΠ°ΠΏΠΊΡƒ с распакованным Ρ„Π°ΠΉΠ»ΠΎΠΌ.
β€’ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» install_dsPIC_R2012a.m, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ мСню ΠΈΠ»ΠΈ клавишСй ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ dsPIC ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Simulink ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Matlab (Рис. 12). УстановлСнныС Π±Π»ΠΎΠΊΠΈ для модСлирования PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² доступны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Embedded Target for Microchip dsPIC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Simulink (Рис. 13).


Рис. 12. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° послС выполнСния install_dsPIC_R2012a.m.
Рис. 13. Π‘Π»ΠΎΠΊΠΈ, установлСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Β«Embedded Target for Microchip dsPICΒ».

Для совмСстной компиляции Simulink ΠΌΠΎΠ΄Π΅Π»ΠΈ срСдствами Matlab ΠΈ MPLAB Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния path Matlab с Π²Ρ‹ΡΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ MPLAB с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ MplabOpenModel.m, MplabGetBuildinfo.m ΠΈ getHardwareConfigs.m:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Установка Π‘ΠΈ компилятора MPLAB


ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ MPLAB находятся Π½Π° сайтС Microchip (Download Archive β†’ MPLAB C Compiler for PIC24 and dsPIC DSCs). Для установки дСмонстрационной вСрсии компилятора Π‘30 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ ссылкС PIC24/dsPIC v3.25 (Рис. 14) ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ принятый Ρ„Π°ΠΉΠ» mplabc30-v3.25-comboUpgrade.exe.
Рис. 14. ВСрсии Π‘ΠΈ компилятора (слСва) ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Π΅Π³ΠΎ установки (справа).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π Π°Π±ΠΎΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° с вСрсиСй v3.25 компилятора Π‘30 для PIC24/dsPIC. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π°, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ вСрсия v3.30 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Matlab R2012a (dsPIC Toolbox) Π±Π΅Π· ошибок.

Установочный exe Ρ„Π°ΠΉΠ» создаёт Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ c:\Program Files (x86)\Microchip\ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ mplabc30 с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ:


Рис. 15. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ компилятора C30 MPLAB.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Simulink программирования для PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ скопируйтС Π² Π½Π΅Π³ΠΎ *.mdl ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° example (см. Рис. 12).
2. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Matlab. НастройтС Π΅Π³ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
3. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния path Matlab с Π²Ρ‹ΡΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ MPLAB β€” ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ИспользованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ >>path Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ списка ΠΏΡƒΡ‚Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ path Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ (Command Window). Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ path ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ rmpath, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
>>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\')

4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Simulink модСль для PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±Π»ΠΎΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Β«Embedded Target for Microchip dsPICΒ» (Рис. 13), ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ модСль, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Servo_ADC.mdl.

Π’ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ разрабатываСтся Simulink модСль, выбираСтся ΠΈΠ· списка Π² Π±Π»ΠΎΠΊΠ΅ Master > PIC (Рис. 16, Рис. 10), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² состав ΠΌΠΎΠ΄Π΅Π»ΠΈ.


Рис. 16. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² Π±Π»ΠΎΠΊΠ΅ Master ΠΌΠΎΠ΄Π΅Π»ΠΈ.

5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ: МСню β†’ Simulation β†’ Configuration Parameters <Ctrl+E>. Π’ строкС Π²Π²ΠΎΠ΄Π° System target file Ρ€Π°Π·Π΄Π΅Π»Π° Code Generation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ компилятор S-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ dspic.tlc (Рис. 17). Π’Ρ‹Π±ΠΎΡ€ dspic.tlc настраиваСт всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ шаг ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ интСгрирования.


Рис. 17. Π’Ρ‹Π±ΠΎΡ€ компилятора S-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ dspic.tlc для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «основноС мСню β†’ Simulation β†’ Configuration Parameters β†’ Code GenerationΒ».

6. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ модСль tmp_Servo_ADC.mdl. Запуск компилятора ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Рис. 18.


Рис. 18. Запуск компилятора Simulink ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ компиляции (сообщСниС: ### Successful completion of build procedure for model: Servo_ADC) Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ HEX Ρ„Π°ΠΉΠ» для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ MCP ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ срСды MPLAB (Рис. 19).


Рис. 19. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Запуск ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Matlab/Simulink выполняСтся Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, условноС врСмя модСлирования устанавливаСтся Π² строкС:


Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ компиляциСй Simulink ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ· срСды MPLAB

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ компиляциСй Simulink ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° Matlab/Simulink срСды MPLAB, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС.

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ модСль PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² Matlab/Simulink. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ модСль.
2. ЗапуститС MPLAB.
3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ MPLAB мСню β†’ Tools β†’ Matlab/Simulink ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» появится Π² составС мСню.


4. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Matlab/Simulink ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Simulink модСль, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Servo_ADC, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«Matlab/Simulink β†’ Specify Simulink Model Name β†’ Open β†’ File name β†’ Servo_ADC.mdl β†’ OpenΒ». Команда Open запускаСт Matlab ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ модСль.

5. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ модСль ΠΈ создайтС MCP ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Generate Codes ΠΈΠ»ΠΈ Generate Codes and Import Files. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ MDL ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² MCP ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выполняСтся TLC компилятором Matlab.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ создаётся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ MPLAB:

со скриптами ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° языкС Π‘ΠΈ.

6. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: мСню β†’ Project β†’ Open β†’ Servo_ADC.mcp (Рис. 20).


Рис. 20. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° MCP ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Simulink ΠΌΠΎΠ΄Π΅Π»ΠΈ Servo_ADC.mdl Π² срСдС MPLAB.
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Simulink ΠΌΠΎΠ΄Π΅Π»ΠΈ Π³ΠΎΡ‚ΠΎΠ² для рСдактирования, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ компиляции Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° срСдствами MPLAB.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3


Π£Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ мСню β†’ Configure β†’ Select Device срСды MPLAB 8.92. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ PIC-KIT3 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ PIC12C508A (Рис. 21, Π»Π΅Π²Ρ‹ΠΉ рисунок), Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ PIC12F629 (Рис. 21, ΠΏΡ€Π°Π²Ρ‹ΠΉ рисунок).
Рис. 21. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠ² для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± установлСнном Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° устройств ОБ Windows (Рис. 22).


Рис. 22. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± установлСнном Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629 ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ PIC-KIT3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Рис. 23.


Рис. 23. Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° PIC12F629 ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ PIC-KIT3.

Π’Ρ‹Π²ΠΎΠ΄ PGM ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² PIC12F629 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НаличиС Π²Ρ‹Π²ΠΎΠ΄Π° PGM для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 24. Π’Ρ‹Π²ΠΎΠ΄ PGM рСкомСндуСтся Β«ΠΏΡ€ΠΈΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΒ» ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Ρƒ (GND), Ρ‡Π΅Ρ€Π΅Π· рСзистор, Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 1К [3].


Рис. 24. Π’Ρ‹Π²ΠΎΠ΄Ρ‹ PGM PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

Π˜Π½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ свСтодиодов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Olimex PIC-KIT3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² Π½ΠΈΠΆΠ΅:

Π–Π΅Π»Ρ‚Ρ‹ΠΉ β€” ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ β€” БостояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°
Π’ΠΊΠ» β€” Π’Ρ‹ΠΊΠ» β€” ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ USB Π»ΠΈΠ½ΠΈΠΈ
Π’ΠΊΠ» β€” Π’ΠΊΠ» β€” ВзаимодСйствиС с MPLAB
ΠœΠΈΠ³Π°Π΅Ρ‚ β€” Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ постоянно β€” ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

НС слСдуСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° VDD (Рис. 23) ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ, Ссли ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ запитываСтся ΠΎΡ‚ своСго источника питания.

ΠŸΡ€ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Π½Π° Π»ΠΈΠ½ΠΈΠΈ VDD Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ напряТСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ MPLAB (Menu β†’ Programmer β†’ Settings β†’ Power), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 25.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ отсутствии напряТСния Π½Π° Π»ΠΈΠ½ΠΈΠΈ VDD MPLAB IDE Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС: PK3Err0045: You must connect to a target device to use


Рис. 25. Установка напряТСния VDD Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π΅ PIC-KIT3 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ MPLAB IDE v8.92.

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ напряТСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5Π’ ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ ΠΎΡ‚ USB, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ напряТСниС мСньшС 5Π’, MPLAB IDE Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС: PK3Err0035: Failed to get Device ID. Π’ этом случаС, сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ напряТСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° β€” ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ мСню β†’ Programmer β†’ Settings β†’ Status, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ напряТСниС (Π½Π΅ большС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ) Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ мСню β†’ Programmer β†’ Settings β†’ Power.


Рис. 26. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (слСва) ΠΈ установка (справа) VDD напряТСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° PIC-KIT3 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ MPLAB IDE v8.92.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ MPLAB сообщСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ мСню β†’ Programmer β†’ Reconnect ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Рис. 27.


Рис. 27. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ MPLAB ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ.

МоТно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½ΠΎ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, находящийся Π² составС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ устройства. Для программирования PIC ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² составС устройства Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ установку ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ ΠΈ Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Рис. 28 [3].


Рис. 28. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² составС элСктронного устройства ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ.

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


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

habr.com

ΠŸΡ€ΠΈΠΊΠΎΠ»Ρ‹ ΠΊΠΎ дню программиста (50 Ρ„ΠΎΡ‚ΠΎ)

Π’Ρ‡Π΅Ρ€Π° Π±Ρ‹Π» дСнь программиста, Π° Ρƒ мСня Π±Ρ‹Π»ΠΎ обострСниС ΠžΠ Π’Π˜, поэтому я этих рСбят ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ сСгодня. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΊΠΎΠ»Ρ‹ ΠΈ ΠΌΠ°Ρ€Π°Π·ΠΌΡ‹, ΠΈ ΠΏΡƒΡΡ‚ΡŒ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ вирус Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π²ΠΎΠΆΠΈΡ‚ Π½ΠΈ вас, Π½ΠΈ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.















































kaifolog.ru