Atmega16 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдпрд╛ рдкрд╛рд╕реНрдХрд▓ AVR рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдПрд▓рдИрдбреА рджрд┐рд▓

Atmega16 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдпрд╛ рдкрд╛рд╕реНрдХрд▓ AVR рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдПрд▓рдИрдбреА рджрд┐рд▓



рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреНрдпрд╛рд░реА рдкреНрд░реЗрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрддрдорд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рдЖрдпрд░рди, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд▓реИрд╕ рдХрд┐рдпрд╛ред рдФрд░, рдПрдХ рдХрд▓рд╛рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдПрд▓рдИрдбреА рджрд┐рд▓ рдмрдирд╛рдпрд╛ред рдЕрдкрдиреЗ рджрд┐рд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрд▓рдИрдбреА рдмреНрд▓рд┐рдВрдХрд┐рдВрдЧ рдореЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред











рдпреЛрдЬрдирд╛






рд╕рд░реНрдХрд┐рдЯ рдХреИрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рджрд┐рд▓ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЛрд░, "рдкреЗрд╕рдореЗрдХрд░" рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬреЛ рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рджреЛрд╣рди рд╕реЗ рдШрд┐рд░рд╛ рд╣реБрдЖ рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ AVR Atmega16 рд╣реИ ред рдореИрдВрдиреЗ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд╕реЗ рдХреНрд▓реЙрдХрд┐рдВрдЧ рд╢реБрд░реВ рдирд╣реАрдВ рдХреА, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЖрдВрддрд░рд┐рдХ рдЖрд░рд╕реА рд╕рд░реНрдХрд┐рдЯ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред







рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рдИрдбреА рдЬреЛ рд╣реГрджрдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, 500 рдУрдПрдЪрдПрдо рд╡рд░реНрддрдорд╛рди-рд╕реАрдорд┐рдд рдкреНрд░рддрд┐рд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдПрдХ рдЕрд▓рдЧ "рдкреИрд░" рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдкреЛрд░реНрдЯ рдЕ (рд╕рднреА рдкрд┐рди), рд╕реА (рд╕рднреА рдкрд┐рди), рдбреА (рджреЛ рдкрд┐рди) рд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрд▓ рдЕрдард╛рд░рд╣ рдПрд▓рдИрдбреАред рдПрд▓ рдИ рдбреА рдХреЛ "рдпреВрдирд┐рдЯ" рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред







рдмрдврд╝рддреЗ


рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ MGTF рддрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдорд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред







рдмреИрдХ рдмреЛрд░реНрдб рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд▓реЗ рдлреЛрдо рдХреЗ рд╕рд╛рде "рд╡рд╛рдпрд░реНрдб" рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдкреИрд░" рд╢рд┐рдХрдВрдЬрд╛ рдХреЗ рд╕рд╛рде рдЦрд░рд╛рдм рдХрд┐рдП рдЧрдП рд░реИрдХ рд╕реЗ рдмрдиреЗ рдереЗред







рдХреНрдпреЛрдВрдХрд┐ рдПрд▓ рдИ рдбреА рдмрд╣реБрдд рдЙрдЬреНрдЬреНрд╡рд▓ рдирд┐рдХрд▓рд╛, рдореБрдЭреЗ рд╣рд░реЗ Plexiglas рд╕реЗ рдПрдХ рдордлрд▓рд┐рдВрдЧ рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рд╕реНрдХреНрд░реАрди рдмрдирд╛рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЗрд╕реЗ рд░реИрдХ рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ред рдХреНрдпреЛрдВ рдкреВрд░реНрд╡-рдбреНрд░рд┐рд▓ рдХрд┐рдП рдЧрдП рдЫреЗрджред







рдХрд╛рд░реНрдпрдХреНрд░рдо


