Site Loader

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

Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ Π½Π° ATtiny2313, пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Моим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ устройством Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π±Ρ‹Π»Π° схСма Π±Π΅Π³ΡƒΡ‰ΠΈΡ… ΠΎΠ³Π½Π΅ΠΉ. Π›ΠΈΠ½Π΅ΠΉΠΊΠ° ΠΈΠ· 15-Ρ‚ΠΈ свСтодиодов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π³ΠΎΡ€Π°ΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма Ρ‚Π°ΠΊΠΎΠ³ΠΎ устройства ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ проста. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚ΠΎΠΉ здСсь появились Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 15 свСтодиодов, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π½ΠΎΠ΄ ΠΎΠ±Ρ‰ΠΈΠΉ, Π° ΠΊΠ°Ρ‚ΠΎΠ΄Ρ‹ подсоСдинСны ΠΊ ΠΏΠΎΡ€Ρ‚Π°ΠΌ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСзисторов R3-R17 ΠΏΠΎ 360 Ом.

Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ больший Ρ‚ΠΎΠΊ, ΠΎΠΊΠΎΠ»ΠΎ 20мА, Ρ‡Π΅ΠΌ для высокого, Π½ΠΎ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ суммарный Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚).

Π›ΠΈΠ½Π΅ΠΉΠΊΠ° свСтодиодов Ρƒ мСня ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° SMD ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…, Π½ΠΎ это Π΄Π΅Π»ΠΎ вкуса.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π£ ATtiny2313 Π΅ΡΡ‚ΡŒ 15 Π»ΠΈΠ½ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сгруппированы Π² 2 ΠΏΠΎΡ€Ρ‚Π°: PortB – 8 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈ PortD – 7 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ². Вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° состоит ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ шСвСлСния Π½ΠΎΠΆΠΊΠ°ΠΌΠΈ, Π° искусство программирования – Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ Π½ΠΎΠΆΠΊΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Π±Ρ‹Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄ΠΎΠΌ встроСнного АЦП, внСшнСго прСрывания, Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ USART’а ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ ΠΈΡ… использованиС рассмотрим Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΠΎΠ·ΠΆΠ΅. Для использования ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ спСрва ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ рСгистры PORTX ΠΈ DDRX, Π³Π΄Π΅ X – имя ΠΏΠΎΡ€Ρ‚Π°. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний (n=0..7 – Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΏΠΎΡ€Ρ‚Ρƒ):

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ DDRXn =1 ΠΏΠΎΡ€Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄, ΠΈ логичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° Π΅Π³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π²Π΅Π½ Π±ΠΈΡ‚Ρƒ PORTXn. ΠŸΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ DDRXn =0 Π²Ρ‹Π²ΠΎΠ΄ PXn Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄, Π° Π±ΠΈΡ‚ PORTXn опрСдСляСт, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ ΠΊ Π²Ρ…ΠΎΠ΄Ρƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ЛогичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ PXn ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Π±ΠΈΡ‚Π° PINXn. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π·Π°ΠΆΠΈΠ³Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· 15 свСтодиодов, спСрва напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π‘, Π° ΠΏΠΎΡ‚ΠΎΠΌ для разнообразия Π½Π° ассСмблСрС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ выглядит Ρ‚Π°ΠΊ:

  1. #include <avr/io.h>

  2. Β 

  3. #define SPEED 3000 //Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±Π΅Π³ΡƒΡ‰ΠΈΡ… ΠΎΠ³Π½Π΅ΠΉ

  4. Β 

  5. void pause (unsigned int a) //Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ°

  6. { unsigned int i;

  7. for (i=a;i>0;i--);

  8. }

  9. Β 

  10. int main(void)

  11. {

  12. unsigned char i;

  13. Β 

  14. DDRB=0xff; //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°

  15. DDRD=0x7f;

  16. PORTB=0xff;

  17. PORTD=0x7f;

  18. Β 

  19. while (1) //Π’Π΅Ρ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»

  20. {

  21. for (i=0;i<8;i++) //По ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиоды Π½Π° PORTB

  22. {

  23. PORTB=~_BV(i);

  24. pause(SPEED);

  25. }

  26. PORTB=0xff;

  27. Β 

  28. for (i=0;i<7;i++) //По ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиоды Π½Π° PORTD

  29. {

  30. PORTD=~_BV(i);

  31. pause(SPEED);

  32. }

  33. PORTD=0x7f;

  34. }

  35. }

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ пояснСний. Π”ΡƒΠΌΠ°ΡŽ, для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ писал Π½Π° Π‘ для ПК особых Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚. Π‘Ρ‚Ρ€ΠΎΠΊΠ° #include ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ внСшний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ avr/io.h, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘Ρ‚Ρ€ΠΎΠΊΠ° #define SPEED 3000 ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±Π΅Π³ΡƒΡ‰Π΅ΠΉ строки, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² тСкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ всС вхоТдСния слова SPEED Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° число 3000 (Π½Π΅ΠΊΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ задания констант Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅). Ѐункция pause (unsigned int a) опрСдСляСт Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ (8*a)/f, Π³Π΄Π΅ a – Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f – частота тактирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’ Π²Π΅Ρ‡Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ while происходит ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ свСтодиодов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ осущСствляСтся Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ, Ρ‚ΠΎ стоит символ НЕВ — Β«~Β»). Ѐункция unsigned char _BV(b) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ b устрановлСн Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π²Π½Ρ‹ 0. НапримСр, _BV(2)==0x04.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ассСмблСрС:
  1. ;********************Define chapter******************************************

  2. .def temp =r16

  3. .def temp2 =r17

  4. Β 

  5. .def coarse =r21

  6. .def medium =r22

  7. .def fine =r23

  8. ;**********************Const chapter*****************************************

  9. .equ c_del =1

  10. .equ m_del =100

  11. .equ f_del =255

  12. Β 

  13. .include "2313def.inc"

  14. ;*********************************Code segment*******************************

  15. .cseg

  16. .org 0

  17. rjmp reset

  18. Β 

  19. reset:

  20. ldi Temp,RamEnd ;Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ стСка

  21. out SPL,Temp

  22. Β 

  23. ldi temp,0xff ;Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°

  24. out DDRB, temp

  25. out PORTB, temp

  26. ldi temp,0x7f

  27. out DDRD, temp

  28. out PORTD, temp

  29. main:

  30. ldi temp,0xfe

  31. ldi temp2,0x08

  32. for1: ;По ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиоды Π½Π° PORTB

  33. Β 

  34. out PORTB,temp

  35. sec

  36. rol temp

  37. rcall delay

  38. Β 

  39. dec temp2

  40. cpi temp2, 0x00

  41. brne for1

  42. Β 

  43. ldi temp,0xff

  44. out PORTB, temp

  45. Β 

  46. ldi temp,0x7e

  47. ldi temp2,0x07

  48. for2: ;По ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиоды Π½Π° PORTD

  49. Β 

  50. out PORTD,temp

  51. sec

  52. rol temp

  53. rcall delay

  54. Β 

  55. dec temp2

  56. cpi temp2, 0x00

  57. brne for2

  58. Β 

  59. ldi temp,0x7f

  60. out PORTD, temp

  61. Β 

  62. rjmp main

  63. ;*********************Delay**************************************************

  64. delay:

  65. Β 

  66. ldi coarse, c_del

  67. cagain: ldi medium, m_del

  68. magain: ldi fine, f_del

  69. fagain: dec fine

  70. brne fagain

  71. dec medium

  72. brne magain

  73. dec coarse

  74. brne cagain

  75. ret

/io.h>

БСкция Define chapter сопоставляСт ΠΈΠΌΠ΅Π½Π° рСгистров с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ сСкции Const chapter Π·Π°Π΄Π°ΡŽΡ‚ΡΡ константы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±Π΅Π³ΡƒΡ‰ΠΈΡ… ΠΎΠ³Π½Π΅ΠΉ. Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ сСгмСнт ΠΊΠΎΠ΄Π° Code segment Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ собствСнно ΠΈ содСрТится ΠΊΠΎΠ΄ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ спСрва ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ стСк, ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π°, послС Ρ‡Π΅Π³ΠΎ Π² Π²Π΅Ρ‡Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ свСтодиоды ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π‘. Код Π½Π° Π‘ Π±ΠΎΠ»Π΅Π΅ прост для понимания ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½, Π½ΠΎ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ассСмблСр обгоняСт Π‘ (оптимизация Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°): 84 ΠΏΡ€ΠΎΡ‚ΠΈΠ² 312 Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄Π° Ρƒ Π‘. Если ΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ для Π‘, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 184 Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄Π°, Π½ΠΎ придСтся совсСм ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π˜Ρ‚ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ, ассСмблСр Π±ΠΎΠ»Π΅Π΅ слоТСн, Π½ΠΎ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ ΠΈ быстр, Π° Π‘ Π±ΠΎΠ»Π΅Π΅ прост, Π½ΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΉΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС. Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ Π²ΠΈΠ΄Π΅ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ устройства:

Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ просто Π±Π΅Π³ΡƒΡ‰ΠΈΠΌ огоньком, Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для AVR Studio

AVR-CDC: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Low-Speed USB (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° V-USB) | avr-working-with-usb

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ описываСтся 2 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, основанныС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ V-USBCDC-232 ΠΈ CDC-IO. Автор — Osamu Tamura @ Recursion Co., Ltd.

Оба ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ схСму Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ AVR (ATtiny45/85, ATtiny461, ATtiny2313, ATmega8/48/88), которая ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ USB ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Π΄Π°Π»Π΅Π΅ просто PC) создаСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ

COM-ΠΏΠΎΡ€Ρ‚. Π’ ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ бСсплатная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° V-USB, которая позволяСт срСдствами firmware, ΠΏΡ€ΠΎΡˆΠΈΡ‚ΠΎΠ³ΠΎ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AVR, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ интСрфСйса USB. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (CDC-232) создаСт Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ устройством, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Π½ΠΈΠ·ΠΊΠΎΠ²ΠΎΠ»ΡŒΡ‚Π½Ρ‹ΠΉ RS-232C (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ AT89C51 Atmel). Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (CDC-IO) Ρ‚ΠΎΠΆΠ΅ создаСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚, Π½ΠΎ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для управлСния рСсурсами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (рСгистрами Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ назначСния). Π’ΠΎ Π΅ΡΡ‚ΡŒ посылкой простых тСкстовых ΠΊΠΎΠΌΠ°Π½Π΄ Π² консольной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС Π½ΠΎΠΆΠ΅ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… состояниС, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ — счСтчиками, PWM, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ADC ΠΈ Ρ‚. Π΄.Β 

[CDC-232]Β 

CDC-232 создаСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ Π½Π° PC, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° RS-232C. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ RS-232C (Π±Π΅Π· сигналов управлСния) послС подсоСдинСния устройства ΠΈ установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°.


Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ USB

[ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β CDC-232]

Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ AVR, спаяйтС схСму ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ устройство Π² ΠΏΠΎΡ€Ρ‚ USB ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. УстановитС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ (Ссли Ρƒ Вас опСрационная систСма Windows). ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ устройству Ρ‡Π΅Ρ€Π΅Π· сгСнСрированный Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π’Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с COM-ΠΏΠΎΡ€Ρ‚ΠΎΠΌ). Π‘ΠΈΠ³Π½Π°Π»Ρ‹ управлСния (DTR, DTS, RTS, CTS) Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, поэтому настройтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² Ρ€Π΅ΠΆΠΈΠΌ «no flow-control» (Π±Π΅Π· контроля ΠΏΠΎΡ‚ΠΎΠΊΠ°).

Windows запросит установку Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π°Π½ΠΎΠ²ΠΎ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ устройство Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€Ρ‚ USB. Π Π°Π½Π΅Π΅ установлСнный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ дСтСктируСтся автоматичСски. Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ COM-ΠΏΠΎΡ€Ρ‚Π°. Если Π’Ρ‹ установитС сСрийный Π½ΠΎΠΌΠ΅Ρ€ Π² AVR (пСрСсобСритС исходный ΠΊΠΎΠ΄ с Π½ΠΎΠ²Ρ‹ΠΌ usbconfig.h), Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый Π½ΠΎΠΌΠ΅Ρ€ COM-ΠΏΠΎΡ€Ρ‚Π° Π½Π° любом ΠΏΠΎΡ€Ρ‚Π΅ USB. Но Π² этом случаС Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сразу нСсколько устройств CDC с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ сСрийным Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ устройство, Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ COM-ΠΏΠΎΡ€Ρ‚ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ Π² Π’Π°ΡˆΠ΅ΠΌ самописном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π’Ρ‹ Π½Π΅ смоТСтС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ устройство снова ΠΈΠ·-Π·Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ дСскриптора Ρ„Π°ΠΉΠ»Π° (broken file handle). Π’ этом случаС пСрСзапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌ быстрой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ использованиСм «lowcdc.vbs», ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ 9600 bps.


Loop-back тСст Π½Π° вСрсии ATtiny45

[ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы CDC-232]

Π­Ρ‚ΠΈ схСмы рассчитаны Π½Π° ATtiny45/85, ATtiny2313/AT90S2313 ΠΈ ATmega8/48/88/168. Π£ всСх этих ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² firmware программируСтся Ρ‡Π΅Ρ€Π΅Π· ISP. ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ LED ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ напряТСниС USB ΠΎΡ‚ 5V Π΄ΠΎ 3.3V, ΠΈ прСдоставляСт Π΅Π³ΠΎ для AVR. Π’ΠΎΠΊ потрСблСния ΠΎΠΊΠΎΠ»ΠΎ 10mA, ΠΈ Π΅Π³ΠΎ ΠΌΠ°Π»ΠΎ для питания Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠ·Π»ΠΎΠ². Когда ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ MCU (ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ), соСдинитС Gnd ΠΈ соСдинитС TxD ΠΈ RxD крСст-накрСст. R4 ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° внСшний MCU питаСтся ΠΎΡ‚ Vcc 5V (Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ R4 Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ссли напряТСниС питания внСшнСго MCU Ρ€Π°Π²Π½ΠΎ 3.3V). R5 Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π½ΠΎΠΆΠΊΡƒ TxD, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Π° Π½Π° Gnd. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ R4 ΠΈ R5, Ссли Π’Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ΡΡŒ Ρ‡Π΅Ρ€Π΅Π· RS-232C Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ MAX232. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ кСрамичСский Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ примСнСния ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡ…ΠΎΠ΄ частоты слишком большой, ΠΈ поэтому устройство ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ.

ATtiny45/85 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ RC-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ PLL. Он ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½ Π½Π° частоту 16.5 ΠœΠ“Ρ† ΠΏΠΎ частотС сигнала SOF (Start Of Frame) ΠΏΠΎΡ€Ρ‚Π° USB, ΠΊΠΎΠ³Π΄Π° устройство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ PC. UART Π² этом случаС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Если TxD ΠΈ RxD ΠΏΡ€ΠΎΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ (пСрСсобСритС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ -DINVERT), Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сигналам RS-232C. Π€ΠΎΡ€ΠΌΠ°Ρ‚ настройки ΠΏΠΎΡ€Ρ‚Π° 300-4800bps, 8N1.


CDC-232 для ATtiny45-20

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ATtiny45 с использованиСм ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€Π° mini-B

Π£ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ATtiny2313/AT90S2313 всСго лишь 2 KB памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ установки Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΎΠΏΡƒΡ‰Π΅Π½ (Ρ‚. Π΅. Π°Π²Ρ‚ΠΎΠ΄Π΅Ρ‚Π΅ΠΊΡ‚Π° скорости Π½Π΅Ρ‚). УстановитС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ DIP для смСны скорости.

CDC-232 для ATtiny2313-20

Π£ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATmega8/48/88’s Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ UART конфигурируСтся ΠΎΡ‚ PC автоматичСски. Π€ΠΎΡ€ΠΌΠ°Ρ‚ настройки 1200-57600bps, Π΄Π°Π½Π½Ρ‹Π΅ 7/8, Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ N/E/O, количСство стоп-Π±ΠΈΡ‚ 1/2

CDC-232 для ATmega8/48/88-20

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ физичСским линиям RS-232C Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ инвСрсии полярности TxD ΠΈ RxD, Π° Ρ‚Π°ΠΊΠΆΠ΅ соотвСтствиС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ сигнала. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ IC Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ MAX232. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Ρ‘ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ простыми схСмами (см. Π΄Π°Π»Π΅Π΅).

Когда Ρ†Π΅Π»Π΅Π²ΠΎΠΉ MCU ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Vcc (ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 3.3V), ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠΈ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ. Π­Ρ‚ΠΎ искаТаСт сигнал, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ MCU Π±Π΅Π· источника питания. Π­Ρ‚Π° схСма Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°, Π½ΠΎ достаточна для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв.

[CDC-IO]Β 

CDC-IO управляСт рСгистрами ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния (Special Function Registers, SFR) ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ Π½Π° PC. Π­Ρ‚ΠΎ позволяСт свободно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ/Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ MCU (Π½ΠΎΠΆΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°). Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ/счСтчиками, PWM, ADC, EEPROM, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° PC Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ управлСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π½Π° Π½Π΅ΠΌ устройством.


Π’Π½Π΅ΡˆΠ½ΠΈΠΉ интСрфСйс с использованиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° USB

[ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β CDC-IO]

Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ CDC-232. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ COM-ΠΏΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° тСкстовых ΠΊΠΎΠΌΠ°Π½Π΄ происходит Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ ΠΈΠ· вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° PC. Если Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «lowcdc.vbs» для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² bulk transfer mode.

Набор ΠΊΠΎΠΌΠ°Π½Π΄ CDC-IO (Instruction Set)

Ѐункция Команда Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠžΡ‚Π²Π΅Ρ‚
Who @ @ «cdc-io», CR-LF
Get ? address ? data, CR-LF
Set = data address = CR-LF
AND & Set & data address & CR-LF
OR & Set | data address | CR-LF
EX-OR & Set ^ data address ^ CR-LF
Set Double $ data2 data1 address $ CR-LF

ВСрсия с ATtiny2313 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «Set», «Get», «Xor».

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния:

address: адрСс рСгистра SFR, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ (memory mapped) Π² hex-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅
data: 8 Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² hex
Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ:Β Β Β  Tab, Space, CR, LF
predefined addr (ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символичСскиС адрСса, case-insensitive, НЕ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ATtiny2313): PINB, DDRB, PORTB PINC, DDRC, PORTC PIND, DDRD, PORTD

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (‘_’ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ):

Β Β Β Β Β Β Β Β Β Β Β  DDRB_?_Β  Β  Β Β Β Β Β Β Β Β Β Β Β Β Β  Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DDRB вмСстС с CR-LF.
Β Β Β Β Β Β Β Β Β Β Β  12_34_=_Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  Π—Π°ΠΏΠΈΡΡŒ 0x12 ΠΏΠΎ адрСсу 0x34, Π² ΠΎΡ‚Π²Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ CR-LF.
Β Β Β Β Β Β Β Β Β Β Β  FB_PORTC_&_Β Β Β Β  Π—Π°ΠΏΠΈΡΡŒ (PORTC & 0xFB) Π² PORTC, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ CR-LF.

(ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ATtiny2313)
Β Β Β Β Β Β Β Β Β Β Β  36_?_Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ PINB(0x36) вмСстС с CR-LF.
Β Β Β Β Β Β Β Β Β Β Β  12_37_=_Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  Π—Π°ΠΏΠΈΡΡŒ 0x12 ΠΏΠΎ адрСсу DDRB(0x37), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ CR-LF.’ для модифицирования направлСния ΠΏΠΎΡ€Ρ‚Π° (Π²Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ PIN* для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΡ‚ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ состояниС (toggle), Ссли ΠΏΠΎΡ€Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ (output).

Когда Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ прСрывания, сообщаСтся Π½ΠΎΠΌΠ΅Ρ€ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ вызываСтся.

ВсС рСгистры SFR доступны. Π‘ΠΌ. Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ AVR для использования Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ², ADC, EEPROM, ΠΈ Ρ‚. ΠΏ.

[ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы CDC-IO]

Если напряТСниС питания Vcc Ρ†Π΅Π»Π΅Π²ΠΎΠΉ схСмы Ρ€Π°Π²Π½ΠΎ 5V, ΠΈ ΠΏΠΎΡ€Ρ‚Ρ‹ AVR сконфигурированы ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Ρ‹, ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ рСзисторы (3K3…10KΠΎΠΌ) для прСдотвращСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ кСрамичСский Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ примСнСния ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡ…ΠΎΠ΄ частоты слишком большой, ΠΈ поэтому устройство ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ.

ATtiny45/85 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ RC-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ PLL. Он ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½ Π½Π° частоту 16.5 ΠœΠ“Ρ† ΠΏΠΎ частотС сигнала SOF (Start Of Frame) ΠΏΠΎΡ€Ρ‚Π° USB, ΠΊΠΎΠ³Π΄Π° устройство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ PC.


CDC-IO для ATtiny45-20

CDC-IO для ATtiny461-20

Для ATtiny2313 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «Set», «Get» ΠΈ «Xor» ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ этого ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π­Ρ‚Π° вСрсия Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° interrupt-report.


CDC-IO для ATtiny2313-20

CDC-IO для ATmega8/48/88-20

[ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹]

Π­Ρ‚ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ схСма ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ATmega8/48. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° C, VB, VC, VC++ ΠΈ C#. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки (ΠΈΠ»ΠΈ макросы), Ссли ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΡ€Ρ‚ΠΎΠΌ RS-232C.


На Ρ„ΠΎΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ внСшний Π²ΠΈΠ΄ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ схСмы


РСгулятор измСняСт Ρ‚ΠΎΠ½ ΠΏΠΈΡ‰Π°Π»ΠΊΠΈ ΠΈ маску мигания свСтодиодов.

[ΠŸΡ€ΠΈΠΌΠ΅Ρ€ управлСния Π±Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹]

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с COM-ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ Windows Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ устройству, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ создаСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ COM3 (Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ comands.txt записана ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄):

c:\temp>copy comands.txt COM3
Β Β Β Β Β Β Β  1 file(s) copied.

Π§Ρ‚ΠΎ интСрСсно — ΠΏΠΎΠ΄ Windows XP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½Π° COM1..COM9. ИмСна COM10, COM11, COM12, COM13 ΠΈ Π΄Π°Π»Π΅Π΅ Windows Π½Π΅ воспринимаСт ΠΊΠ°ΠΊ систСмныС, ΠΈ Π΄ΡƒΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΏΠΎΡ€Ρ‚, Π° Ρ„Π°ΠΉΠ» (Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡ€Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ имССтся Π² ДиспСтчСрС Устройств).

[Бсылки]

1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ firmware, описанныС Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅, докумСнтация, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для w2k, XP, Vista.
2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ CDC-232, ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° AVR-USB-MEGA16 (ATmega16 с ΠΊΠ²Π°Ρ€Ρ†Π΅ΠΌ Π½Π° 16 ΠœΠ“Ρ†).
3. AVR-CDC — Virtual COM Port over Low-Speed USB site:recursion.jp — сайт AVR-CDC Osamu Tamura @ Recursion Co.
4. USB консоль для управлСния Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°ΠΌΠΈ.

SPI для ATtiny2313 | Π›ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ конструкции Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…

Π’ΠΎ всСх ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСмСйства Mega имССтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ SPI. Он ΠΎΡ‡Π΅Π½ΡŒ прост Π² своём использовании. ПослС настройки ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² рСгистр SPDR ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… β€” это запустит Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала SPI,Β  Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Master ΠΊ Slave ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ПослС установки Ρ„Π»Π°Π³Π° окончания ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² SPDR Β Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ принятый Π±Π°ΠΉΡ‚. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ всё  просто. Π”Π° ΠΈ ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию SPI самый Π»Ρ‘Π³ΠΊΠΈΠΉ Π² освоСнии ΠΈ использовании интСрфСйс, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ достаточно скоростной. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСмСйства Tiny Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ SPI Π½Π΅Ρ‚ β€” Ρ‚Π°ΠΌ установлСн ΠΌΠΎΠ΄ΡƒΠ»ΡŒ USI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΡ‡Π΅Π½ΡŒ распространённой ΠΈ примСняСмой ATtiny2313. На Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… я встрСчал Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ вопросы ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ использования USI Π² качСствС SPI, Ρ‚.Π΅. Ρƒ Π½Π°Ρ€ΠΎΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трудности. ?, хотя, USI, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‡ΡƒΡ‚ΡŒ слоТнСС SPI, Π½ΠΎ особых трудностСй ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ части USI β€” это сдвиговый 8-ΠΌΠΈ разрядный рСгистр (для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ/ΠΏΡ€ΠΈΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ…) Β ΠΈ 4-Ρ… разрядный счётчик (для опрСдСлСния окончания ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ). Β Π’ тонкости построСния USI я ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Ρƒ β€” ΠΊΡ‚ΠΎ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‚ΠΎΡ‚ раскурит Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ USI Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SPI ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ SPI сСмСйства Mega β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ/ΠΏΡ€ΠΈΡ‘ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ, Π°, Β ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, ΠΈΠ»ΠΈ ΠΎΡ‚ внСшнСго источника, ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 0. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сдвиговый рСгистр ΠΈ 4-Ρ… разрядный счётчик ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… источников, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° основС USI Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.
Π’ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅ Π½Π° ATtiny2313 Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° ассСмблСрС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ USI Π² качСствС SPI. Π― ΠΈΡ… пСрСписал Π½Π° Π‘ΠΈ, сохранив Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Β ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅.
Для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ USI Π² качСствС SPI, я Π²ΠΎΠ·ΡŒΠΌΡƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ATtiny2313 ΠΈ ATmega8, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π–Πš?.
ΠžΠΏΡ‹Ρ‚ β„–1. 2313-я MASTER 8-я SLAVE.
Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π°Ρ€Ρ…ΠΈΠ². Π’ Π½Ρ‘ΠΌ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ. Π’ ΠΏΠ°ΠΏΠΊΠ΅ USI_SPI β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для ATtiny2313, Π° Π² ΠΏΠ°ΠΏΠΊΠ΅ SPI β€” для ATmega8A. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ просмотритС исходники ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” Ρ‚Π°ΠΌ написано, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для  настройки MASTER/SLAVE (Подсказка: Ρ‚Π°ΠΌ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). Π’Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ Π‘ΠΈ-ΡˆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π–Πš? HD44780. Они Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для отобраТСния принятых символов. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ 2313-я выступала Π² качСствС MASTER, Π° 8-я β€” SLAVE ΠΈ ΠΏΡ€ΠΎΡˆΠ΅ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹. По Ρ€Π°Π·Π΄Π΅Π»Ρƒ defane посмотритС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΈ,  соотвСтствСнно ΠΈΠΌ собСритС ΠΌΠ°ΠΊΠ΅Ρ‚ (Подсказка: для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π–Πš? (ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ SLAVE), Ρ‡Ρ‚ΠΎ Π² 2313-ΠΉ, Ρ‡Ρ‚ΠΎ Π² 8-ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡ€Ρ‚ D. PD0 β€” PD3 МК β€” DB4 β€” DB7 Π–Πš?, PD4 β€” RS, PD5 β€” EN). Кнопка (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ MASTER) Β Ρ‚ΠΎΠΆΠ΅ Π²Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ β€” Π½Π° PD1.
Π‘ΠΎΠ±Ρ€Π°Π»ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚. Подали ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅. На Π–Πš? Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ надпись ОК β€” Π·Π½Π°Ρ‡ΠΈΡ‚ , ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅: 1) Π–Πš? ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ; 2) компиляция ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° SLAVE ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ наблюдаСм Π½Π° Π–Πš? SLAVE ΠΏΡ€ΠΈΡ‘ΠΌ символов (я использовал дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹. Π’ΠΎΡ‚ Ρ„ΠΎΡ‚ΠΊΠ° Π³Π΄Π΅ 2313 β€” MASTER.
Β ΠžΠΏΡ‹Ρ‚ β„–2. 2313-я SLAVE 8-я MASTER.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ 2313-я выступала Π² качСствС SLAVE, Π° 8-я β€” MASTER ΠΈ соотвСтствСнно ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Π΅ΠΌ. Π–Πš? ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π½Π° 2313-ю, Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ β€” Π½Π° 8-ю. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠŸΠžΠœΠ•ΠΠ―Π’Π¬ мСстами соСдинитСли с MISO Π½Π° MOSI для 8-ΠΉ. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ дСйствия ΠΈΠ· ΠΎΠΏΡ‹Ρ‚Π° β„–1. УбСТдаСмся Π² Ρ‡Ρ‘Ρ‚ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. Π€ΠΎΡ‚ΠΊΡƒ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π²ΠΈΠΆΡƒ смысла, Ρ‚.ΠΊ. ΠΎΠ½Π° Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ².
Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SPI, Ρ‡Ρ‚ΠΎ для ATtiny2313, Ρ‡Ρ‚ΠΎ для ATmega8A, я Π½Π΅ использовал прСрывания, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ тактирования для 2313. Всё это Π² Π’Π°ΡˆΠΈΡ… Ρ€ΡƒΠΊΠ°Ρ…, Π²Π΅Ρ€Π½Π΅Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Π°Ρ…. ЦСлью Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ способы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса SPI. Β  Для tiny, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΈ Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π― замСрял частоту Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… сигналов «быстрого» Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° с ΠΊΠ²Π°Ρ€Ρ†Π΅ΠΌ 20 ΠœΠ“Ρ† β€” Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΡˆΠ»ΠΎ 10 ΠœΠ“Ρ†!
Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ исходники, я Π΄ΡƒΠΌΠ°ΡŽ, пригодятся Вам Π²Β Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΒ Ρ‚Π²ΠΎΡ€Ρ‡Π΅ΡΡ‚Π²Π΅. ВсСм ΡƒΠ΄Π°Ρ‡ΠΈ.

Π—Π°ΠΏΠΈΡΡŒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠ΅ ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½Ρ‹ΠΉ конструктор с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ LCD, SPI. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ ссылку.

Использования внСшнСго прСрывания INT0 ΠΈ INT1.

Π’ этой части Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования внСшнСго прСрывания INT0 ΠΈ INT1.

Если посмотрим Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ практичСскиС всС свои рСсурсы Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π° отслСТиваниС срабатывания ΠΏΠΎΡ€Ρ‚Π° PD0. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ всС врСмя Π²ΠΎΠ·Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ этого ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ внСшнСго прСрывания INTx.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ МК ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ адрСс Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания Β«External Interrupt Request 0Β».

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ адрСс INT0 Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ сразу ΠΆΠ΅ послС ΠΌΠ΅Ρ‚ΠΊΠΈ Reset. Π’Π°ΠΊ ΠΊΠ°ΠΊ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прСрывания, Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» Β«mainΒ» остаСтся пустым. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Ρ†ΠΈΠΊΠ» main Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. НС зависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρ‚Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ написано ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ прСрывания INT0 ΠΏΡ€ΠΈΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΠΏΠΎΡ€Ρ‚ PD2, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ пСрСнСсти ΠΊΠ½ΠΎΠΏΠΊΡƒ с PD0 Π½Π° PD2 ΠΈ произвСсти настройку ΠΏΠΎΡ€Ρ‚Π° Π½Π° Π²Π²ΠΎΠ΄.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ использованиС прСрывания INT0, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ внСсти Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистр GIMSK, согласно Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ настройка условий прСрывания. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² рСгистр MCUCR.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΡ‚ΠΎΠ² ISCxx ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ условиС прСрывания ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ, ΠΏΠΎ Π·Π°Π΄Π½Π΅ΠΌΡƒ ΠΈ ΠΏΠΎ измСнСнию логичСского состояния ΠΏΠΈΠ½Π°.

ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΠ΅ΠΌ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΡˆΠ»ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT0 ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Proteus.

.device Attiny2313 ; ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏ устройства

.include β€œtn2313def.inc” ; ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² МК ATtiny2313

.def temp = r16 ; Π·Π°Π΄Π°Π΅ΠΌ имя Π½Π°ΡˆΠ΅ΠΌΡƒ рСгистру ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

.org 0x0000 ; Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с 0 адрСса
rjmp reset

.org 0x001 ;адрСс нашСго прСрывания

rjmp INT_0

reset:

ldi temp,ramend ; Π³Ρ€ΡƒΠ·ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ramend Π² рСгистр temp

out $3d, temp ;

ser temp ; настраиваСм всС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎΡ€Ρ‚Π° Π’ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄

out DDRB, temp ;

ldi temp,0b00000100;настрйока PD2 Π½Π° Π²Ρ…ΠΎΠ΄

out PORTD,temp

ldi temp,(1

out GIMSK,temp

ldi temp,(1

out MCUCR,temp

sei

ldi r22,1

out PORTB,r22

main:

rjmp main

INT_0:

rcall delay

rol r22

out PORTB,r22

reti

delay:

clr r20

clr r21

d_1:

inc r20

cpi r20,200

brne d_1

d_2:

inc r21

cpi r21,50

brne d_1

ret

Как Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сильно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΠ»Π°ΡΡŒ. БСйчас Π½Π΅Ρ‚ нСобходимости ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала, Ρ‚Π΅ΠΌ самым ΠΌΡ‹ экономим ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ врСмя ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ настроили ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π·Π°Π΄Π½Π΅ΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ сигнала с ΠΏΠΎΡ€Ρ‚Π° PD2. Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° delay ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Ρ€Π΅Π±Π΅Π·Π³ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

На рисункС Π½ΠΈΠΆΠ΅ Π²ΠΈΠ΄Π½ΠΎ срабатываниС ΠΊΠ½ΠΎΠΏΠΊΠΈ (ΠΊΠ°Π½Π°Π» А) ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ свСтодиода Π½Π° ΠΏΠΎΡ€Ρ‚Π΅ B. АпааратноС ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ настроСно Π½Π° Π·Π°Π΄Π½ΠΈΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚ сигнала, поэтому Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС отпускания ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π½Π° PΠ’2 ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ 100мс. Π’Π°ΠΊΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²ΠΏΠΎΠ»Π½Π΅ достаточно для прСдотвращСния Π΄Ρ€Π΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого прСрывания ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ подсчСт ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈ этом основная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT1 Π½ΡƒΠΆΠ½ΠΎ внСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки Π² рСгистры GIMSK ΠΈ MCUCR.

ldi temp,(1

out GIMSK,temp

ldi temp,(1

out MCUCR,temp

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ использованиС Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Если Π² МК имССтся Π²Π΅ΠΊΡ‚ΠΎΡ€ INT2 Ρ‚ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ.



AVR. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс. ИспользованиС ШИМ

Π’ΠΎΡ‚ ΡƒΠΆΠ΅ нСсколько Ρ€Π°Π· я ругался странным словом ШИМ. ΠŸΠΎΡ€Π° Π±Ρ‹ внСсти ΡΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·ΡŒΡΡΠ½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ это Ρ‚Π°ΠΊΠΎΠ΅. Π’ΠΎΠΎΠ±Ρ‰Π΅, я ΡƒΠΆΠ΅ расписывал этот Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½ΠΎ всС ΠΆΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… своСго курса.
Β 

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅, Π¨ΠΈΡ€ΠΎΡ‚Π½ΠΎ Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Π°Ρ ΠœΠΎΠ΄ΡƒΠ»ΡΡ†ΠΈΡ (Π² бурТуйской Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ этот Ρ€Π΅ΠΆΠΈΠΌ зовСтся PWM β€” Pulse Width Modulation) это способ задания Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ сигнала Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ· Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Π±Ρ€Π΅Π΄, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. А ΡΡƒΡ‚ΡŒ Π² Ρ‡Π΅ΠΌ:
Β 

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ сСбС тяТСлСнный ΠΌΠ°Ρ…ΠΎΠ²ΠΈΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ моТСшь Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Ρ‚Ρ‹ моТСшь Π»ΠΈΠ±ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Если Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ постоянно, Ρ‚ΠΎ ΠΌΠ°Ρ…ΠΎΠ²ΠΈΠΊ раскрутится Π΄ΠΎ максимального значСния ΠΈ Ρ‚Π°ΠΊ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒΡΡ. Если Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ρ‚ΠΎ остановится Π·Π° счСт сил трСния.
Β 

А Π²ΠΎΡ‚ Ссли Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π° Π΄Π΅ΡΡΡ‚ΡŒ сСкунд ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Ρ‚ΠΎ ΠΌΠ°Ρ…ΠΎΠ²ΠΈΠΊ раскрутится, Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ β€” большая инСрция сгладит Ρ€Ρ‹Π²ΠΊΠΈ ΠΎΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ двигатСля, Π° сопротивлСниС ΠΎΡ‚ трСния Π½Π΅ даст Π΅ΠΌΡƒ крутится бСсконСчно Π΄ΠΎΠ»Π³ΠΎ.
Β 

Π§Π΅ΠΌ большС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ двигатСля Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Ρ‚Π΅ΠΌ быстрСй Π±ΡƒΠ΄Π΅Ρ‚ крутится ΠΌΠ°Ρ…ΠΎΠ²ΠΈΠΊ.
ΠŸΡ€ΠΈ ШИМ ΠΌΡ‹ Π³ΠΎΠ½ΠΈΠΌ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ сигнал состоящий ΠΈΠ· высоких ΠΈ Π½ΠΈΠ·ΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ нашСй Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. А Π·Π°Ρ‚Π΅ΠΌ это всС пропускаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ (Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ β€” ΠΌΠ°Ρ…ΠΎΠ²ΠΈΠΊ). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ интСгрирования Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° напряТСния, равная ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΏΠΎΠ΄ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°ΠΌΠΈ.
Β 

МСня ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΊ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ эту ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ напряТСниС Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ссли Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹Π΅ 1, Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ напряТСниС высокого уровня, Π² случаС ΠΌΠΎΠ΅Π³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· моста L293 это 12 Π²ΠΎΠ»ΡŒΡ‚, Ссли Π½ΡƒΠ»ΠΈ, Ρ‚ΠΎ ноль. А Ссли 50% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π° 50% Π½ΠΈΠ·ΠΊΠΈΠΉ Ρ‚ΠΎ 6 Π²ΠΎΠ»ΡŒΡ‚. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ Ρ‚ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ масса якоря двигатСля, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ довольно большой ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠ΅ΠΉ.
Β 

Β 

А Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли Π²Π·ΡΡ‚ΡŒ ΠΈ Π³Π½Π°Ρ‚ΡŒ ШИМ сигнал Π½Π΅ ΠΎΡ‚ нуля Π΄ΠΎ максимума, Π° ΠΎΡ‚ минуса Π΄ΠΎ плюса. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ‚ +12 Π΄ΠΎ -12. А ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ сигнал! Когда Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ноль, Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ -12Π’, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ +12Π’. Если ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ 50% Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ 0Π’. Если ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°ΠΊΠΎΠ½Ρƒ ΠΎΡ‚ максимума ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ, Ρ‚ΠΎ получим… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ! ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ напряТСниС. А Ссли Π²Π·ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚Π°ΠΊΠΈΡ… ШИМ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π³Π½Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π½ΠΈΡ… синусоиды сдвинутыС Π½Π° 120 градусов ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ самоС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Ρ‚Ρ€Π΅Ρ…Ρ„Π°Π·Π½ΠΎΠ΅ напряТСниС, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ бСсколлСкторныС асинхронныС ΠΈ синхронныС Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ β€” Ρ„Π΅Ρ‚ΠΈΡˆ всСх авиамодСлистов. На этом ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ построСны всС соврСмСнныС ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ°. ВсякиС Unidrive ΠΈ Omron Jxx

Β 
Π’ качСствС ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ШИМ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° обычная RC Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°:

Β 

Π’Π°ΠΊ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ понятСн, приступаСм ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
ШИМ сигнал ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π°Ρ€Π³Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… усилитСлях ΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ послСдниС ΡƒΠΌΠ΅ΡŽΡ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ просто мастСрски, Π±Π»Π°Π³ΠΎ всС Ρƒ Π½ΠΈΡ… для этого ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ.

Β 
Аппаратный ШИМ
Π’ случаС ATMega16 ΠΏΡ€ΠΎΡ‰Π΅ всСго ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Π΅Π³ΠΎ ШИМ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встроСн Π² Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π΅ Ρƒ нас Ρ†Π΅Π»Ρ‹Ρ… Π΄Π²Π° ΠΊΠ°Π½Π°Π»Π°. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Π΅Π· особого напряга ATmega16 ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Π½Π°Π»Π° ШИМ.

Β 
Как это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ
Π£ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π΅ΡΡ‚ΡŒ особый рСгистр сравнСния OCR**. Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² счётном рСгистрС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° достигнаСт значСния находящСгося Π² рСгистрС сравнСния, Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ события:

  • ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ совпадСнию
  • ИзмСнСниС состояния внСшнСго Π²Ρ‹Ρ…ΠΎΠ΄Π° сравнСния OC**.

Β 
Π’Ρ‹Ρ…ΠΎΠ΄Ρ‹ сравнСния Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π°Ρ€ΡƒΠΆΡƒ, Π½Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Β 

Β 
На Π΄Π΅ΠΌΠΎΠΏΠ»Π°Ρ‚Π΅ Pinboard ΠΊ этим Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ свСтодиоды. А Ссли ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€Ρ‹ вдоль, Π² сторону надписи RC Ρ‚ΠΎ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ШИМ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°.

Β 

Β 

Для Pinboard II Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π΅Π²Π΅Π»ΠΈΠΊΠ°. Π”ΠΆΠ°ΠΌΠΏΠ΅Ρ€Ρ‹ Ρ‚ΡƒΡ‚ сгруппированы Π² ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ. А свСтодиоды ΠΈ RC Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ сгруппированы Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΏΠ»Π°Ρ‚Ρ‹.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ настроили наш ШИМ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² счСтном рСгистрС большС Ρ‡Π΅ΠΌ Π² рСгистрС сравнСния, Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Ρƒ нас 1, Π° ΠΊΠΎΠ³Π΄Π° мСньшС, Ρ‚ΠΎ 0.

Β 
Π§Ρ‚ΠΎ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚? Π’Π°ΠΉΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΅ΠΌΡƒ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ, ΠΎΡ‚ нуля Π΄ΠΎ 256, с частотой ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ настроим Π±ΠΈΡ‚Π°ΠΌΠΈ прСддСлитСля Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. ПослС пСрСполнСния сбрасываСтся Π² 0 ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π·Π°Π½ΠΎΠ²ΠΎ.

Β 

Β 
Как видишь, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹. А Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистрС сравнСния, Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² станСт ΡƒΠΆΠ΅.

Β 

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ мСняя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистрС сравнСния ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ШИМ сигнала. А Ссли ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ШИМ сигнал Ρ‡Π΅Ρ€Π΅Π· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ RC Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ (ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€) Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ сигнал.

Β 
Π£ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ рСгистров сравнСния. Зависит ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ МК ΠΈ Ρ‚ΠΈΠΏΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. НапримСр, Ρƒ АтмСга16

  • Timer0 β€” ΠΎΠ΄ΠΈΠ½ рСгистр сравнСния
  • Timer1 β€” Π΄Π²Π° рСгистра сравнСния (16Ρ‚ΠΈ разрядных!)
  • Timer2 β€” ΠΎΠ΄ΠΈΠ½ рСгистр сравнСния

Β 
Π˜Ρ‚ΠΎΠ³ΠΎ β€” Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Π½Π°Π»Π°. Π’ Π½ΠΎΠ²Ρ‹Ρ… AVR Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΏΠΎ Ρ‚Ρ€ΠΈ рСгистра сравнСния Π½Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ΄Π½ΠΈΠΌ МК ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ просто ΠΏΡ€ΠΎΡ€Π²Ρƒ нСзависимых ШИМ ΠΊΠ°Π½Π°Π»ΠΎΠ².

Β 
Π‘Π°ΠΌΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ШИМ сущСствуСт нСсколько:

Β 
Fast PWM
Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ счСтчик считаСт ΠΎΡ‚ нуля Π΄ΠΎ 255, послС достиТСния пСрСполнСния сбрасываСтся Π² Π½ΡƒΠ»ΡŒ ΠΈ счСт начинаСтся снова. Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² счСтчикС достигаСт значСния рСгистра сравнСния, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄ ΠžΠ‘Ρ…Ρ… сбрасыватся Π² ноль. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠΈ счСтчика этот Π²Ρ‹Π²ΠΎΠ΄ устанавливаСтся Π² 1. И всС!

Β 
Частота ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ ШИМ сигнала опрСдСляСтся просто: Частота процСсора 8ΠœΠ³Ρ†, Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ‚ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΎ 256 с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой. Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ШИМ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 8000 000/256 = 31250Π“Ρ†. Π’ΠΏΠΎΠ»Π½Π΅ Π½Π΅Π΄ΡƒΡ€Π½ΠΎ. БыстрСй Π½Π΅ получится β€” это максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ 8ΠœΠ³Ρ† Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅. Но Ссли ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ FUSE Π±ΠΈΡ‚Ρ‹ Π½Π° внСшний ΠΊΠ²Π°Ρ€Ρ† Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ МК Π½Π° 16ΠœΠ³Ρ†.

Β 
Π•Ρ‰Π΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, сдСлав счСт 8, 9, 10 разрядным (Ссли Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° позволяСт), Π½ΠΎ Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ разрядности, вмСстС с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ дискрСтности Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ сигнала, Ρ€Π΅Π·ΠΊΠΎ сниТаСт частоту ШИМ.

Β 

Phase Correct PWM
ШИМ с Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„Π°Π·ΠΎΠΉ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½ΠΎ Ρ‚ΡƒΡ‚ счСтчик считаСт нСсколько ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ 0 Π΄ΠΎ 255, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ 255 Π΄ΠΎ 0. Π’Ρ‹Π²ΠΎΠ΄ OCxx ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ совпадСнии сбрасываСтся, ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ устанавливаСтся.
Но частота ШИМ ΠΏΡ€ΠΈ этом ΠΏΠ°Π΄Π°Π΅Ρ‚ Π²Π΄Π²ΠΎΠ΅, ΠΈΠ·Π·Π° большСго ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. ОсновноС Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°Π·Π½Ρ‹Π΅ ШИМ сигналы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π΅Ρ…Ρ„Π°Π·Π½ΡƒΡŽ синусоиду. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ скваТности Π½Π΅ сбивался ΡƒΠ³ΠΎΠ» Ρ„Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ сдвига ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ШИМ сигналами. Π’.Π΅. Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»Π°Ρ… ΠΈ Π½Π° Ρ€Π°Π·Π½ΠΎΠΉ скваТности Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

Β 

Β 
Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ:
Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΡ€ΠΈΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², Ρ‚ΠΎ Π² рСгистр сравнСния любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Ρ„Π΅Ρ€Π½Ρ‹ΠΉ рСгистр ΠΈ заносится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² счСтчикС достигнСт максимума. Π’.Π΅. ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ШИМ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°.

Β 
Clear Timer On Compare
Бброс ΠΏΡ€ΠΈ сравнСнии. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ скорСй ЧИМ β€” частотно-ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сигнал. Π’ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. Π’ΡƒΡ‚ счСтный Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ‚ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Π°, Π° ΠΎΡ‚ 0 Π΄ΠΎ рСгистра сравнСния! А послС Ρ‡Π΅Π³ΠΎ сбрасываСтся.

Β 

Β 
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ всСгда ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ скваТности, Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠΉ частоты. А Ρ‡Π°Ρ‰Π΅ всСго этот Ρ€Π΅ΠΆΠΈΠΌ примСняСтся ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ (ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅) с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

Β 
НапримСр, Π½Π°Π΄ΠΎ Π½Π°ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ миллисСкунду. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎ. Как это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅? Π§Π΅Ρ€Π΅Π· Π Π΅ΠΆΠΈΠΌ Π‘Π’Π‘! ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас частота 8ΠœΠ³Ρ†.

Β 
ΠŸΡ€Π΅ΡΠΊΠ°Π»Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 64, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, частота Ρ‚ΠΈΠΊΠΎΠ² Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° составит 125000 Π“Ρ†. А Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ с частотой 1000Π“Ρ†. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ настраиваСм ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ совпадСнию с числом 125.

Β 
Π”ΠΎΡ‚ΠΈΠΊΠ°Π» Π΄ΠΎ 125 β€” Π΄Π°Π» ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, обнулился. Π”ΠΎΡ‚ΠΈΠΊΠ°Π» Π΄ΠΎ 125 β€” Π΄Π°Π» ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, обнулился. И Ρ‚Π°ΠΊ бСсконСчно, ΠΏΠΎΠΊΠ° Π½Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠΌ.

Β 
Π’ΠΎΡ‚ Π²Π°ΠΌ ΠΈ точная Ρ‚ΠΈΠΊΠ°Π»ΠΊΠ°.

Β 
НСт, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π§Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ‚.Π΅. Π΄ΠΎΡ‚ΠΈΠΊΠ°Π» Π΄ΠΎ пСрСполнСния, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания Π·Π°Π½ΠΎΠ²ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TCNTΡ…=255-125, сдСлал Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π΄Π΅Π»Π° ΠΈ снова Ρ‚ΠΈΠΊΠ°Ρ‚ΡŒ Π΄ΠΎ пСрСполнСния. Но вСдь Ρ‡Π΅Ρ€Π΅Π· Π‘Π’Π‘ красивСй! πŸ™‚

Β 
Аппаратура
А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ рСгистры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ всС это Π±Π΅Π·ΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ задаСтся ΠΈ программируСтся. ΠžΠΏΠΈΡˆΡƒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π”Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ FastPWM Π½Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π΅ 1. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… всС ΠΏΠΎΡ…ΠΎΠΆΠ΅. Π”Π°Ρ‚Π°ΡˆΠΈΡ‚ Π² Π·ΡƒΠ±Ρ‹ ΠΈ Π²ΠΏΠ΅Ρ€Π΅Π΄.

Β 
Π˜Ρ‚Π°ΠΊ, Ρ‚ΡƒΡ‚ правят Π±Π°Π» рСгистры TCCR1A ΠΈ TCCR1B. Π“Ρ‹, ΠΊΡ‚ΠΎ Π±Ρ‹ сомнСвался %)

Β 
Π Π°ΡΠΏΠΈΡˆΡƒ ΠΈΡ… ΠΏΠΎ Π±ΠΈΡ‚Π°ΠΌ.
РСгистр TCCR1A, Π±ΠΈΡ‚Ρ‹ COM1A1:COM1A0 ΠΈ COM1B1:COM1B0. Π­Ρ‚Π° братия опрСдСляСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° сравнСния OC1A ΠΈ OC1B соотвСтствСнно.

Β 

COMxx1COMxx0Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π°
00Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Ρ†Π΅ΠΏΠ»Π΅Π½ ΠΎΡ‚ рСгистра сравнСния ΠΈ Π½Π΅ мСняСтся Π½ΠΈΠΊΠ°ΠΊ.
01ПовСдСниС Π²Ρ‹Π²ΠΎΠ΄Π° зависит ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² WGM, различаСтся для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² (FastPWM, FC PWM, Compar out) ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… МК, Π½Π°Π΄ΠΎ ΡΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ с Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠΌ.
10прямой ШИМ (сброс ΠΏΡ€ΠΈ совпадСнии ΠΈ установка ΠΏΡ€ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠΈ счСта)
11ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ШИМ (сброс ΠΏΡ€ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠΈ ΠΈ установка ΠΏΡ€ΠΈ совпадСнии)

Β 
РСгистр TCCR1A, Π±ΠΈΡ‚Ρ‹ WGM11 ΠΈ WGM10 вмСстС с Π±ΠΈΡ‚Π°ΠΌΠΈ WGM12 ΠΈ WGM13, находящимися Π² рСгистрС TCCR1B Π·Π°Π΄Π°ΡŽΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

WGM13WGM12WGM11WGM10Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹
0101Fast PWM 8 Π±ΠΈΡ‚
0110Fast PWM 9 Π±ΠΈΡ‚
0111Fast PWM 10 Π±ΠΈΡ‚

Β 
Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π±ΠΈΡ‚ΠΎΠ² WGM Π·Π°Π΄Π°ΡŽΡ‚ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Phase Correct PWM ΠΈ CTC (сброс OCxx ΠΏΡ€ΠΈ совпадСнии). Если интСрСсно, Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°ΠΉ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚, я для сСбя ΠΌΠ½ΠΎΠ³ΠΎ интСрСсного Ρ‚Π°ΠΌ Π½Π΅ нашСл, ΠΊΡ€ΠΎΠΌΠ΅ Phase Correct PWM. И Ρ‚ΠΎ ΠΌΠ½Π΅ сСйчас Π²Π°ΠΆΠ½Π΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ„Π°Π·Ρ‹ πŸ™‚

Β 
ПослС остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, установив Π±ΠΈΡ‚ CS10 (подсчСт Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² с Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ 1:1)

Β 
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

Β 
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ свСтодиодов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ШИМ сигналов. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ свСтодиоды LED1 ΠΈ LED2

Β 

Β 
Для вСрсии Pinboard II всС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ располоТСниС Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€ΠΎΠ²:

Β 

Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π’Π½Π°Ρ‡Π°Π»Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ устройств добавляю настройку Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π½Π° запуск ШИМ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ².

Β 

1
2
3
4
5
6
7
8
9
10
11
12
;FastPWM Init
	SETB	DDRD,4,R16	; DDRD.4 = 1 ΠŸΠΎΡ€Ρ‚Ρ‹ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄
	SETB	DDRD,5,R16	; DDRD.5 = 1
Β 
; ВыставляСм для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ШИМ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ОБ** сброс ΠΏΡ€ΠΈ совпадСнии. 
; COM1A = 10 ΠΈ COM1B = 10
; Π’Π°ΠΊΠΆΠ΅ ставим Ρ€Π΅ΠΆΠΈΠΌ FAST PWM 8bit (Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 16Ρ‚ΠΈ разрядный ΠΈ допускаСт
; Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ШИМ сигнала. Π’ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 10 Π±ΠΈΡ‚.  WGM = 0101
; ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π° частотС МК CS = 001
Β 
	OUTI 	TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10	 
	OUTI	TCCR1B,0<<WGM13|1<<WGM12|1<<CS10

;FastPWM Init SETB DDRD,4,R16 ; DDRD.4 = 1 ΠŸΠΎΡ€Ρ‚Ρ‹ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ SETB DDRD,5,R16 ; DDRD.5 = 1 ; ВыставляСм для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ШИМ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ОБ** сброс ΠΏΡ€ΠΈ совпадСнии. ; COM1A = 10 ΠΈ COM1B = 10 ; Π’Π°ΠΊΠΆΠ΅ ставим Ρ€Π΅ΠΆΠΈΠΌ FAST PWM 8bit (Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 16Ρ‚ΠΈ разрядный ΠΈ допускаСт ; Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ШИМ сигнала. Π’ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 10 Π±ΠΈΡ‚. WGM = 0101 ; ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π° частотС МК CS = 001 OUTI TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10 OUTI TCCR1B,0<<WGM13|1<<WGM12|1<<CS10

Β 
Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ШИМ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°1 Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ сигнал Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π°x OC1А ΠΈ OC1B

Β 
Π—Π°ΠΊΠΈΠ½Π΅ΠΌ Π² рСгистры сравнСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° число 255/3=85 ΠΈ 255/2 = 128
Π’Π°ΠΊ ΠΊΠ°ΠΊ ШИМ Ρƒ нас 8ΠΌΠΈ разрядный, Ρ‚ΠΎ заброс ΠΈΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² младший разряд. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ ΠΆΠ΅ остаСтся Π½ΡƒΠ»Π΅ΠΌ. Но рСгистры сравнСния Ρ‚ΡƒΡ‚ Ρƒ нас 16Ρ‚ΠΈ разрядныС поэтому Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π°Π΄ΠΎ ΠΎΠ±Π° Π±Π°ΠΉΡ‚Π° сразу. НС Π·Π°Π±Ρ‹Π² Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ прСрывания (это Π²Π°ΠΆΠ½ΠΎ!!! ΠΈΠ±ΠΎ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ)

Β 

1
2
3
4
5
6
7
	CLI
	OUTI	OCR1AH,0
	OUTI	OCR1AL,85
Β 
	OUTI	OCR1BH,0
	OUTI	OCR1BL,128
	SEI

CLI OUTI OCR1AH,0 OUTI OCR1AL,85 OUTI OCR1BH,0 OUTI OCR1BL,128 SEI

Β 
ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ! πŸ™‚

Β 
ΠŸΡ€ΠΎΡˆΠΈΠ²Π°Π΅ΠΌ, тыкаСмся Π² Π½ΠΎΠ³ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° осциллографом β€” Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ:

Β 

Β 
Как ΠΌΡ‹ ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ. Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° Π² 1/3 ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°, Π° со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² 1/2
Ну ΠΈ свСтодиоды горят с Ρ€Π°Π·Π½ΠΎΠΉ ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ. Один ярчС, Π΄Ρ€ΡƒΠ³ΠΎΠΉ тусклСй. МСняя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистрах OCR*** ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ.

Β 
Π”Π°Π²Π°ΠΉ сдСлаСм Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСтодиод ΠΏΠ»Π°Π²Π½ΠΎ мСнял свою ΡΡ€ΠΊΠΎΡΡ‚ΡŒ ΠΎΡ‚ нуля Π΄ΠΎ максимума. Как помнишь, Ρƒ нас Ρ‚Π°ΠΌ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, с ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅ΠΌ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ0 свСтодиодом. НСмного Π΅Π΅ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΠΌ, сдСлаСм Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ Π½Π΅ свСтодиод ΠΌΠΈΠ³Π°Π», Π° мСнялось Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистрах сравнСния OCR1A ΠΈ OCR1B. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ€Π°Π·Π½Ρ‹Π΅ стороны πŸ™‚

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
; Main =========================================================
Main:	LDS	R16,TCNT	; Π“Ρ€ΡƒΠ·ΠΈΠΌ числа Π² рСгистры
	LDS	R17,TCNT+1
Β 
	CPI	R16,0x10	; Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π½Π΅ΠΌ ΠΏΠΎΠ±Π°ΠΉΡ‚Π½ΠΎ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΡƒ
	BRCS	NoMatch
	CPI	R17,0x01	; Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΊΡƒ сдСлали помСньшС = 0x0110
	BRCS	NoMatch
Β 
; Если совпало Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ экшн
Match:	CLI			; Π—Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Ρ‚.ΠΊ. Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ
Β 
; МСняСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»
; ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ 16Ρ‚ΠΈ разрядных рСгистров Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π½Π°Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.
; Π§ΠΈΡ‚Π°ΡŽΡ‚ Π²Π½Π°Ρ‡Π°Π»Π΅ младший, ΠΏΠΎΡ‚ΠΎΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚Ρ‹. Π’Π°ΠΊ Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ младший Π½Π΅ успСл ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ
; (ΠΎΠ½ вСдь ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ) ΠΏΠΎΠΊΠ° Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ.  Π£ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡ… Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ
; порядкС. Π‘Π½Π°Ρ‡Π°Π»Π° ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ младший. ΠŸΡ€Π°Π²Π΄Π° для рСгистров OCR это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ большой 
; Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ -- ΠΎΠ½ΠΈ статичныС, Π° Π²ΠΎΡ‚ для TCNT ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅!
Β 
	IN	R16,OCR1AL	; Достали ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ сравнСния
	IN	R17,OCR1AH	; ΠΎΠ½ 16Ρ‚ΠΈ разрядный, Π½ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ 0
Β 
	INC	R16		; Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈ
Β 
	OUT	OCR1AH,R17	; И сунули ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ
	OUT	OCR1AL,R16
Β 
; МСняСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Π½Π°Π»
	IN	R16,OCR1BL	; Достали Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ сравнСния
	IN	R17,OCR1BH	; ΠΎΠ½ 16Ρ‚ΠΈ разрядный, Π½ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ 0
Β 
	DEC	R16		; УмСньшили
Β 
	OUT	OCR1BH,R17	; И сунули ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ
	OUT	OCR1BL,R16	
	SEI			; ΠšΠΎΠ½Π΅Ρ† Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ доступа
Β 
; Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ счСтчик, ΠΈΠ½Π°Ρ‡Π΅ Π·Π° эту ΠΆΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°
; ΠœΡ‹ сюда ΠΏΠΎΠΏΠ°Π΄Π΅ΠΌ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· -- Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ‚ΠΎ Π½Π΅ успССт Π½Π°Ρ‚ΠΈΠΊΠ°Ρ‚ΡŒ 255 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
; Ρ‡Ρ‚ΠΎΠ±Ρ‹ число Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚Π°Ρ… счСтчика измСнилось. 
Β 
	CLR	R16		; Нам Π½ΡƒΠΆΠ΅Π½ ноль
	CLI			; Π’Π°ΠΉΠΌΠ΅Ρ€ мСняСтся ΠΈ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ. НуТСн
				; Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ. Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ прСрывания
	OUT	TCNT0,R16	; Ноль Π² счСтный рСгистр Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°
	STS	TCNT,R16	; Ноль Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM
	STS	TCNT+1,R16	; Ноль Π² Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM
	STS	TCNT+2,R16	; Ноль Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM
	STS	TCNT+3,R16	; Ноль Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM
	SEI			; Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ прСрывания. 
; НС совпало - нС дСлаСм :) 
NoMatch:	NOP
Β 
	INCM	CCNT		; Π¨Π°Ρ€ΠΌΠ°Π½ΠΊΠ° вращаСтся дальшС, Π²Ρ…ΠΎΠ»ΠΎΡΡ‚ΡƒΡŽ
	JMP	Main

; Main ========================================================= Main: LDS R16,TCNT ; Π“Ρ€ΡƒΠ·ΠΈΠΌ числа Π² рСгистры LDS R17,TCNT+1 CPI R16,0x10 ; Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π½Π΅ΠΌ ΠΏΠΎΠ±Π°ΠΉΡ‚Π½ΠΎ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΡƒ BRCS NoMatch CPI R17,0x01 ; Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΊΡƒ сдСлали помСньшС = 0x0110 BRCS NoMatch ; Если совпало Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ экшн Match: CLI ; Π—Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Ρ‚.ΠΊ. Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ ; МСняСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» ; ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ 16Ρ‚ΠΈ разрядных рСгистров Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π½Π°Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. ; Π§ΠΈΡ‚Π°ΡŽΡ‚ Π²Π½Π°Ρ‡Π°Π»Π΅ младший, ΠΏΠΎΡ‚ΠΎΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚Ρ‹. Π’Π°ΠΊ Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ младший Π½Π΅ успСл ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ; (ΠΎΠ½ вСдь ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ) ΠΏΠΎΠΊΠ° Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ. Π£ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡ… Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ ; порядкС. Π‘Π½Π°Ρ‡Π°Π»Π° ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ младший. ΠŸΡ€Π°Π²Π΄Π° для рСгистров OCR это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ большой ; Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ — ΠΎΠ½ΠΈ статичныС, Π° Π²ΠΎΡ‚ для TCNT ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅! IN R16,OCR1AL ; Достали ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ сравнСния IN R17,OCR1AH ; ΠΎΠ½ 16Ρ‚ΠΈ разрядный, Π½ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ 0 INC R16 ; Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈ OUT OCR1AH,R17 ; И сунули ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ OUT OCR1AL,R16 ; МСняСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Π½Π°Π» IN R16,OCR1BL ; Достали Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ сравнСния IN R17,OCR1BH ; ΠΎΠ½ 16Ρ‚ΠΈ разрядный, Π½ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ 0 DEC R16 ; УмСньшили OUT OCR1BH,R17 ; И сунули ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ OUT OCR1BL,R16 SEI ; ΠšΠΎΠ½Π΅Ρ† Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ доступа ; Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ счСтчик, ΠΈΠ½Π°Ρ‡Π΅ Π·Π° эту ΠΆΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ; ΠœΡ‹ сюда ΠΏΠΎΠΏΠ°Π΄Π΅ΠΌ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· — Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ‚ΠΎ Π½Π΅ успССт Π½Π°Ρ‚ΠΈΠΊΠ°Ρ‚ΡŒ 255 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ; Ρ‡Ρ‚ΠΎΠ±Ρ‹ число Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚Π°Ρ… счСтчика измСнилось. CLR R16 ; Нам Π½ΡƒΠΆΠ΅Π½ ноль CLI ; Π’Π°ΠΉΠΌΠ΅Ρ€ мСняСтся ΠΈ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ. НуТСн ; Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ. Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ прСрывания OUT TCNT0,R16 ; Ноль Π² счСтный рСгистр Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° STS TCNT,R16 ; Ноль Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM STS TCNT+1,R16 ; Ноль Π² Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM STS TCNT+2,R16 ; Ноль Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM STS TCNT+3,R16 ; Ноль Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ счСтчика Π² RAM SEI ; Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ прСрывания. ; НС совпало — Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ πŸ™‚ NoMatch: NOP INCM CCNT ; Π¨Π°Ρ€ΠΌΠ°Π½ΠΊΠ° вращаСтся дальшС, Π²Ρ…ΠΎΠ»ΠΎΡΡ‚ΡƒΡŽ JMP Main

Β 
А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Ρ€Π΅ΠΆΠΈΠΌ с Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„Π°Π·ΠΎΠΉ (WGM = 0001) ΠΈ посмотрим Π½Π° Ρ‚ΠΎ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ.

Β 

1
2
	OUTI 	TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10	 
	OUTI	TCCR1B,0<<WGM13|0<<WGM12|1<<CS10

OUTI TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10 OUTI TCCR1B,0<<WGM13|0<<WGM12|1<<CS10

Β 

Β 
ШИМ Π½Π° прСрываниях.
Но Π²ΠΎΡ‚ засада β€” ΠΏΠ»Π°Ρ‚Π° ΡƒΠΆΠ΅ Ρ€Π°Π·Π²Π΅Π΄Π΅Π½Π°, Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ШИМ, Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹ OCxx ΡƒΠΆΠ΅ задСйствованы ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ†Π΅Π»ΠΈ.

Β 
НичСго ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, ΠΌΠ°Π»ΠΎΠΉ ΠΊΡ€ΠΎΠ²ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ запускаСм ШИМ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ:

  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ OCxx ΠΎΡ‚ рСгистра сравнСния.
  • ДобавляСм Π΄Π²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСрывания Π½Π° сравнСниС ΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ сбрасываСм Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π±ΠΈΡ‚, Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ счСтчика устанавливаСм.

ВсС просто πŸ™‚

Β 
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
;FastPWM Init Π½Π° прСрываниях
Β 
; ШИМ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… 3 ΠΈ 6 ΠΏΠΎΡ€Ρ‚Π° D
	SETB	DDRD,3,R16	; DDRD.3 = 1 ΠŸΠΎΡ€Ρ‚Ρ‹ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄
	SETB	DDRD,6,R16	; DDRD.6 = 1
Β 
; ВыставляСм для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ШИМ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ОБ** Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ΠΌ. 
; COM1A = 00 ΠΈ COM1B = 00
; Π’Π°ΠΊΠΆΠ΅ ставим Ρ€Π΅ΠΆΠΈΠΌ FAST PWM 8bit (Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 16Ρ‚ΠΈ разрядный ΠΈ допускаСт
; Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ШИМ сигнала. Π’ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 10 Π±ΠΈΡ‚.  WGM = 0101
; ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π° частотС МК CS = 001
Β 
	OUTI 	TCCR1A,0<<COM1A0|0<<COM1B0|0<<WGM11|1<<WGM10	 
	OUTI	TCCR1B,0<<WGM13|1<<WGM12|1<<CS10	
Β 
	SETB	TIMSK,OCIE1A,R16	; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ А
	SETB	TIMSK,OCIE1B,R16	; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ Π‘
	SETB	TIMSK,TOIE1,R16	; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π’1
					; ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ WGM=1010 ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
					; Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° FF Ρ‚.Π΅. Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ
					; 8ΠΌΠΈ разрядный.

;FastPWM Init Π½Π° прСрываниях ; ШИМ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… 3 ΠΈ 6 ΠΏΠΎΡ€Ρ‚Π° D SETB DDRD,3,R16 ; DDRD.3 = 1 ΠŸΠΎΡ€Ρ‚Ρ‹ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ SETB DDRD,6,R16 ; DDRD.6 = 1 ; ВыставляСм для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ШИМ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ОБ** Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ΠΌ. ; COM1A = 00 ΠΈ COM1B = 00 ; Π’Π°ΠΊΠΆΠ΅ ставим Ρ€Π΅ΠΆΠΈΠΌ FAST PWM 8bit (Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 16Ρ‚ΠΈ разрядный ΠΈ допускаСт ; Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ШИМ сигнала. Π’ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 10 Π±ΠΈΡ‚. WGM = 0101 ; ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π° частотС МК CS = 001 OUTI TCCR1A,0<<COM1A0|0<<COM1B0|0<<WGM11|1<<WGM10 OUTI TCCR1B,0<<WGM13|1<<WGM12|1<<CS10 SETB TIMSK,OCIE1A,R16 ; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ А SETB TIMSK,OCIE1B,R16 ; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ Π‘ SETB TIMSK,TOIE1,R16 ; Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π’1 ; ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ WGM=1010 ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ; Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° FF Ρ‚.Π΅. Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ; 8ΠΌΠΈ разрядный.

Β 
ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
         .CSEG
         .ORG $000		; (RESET) 
         RJMP   Reset
         .ORG $002
         RETI			; (INT0) External Interrupt Request 0
         .ORG $004
         RETI 			; (INT1) External Interrupt Request 1
         .ORG $006
         RETI			; (TIMER2 COMP) Timer/Counter2 Compare Match
         .ORG $008
         RETI 			; (TIMER2 OVF) Timer/Counter2 Overflow
         .ORG $00A
         RETI			; (TIMER1 CAPT) Timer/Counter1 Capture Event
         .ORG $00C 
         RJMP Timer1_OCA		; (TIMER1 COMPA) Timer/Counter1 Compare Match A
         .ORG $00E
         RJMP Timer1_OCB		; (TIMER1 COMPB) Timer/Counter1 Compare Match B
         .ORG $010
         RJMP Timer1_OVF 		; (TIMER1 OVF) Timer/Counter1 Overflow
         .ORG $012
         RJMP	Timer0_OV 	; (TIMER0 OVF) Timer/Counter0 Overflow
         .ORG $014
         RETI 			; (SPI,STC) Serial Transfer Complete
         .ORG $016
         RETI     			; (USART,RXC) USART, Rx Complete
         .ORG $018
         RETI			; (USART,UDRE) USART Data Register Empty
         .ORG $01A
         RETI			; (USART,TXC) USART, Tx Complete
         .ORG $01C
         RETI			; (ADC) ADC Conversion Complete
         .ORG $01E
         RETI			; (EE_RDY) EEPROM Ready
         .ORG $020
         RETI			; (ANA_COMP) Analog Comparator
         .ORG $022
         RETI			; (TWI) 2-wire Serial Interface
         .ORG $024
         RETI			; (INT2) External Interrupt Request 2
         .ORG $026
         RETI			; (TIMER0 COMP) Timer/Counter0 Compare Match
         .ORG $028
         RETI			; (SPM_RDY) Store Program Memory Ready
Β 
	 .ORG   INT_VECTORS_SIZE      	; ΠšΠΎΠ½Π΅Ρ† Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ
Β 
; Interrupts ==============================================
Timer0_OV:	PUSHF
		PUSH	R17
		PUSH	R18
		PUSH	R19
Β 
		INCM	TCNT
Β 
		POP	R19
		POP	R18
		POP	R17
		POPF
Β 
		RETI
Β 
; Π’ΠΎΡ‚ наши ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° ШИМ
Timer1_OCA:	SBI	PORTD,3
		RETI
Β 
Timer1_OCB:	SBI	PORTD,6
		RETI
Β 
Timer1_OVF: 	CBI	PORTD,3
		CBI	PORTD,6
		RETI
; End Interrupts ==========================================

.CSEG .ORG $000 ; (RESET) RJMP Reset .ORG $002 RETI ; (INT0) External Interrupt Request 0 .ORG $004 RETI ; (INT1) External Interrupt Request 1 .ORG $006 RETI ; (TIMER2 COMP) Timer/Counter2 Compare Match .ORG $008 RETI ; (TIMER2 OVF) Timer/Counter2 Overflow .ORG $00A RETI ; (TIMER1 CAPT) Timer/Counter1 Capture Event .ORG $00C RJMP Timer1_OCA ; (TIMER1 COMPA) Timer/Counter1 Compare Match A .ORG $00E RJMP Timer1_OCB ; (TIMER1 COMPB) Timer/Counter1 Compare Match B .ORG $010 RJMP Timer1_OVF ; (TIMER1 OVF) Timer/Counter1 Overflow .ORG $012 RJMP Timer0_OV ; (TIMER0 OVF) Timer/Counter0 Overflow .ORG $014 RETI ; (SPI,STC) Serial Transfer Complete .ORG $016 RETI ; (USART,RXC) USART, Rx Complete .ORG $018 RETI ; (USART,UDRE) USART Data Register Empty .ORG $01A RETI ; (USART,TXC) USART, Tx Complete .ORG $01C RETI ; (ADC) ADC Conversion Complete .ORG $01E RETI ; (EE_RDY) EEPROM Ready .ORG $020 RETI ; (ANA_COMP) Analog Comparator .ORG $022 RETI ; (TWI) 2-wire Serial Interface .ORG $024 RETI ; (INT2) External Interrupt Request 2 .ORG $026 RETI ; (TIMER0 COMP) Timer/Counter0 Compare Match .ORG $028 RETI ; (SPM_RDY) Store Program Memory Ready .ORG INT_VECTORS_SIZE ; ΠšΠΎΠ½Π΅Ρ† Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ; Interrupts ============================================== Timer0_OV: PUSHF PUSH R17 PUSH R18 PUSH R19 INCM TCNT POP R19 POP R18 POP R17 POPF RETI ; Π’ΠΎΡ‚ наши ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° ШИМ Timer1_OCA: SBI PORTD,3 RETI Timer1_OCB: SBI PORTD,6 RETI Timer1_OVF: CBI PORTD,3 CBI PORTD,6 RETI ; End Interrupts ==========================================

ΠŸΠΎΡ‡Π΅ΠΌΡƒ я Π² этих ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽ рСгистры ΠΈ SREG? А Π½Π΅Π·Π°Ρ‡Π΅ΠΌ! ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ SBI ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ (Π° большС Π½Π°ΠΌ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ), Π½Π΅ влияя Π½Π° Ρ„Π»Π°Π³ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСгистры.

Β 
Запустили…

Β 

Β 
И ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ…Π΅Ρ€Π½ΡŽ. Π’.Π΅. ШИМ ΠΊΠ°ΠΊ Π±Ρ‹ Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΠΎ Π°Π΄ΠΎΠ²ΠΎ ΠΌΠ΅Ρ€Ρ†Π°Π΅Ρ‚. А Π½Π° осциллографС Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅Ρˆ. ΠšΡ‚ΠΎ Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚? Π’ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ. БСйчас я Π²Π°ΠΌ Π΄Π°ΠΌ практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»Ρ‚Π°ΠΉΠΌΠΎΠ²ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ πŸ™‚

Β 
Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ:

Β 
ШИМ, ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π‘ΠΊΠ²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ мСняСтся. Π—Π½Π°Ρ‡ΠΈΡ‚ наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Π΅Ρ€Π΅Π½.
Но Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ скачут. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π’ΠΈΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΈΠΌ Π²ΡΡ‚Π°Ρ‚ΡŒ воврСмя. Когда Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ β€” ΠΏΠΎ прСрываниям. А прСрывания ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌ. Π’.Π΅. Π²Ρ€Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹. Однако Ρ‚Π°ΠΊ получаСтся. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΌ мСстС Ρƒ нас ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Β 
ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„Ρƒ. Π‘ΡƒΠ΄Π΅ΠΌ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΡ‚. ΠŸΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ PD7 β€” зашли Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, инвСрснули. Π—Π°ΡˆΠ»ΠΈ β€” инвСрснули. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Ρƒ нас Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ этого Π±ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ сигнал, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚ β€” сработка ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ΠŸΠΎΡΠ»ΡƒΠΆΠΈΡ‚ Π½Π°ΠΌ ΠΊΠ°ΠΊ Π»ΠΈΠ½Π΅ΠΉΠΊΠ°, ΠΎΡ‚ΠΌΠ΅Ρ€ΡΡŽΡ‰Π°Ρ врСмя.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
; Interrupts ==============================================
Timer0_OV:	PUSHF
		PUSH	R17
		PUSH	R18
		PUSH	R19
Β 
		INCM	TCNT
Β 
		POP	R19
		POP	R18
		POP	R17
		POPF
Β 
		RETI
Β 
; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А
Timer1_OCA:	SBI	PORTD,3
		RETI
Β 
; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° Π‘
Timer1_OCB:	SBI	PORTD,6
		RETI
Β 
;Бброс Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А ΠΈ Π‘
Timer1_OVF: 	CBI	PORTD,3
		CBI	PORTD,6
Β 
;DEBUG PIN BEGIN ---------------
		PUSHF
		INVBM	PORTD,7    
		POPF
;DEBUG PIN END -----------------
		RETI

; Interrupts ============================================== Timer0_OV: PUSHF PUSH R17 PUSH R18 PUSH R19 INCM TCNT POP R19 POP R18 POP R17 POPF RETI ; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А Timer1_OCA: SBI PORTD,3 RETI ; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° Π‘ Timer1_OCB: SBI PORTD,6 RETI ;Бброс Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А ΠΈ Π‘ Timer1_OVF: CBI PORTD,3 CBI PORTD,6 ;DEBUG PIN BEGIN ————— PUSHF INVBM PORTD,7 POPF ;DEBUG PIN END —————— RETI

Π˜Π½Π²Π΅Ρ€ΡΠΈΡ Π±ΠΈΡ‚Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, поэтому Π½Π°Π΄ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π»Π°Π³ΠΈ.

Β 

Β 
Из ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ стало понятно, Ρ‡Ρ‚ΠΎ Ρƒ нас накрываСтся ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ происходит ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠžΡΠΎΠ±Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρƒ нас Π½Π΅Ρ‚ β€” ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Ρƒ нас Ρ‚ΡƒΡ‚ Ρ‡Π΅Ρ‚Ρ€Ρ‹Π΅. А Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Timer0_OV vs Timer1_OCA vs Timer1_OCB.

Β 
OCA ΠΈ OCB ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° счСтныС рСгистры Ρƒ Π½ΠΈΡ… ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ β€” Π²Ρ‹Π·ΠΎΠ² происходит ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ сами ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ β€” всСго нСсколько Ρ‚Π°ΠΊΡ‚ΠΎΠ², поэтому Π΄Ρ€Π΅Π±Π΅Π·Π³ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ.

Β 
А Π²ΠΎΡ‚ Timer0_OV Π΄Π΅Π»Π°Π΅Ρ‚ довольно ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€ΡƒΠ· стСка ΠΈ Π΅Ρ‰Π΅ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’.Π΅. Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π½Π° 20 ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ установки Π±ΠΈΡ‚Π° Timer1_OC* ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΈ вылазят Ρ‚Π°ΠΊΠΈΠ΅ звСрскиС Π΄Ρ€Π΅Π±Π΅Π·Π³ΠΈ.

Β 
Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ эту идСю. Π Π°Π·Ρ€Π΅ΡˆΠΈΠΌ прСрывания Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Timer0_0V

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
; Interrupts ==============================================
Timer0_OV:	SEI
		PUSHF
		PUSH	R17
		PUSH	R18
		PUSH	R19
Β 
		INCM	TCNT
Β 
		POP	R19
		POP	R18
		POP	R17
		POPF
Β 
		RETI
Β 
; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А
Timer1_OCA:	SBI	PORTD,3
		RETI
Β 
; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° Π‘
Timer1_OCB:	SBI	PORTD,6
		RETI
Β 
;Бброс Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А ΠΈ Π‘
Timer1_OVF: 	CBI	PORTD,3
		CBI	PORTD,6
		RETI

; Interrupts ============================================== Timer0_OV: SEI PUSHF PUSH R17 PUSH R18 PUSH R19 INCM TCNT POP R19 POP R18 POP R17 POPF RETI ; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А Timer1_OCA: SBI PORTD,3 RETI ; Установка Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° Π‘ Timer1_OCB: SBI PORTD,6 RETI ;Бброс Π±ΠΈΡ‚Π° ШИМ ΠΊΠ°Π½Π°Π»Π° А ΠΈ Π‘ Timer1_OVF: CBI PORTD,3 CBI PORTD,6 RETI

Β 

Β 
ΠšΠ°Ρ€Ρ‚ΠΈΠ½Π° сразу ΠΈΡΠΏΡ€Π°Π²ΠΈΠ»Π°ΡΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ (для нас Π²Π°ΠΆΠ½ΠΎΠ΅) ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΡ‚ Π’Π°ΠΉΠΌΠ΅Ρ€Π° 0. Но Ρ‚ΡƒΡ‚ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΡΠ΅ΠΊΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ риски:

Β 

  • Π‘ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€ΡƒΠ· стСка
  • ΠΠ°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΉ доступ ΠΊ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ TCNT, поэтому Ссли Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»ΠΎ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π΅ TCNT Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Ρ‚ΡŒ локально. Π˜Π½Π°Ρ‡Π΅ Π±Ρ‹ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Ρ€Π΅ΡˆΠ½ΡΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠ³Ρƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ это ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ

.

Β 
ШИМ Π½Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°Ρ…
Когда совсСм всС ΠΏΠ»ΠΎΡ…ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° любом Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π΅. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° заносим ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сначала Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π² Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π° ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π·Π°Ρ…ΠΎΠ΄Π΅ β€” Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ высокого. Ну ΠΈ, само собой, Π½ΠΎΠ³ΠΈ процСссора ΠΏΠΎΠ΄Π΅Ρ€Π³Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠΈΡ‚ΡŒ Π΄ΠΎΡ„ΠΈΠ³Π° ШИМ ΠΊΠ°Π½Π°Π»ΠΎΠ², Π½ΠΎ задолбаСшься всС с ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ всСго этого. И процСссорноС врСмя ΠΆΡ€Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ нСкисло. НС говоря ΡƒΠΆΠ΅ ΠΏΡ€ΠΎ Π΄Ρ€Π΅Π±Π΅Π·Π³ΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сказано. Π­Ρ‚ΠΎ для эстСтов ΠΈΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ†Π΅Π² :)))))

Β 
Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π‘Π°ΠΉΡ‚

Start
Main P16F628a
Main P18F1220
Main ATtiny2313 Assembler
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ MPLAB
Π¨Π°Π±Π»ΠΎΠ½ P16F628a
MOVLW MOVWF
Π¨Π°Π±Π»ΠΎΠ½ ATtiny2313
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управлСния свСтодиодом AVR ASSEMBLER
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управлСния свСтодиодом PIC
Proteus FAQ
ΠŸΠ°ΠΌΡΡ‚ΡŒ ATtiny2313
РСгистры Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° AVR
ΠŸΠΎΡ€Ρ‚Ρ‹ AVR
ΠšΠΎΠΌΠ°Π½Π΄Ρ‹
Main ATtiny2313 C
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управлСния свСтодиодом AVR C
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода AVR ASM
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода PIC
ΠŸΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода AVR C
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода с использованиСм Π°Π½Ρ‚ΠΈΠ΄Ρ€Π΅Π±Π΅Π·Π³Π° AVR ASM
Π Π°Π±ΠΎΡ‚Π° с Π±ΠΈΡ‚Π°ΠΌΠΈ AVR C
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода с использованиСм Π°Π½Ρ‚ΠΈΠ΄Ρ€Π΅Π±Π΅Π·Π³Π° AVR Π‘
ΠœΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ свСтодиод AVR ASM
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода с использованиСм Π°Π½Ρ‚ΠΈΠ΄Ρ€Π΅Π±Π΅Π·Π³Π° PIC ASM
ΠœΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ свСтодиод AVR C
ΠœΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ свСтодиод PIC ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ AVR C
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ AVR ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ PIC ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° AVR ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° PIC ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° AVR C
TCCR1B
T1CON – TIMER1 CONTROL REGISTER
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм прСрывания ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° AVR ASM
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм прСрывания ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° AVR C
Π‘Π΅Π³ΡƒΡ‰ΠΈΠ΅ ΠΎΠ³Π½ΠΈ с использованиСм прСрывания ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° PIC ASM
TIMSK
БСмь Π½ΠΎΡ‚ AVR ASM
БСмь кнопок AVR ASM
Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ-косвСнная адрСсация AVR ASM
БСмь кнопок PIC ASM
БСмь Π½ΠΎΡ‚ PIC ASM
БСмь Π½ΠΎΡ‚ с использованиСм прСрывания PIC ASM
Π’Π°Ρ‘Ρ‚Π° минус PIC ASM
БСмь Π½ΠΎΡ‚ AVR C
ΠœΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Π°Ρ ΡˆΠΊΠ°Ρ‚ΡƒΠ»ΠΊΠ° AVR ASM
ldi
out
rjmp
reti
cbi,sbi
rcall
dec
brne
in
sbrc,sbrs
push
pop
ret
breq
eor
lsl,lsr
brcc,brcs
brlo
cpi
sts
sei
lds
clr
inc
lpm
z
add
adc
mov
andi
rol
adiw
cp
ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Flash
Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ AVR C
CodeVision ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Π°Ρ ΡˆΠΊΠ°Ρ‚ΡƒΠ»ΠΊΠ° AVR C
ΠœΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Π°Ρ ΡˆΠΊΠ°Ρ‚ΡƒΠ»ΠΊΠ° AVR C
Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ pgmspace.h
Ѐункция _delay_ms ΠΈ _delay_us AVR C
ΠšΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π·Π°ΠΌΠΎΠΊ AVR ASM
БСмисСгмСнтный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ PIC ASM
0,1,2,3,4,5,6,7,8,9 PIC ASM
Π’Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π½Π½Ρ‹Ρ… PIC ASM
Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π² двоичнодСсятичныС PIC ASM
Π’Ρ‹Π²ΠΎΠ΄ числа Π½Π° сСмисСгмСнтный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ PIC ASM
Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ PIC ASM
Π’Π°ΠΉΠΌΠ΅Ρ€ PIC ASM
Π¨Π°Π±Π»ΠΎΠ½ PIC18
ΠšΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ PIC ASM
ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ HEX Π² ASCII PIC18
КосвСнная адрСсация(ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ) PIC18 ASM
Π‘Ρ‚Π΅ΠΊ PIC18 ASM
Бписок PIC18 ASM
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.1 PIC18 Π‘ΠΈ стр152
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ проэкта Π½Π° Π‘ΠΈ mcc18
Π–ΠΊΠΈ PIC16F628A
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.3 PIC18 Π‘ΠΈ стр155
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.7 PIC18 Π‘ΠΈ стр162
string_h PIC18 mcc18
delays_h PIC18 mcc18
stdlib_h PIC18 mcc18
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.8 PIC18 Π‘ΠΈ стр166
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6.15 PIC18 Π‘ΠΈ стр217-ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6.16 PIC18 Π‘ΠΈ стр219-ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ прСрывания
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6.18 PIC18 Π‘ΠΈ стр232-Π’Π°ΠΉΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.5 PIC18 Π‘ΠΈ стр266-БСмисСгмСнтный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4-Ρ… разрядного сСмисСгмСнтного ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.13 PIC18 Π‘ΠΈ стр286-Π–ΠšΠ˜
Часы LCD
Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ²
ЧастотомСр PIC16 ASM
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.7 PIC18 Π‘ΠΈ стр276-Π–ΠΊΠΈ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.2 PIC18 Π‘ΠΈ стр257-ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° 4×3
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.11 PIC18 Π‘ΠΈ стр282-Π–ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ строки
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7.12 PIC18 Π‘ΠΈ стр284-Π–ΠšΠ˜ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°
PIC18 Π‘ΠΈ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 8.3 PIC18 Π‘ΠΈ стр340-Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΈ Часы
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 8.5 PIC18 Π‘ΠΈ стр350-USART RS232
USART SYNCHRONOUS MASTER TRANSMISSION
Асинхронная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… TxD
Асинхронный ΠΏΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ… RxD
PIC18 Π’Ρ‹Π²ΠΎΠ΄ Π½Π° дисплСй Hex Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹..
PIC18F2480 USART FT232 DS18B20
PIC18F4550 DS18B20 с Π½Π°Ρ‡Π°Π»Π°
PIC18F4550 DS18B20 Ѐункция чтСния Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
PIC18F4550 LCD
Read ROM DS18B20 PIC18 LCD
ДинамичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Hex Π² ASCII PIC18
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля
STM32F407VG Reference manual
МиганиС свСтодиодом с CMSIS
МиганиС свСтодиодом с StdPeriph
Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ SysTick
ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
МиганиС свСтодиодов Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ delay
HAL CAN LOOPBACK

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR ATtiny Π½Π° Arduino IDE

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR ATtiny Π½Π° Arduino IDE

Ρ€Π°Π·Π΄Π΅Π»Ρ‹: Arduino , ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρ‹ , AVR , Π΄Π°Ρ‚Π°: 23 фСвраля 2014Π³.

Часто ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΠ± Arduino, Ρ‡Ρ‚ΠΎ это Π΄ΠΎΡ€ΠΎΠ³ΠΎ, нСэффСктивно, профанация ΠΈΠ΄Π΅ΠΈ ΠΈ Ρ‚.ΠΏ. Если Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‚ΠΎ окаТСтся, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ эта ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° справСдлива. Одним Arduino сыт Π½Π΅ Π±ΡƒΠ΄Π΅ΡˆΡŒ. Если ΠΌΠ½Π΅ трСбуСтся ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ для Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ простого, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: дисплСй ΠΈ ΠΏΠ°Ρ€Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‚ΠΎ использованиС для Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Arduino, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π·Π°Π±ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Π²ΠΎΠ·Π΄Π΅ΠΉ элСктронным микроскопом. Но Ссли ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ эмоции ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ†Π΅Π½Π½ΠΎΠ΅ Π² Arduino-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…? На ΠΌΠΎΠΉ взгляд, это ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° написанного ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Называя Π²Π΅Ρ‰ΠΈ своими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ с нуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с дисплССм, я Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я использовал для Arduino. И Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ «ΡΠ»Π°Π±ΠΎ», Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π½Π΅ Π²ΠΈΠΆΡƒ смысла Π² ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ вСлосипСда.

О ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Arduino для β€œΠΌΠ»Π°Π΄ΡˆΠ΅Π³ΠΎβ€ сСмСйства ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR ATtiny ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² этом постС.

НСсколько ссылок:

1) Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: arduino-tiny
Π’Π°ΠΊ ΠΆΠ΅, Π² вопросС ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:
2) Programming an ATtiny w/ Arduino 1.0
3) ISP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ ΠΈΠ· Arduino. РазбСрСмся ΠΈ с ATtiny
4) Ошибка Β«please define PAGEL and BS2 signals in the configuration file for partΒ» ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ATtiny45/85