рдПрдЯрдореЗрдЧрд╛ 16 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдИ-рд▓реИрдм рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдИ-рд▓реИрдм рдХреНрдпреЛрдВ? рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдордп Arduino рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрднреА рддрдХ рдкреИрджрд╛ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред E-LAB рдПрдХ рддрд░рд╣ рдХрд╛ "рджрд╛рджрд╛" Arduino IDE рд╣реИред рдИ-рд▓реИрдм рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкрд╛рд╕реНрдХрд▓ рдореЗрдВ рдПрд╡реАрдЖрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рд╕реНрдХрд▓ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрд╡реАрдЖрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЬреНрдЮрд╛рди рдФрд░ рдЙрдирдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╕рдлрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред E-LAB, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рдЯрд╛рдЗрдорд░, PWM, I2C, UART, рдЖрджрд┐) рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдкрд░рд┐рдзреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рднрдВрдбрд╛рд░ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдмрд╛рд╣реНрдп рдкрд░рд┐рдзреАрдп рдЙрдкрдХрд░рдгреЛрдВ (рдХреАрдмреЛрд░реНрдб, рд╕рд╛рдЗрди-рд╕рд┐рдВрдереЗрд╕рд┐рд╕ рдПрд▓рд╕реАрдбреА, "рд╕рд╛рдд-рдЦрдВрдб", рдИрдерд░рдиреЗрдЯ рдЖрджрд┐) .Dред)ред

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдореБрдЦреНрдп рддрд░реНрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЯрд╛рдЗрдорд░ рдХреЗ рд╡реНрдпрд╡рдзрд╛рди рдореЗрдВ рдПрд▓рдИрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЛрдб рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИред рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓рд┐рдЦрд╛ рдерд╛, рддреЛ рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдерд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ 18-рдЪреИрдирд▓ рдкреАрдбрдмреНрд▓реВрдПрдо, рдореМрдЬреВрдж рд╣реИрдВред