Из Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ‚Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ: АндрСй ЕвстифССв «ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR сСмСйства Tiny»

    ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π΅Ρ‚Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°.
    • Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?
    • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ позволяСт Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ATtiny84 (84/44/24), ATtiny85 (85/45/25), ΠΈ ATtiny2313 (4313).
    • ATtiny84/44/24 это 14-pin ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ„Π»Π΅Ρˆ-памяти ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ 8/4/2 ΠšΠ±Π°ΠΉΡ‚Π° соотвСтствСнно.
    • ATtiny85/45/25 — это Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ Π½Π° 8-pin. ATtiny2313/4313 — ВыдСляСтся ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ ряда являясь ΠΏΠΎ сути Ρ€Π΅Π²ΠΈΠ·ΠΈΠ΅ΠΉ AVR Classic AT90s2313. На Π±ΠΎΡ€Ρ‚Ρƒ имССтся ΠΈ I2C ΠΈ UART, 20-pin, 2/4 ΠšΠ±Π°ΠΉΡ‚Π° ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ. Вкусная ΡˆΡ‚ΡƒΡ‡ΠΊΠ°.

    Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Π°Ρ€ΡˆΠ΅Π΅ сСмСйство ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATmega. ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ATtiny придСтся ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… плюшСк. Π§Ρ‚ΠΎ ΠΌΡ‹ тСряСм ΠΊΡ€ΠΎΠΌΠ΅ мСньшСй памяти ΠΈ мСньшСго количСства Π½ΠΎΠ³? ΠžΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ придСтся ΠΎΡ‚ UART ΠΈ I2C интСрфСйсов(ATtiny2313 это ΠΏΠΎ сути Π½Π΅ совсСм ATtiny). Если вас это Π½Π΅ ΠΏΡƒΠ³Π°Π΅Ρ‚, Ρ‚ΠΎ ΠΈΠ΄Π΅ΠΌ дальшС.

  1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π² Ρ‡ΠΈΠΏ, Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Π—Π΄Π΅ΡΡŒ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сам Arduino Π² качСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ ПО: Slackware64-14.1 + Arduino-1.0.5
    ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ:
  1. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ATtiny для Arduino IDE. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ссылкС Π½Π° сайт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° arduino-tiny На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я Π²ΠΈΠΆΡƒ Π΄Π²Π° zip Π°Ρ€Ρ…ΠΈΠ²Π° доступных для скачивания, для вСрсий Arduino IDE v1.0 ΠΈ v1.5. Π₯ΠΌ. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ послСднСй доступной вСрсиСй 1.0.5, ΠΊΠ°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΠ² слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ? Π’Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅. ВСрсия 1.5 Π΅Ρ‰Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ разрабатываСтся. Π˜Ρ‚Π°ΠΊ:
    $ cd sketchbook 
    $ mkdir hardware
    $ cd hardware
    $ wget http://arduino-tiny.googlecode.com/files/arduino-tiny-0100-0018.zip
    $ unzip ./arduino-tiny-0100-0018.zip
    ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ tiny Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» README. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ вашим Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΡΠ΅ΠΊΡ†ΠΈΡŽ INSTALLATION/Π£Π‘Π’ΠΠΠžΠ’ΠšΠ
    Если ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ дошли Π΄ΠΎ этапа:
    * Create a new file named "boards.txt" in the tiny directory.  Following from
      the examples above, the file would be here...
    
          C:\Projects\Arduino\hardware\tiny\boards.txt
    
    * Open the "boards.txt" file and the "Prospective Boards.txt" file using your
      favourite text editor.
    
    * Copy board entries of interest from "Prospective Boards.txt" to "boards.txt"
      (or copy the entire contents of "Prospective Boards.txt" to "boards.txt").
      Board entries are delineated by a long line of pound-signs.
    
    * In the "boards.txt" file, change the "upload.using" entries to the
      appropriate value for your setup.
    
    * Save and close "boards.txt".  Close "Prospective Boards.txt".
    ΠΈΠ· всСго этого слСдуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
    $ cp -v  'Prospective Boards.txt' ./boards.txt
    
    послС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Arduino IDE
    $ arduino
    

    Если всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π² мСню: β€œΠ‘Π΅Ρ€Π²ΠΈΡ->ΠŸΠ»Π°Ρ‚Π°β€ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATtiny:

    Π—Π΄Π΅ΡΡŒ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, сразу слСдуСт ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ. oscillator — Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты. Если Π²Ρ‹ ΠΊΡƒΠΏΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Π΅Ρ‰Π΅ Π½Π΅ успСли ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ fuse-Π±ΠΈΡ‚Ρ‹, Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ встроСнным ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° частотС 1MΠ“Ρ†. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ошибСшься с частотой? Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚, Π½ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈΠ»ΠΈ быстрСС.

    BOD — Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ питания Π°ΠΊΠ° Brown-out Detection. Π”Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ питания ΠΈ β€œΠΌΡΠ³ΠΊΠΎβ€ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‡ΠΈΠΏ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΠ² Π΄Ρ€Π΅Π±Π΅Π·Π³ питания. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ питания, процСсс Π½Π΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ, Ρ‡ΠΈΠΏ Π΄ΠΎΠ»ΠΈ сСкунды Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π΅ достаточном ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΌ состоянии, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΡˆΠΈΡ‚Π°Ρ Π² Π½Π΅ΠΌ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… адрСсов Ρ‚.Π΅. Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ хаотичСски. Π­Ρ‚ΠΎ Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ Ρ‡Π΅ΠΌ? Если ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΈΡˆΠ΅Ρ‚ Π² EEPROM, Ρ‚ΠΎ Π² этом состоянии ΠΎΠ½Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‚ΡƒΠ΄Π° ΠΊΠ°ΡˆΡƒ.

  2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Π—Π΄Π΅ΡΡŒ всС просто. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Arduino ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, запуститС Arduino IDE, ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²: мСню -> Π€Π°ΠΉΠ»-> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹->ArduinoISP. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ².
  3. Π‘Π±ΠΎΡ€ΠΊΠ° схСмы. Для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ISP интСрфСйс Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° MOSI, MISO, SCK, RESET. ISP-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ позволяСт ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ Ρ‡ΠΈΠΏ ΡƒΠΆΠ΅ впаянный Π² схСму. Он Ρ‚Π°ΠΊ ΠΈ называСтся In-System Programming внутрисхСмный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Π’ связи с этим, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ MOSI, MISO, SCK ΠΏΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ…/Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ². РасполоТСниС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π’Π°ΡˆΠ΅Π³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ datasheet Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

    Π£ мСня ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ оказался ATtiny45

    Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ такая

    Π― использовал Π² качСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Arduino Π½Π° ATmega168. ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€ элСктролитичСский 10ΠΌΠ€ x 16Π’. ΠœΠΈΠ½ΡƒΡ Π½Π° GND, плюс Π½Π° RESET. Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ Π½Π° Arduino c ATmega328. Π’ΠΈΠ΄Π΅Π» схСмы Π±Π΅Π· кондСнсатора, Π½ΠΎ ΡˆΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ATmega328 Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π».

  4. ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°. Π’ Arduino IDE Π² мСню БСрвис — ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ установитС ΠΎΠΏΡ†ΠΈΡŽ: Arduino as ISP Π’ мСню β€œΠŸΠ»Π°Ρ‚Π°β€ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
    ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΈΠ· β€œΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²β€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ β€œBlink”. Π’ самом Π½Π°Ρ‡Π°Π»Π΅, строку:
    int led=13
    исправтС Π½Π°
    int led =0
    К Pin0 (пятый ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ИБ) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор, Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ† рСзистора Π°Π½ΠΎΠ΄ свСтодиода, ΠΊΠ°Ρ‚ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ соСдинитС с Π·Π΅ΠΌΠ»Π΅ΠΉ.
    Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π·Π°Π»Π΅ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ сразу.
    ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
    please define PAGEL and BS2 signals in the configuration file for part
    
    Π’Π°ΡˆΠΈΠΌ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»
    $ nano /opt/arduino/hardware/tools/avrdude.conf
    
    Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΡΠ΅ΠΊΡ†ΠΈΡŽ со своим ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π΅ Π΄Π²Π΅ строки
    pagel = 0x01;
    bs2 = 0x01;
    ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ смотритС ΠΏΠΎ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ ссылкС

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Attiny2313 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino Uno

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиод Π½Π° вашСм Attiny 2313

. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ заводская настройка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — 1 ΠœΠ“Ρ†, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° 8 ΠœΠ“Ρ†, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅: burn bootloader.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ -> Attiny2313 @ 8MHZ
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ -> Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹-> ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚-> Arduino Π² качСствС ISP
Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ -> Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹-> Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: этот шаг Π½Π΅ записываСт Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π½Π° ваш Ρ‡ΠΈΠΏ, это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для установки ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту.

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ А 0.1 ΠΌΠΊΠ€ Ρ‡Π΅Ρ€Π΅Π· VCC ΠΈ GND ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅
ΠΊ процСссору, ΠΈ рСзистор 10 кОм ΠΌΠ΅ΠΆΠ΄Ρƒ RESET ΠΈ VCC.

Бвязь с Attiny 2313

ВсСгда приятно ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ вашСго ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ³ΠΎ.
На Arduino Π²Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этой Ρ†Π΅Π»ΠΈ Serial.print ().
К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΈ Π½Π° Attiny.
На самом Π΄Π΅Π»Π΅ Ρƒ вас Π΅ΡΡ‚ΡŒ большС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

TinyDebugSerial — поставляСтся с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ядра (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ· attiny)
SoftwareSerial — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SoftwareSerial (Π²Ρ…ΠΎΠ΄ / Π²Ρ‹Ρ…ΠΎΠ΄ attiny)
TinyKnockbang — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TinyISP (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ output fram attiny)
RELAY_SERIAL — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TinyISP (Input / output attiny)
Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС: здСсь

РСшСниС для Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ АЦП

Π’ Atmel Π΅ΡΡ‚ΡŒ нСсколько Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ АЦП, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° Attiny2313.
НапримСр:
http://www.atmel.com/Images/doc0942.pdf

К соТалСнию, ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² программирования. Но Π½Π΅Π΄Π°Π²Π½ΠΎ я нашСл простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅
http://learn.adafruit.com/photocells/using-a-photocell

Π’ эскизС Π²Π½ΠΈΠ·Ρƒ этой страницы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ digitalRead () для измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² RC-сСти.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ фоторСзистор, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€.
Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» это с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 10 кОм ΠΈ кондСнсатором 0,1 ΠΌΠΊΠ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π» ΠΌΠ½Π΅ показания ΠΎΡ‚ 0 Π΄ΠΎ 600
На скСтчС PIN 2 это PD2 Π½Π° Attiny2313 — физичСски ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ # 4

ЀизичСскиС / логичСскиС Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².
F.ex. ΠΏΠΈΠ½ 13 Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ мигания — это физичСский ΠΏΠΈΠ½ 16
Π‘ΠΌ. памятку

Attiny2313 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅:

Attiny2313 — это Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ RISC с Π½ΠΈΠ·ΠΊΠΈΠΌ энСргопотрСблСниСм Π½Π° Π±Π°Π·Π΅ AVR. Π˜ΠΌΠ΅Π΅Ρ‚ 20 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Он ΠΈΠΌΠ΅Π΅Ρ‚ 2 ΠšΠ‘ ΠΈΠ»ΠΈ 4 ΠšΠ‘ Ρ„Π»ΡΡˆ-памяти, 128 ΠΈΠ»ΠΈ 256 Π±Π°ΠΉΡ‚ΠΎΠ² SRAM, 128 ΠΈΠ»ΠΈ 256 Π±Π°ΠΉΡ‚ΠΎΠ² EEPROM, 8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, 1 x 4 ΠΊΠ°Π½Π°Π»Π° PWM ΠΈ 18 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² GPIO. Но ΠΊΠ°Π½Π°Π»Π° АЦП Π½Π΅Ρ‚.Π­Ρ‚ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ связь UART, I 2 C, SPI (Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° для связи, Π²Ρ‹Π²ΠΎΠ΄Ρ‹ GPIO ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для связи).

Лист Π΄Π°Π½Π½Ρ‹Ρ…:

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. ВСхничСскоС описаниС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Attiny2313.

Настройка:

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½Π°ΠΌ потрСбуСтся ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для внутрисистСмного программиста ΠΈΠ»ΠΈ ISP. Π­Ρ‚ΠΎΡ‚ ISP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR.Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Arduino Uno Π² качСствС ISP. Π˜Ρ‚Π°ΠΊ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Attiny2313 ΠΊ Arduino Uno. Для этого Π½Π°ΠΌ понадобятся Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ —

Arduino Uno —————> Attiny2313

ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 13 ——————> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 19 (SCL)

ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 12 ——————> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 18 (MISO)

ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 11 ——————> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 17 (MOSI)

ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 10 ——————> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 (Π‘Π‘Π ΠžΠ‘)

VCC ——————> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 20 (VCC)

ЗСмля —————-> ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 10 (GND)

ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этих ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Ρ€Π°Π±ΠΎΡ‚Ρ‹.ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ распространСнным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм являСтся Arduino IDE. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Arduino IDE с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Arduino arduino.cc. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ установки IDE Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ tiny.zip ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ распакуйтС Π΅Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ Β« hardware Β» Π² срСдС Arduino IDE. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ IDE ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ Arduino Uno Ρ‡Π΅Ρ€Π΅Π· USB-ΠΏΠΎΡ€Ρ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π€Π°ΠΉΠ» > ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹> ArduinoISP ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ скСтч, Π·Π°Ρ‚Π΅ΠΌ просто Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ ΠΈΠ· Tool> Board> Arduino Uno , Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΡ€Ρ‚ ΠΈΠ· Tool> Port> COM x .Π—Π°Ρ‚Π΅ΠΌ просто Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ эскиз, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ эскиз ArduinoISP