рдкрд╛рд╕реНрдХрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╛рда
program Love_Machine; {$NOSHADOW} { $WG} {global Warnings off} // ATmega16 //  3.3  Device = mega16, VCC=3.3; { $BOOTRST $01C00} {Reset Jump to $01C00} Import SysTick, TickTimer; From System Import LongWord; Define //  1 M ( RC-) ProcClock = 1000000; {Hertz} SysTick = 10; {msec} StackSize = $0032, iData; FrameSize = $0032, iData; TickTimer = Timer1; //   //  Define_USR SysLED_Delay = 500; Implementation {$IDATA} {--------------------------------------------------------------} { Type Declarations } type {--------------------------------------------------------------} { Const Declarations } const TimeCount: Byte = 70; MOutBits_L1:array[0..7] of Byte = ( $00, $00, $00, $00, $00, $00, $00, $ff ); MOutBits_L2:array[0..7] of Byte = ( $00, $00, $00, $00, $00, $00, $ff, $ff ); MOutBits_L3:array[0..7] of Byte = ( $00, $00, $00, $00, $00, $ff, $ff, $ff ); MOutBits_L4:array[0..7] of Byte = ( $00, $00, $00, $00, $ff, $ff, $ff, $ff ); MOutBits_L5:array[0..7] of Byte = ( $00, $00, $00, $ff, $ff, $ff, $ff, $ff ); MOutBits_L6:array[0..7] of Byte = ( $00, $00, $ff, $ff, $ff, $ff, $ff, $ff ); MOutBits_L7:array[0..7] of Byte = ( $00, $ff, $ff, $ff, $ff, $ff, $ff, $ff ); {* MOutBits: array[0..24] of LongWord =( %010000000000000101, %010000000000000101, %010000000000000101, %010000000000000101, %010000000000000101, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %010000000000000001, %000000000000000101, %000000000000000101, %000000000000000101, %000000000000000101, %000000000000000101, %000000000000000001, %000000000000000001, %000000000000000001, %000000000000000001, %000000000000000001 ); *} {--------------------------------------------------------------} { Var Declarations } {$IDATA} var OutBitsIndex: Byte; St_Level: Byte; St_Timer: Byte; PortDataA: Byte; PortDataC: Byte; PortDataD: Byte; ShiftCounter: Byte; TimerTickCounter: LongWord; {--------------------------------------------------------------} { functions } //  // - procedure InitPorts; begin //   ( 8 ) //   DDRA:= %11111111; //  PortA:= %00000000; //   //   DDRC:= %11111111; //  PortC:= %00000000; //   () //     DDRD:= %00000011; //  PortD:= %00000000; //   (2 ) //   DDRB:= %00000011; end InitPorts; //  procedure SysLED_Red; begin //   1-  // B incl(PortB,1); //   0-  // B excl(PortB,0); end SysLED_Red; //  procedure SysLED_Green; begin //   0-  // B incl(PortB,0); //   1-  // B excl(PortB,1); end SysLED_Green; //  //- procedure SysLED_SwColor; begin //  SysLED_Red; // mDelay(Word(SysLED_Delay)); //  SysLED_Green; // mDelay(Word(SysLED_Delay)); end SysLED_SwColor; //    procedure onTickTimer; //(SaveAllRegs); begin //SysLED_SwColor; case St_Timer of 0: toggle(PortA,0); toggle(PortA,1); toggle(PortA,2); toggle(PortA,3); toggle(PortA,4); toggle(PortA,5); toggle(PortA,6); toggle(PortA,7); toggle(PortC,0); toggle(PortC,1); toggle(PortC,2); toggle(PortC,3); toggle(PortC,4); toggle(PortC,5); toggle(PortC,6); toggle(PortC,7); toggle(PortD,0); toggle(PortD,1); | 1: PortDataA := PortDataA ror 1; PortA := PortDataA; PortDataC := PortDataC ror 1; PortC := PortDataC; PortDataD := PortDataD ror 1; PortD := PortDataD; | 2: // PortDataC := PortDataC ror 1; // PortC := PortDataC; // PortDataD := PortDataD ror 1; // PortD := PortDataD; if (ShiftCounter = 0) or (ShiftCounter = 18) then PortD := $00; ShiftCounter := 0; PortDataA := $01; PortA := PortDataA; inc(ShiftCounter); elsif (ShiftCounter < 8) and (ShiftCounter > 0) then PortDataA := PortDataA rol 1; PortA := PortDataA; inc(ShiftCounter); elsif (ShiftCounter = 8) then PortA := $00; PortDataC := $01; PortC := PortDataC; inc(ShiftCounter); elsif (ShiftCounter > 8) and (ShiftCounter < 16) then PortDataC := PortDataC rol 1; PortC := PortDataC; inc(ShiftCounter); elsif (ShiftCounter = 16) then PortC := $00; PortDataD := $01; PortD := PortDataD; inc(ShiftCounter); elsif (ShiftCounter > 16) and (ShiftCounter < 18) then PortDataD := PortDataD rol 1; PortD := PortDataD; inc(ShiftCounter); endif; | 3: inc(TimerTickCounter); if ( ( TimerTickCounter mod TimeCount ) = 0 ) then inc(St_Level); if ( St_Level >= 16) then St_Level := 1; endif; endif; case St_Level of 0: PortA := $00; PortC := $00; PortD := $00; | 1: PortA := MOutBits_L1[OutBitsIndex]; PortC := MOutBits_L1[OutBitsIndex]; PortD := MOutBits_L1[OutBitsIndex]; | 2: PortA := MOutBits_L2[OutBitsIndex]; PortC := MOutBits_L2[OutBitsIndex]; PortD := MOutBits_L2[OutBitsIndex]; | 3: PortA := MOutBits_L3[OutBitsIndex]; PortC := MOutBits_L3[OutBitsIndex]; PortD := MOutBits_L3[OutBitsIndex]; | 4: PortA := MOutBits_L4[OutBitsIndex]; PortC := MOutBits_L4[OutBitsIndex]; PortD := MOutBits_L4[OutBitsIndex]; | 5: PortA := MOutBits_L5[OutBitsIndex]; PortC := MOutBits_L5[OutBitsIndex]; PortD := MOutBits_L5[OutBitsIndex]; | 6: PortA := MOutBits_L6[OutBitsIndex]; PortC := MOutBits_L6[OutBitsIndex]; PortD := MOutBits_L6[OutBitsIndex]; | 7: PortA := MOutBits_L7[OutBitsIndex]; PortC := MOutBits_L7[OutBitsIndex]; PortD := MOutBits_L7[OutBitsIndex]; | 8: PortA := $FF; PortC := $FF; PortD := $FF; | 9: PortA := MOutBits_L7[OutBitsIndex]; PortC := MOutBits_L7[OutBitsIndex]; PortD := MOutBits_L7[OutBitsIndex]; | 10: PortA := MOutBits_L6[OutBitsIndex]; PortC := MOutBits_L6[OutBitsIndex]; PortD := MOutBits_L6[OutBitsIndex]; | 11: PortA := MOutBits_L5[OutBitsIndex]; PortC := MOutBits_L5[OutBitsIndex]; PortD := MOutBits_L5[OutBitsIndex]; | 12: PortA := MOutBits_L4[OutBitsIndex]; PortC := MOutBits_L4[OutBitsIndex]; PortD := MOutBits_L4[OutBitsIndex]; | 13: PortA := MOutBits_L3[OutBitsIndex]; PortC := MOutBits_L3[OutBitsIndex]; PortD := MOutBits_L3[OutBitsIndex]; | 14: PortA := MOutBits_L2[OutBitsIndex]; PortC := MOutBits_L2[OutBitsIndex]; PortD := MOutBits_L2[OutBitsIndex]; | 15: PortA := MOutBits_L1[OutBitsIndex]; PortC := MOutBits_L1[OutBitsIndex]; PortD := MOutBits_L1[OutBitsIndex]; | endcase; inc( OutBitsIndex ); if OutBitsIndex >= 8 then OutBitsIndex := 0; endif; | endcase; end; {--------------------------------------------------------------} { Main Program } {$IDATA} //    Reset'a begin //  / InitPorts; //   //  = 1  //  = 1  TickTimerTime(1000); //   TickTimerStart; //   TickTimerStop; //  EnableInts; { //  // c   incl(PortA,0); mDelay(1000); incl(PortA,1); mDelay(1000); incl(PortA,2); mDelay(1000); incl(PortA,3); mDelay(1000); incl(PortA,4); mDelay(1000); incl(PortA,5); mDelay(1000); incl(PortA,6); mDelay(1000); incl(PortA,7); mDelay(1000); incl(PortC,0); mDelay(1000); incl(PortC,1); mDelay(1000); incl(PortC,2); mDelay(1000); incl(PortC,3); mDelay(1000); incl(PortC,4); mDelay(1000); incl(PortC,5); mDelay(1000); incl(PortC,6); mDelay(1000); incl(PortC,7); mDelay(1000); incl(PortD,0); mDelay(1000); incl(PortD,1); mDelay(1000); //     (Toggle) St_Timer := 0; // 200  TickTimerTime(200000); //   TickTimerStart; // 2  mDelay(2000); // 150  TickTimerTime(150000); //   TickTimerStart; mDelay(2000); //   TickTimerStop; // 100  TickTimerTime(100000); //   TickTimerStart; // 2  mDelay(2000); //   TickTimerStop; // 50  TickTimerTime(50000); //   TickTimerStart; // 2  mDelay(2000); //   TickTimerStop; // 25  TickTimerTime(25000); //   TickTimerStart; // 2  mDelay(2000); } //   TickTimerStop; PortDataA := $AA; PortDataC := $AA; PortDataD := $AA; //    (Shift Inv) St_Timer := 1; // 200  TickTimerTime(200000); //   TickTimerStart; // 5  mDelay(2000); //   TickTimerStop; PortA := $00; PortC := $00; PortD := $00; PortDataA := $00; PortDataC := $00; PortDataD := $00; ShiftCounter := 0; //    (Shift One) St_Timer := 2; // 200  TickTimerTime(200000); //   TickTimerStart; // 5  mDelay(5000); //   TickTimerStop; //     (PWM) St_Timer := 3; //  = 1  TickTimerTime(1000); //   TickTimerStart; //  loop //inc(St_Level); //if ( St_Level >= 9) //then // St_Level := 0; //endif; //mDelay(200); //SysLED_SwColor; // incl(PortC,1); // mDelay(1); endloop; end Love_Machine.
      
      







рдИ-рд▓реИрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдлрд╛рдЗрд▓реЗрдВ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ ред

E-LAB рдХрд╛ рдПрдХ рдЧрдВрднреАрд░ рджреЛрд╖ рдпрд╣ рдерд╛ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЗ " AVR910 " рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ AVR910 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рд╣реЗрдХреНрд╕-рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред



рдирд┐рд╖реНрдХрд░реНрд╖


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм, рд╣рд░ рдХреЛрдИ Arduino рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдПрдХ рд╕рдорд╛рди рдЙрдкрд╣рд╛рд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдЕрдкрдиреЗ рдкреНрд░рд┐рдпрдЬрдиреЛрдВ рдХреЛ рдЦреБрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЗрдЪреНрдЫрд╛ рд╣реЛрдЧреАред



All Articles