ArduinoISP эскиз

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ:

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Π½Π° чистый ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Attiny2313. Для этого сначала Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ»Π°Ρ‚Ρƒ Attiny2313 с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой 8 ΠœΠ“Ρ†. Π—Π°Ρ‚Π΅ΠΌ просто Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ Tool> Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ .ΠœΠΎΠΆΠ΅Ρ‚, это Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ-Π΄Π²Π΅ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ записи Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΏΠΎΡ€Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Для тСстирования Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π·ΡΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ написанный эскиз ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ эскиза Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΈΠ½Π° Π² соотвСтствии с этим рисунком.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ эскиз Blink ΠΈΠ· Π€Π°ΠΉΠ»> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹> ΠžΡΠ½ΠΎΠ²Ρ‹> Blink . И ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 13 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.И ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° с Tool> Programmer> Arduino ΠΊΠ°ΠΊ ISP.

Π—Π°Ρ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ эскиз ΠΈΠ· Sketch> Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Programmer. Он Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ эскиз Π² ваш ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. НадСюсь, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Если это нСбольшоС усилиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² любом вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΈ усилия Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌΠΈ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π² Π½Π° нашСй страницС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ элСктронноС письмо Π½Π° адрСс [email protected]. Бпасибо Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ с Π½Π°ΠΌΠΈ.


Бпасибо

aatishb / attiny-examples: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ эскизов Arduino для программирования ATTiny85

GitHub — aatishb / attiny-examples: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ эскизов Arduino для программирования ATTiny85

Π€Π°ΠΉΠ»Ρ‹

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ ссылка НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ послСднюю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ фиксации.

Π’ΠΈΠΏ

Имя

ПослСднСС сообщСниС фиксации

ВрСмя фиксации

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² скСтчСй для программирования ATTiny85 с использованиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Arduino. ATTiny — это ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΅ 1 Π΄ΠΎΠ»Π»Π°Ρ€Π°. Он ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ нСдорогая, компактная ΠΈ ΠΌΠ΅Π½Π΅Π΅ мощная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Arduino.

  • LilyTwinkle ΠΈΠ»ΠΈ ATTiny85
  • ΠœΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ AVR ΠΈ ΡƒΠ΄Π»ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ кабСль USB
  • TM1637 4-Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ свСтодиодный дисплСй (ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΡ… для считывания напряТСний, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ATTiny Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ связь)

ΠŸΡ€ΠΈ использовании LilyTwinkle ΠΈΠ»ΠΈ посадочного мСста SOIC ATTiny:

  • ВСстовый Π·Π°ΠΆΠΈΠΌ IC — SOIC 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ
  • ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌΠΈ ΠΈ ΠΆΠ΅Π½Ρ‰ΠΈΠ½Π°ΠΌΠΈ
  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ это руководство для установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ATtiny для Arduino IDE. Π’ мСню инструмСнтов Π² Arduino IDE установитС Board Π½Π° Β«ATtiny 25/45/85Β», процСссор Π½Π° Β«ATtiny85Β», часы Π½Π° Β«Internal 8 MhzΒ» ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Π½Π° Β«USBtinyISPΒ».

  2. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этим инструкциям, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ATtiny с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° AVR. Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ LilyTwinkle ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ATTiny (DIP-слСд), ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΊ Ρ€Π°Π·ΡŠΠ΅ΠΌΡƒ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π΅ Tiny AVR.

  3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² своСй срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Arduino. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ схСму для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ эскиза.

  4. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свСтодиодный дисплСй TM1637, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π’ срСдС Arduino IDE ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Sketch> Include Libraries> Manage Libraries ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ 1637.Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Grove 4-Digit Display ΠΎΡ‚ Seeed Studio. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ ΠΠ°Ρ‚ΠΈΡˆΠ΅ΠΌ Π‘Ρ…Π°Ρ‚ΠΈΠ΅ΠΉ, Π¨Π°Ρ€ΠΎΠ½ Π”Π΅ Π›Π° ΠšΡ€ΡƒΠ· ΠΈ Π¨Π΅Ρ„Π°Π»ΠΈ Наяком ΠΏΡ€ΠΈ Π‘ΠΎΠ²Π΅Ρ‚Π΅ ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎΠ½ΡΠΊΠΎΠ³ΠΎ унивСрситСта ΠΏΠΎ Π½Π°ΡƒΠΊΠ΅ ΠΈ тСхнологиям.

Ѐункция TinyTone для воспроизвСдСния ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΠ½ΠΎΠ² Π½Π° ATtiny85 Π±Ρ‹Π»Π° создана Дэвидом ДТонсоном-Дэвисом.

Около

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ эскизов Arduino для программирования ATTiny85

Π’Π΅ΠΌΡ‹

рСсурсов

ЛицСнзия

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС Π² настоящСС врСмя.Π’Ρ‹ вошли Π² систСму с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс. Π’Ρ‹ Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· систСмы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс.

Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ attiny2313 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino

Π­Ρ‚ΠΎ вторая Ρ‡Π°ΡΡ‚ΡŒ настройки Arduino для программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Attiny. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… частях ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Для справки Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Attiny2313, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ это сдСлаСтС, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Arduino ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π²Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°, возмоТности I2C, 3 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° PWM ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. для связи.

attiny2313 arduino

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ATtiny2313 согласно ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ATtiny85 с Arduino Uno, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅

http://drazzy.com/package_drazzy.com_index.json

Настройка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ attiny2313 ΠΊ ΠΏΠ»Π°Ρ‚Π΅ Arduino

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Attiny2313 ΠΊ Arduino ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

1) attiny2313 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 10 Arduino сброс
2) attiny 2313 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 17 ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 11 Arduino MOSI
3) ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 18 attiny2313 ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 12 Arduino MISO
4) ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 19 attiny2313 ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 13 Arduino SCK
5) ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ attiny2313 10 ΠΊ Arduino GND
6) attiny2313 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 20 ΠΊ Arduino VCC

ΠœΠ°ΠΊΠ΅Ρ‚

На схСмС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ свСтодиод, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ для тСстирования, ΠΎΠ½ Π±Ρ‹Π» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ 7.

ступСнСй

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ArduinoISP ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ArduinoISP Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ Arduino, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ISP.

1) ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ArduinoISP.
Π€Π°ΠΉΠ»> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹> ArduinoISP

2) Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> ΠŸΠΎΡ€Ρ‚> COMX (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ здСсь свой com-ΠΏΠΎΡ€Ρ‚)

2) Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Arduino, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Arduino Uno.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> ΠŸΠ»Π°Ρ‚Π°> Arduino Uno

3) УстановитС Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ°ΠΊ AVRISP MKII.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€> AVRISP MKII

4) НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

5) Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваш Arduino Uno настроСн ΠΊΠ°ΠΊ программист ISP. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Arduino для программирования Attiny с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ мигания

6) Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†Π΅Π»ΡŒ AVR, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ISP Arduino Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> ΠŸΠ»Π°Ρ‚Π°> ATtinyx313

7) Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ для ISP Arduino, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> Π§ΠΈΠΏ> ATtiny2313

8) Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ частота для Arduino ISP установлСна ​​на 8 ΠœΠ“Ρ†.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> Часы> 8 ΠœΠ“Ρ† (Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ эти настройки Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π½ΠΈΠΆΠ΅

9) Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹> ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚> Arduino ΠΊΠ°ΠΊ ISP

10) НаконСц, запуститС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ скСтча Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Attiny2313
Π€Π°ΠΉΠ»> Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ

Π­Ρ‚ΠΎ наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

 // функция настройки запускаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ сброса ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ
void setup () {
  // ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ 13 ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄.pinMode (7, Π’Π«Π₯ΠžΠ”);
}

// функция Ρ†ΠΈΠΊΠ»Π° запускаСтся снова ΠΈ снова навсСгда
void loop () {
  digitalWrite (7, Π’Π«Π‘ΠžΠšΠ˜Π™); // Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод (HIGH - ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ напряТСния)
  Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° (1000); // ΠΆΠ΄Π΅ΠΌ сСкунду
  digitalWrite (7, LOW); // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод, пониТая напряТСниС
  Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° (1000); // ΠΆΠ΄Π΅ΠΌ сСкунду
} 

Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиод ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 7 вашСго Attiny2313, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ свСтодиодная Π²ΡΠΏΡ‹ΡˆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Π½ΠΎ это каТСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π² Attiny, ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° частотС 8 ΠœΠ“Ρ†, Π° Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ свСтодиод Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ATtiny85 с Arduino IDE

Π― ΠΊΡƒΠΏΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Digispark ATtiny85.

Но Π΄Π²Π° дня Π½Π΅ смог ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·-Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послС Π΄ΠΎΠ»Π³ΠΈΡ… поисков я нашСл ΠΎΡ‚Π²Π΅Ρ‚. Π― сослался Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ руководства ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π». Π― ΠΏΠΎΠ»ΡƒΡ‡Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ для COM-ΠΏΠΎΡ€Ρ‚Π° Π² Arduino. Π’ΠΎΡ‚ я Π·Π° это Ρ€Π΅ΡˆΠΈΠ».

НазначСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²: всС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² / Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ²

Π’Ρ‹Π²ΠΎΠ΄ 0 β†’ I2C SDA, PWM (свСтодиод Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ B)

Π’Ρ‹Π²ΠΎΠ΄ 1 β†’ PWM (свСтодиод Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ A)

Π’Ρ‹Π²ΠΎΠ΄ 2 β†’ I2C SCK, Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π’

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 3 β†’ Аналоговый Π²Ρ…ΠΎΠ΄ (Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для USB +, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ USB)

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 4 β†’ ШИМ, Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ (Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для USB-, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ USB)

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 5 β†’ Аналоговый Π²Ρ…ΠΎΠ΄

Для удобная ссылка Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π°Π΄ Digispark — возмоТности ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² пСрСчислСны Π½Π° Π·Π°Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

Π¨Π°Π³ 1. УстановитС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Windows для ATtiny85

ΠΏΡ€ΠΈ использовании Arduino 1.6.6 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈ windows — Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, распакуйтС ΠΈ запуститС Β«Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹Β» (Π² 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСмах) ΠΈΠ»ΠΈ Β«DPInst64Β» (Π² 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСмах).

Π€Π°ΠΉΠ»Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° располоТСны здСсь:

Бсылка

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° .zip> распакуйтС Π΅Π³ΠΎ.

ΠΈ запуститС

Install drivers.exe (для 64-разрядной ОБ)

DPinst64.exe (для 32-разрядной ОБ)

Π¨Π°Π³ 2: УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ‹ для Arduino

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ этот URL-адрСс ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π€Π°ΠΉΠ»> настройки> Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ URL-адрСс ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° доски

  http: // digistump.com / package_digistump_index.json
  
  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Β«Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹Β», Π° Π·Π°Ρ‚Π΅ΠΌ Π² подмСню Β«ΠŸΠ»Π°Ρ‚Π°Β» — Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ»Π°Ρ‚Β», Π° Π·Π°Ρ‚Π΅ΠΌ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ спискС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «БодСйствиС»:
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ Β«ΠŸΠ»Π°Ρ‚Ρ‹ Digistump AVRΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β« Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Β».
  • Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ прогрСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠΊΠ½Π° Β«Boards ManagerΒ», ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, рядом с этим элСмСнтом Π² спискС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ «УстановлСно».
  • ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π˜ WINDOWS: ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ мастСра установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β» Π² этом ΠΎΠΊΠ½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для ΠΏΠ»Π°Ρ‚ Digistump (Ссли ΠΎΠ½ΠΈ Ρƒ вас ΡƒΠΆΠ΅ установлСны, этот установщик ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΠΈΡ… ΠΈ установит Π»ΡŽΠ±Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚)
  • По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ установки Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ»Π°Ρ‚Β» ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Digispark Π² мСню Β«Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹Β» β†’ Β«ΠŸΠ»Π°Ρ‚Ρ‹Β».Β«Digispark (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — 16,5 ΠœΠ“Ρ†)Β» — это ΠΏΠ»Π°Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.
  • На этом установка Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°! (ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Linux см. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅)

Linux УстановитС Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ установили ΠΏΡ€Π°Π²ΠΈΠ»Π° udev, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ здСсь: Π Π°Π·Π΄Π΅Π» устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Π’ΠΠ˜ΠœΠΠΠ˜Π• ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π˜ LINUX: ΠŸΠžΠ–ΠΠ›Π£Π™Π‘Π’Π, ΠŸΠ ΠžΠ’Π•Π Π¬Π’Π• БВРАНИЦУ Π£Π‘Π’Π ΠΠΠ•ΠΠ˜Π― ΠΠ•Π˜Π‘ΠŸΠ ΠΠ’ΠΠžΠ‘Π’Π•Π™ LINUX **

Π¨Π°Π³ 3: Как для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Digispark Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, совмСстимыС с Arduino.Digispark ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ.

Π’ мСню Β«Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΠ»Π°Ρ‚Π°Β» β†’ Β«DigisparkΒ» (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — 16,5 ΠœΠ“Ρ†)

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ.

Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ваш Digispark ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠΎΠ»Π΅ состояния Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Digispark — Π½Π° этом этапС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ — ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ снова ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² Digispark.Если Π²Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Digispark ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ снова ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ источнику питания, ΠΏΠ΅Ρ€Π΅Π΄ запуском Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² 5 сСкунд. Π­Ρ‚Π° 5-сСкундная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° — это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Digispark Pro, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ Π΅Π³ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π¨Π°Π³ 4: УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Об этом Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ

Digisparks Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС digispark arduino обмСниваСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с digispark Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… низкоскоростных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² USB ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² HID, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто ΠΈ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ совмСстимым со спСцификациСй USB.ΠŸΡ€ΠΈ использовании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Digispark Arduino Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π² спискС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² — Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Digispark Π²Ρ‹Π±Ρ€Π°Π½ Π² мСню Programmer, Π° Digispark (ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ΅ ядро) Π²Ρ‹Π±Ρ€Π°Π½ Π² мСню Board, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΡ€ΠΈ использовании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Digispark Arduino Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π² спискС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² — Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Digispark Π²Ρ‹Π±Ρ€Π°Π½ Π² мСню Programmer, Π° Digispark (ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ΅ ядро) Π²Ρ‹Π±Ρ€Π°Π½ Π² мСню Board, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.
  • Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сообщСниС «Устройство Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎΒ» Π΄Π°ΠΆΠ΅ послС установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° DigiUSB Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: http://digistump.com/board/index.php/topic, 257.0.html
  • Если Windows Π½Π΅ распознаСт Β«DigiUSBΒ», Π° ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Β«HID-совмСстимоС устройство» / Β«USB-устройство Π²Π²ΠΎΠ΄Π°Β», ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ДиспСтчСр устройств ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ «Устройства интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ» USB-устройство Π²Π²ΠΎΠ΄Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ поставщика. 0x16C0 ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Β» / Β«ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Β» / Β«ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· списка», ΠΈ Ρ‚Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ DigiUSB.

ΠžΡΠ½ΠΎΠ²Ρ‹: ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ свСтодиода с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AVR

Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ AVR ΠΌΠΈΠ³Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСвСроятно слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ΠΌ Arduino, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Π½Π΅ Ρ‚Π°ΠΊ! Π’ этом постС ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ мигания Π½Π° ATtiny2313. Π­Ρ‚ΠΎ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ использованиС Arduino Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. Π˜Ρ‚Π°ΠΊ, приступим!

Π’Π°ΠΌ понадобится:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Mac. Π•ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, доступныС для Windows ΠΈ Linux, ΡΡƒΡ‚ΡŒ такая ΠΆΠ΅, ΠΊΠ°ΠΊ описано Π² этом постС.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ATtiny2313 ΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ!

ATtiny2313 являСтся основным Ρ‡ΠΈΠΏΠΎΠΌ Π² этом Π½Π°Π±ΠΎΡ€Π΅. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΡ€ΠΎΠ»ΠΈΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ здСсь.

ΠŸΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ всС Π΄Π΅Ρ‚Π°Π»ΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π³Π½Π΅Π·Π΄ΠΎ DIP совпадаСт с Π²Ρ‹Π΅ΠΌΠΊΠΎΠΉ.

ΠŸΠΎΡ€Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свСтодиод ΠΈ рСзистор. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ PB3. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ особСнный, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€! Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ приятным Π² использовании для затухания.

Π₯отя Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π½Π° этой ΠΏΠ»Π°Ρ‚Π΅ «странныС», Ρƒ этого Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ прСимущСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ большС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с AVR.

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ собрали USBTinyISP, сСйчас самоС подходящСС врСмя для этого. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ инструкциям здСсь. Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π½Π° приспособлСнии для крСплСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² совпадаСт со стрСлкой Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части! ДоступСн ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт всС вмСстС, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Crosspack. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ здСсь послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ установитС Π΅Π΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° микросхСмС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ make-Ρ„Π°ΠΉΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ. Π’ΠΎΡ‚ make-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали для этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ части make-Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (Ссли Π²Ρ‹ использовали Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡ΠΈΠΏ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€), — это устройство, часы, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΠΈ.

ΠΊΠΎΠ΄

Π£Π‘Π•Π”Π˜Π’Π•Π‘Π¬, ЧВО ΠŸΠ Π•Π”ΠžΠ₯Π ΠΠΠ˜Π’Π•Π›Π˜ ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž! ЗначСния Π² make-Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, установлСны для ATtiny2313.Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой AVR, Ссли испортитС ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ Ρ‚ΠΎ, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ вас Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Arduino. Однако, Ссли Π²Ρ‹ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ, это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ AVR здСсь.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ USBTinyISP, Π²Π°ΠΌ придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PROGRAMMER.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ протСстируСм make-Ρ„Π°ΠΉΠ», ΠΎΡ‚ΠΊΡ€Ρ‹Π² Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» ( /Applications/Utilities/Terminal.app ) ΠΈ ввСдя ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make all .Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ тСкст, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π½ΠΈΠΆΠ΅. Если Π²Ρ‹ этого Π½Π΅ сдСлаСтС, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ это, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² установку Crosspack.

НаконСц, самоС интСрСсноС — написаниС ΠΊΠΎΠ΄Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ‡ΠΈΠΏ! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ наш ΠΊΠΎΠ΄ здСсь.

_BV () — это макрос avr для сдвига Π±ΠΈΡ‚ΠΎΠ² Π²Π»Π΅Π²ΠΎ. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиода ΠΌΡ‹ устанавливаСм PORTB Π½Π° 8 ΠΈΠ»ΠΈ 0 соотвСтствСнно. ΠžΡ‚ΡΡŽΠ΄Π° бСрСтся функция delay_ms , Π° число 17500 бСрСтся ΠΈΠ· Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся для выполнСния Ρ†ΠΈΠΊΠ»Π°.ΠšΡ€ΡƒΡ‚ΠΎ Π°!

Π‘Π½ΠΎΠ²Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make all Π² Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ измСнился с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй компиляции. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ всС ошибки, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ USBtinyISP, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΊΠΎΠ΄! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make install . Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ тСкст. На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ снимкС экрана ΠΏΠΎΠΊΠ°Π·Π°Π½Π° конСчная Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

Если Π±Ρ‹ всС Π±Ρ‹Π»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ свСтодиод, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ avr! Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΊΡ€ΡƒΡ‚ΠΎ, ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ make-Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Π² порядкС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±Ρ€ΠΎΡΡŒΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ² самому сСбС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ большС! Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ список рСсурсов. Π§Ρ‚ΠΎ Π’Π« Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ со своим avr? Π”Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ Π² Google+ ΠΈ Twitter ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ это Π½Π° Π²Π΅Ρ‡Π΅Ρ€ΠΈΠ½ΠΊΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²! Π£Π΄Π°Ρ‡Π½ΠΎΠ³ΠΎ Π²Π·Π»ΠΎΠΌΠ°!

Tinyboard: 8-контактная ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Π° ATTiny

Около

Tinyboard — это нСбольшая многоцСлСвая пСчатная ΠΏΠ»Π°Ρ‚Π° (PCB), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, построСнных Π½Π° 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Atmel AVR Tiny (ATTiny25 / 45/85, ATTiny13 ΠΈ Ρ‚. Π”.).Он Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ достаточно Π³ΠΈΠ±ΠΊΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ 0 Ом ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… пассивных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².


Π₯арактСристики

ΠœΠ°Π»Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€
50 ΠΌΠΌ Π½Π° 24,5 ΠΌΠΌ с двумя ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ½Ρ‹ΠΌΠΈ отвСрстиями M2
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ всС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ):
  • Π΄ΠΎ Π΄Π²ΡƒΡ… ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи с использованиСм Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля ATTiny (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для питания Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ свСтодиодов)
  • Π΄ΠΎ пяти ΡΠΈΠ»ΡŒΠ½ΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ², управляСмых N-ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ MOSFET-транзисторами (посадочноС мСсто SOT-23)
  • Π΄ΠΎ пяти Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ с внСшними ΠΏΠΎΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈ рСзисторами)
  • Π΄ΠΎ пяти Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ Π½ΠΈΠΆΠ½ΠΈΡ… частот
  • Π΄ΠΎ пяти Π»ΠΈΠ½ΠΈΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² см. НиТС.
Π¨Ρ‚Π΅ΠΊΠ΅Ρ€Π½Ρ‹Π΅ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ATTiny PB0 — PB4 ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный Ρ‚Ρ€Π΅Ρ…ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСшниС устройства. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ GND), ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ (Vcc ΠΈΠ»ΠΈ Vin, настраиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 0-ΠΎΠΌΠ½ΠΎΠΉ связи), ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°.
НСсколько ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ питания
На ΠΏΠ»Π°Ρ‚Π΅ Π΄Π²Π΅ ΡˆΠΈΠ½Ρ‹ питания: нСстабилизированноС внСшнСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Vin, ΠΈ стабилизированная ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ Vcc, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для питания ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ATTiny. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:
  • с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ внСшнСго стабилизированного напряТСния (Vin ΠΈ Vcc соСдинСны 0-ΠΎΠΌΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ)
  • питаСтся ΠΎΡ‚ Π΄Π²ΡƒΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… источников (Vcc с внСшнСй стабилизациСй для самого MCU ΠΈ Vin для ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²)
  • питаСтся ΠΎΡ‚ нСстабилизированного питания Vin с Π±ΠΎΡ€Ρ‚ΠΎΠ²Ρ‹ΠΌ рСгулятором напряТСния.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ питания см. НиТС.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы с использованиСм стандартного 10-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°, совмСстимого, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с участиСм программист USBASP. ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для программирования (MOSI, MISO, SCK), ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ†Π΅ΠΏΠΈ Π²ΠΎ врСмя программирования ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ°ΠΌΠΈ (J10 — J30).
Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½Ρ‹ΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Vcc ΠΈ GND (разумССтся, с рСзистором)
ЗапасныС части
На ΠΏΠ»Π°Ρ‚Π΅ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π½Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… SOT-23 ΠΈ Π΄Π²Π° посадочных мСста 1206, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ систСмС Π΅.Π³Ρ€Π°ΠΌΠΌ. ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ.
Ручная ΠΏΠ°ΠΉΠΊΠ°
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ посадочныС мСста достаточно Π²Π΅Π»ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ°ΡΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. (Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ слСды SO-8, SOT-23, 1206 ΠΈ 1210).
MCU 150 ΠΈΠ»ΠΈ 200 ΠΌΠΈΠ»
ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½ΠΎΠ΅ мСсто ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ATtiny (U1) Π±Ρ‹Π»ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ для размСщСния ΡƒΠ·ΠΊΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ 8S1 (150 ΠΌΠΈΠ») ΠΈ срСдниС 8S2 (208 ΠΌΠΈΠ»).
ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄
Π”ΠΈΠ·Π°ΠΉΠ½ доступСн Π² исходном Π²ΠΈΠ΄Π΅ Π½Π° условиях GNU GPLv2 для дальнСйшСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ развития.

Новости

2013-05-03
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π°Π·Π΄Π΅Π» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΈ простыС вСлосипСдныС свСтодиодныС Ρ„ΠΎΠ½Π°Ρ€ΠΈ.
15.03.2013
ΠΠ΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ обновлСния Π²Π΅Π±-страницы, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ zip-Ρ„Π°ΠΉΠ» с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Gerber.
14.03.2013
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΄Π²Π΅ доски Tinyboard Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ†ΠΈΡŽ Itead Studio с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Бпасибо, Ρ‡Ρ‚ΠΎ Π΄Π°Π» ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ! Однако ΠΌΠΎΠΈ собствСнныС доски всС Π΅Ρ‰Π΅ находятся Π² Π“ΠΎΠ½ΠΊΠΎΠ½Π³Π΅.
25.02.2013
Ρ„Π°ΠΉΠ»ΠΎΠ² Gerber, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π² Itead Studio для изготовлСния. Π£ Π½ΠΈΡ… ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ 5×5, поэтому я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² этом ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ Π±Ρ‹Π»ΠΎ Π΄Π²Π΅ ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Π΅ доски.
22.04.2013
Доски Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ, послС ΠΎΡ‚ΡŠΠ΅Π·Π΄Π° ΠΈΠ· Π“ΠΎΠ½ΠΊΠΎΠ½Π³Π° Π±ΠΎΠ»Π΅Π΅ мСсяца Π½Π°Π·Π°Π΄. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π΄Π°ΠΆΠ΅ сдСлал ΠΏΡ€ΠΎΡ€Π΅Π·ΡŒ ΠΈΠ· просвСрлСнных отвСрстий ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ.
25.04.2013
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»: Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ошибки

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Tinyboard ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для пСрСпрофилирования.Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π― с этим справился.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ свСтодиодныС вСлосипСдныС Ρ„ΠΎΠ½Π°Ρ€ΠΈ

МнС Π½ΡƒΠΆΠ΅Π½ простой свСтодиодный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для дСтских вСлосипСдов, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΌΠΎΠΈ собствСнныС вСлосипСдныС Ρ„Π°Ρ€Ρ‹. Π˜Ρ‚Π°ΠΊ, я использовал Tinyboard с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ напряТСния Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° (с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ питания) ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ состояния. Tinyboard ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΈ батарСя 9V, поэтому я Π²Ρ‹Π±Ρ€Π°Π» Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ 9V Π² качСствС источника питания. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ» README (содСрТащий описаниС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²) доступны Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Tinyboard Git.


Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ошибки

  • Π―, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, ΠΈ Ρ‚Π°ΠΌ отсутствуСт соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠΌ 3 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° PB4 ΠΈ посадочным мСстом R54. НичСго ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ R53 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСсто R54, Π° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ слСд находится Π½Π° расстоянии ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡƒΡ… ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠ², поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ²ΠΎΠ΄.
  • ATiny13 ΠΈ ATiny25 / 45/85 ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ШИМ, Π° Ρ‚Π°ΠΊΠΆΠ΅ АЦП ΠΊΠ°Π½Π°Π»Ρ‹ Π½Π΅ доступны Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ построСн Π½Π° PB4 / PB3 ATtiny25 / 45/85, Π½ΠΎ Π½Π΅ Π½Π° ATiny13.Π² Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π° PB0 / PB1 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ построСн с использованиСм ATtiny13. Волько. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ — ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ PB0-PB2 Π½Π° J10-J30 ΠΈΠ»ΠΈ рядом с Π½ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠΈ.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ являСтся бСсплатным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° условиях Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ общСствСнной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GNU, вСрсия 2 (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ).

  • Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git (для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git clone https://www.fi.muni.cz/~kas/git/tinyboard.gitΒ»).
  • Π€Π°ΠΉΠ»Ρ‹ ΠΏΠ»ΠΎΡ‚Ρ‚Π΅Ρ€Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ RS-274X (Β«Π“Π΅Ρ€Π±Π΅Ρ€Β»): tinyboard-20130225-1807.молния (Π΄Π²Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΎΠ±ΡˆΠΈΡ‚Ρ‹Π΅ панСлями ΠΏΠΎΠ΄ производствСнный процСсс 5×5 см)
  • Архив с исходным ΠΊΠΎΠ΄ΠΎΠΌ: TBD

Π‘Ρ…Π΅ΠΌΡ‹

Π‘Ρ…Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° с использованиСм gschem ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° gEDA ΠΈ доступна здСсь Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ питания

На ΠΏΠ»Π°Ρ‚Π΅ Π΄Π²Π΅ ΡˆΠΈΠ½Ρ‹ питания: Vin ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ нСстабилизированным. шина для использования с ΠΏΠΎΠ»Π΅Π²Ρ‹ΠΌΠΈ МОП-транзисторами, Π° Vcc — это шина, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ATTiny MCU. Π•Π³ΠΎ напряТСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ATTiny.Vcc ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ кондСнсатор C3 рядом с самой ATTiny.

ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Π°Ρ внСшнС стабилизированная ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ
Когда стабилизированноС напряТСниС подаСтся ΠΈΠ·Π²Π½Π΅, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 1 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° PWR1 (ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 2 для GND). Π›ΠΈΠ½ΠΈΠΈ Vcc ΠΈ Vin ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ соСдинСны вмСстС 0-ΠΎΠΌΠ½Ρ‹ΠΌ Π·Π²Π΅Π½ΠΎΠΌ R2. U2 ΠΈ U3 ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, Ρ€Π°Π·Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ кондСнсаторы C1 ΠΈ C2 Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹.
Π”Π²Π΅ внСшниС ΡˆΠΈΠ½Ρ‹ питания
Π¨ΠΈΠ½Π° для питания MCU Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 1 Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° PWR1, GND ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 2 PWR1 ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ питания (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ высокоС напряТСниС для управляСмыС ΠΏΠΎΠ»Π΅Π²Ρ‹ΠΌΠΈ МОП-транзисторами) ΠΊ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° 3.U2 ΠΈ U3 ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, Ρ€Π°Π·Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ кондСнсаторы C1 ΠΈ C2 Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹.
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ нСстабилизированный
ВрСбуСтся рСгулятор напряТСния: Π»ΠΈΠ±ΠΎ с посадочным мСстом SOT-23 ΠΊΠ°ΠΊ U2, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ MCP170x ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ с посадочным мСстом SOT-223 ΠΊΠ°ΠΊ U3 (ΠΎΡΡ‚Π΅Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ΡΡŒ распиновка, Π΅ΡΡ‚ΡŒ стабилизаторы напряТСния БОВ-223 с Ρ€Π°Π·Π½ΠΎΠΉ распиновкой; этой ΠΏΠ»Π°Ρ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 U3 Π±Ρ‹Π» GND, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 2 ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 4) Π±Ρ‹Π» Vout, Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 3 — Vin). ВходящСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 3 Ρ€Π°Π·ΡŠΠ΅ΠΌ PWR1, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ сторона (GND) — ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 2.R2 ΠΎΠΏΡƒΡ‰Π΅Π½, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ C1 ΠΈ C2. ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ рСгулятора напряТСния.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· пяти ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΡ‚ PB0 Π΄ΠΎ PB4. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°:

  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ GND (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ PB1 — PB3), Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊ GND с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нСбольшого рСзистора ΠΈΠ»ΠΈ 0-ΠΎΠΌΠ½ΠΎΠ³ΠΎ Π·Π²Π΅Π½Π° R15 ΠΈ R55. (Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ PB0 ΠΈ PB4). Π­Ρ‚ΠΎΡ‚ рСзистор ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для измСрСния Ρ‚ΠΎΠΊ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ прСобразоватСля, Ссли ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.
  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 2 Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ ATTiny, Π»ΠΈΠ±ΠΎ ΠΊ сток ΠΏΠΎΠ»Π΅Π²ΠΎΠ³ΠΎ МОП-транзистора ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ прСобразоватСля.
  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ 3 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Vin с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ R13 — R53 (Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с 0-ΠΎΠΌΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΊΠΈ, ΠΈΠ»ΠΈ косвСнно с Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ рСзисторами). Или это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано ΠΊ Vcc с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 0-ΠΎΠΌΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ R14 — R54 ΠΈΠ»ΠΈ рСзисторов.

ΠŸΡ€ΡΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚
Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ATTiny ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 2 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ 0-ΠΎΠΌΠ½ΠΎΠ΅ соСдинСниС Rx2 (R12 — R52).ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опуститС Qx0, Rx0, Lx0, Dx0, Rx1 ΠΈ Cx1.
Π¨Ρ‚ΠΈΡ„Ρ‚ с внСшним вытягиваниСм, Π½ΠΈΠ·ΠΊΠΈΠΉ
Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСзистор Rx0 (ΠΎΡ‚ R10 Π΄ΠΎ R50) Π² качСствС рСзистора с ΠΌΠ°Π»ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.
Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΠΈΠΆΠ½ΠΈΡ… частот для Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля
ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ кондСнсатор вмСсто рСзистора Π½Π° посадочноС мСсто Rx0 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ R12 ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ рСзистор. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Qx0, Dx0, Lx0, Rx1 ΠΈ Cx1 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.
Π’Ρ‹Ρ…ΠΎΠ΄, управляСмый ΠΏΠΎΠ»Π΅Π²Ρ‹ΠΌ МОП-транзистором
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅Π²ΠΎΠΉ МОП-транзистор с посадочным мСстом SOT-23 Π² качСствС Qx0, потянитС Π·Π°Ρ‚Π²ΠΎΡ€ Π½ΠΈΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Rx0, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ сток ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 2 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Rx1 (R11 — R51).Π‘ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ посадочноС мСсто Π΄ΠΈΠΎΠ΄Π° (D10, D50) для Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° PB0 ΠΈ PB4.
ΠŸΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ
МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ Π΄Π²ΡƒΡ… ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ PB0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ PB1 ATTiny Π² качСствС Π²Ρ…ΠΎΠ΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи. ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ с Ρ€Π°Π·ΡŠΠ΅ΠΌΠΎΠΌ PB4 ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ PB3 ATTiny ΠΊΠ°ΠΊ ADC. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΈΠ½Π΄ΡƒΠΊΡ‚ΠΎΡ€ Π½Π° L10 ΠΈΠ»ΠΈ L50, MOSFET с посадочным мСстом SOT-23 ΠΊΠ°ΠΊ Q10 ΠΈΠ»ΠΈ Q50, потянитС Π·Π°Ρ‚Π²ΠΎΡ€ MOSFET Π½Π° Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ R10 ΠΈΠ»ΠΈ R50, помСститС 0-ΠΎΠΌΠ½ΡƒΡŽ ссылку ΠΊΠ°ΠΊ R11 ΠΈ Π”ΠΈΠΎΠ΄ Π¨ΠΎΡ‚Ρ‚ΠΊΠΈ ΠΊΠ°ΠΊ D10 ΠΈΠ»ΠΈ D50.Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ большой кондСнсатор ΠΊΠ°ΠΊ C11 ΠΈΠ»ΠΈ C51 ΠΈ ΠΌΠ°Π»Ρ‹ΠΉ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСзистор R15 ΠΈΠ»ΠΈ R55. Для измСрСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи создайтС Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΠΈΠΆΠ½ΠΈΡ… частот Π½Π° PB1 ΠΈΠ»ΠΈ PB3 соотвСтствСнно: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ R25 / R45 Π² качСствС Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСзистора, ΠΈ поставил нСбольшой кондСнсатор Π½Π° посадочноС мСсто R20 / R40. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ PWM Π½Π° PB0 / PB4, ΠΈ Π²Ρ…ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля Π½Π° PB1 / PB3. Π‘ΠΌ. Π’Π΅ΠΎΡ€ΠΈΡŽ Π½Π° страницС Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ ускорСния.

alexxlab

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *