IAR рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ Atmega16 C microcontroller рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ JTAG рдбрд┐рдмрдЧрд┐рдВрдЧ, рднрд╛рдЧ 1





рдкрд░рд┐рдЪрдп



рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рджреБрдирд┐рдпрд╛ рдореЗрдВ рдореМрдЬреВрдж рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рд╕реЗ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реА рднрд╛рд╖рд╛ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдФрд░ JTAG рдбреАрдмрдЧрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рд╕реА рднрд╛рд╖рд╛ рд╕рдВрдХрд▓рдХ рд▓рдЧрднрдЧ рд╕рднреА рдореМрдЬреВрджрд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рднрд╛рд╖рд╛ рд╕реА рдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦреБрдж рдХреЛ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЙрдирдХрд╛ рдЬреНрдЮрд╛рди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред JTAG рдбрд┐рдмрдЧрд┐рдВрдЧ, рдмрджрд▓реЗ рдореЗрдВ, рди рдХреЗрд╡рд▓ рдЗрди-рд╕рд░реНрдХрд┐рдЯ рддреНрд░реБрдЯрд┐ рдЦреЛрдЬ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдВрджрд░ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдХреЗрд╡рд▓ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдбрд┐рдмрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдзреНрдпрдпрди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ, рд╕реАрдЦрдиреЗ рдХреЛ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, JTAG ┬л рдЖрдкрдХреЛ рдЕрдВрджрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рдореЗрдореЛрд░реА рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрддреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рд╕реАрдЦрдиреЗ рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред



AVR, STM8, MSP430, AVR32, STM32, EFM32, рд░реЗрдиреЗрд╕рд╕ RX рдЬреИрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдореЗрдВ JTAG рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C рднрд╛рд╖рд╛ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛ рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рд╣реИрдВред рдЗрди рдХрдИ рдЕрдиреНрдп рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд╛рддрд╛рд╡рд░рдг рдПрдВрдмреЗрдбреЗрдб рд╡рд░реНрдХрдмреЗрдВрдЪ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ 30-рджрд┐рди рдХреЗ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдХреЛрдб рдЖрдХрд╛рд░ рдХреА рд╕реАрдорд╛ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдорд╣реАрдиреЗ рдХреЗ рдПрдХ рдирдП рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд╢реБрд░реБрдЖрддреА рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдирд╛ рдорди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдирд┐: рд╢реБрд▓реНрдХ рд╕рд╛рдзрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдХрд╛рд░ рдореЗрдВ рд╕реАрдорд┐рдд рд╣реИред рдмрдбрд╝реЗ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдорд╛рдзреНрдпрдо рдХреЛ рднреА рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВред



рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ AVR, STM8, MSP430 рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЗрди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдФрд░ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦрдХрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдпрд╣ рд╕рдм рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рд┐рд░ рд╕реЗ рдврдВрдХрд╛ рд╣реИред рдкрд╣рд▓реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рд╕рдлрд▓ рд╣реИред

рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ AVR рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░рд┐рд╡рд╛рд░ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдПрдХ JTAG рдбрд┐рдмрдЧрд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛



C рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрди-рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ AVR рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП JTAG рдбрд┐рдмрдЧрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд╕реНрддреА рдФрд░ рдЖрд╕рд╛рди рдирд┐рд░реНрдорд╛рдг AVR JTAGICE рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдбрд┐рдмрдЧрд░ рдХреЗ рдХреНрд▓реЛрди рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреНрд▓реЛрди рдХреЛ рдИрдмреЗ рдХреЗ рд╕рд╛рде рдХрдо рдХреАрдордд рдкрд░ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреБрдгрд╡рддреНрддрд╛ рдПрдХ рд▓реЙрдЯрд░реА рдХреА рддрд░рд╣ рд╣реИред







рдХреНрд▓реЛрди рдХрд╛ рдЙрддреНрдкрд╛рджрди рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрд▓реАрдореЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ред рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ COM рдкреЛрд░реНрдЯ рдФрд░ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХрдиреЗрдХреНрд╢рди рдпреВрдПрд╕рдмреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИред







рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреНрд▓реЛрди рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрддреНрдкрд╛рджрди рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдбреАрдЖрдИрдкреА рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рдПрд╡рд░реНрдЯреВрд▓ рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ рдЬреЗрдЯреАрдЬреА рдХреНрд▓реЛрди рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред



]



рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬреЗрдЯреАрдУ рдХреНрд▓реЛрди рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдЖрд░реЗрдЦ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рднрд╛рдЧ рдХреЛ рдЬреЗрдЯрдЬреА рдЕрдиреБрднрд╛рдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреАрдмрдЧрд░ рдХрд╛ рдореВрд▓ Atmega16L рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИред рдЕрдЧрд░ рд╣рдо JTAGICE рдХреНрд▓реЛрди рдХреЛ USB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо MAX3232 рд╕реНрддрд░ рд░реВрдкрд╛рдВрддрд░рдг рдЪрд┐рдк рдХреЛ FTDI FT232 рдЪрд┐рдк рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреАрдЖрдИрдкреА рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдлрдЯреА 232 рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдЪрд┐рдк рдХреЗ рд╕рд╛рде рдбреАрдЖрдИрдкреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХреАрдорддреЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдФрд░ рдбреАрдЖрдИрдкреА рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЙрддрд░ рд╕рдХрддреЗред рдЖрдкрдХреЛ рдпрд╛ рддреЛ FT232 рдХреЛ рдкрддрд▓реЗ рддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рдорд┐рд▓рд╛рдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдХреНрд▓реЛрд░реАрди рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдкрджрдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдПрдХрд▓-рдкрд░рдд рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдХреЛ рдЦреЛрджрдирд╛ рд╣реЛрдЧрд╛ред







рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ AVR рд╕реНрдЯреВрдбрд┐рдпреЛ 4 рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд JTAGICE рдХреНрд▓реЛрди рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ AVR рд╕реНрдЯреВрдбрд┐рдпреЛ 6 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, AVR рд╕реНрдЯреВрдбрд┐рдпреЛ 4 рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ AVR рдХреЗ рд▓рд┐рдП IAR рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЗрди рдХреНрд▓реЛрдиреЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рд╣реИред

рдмрд╛рдж рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕реА рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдиреЗ рдХреНрд▓реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рдореЗрдВ MAX3232 рдЪрд┐рдк ADM3202 рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ, рдЬреЛ рд╕рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред







JTAGICE рдХрд╛ рдпрд╣ рдХреНрд▓реЛрди рдореБрдЭреЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛ред рдореБрдЭреЗ рдХрд╛рдо рдкрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХрдЪрд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдорд┐рд▓рд╛ред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдбрд╛рдкреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдлреЛрдЯреЛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, Atmega16L рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП AVR ISP рдХрдиреЗрдХреНрдЯрд░ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдмрд╛рдж, JTAGICE рдиреЗ "рдЬреАрд╡рдирдХрд╛рд▓" рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред

рдЕрдм рдЬрдм COM рдкреЛрд░реНрдЯ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ "рдкреБрд░рд╛рдиреЗ рджреЛрд╕реНрдд" рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ рдФрд░ USB-to-RS-232 рдХреЗрдмрд▓ рдХрдирд╡рд░реНрдЯрд░ рдЦрд░реАрджрд╛ред







рдбрд┐рдмрдЧ рдмреЛрд░реНрдб



рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдерд░реНрдорд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдерд╛ред рдмреЛрд░реНрдб рдпреВрдПрд╕рдмреА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИ, рдХреЛрд░ рдПрдХ рдбреАрдЖрдИрдкреА рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рдПрдЯрдореЗрдЧрд╛ 16 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ 16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдШрдЯрдХреЛрдВ рдХреЗ рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯ (рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рд▓рд┐рдП 22 рдкреАрдПрдл рдХреИрдкреЗрд╕рд┐рдЯрд░, рдкрд╛рд╡рд░ рдХреЛ рд░реАрд╕реЗрдЯ рд▓рд╛рдЗрди рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП 10 k╬й рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛, рд╢рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП 0.1 ╬╝F рдХреИрдкреЗрд╕рд┐рдЯрд░) рдХреЗ рд╕рд╛рде рдмрд╛рдВрдзрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдорд╛рдирдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рджреЛ рдорд╛рдирдХ рдЫрд╣-рдкрд┐рди AVR ISP рдФрд░ рджрд╕-рдкрд┐рди AVR JTAG рд╕реЙрдХреЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдмреЛрд░реНрдб рдореЗрдВ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░, рддреАрди рдЕрдВрдХреЛрдВ рдХрд╛ рд╕реНрдЯреИрдЯрд┐рдХ рд╕рд╛рдд-рд╕реЗрдЧрдореЗрдВрдЯ рд╕рдВрдХреЗрддрдХ рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрд▓рдИрдбреА рд╣реИред рд╕рдВрдХреЗрдд рдПрд▓рдИрдбреА рдФрд░ рд╕рдВрдХреЗрддрдХ рдЦрдВрдб 500 рдУрдо рдХреЗ рд╡рд░реНрддрдорд╛рди-рд╕реАрдорд┐рдд рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рддреАрди рд╕рд╛рдд-рдЦрдВрдб рд╕рдВрдХреЗрддрдХреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ рдП, рдмреА рдФрд░ рдбреА рдореЗрдВ рд╕реЗ рдЫрд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдПрд▓рдИрдбреА рдкреЛрд░реНрдЯ рдбреА рдХреЗ 7 рд╡реЗрдВ рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдПрдирд╛рд▓реЙрдЧ рд╕реЗрдВрд╕рд░ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдП рдХреЗ 7 рд╡реЗрдВ рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ (рдмрд┐рд▓реНрдЯ-рдЗрди рдПрдбреАрд╕реА рдХрд╛ 7 рд╡рд╛рдВ рдЪреИрдирд▓) )ред







рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ MGTF рддрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдЯрд╛рдВрдХрд╛ рдЧрдпрд╛ рдерд╛ред







IAR рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг



рд▓реЗрдЦрди рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо Atmel AVR рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП IAR рдПрдВрдмреЗрдбреЗрдб рд╡рд░реНрдХрдмреЗрдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рддреН рдЗрд╕рдХрд╛ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг 4 рдХреЗ рдХреЛрдб рдЖрдХрд╛рд░ рдХреА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛ред рдПрд╡реАрдЖрд░ рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЖрдЗрдП, рдпрд╣рд╛рдВ рдкрдврд╝реЗрдВ рдФрд░ рдкрдврд╝реЗрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рд╕рдордп рдореЗрдВ AVAR рдХреЗ рд▓рд┐рдП IAR рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред JTAGICE рдбрд┐рдмрдЧрд░ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╣реИ, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╕рдорд░реНрдерд┐рдд рд╣реИред







рд╕рдорд░реНрдерд┐рдд рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдореЗрдЧрд╛рдПрд╡реАрдЖрд░ рд╢рд╛рдорд┐рд▓ рд╣реИред







рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рд╣рдорд╛рд░реЗ JTAG рдбрд┐рдмрдЧрд░ рдФрд░ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдЪрд▓рддреЗ рд╣реИрдВ, IAR рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред



рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЖрдкрдХреЛ рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред







рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, IAR рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рднрд░рдирд╛ рд╣реЛрдЧрд╛ред







рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рднрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдХреБрдВрдЬреА рдЖрдкрдХреЗ рдореЗрд▓ рдкрд░ рдЖ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕реЗ рджрд░реНрдЬ рдХрд░рдХреЗ рд╣рдо рд╕рдордп рдореЗрдВ рдПрдХ рдореБрдлреНрдд рдкрдВрдЬреАрдХреГрдд рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЕрд╕реАрдорд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред







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







рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рдЧрднрдЧ рдЦрд╛рд▓реА рд╕реНрд░реЛрдд-рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВрдЧреЗред







рдЖрдЗрдП рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдЬрд╛рдПрдВред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо Atmega16 рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВрдЧреЗ, рд╣рдо рдХреЙрд▓рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрд╕ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗред







рдбреАрдмрдЧрд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рдореЗрдВ, JTAGICE рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред







рдореЗрдиреВ рдЖрдЗрдЯрдо рдбреАрдмрдЧрд░-> рдЬреЗрдЯрдЬреАрд╕ рдореЗрдВ, COM рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдЪреБрдиреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдбреАрдмрдЧрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред







рдкрд░реНрдпрд╛рд╡рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдкрд░рд┐рдзреАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рднреА рдбрд╛рд▓ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд▓реНрдк-> рд╕рд┐рд╕реНрдЯрдо рдореЗрдиреВ рдЖрдЗрдЯрдо рдореЗрдВ I / O- рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЪреЗрдХрдмреЙрдХреНрд╕ рдореЗрдВ рдереЛрдбрд╝реА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред







рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ


рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, IAR рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред Iom16.h рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ Atmega16 рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдбреНрд░реЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдореЗрдВ рдореИрдХреНрд░реЛрдЬрд╝ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд░рд┐рдзреАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдЯреНрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:



... * Examples of how to use the expanded result: * TCCR2 |= (1<<5); * or if ENABLE_BIT_DEFINITIONS is defined * TCCR2 |= (1<<COM21); * or like this: * TCCR2_Bit5 = 1; * or like this: * TCCR2_COM21 = 1; ***************************************************************************/
      
      







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

IAR рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, __delay_cycles (x) рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд▓рдВрдм рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХреНрд╕ рдЯрд┐рдХ рдореЗрдВ рджреЗрд░реА рдХрд╛ рд╕рдордп рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдШрдбрд╝реА рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ рджреЗрд░реА 1/16000000 = 62.5 рдПрдирдПрд╕ рд╣реИред

рдЕрдм рдЬрдм рд╣рдо рдЗрди рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдПрд▓рдИрдбреА рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЭрдкрдХрд╛рддрд╛ рд╣реИред



 /*  */ #include <ioavr.h> #include <intrinsics.h> /* */ //  #define F_CPU 16000000 /*  */ //   #define DELAY_US(us) __delay_cycles((F_CPU / 1000000) * (us)); //   #define DELAY_MS(ms) __delay_cycles((F_CPU / 1000) * (ms)); /*  */ //   void main( void ) { //   //  // 7-   D   DDRD_DDD7 = 1; // 7-   D   "0" PORTD_PORTD7 = 0; //   for(;;) { // 7-   D  "0"  "1"   "1"  "0" //    PORTD_PORTD7 ^= 1; //    DELAY_MS(1000); }//end for }
      
      







рдЖрд╡рд╢реНрдпрдХ рдЕрд╡рдзрд┐ рдХреА рджреЗрд░реА рдХреЗ рдЧрдарди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЗрд░реА рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ DELAY_US (us) рдФрд░ DELAY_MS (ms) рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рджреЗрд░реА рдЪрдХреНрд░ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдФрд░ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рддреБрд░рдВрдд рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдореБрдЦреНрдп () рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдпрд╛ рд░реАрд╕реЗрдЯ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЬреЛ рдкрд╣рд▓реА рдЪреАрдЬ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рдзреАрдп рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдкреЛрд░реНрдЯ рдбреА рдХрд╛ рдПрдХ рдкрд┐рди рд╣реИред рдЗрд╕реЗ рдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ рд╕реЗ рдбреАрдбреАрдЖрд░рдбреА рдбреЗрдЯрд╛ рджрд┐рд╢рд╛ рдХрд╛ рдбреАрдбреА 7 рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░реЗрдВред рдкреИрд░ рдкрд░ "1" (5 V) рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PORTD рдбреЗрдЯрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ PORTD7 рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдкреИрд░ рдореЗрдВ "0" (рдЬрдореАрди) рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PORTD7 рдмрд┐рдЯ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛рд╢реАрдЯ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред







рдмрд┐рдЯрд░реНрдЬрд╝ рдбрд┐рд╕реНрдЬрдВрдХреНрд╢рди рдФрд░ рдХрдВрдЬрдВрдХреНрд╢рди (DDRD | = 0x01, DDRD & = ~ 0x01, DDRD = = (1 << 0), рдмрд┐рдирд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ DDRD рдФрд░ PORTD рдХреЗ рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП (DDRD = 0x01, DDRD = 0x00) рдмрд╕ рд▓рд┐рдЦрдирд╛ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИред DDRD & = ~ (1 << 0)), рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдпрд╣ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╢реЗрд╖ рдмрд┐рдЯреНрд╕ рдХреЛ рдорд┐рдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдСрдкрд░реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдереЗред рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЬрд░реВрд░реА рд╣реИред

рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рд╣рдо (;;) рд▓реВрдк рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЕрдВрддрд╣реАрди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбрд▓ рдХреЛ рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдкрд░рд┐рдзреАрдп рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд░реБрдХрд╛рд╡рдЯ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рд▓рдВрдмрд┐рдд рд╣реИ рдФрд░ рдХрдо рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп, рдФрд░ рдХреЗрд╡рд▓ рддрднреА рд░реБрдХрддрд╛ рд╣реИ рдЬрдм рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд░реАрд╕реЗрдЯ рдФрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЦреНрдп рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ, рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "0" рд╕реЗ "1" рддрдХ рдирд┐рд░рдВрддрд░ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╣реЛрддреА рд╣реИ, рдлрд┐рд░ "1" рд╕реЗ "0" рддрдХред рдпрд╣ рдПрдХ рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди DELAY_MS (рдПрдордПрд╕) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рд╣рдо JTAGICE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓реЛрдб рдФрд░ рдбреАрдмрдЧ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ-> рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдбрд┐рдмрдЧ рдореЗрдиреВ рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдпрд╛ рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди Ctrl + D рдпрд╛ рдЖрдЗрдХрди рдкрд░ рд▓рд╛рд▓ рддреНрд░рд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рджрдмрд╛рдПрдВ, рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╣рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдЖрджреЗрд╢ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдУрд╡рд░, рд╕реНрдЯреЗрдк рдЗрдирдЯреВ, рд╕реНрдЯреЗрдк рдЖрдЙрдЯ, рдиреЗрдХреНрд╕реНрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ, рдЧреЛ, рд░рд┐рд╕реЗрдЯред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рджреЗрддрд╛ рд╣реИ рдФрд░ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯ рдбреА рдХреЗ рдбреАрдбреАрдЖрд░рдбреА рдФрд░ рдкреЛрд░реНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рди рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦреЛред







рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рднреА рдПрдХ рдирд┐рдорд┐рд╖ рдПрд▓рдИрдбреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рдеред



 /*  */ #include <ioavr.h> #include <intrinsics.h> /* */ //  #define F_CPU 16000000 //    #define DELAY_TIME 1000 //     //  #define LED_DDR DDRD #define LED_PORT PORTD #define LED_PIN DDD7 /*  */ //   #define LED_INIT() ( LED_DDR |= (1<<LED_PIN) ); //  #define LED_LOW() ( LED_PORT &=~ (1<<LED_PIN) ); //  #define LED_HIGH() ( LED_PORT |= (1<<LED_PIN) ); //  #define LED_TOG() ( LED_PORT ^= (1<<LED_PIN) ); //   #define DELAY_US(us) __delay_cycles((F_CPU / 1000000) * (us)); //   #define DELAY_MS(ms) __delay_cycles((F_CPU / 1000) * (ms)); /*  */ //   void main( void ) { //   //  LED_INIT(); //  LED_LOW(); //   for(;;) { //  LED_TOG(); //    DELAY_MS(DELAY_TIME); }//end for }
      
      







рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЛ рддрд░рд╣ рд╕реЗ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рд╣реИ рдмреЗрд╣рддрд░ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ред рджреВрд╕рд░рд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд╕рд░рд▓реАрдХрд░рдг рд╣реИред рдЕрдм, рдпрджрд┐ рдПрд▓рдИрдбреА рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреЛрд░реНрдЯ рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд┐рди рдореЗрдВ рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рддреЛ рдпрд╣ LED_DDR, LED_PORT, LED_PIN рдХреА рддреАрди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдкреВрд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рдпрд╣ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред

рдПрдХ рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирд┐рдорд┐рд╖ рдПрд▓рдИрдбреА рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд░рд╛рдЬреНрдп рдорд╢реАрди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдлрд░реНрдорд╡реЗрдпрд░ рдореЙрдбрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



 /*  */ #include <ioavr.h> #include <intrinsics.h> /* */ //  #define F_CPU 16000000 //    #define DELAY_TIME_LF 1000 #define DELAY_TIME_AF 500 #define DELAY_TIME_HF 100 //     #define LIMIT_CNT_LF 4 #define LIMIT_CNT_AF 8 #define LIMIT_CNT_HF 40 //  #define UCHAR unsigned char //    #define STATE_LOW_FREQ_BLINK 0 #define STATE_AVR_FREQ_BLINK 1 #define STATE_HIGH_FREQ_BLINK 2 //     //  #define LED_DDR DDRD #define LED_PORT PORTD #define LED_PIN DDD7 /*  */ //   #define LED_INIT() ( LED_DDR |= (1<<LED_PIN) ); //  #define LED_LOW() ( LED_PORT &=~ (1<<LED_PIN) ); //  #define LED_HIGH() ( LED_PORT |= (1<<LED_PIN) ); //  #define LED_TOG() ( LED_PORT ^= (1<<LED_PIN) ); //   #define DELAY_US(us) __delay_cycles((F_CPU / 1000000) * (us)); //   #define DELAY_MS(ms) __delay_cycles((F_CPU / 1000) * (ms)); /*   */ //    UCHAR curr_state = STATE_LOW_FREQ_BLINK; //    //  UCHAR state_cnt = 0; /*  */ //   void main( void ) { //   //  LED_INIT(); //  LED_LOW(); //   for(;;) { //  switch(curr_state) { //      case STATE_LOW_FREQ_BLINK: //  LED_TOG(); //    DELAY_MS(DELAY_TIME_LF); //  state_cnt++; //     //,    if (state_cnt==LIMIT_CNT_LF) { curr_state = STATE_AVR_FREQ_BLINK; //  state_cnt = 0; }//end if break; //      case STATE_AVR_FREQ_BLINK: //  LED_TOG(); //    DELAY_MS(DELAY_TIME_AF); //  state_cnt++; //     //,    if (state_cnt==LIMIT_CNT_AF) { curr_state = STATE_HIGH_FREQ_BLINK; //  state_cnt = 0; }//end if break; //      case STATE_HIGH_FREQ_BLINK: //  LED_TOG(); //    DELAY_MS(DELAY_TIME_HF); //  state_cnt++; //     //,    if (state_cnt==LIMIT_CNT_HF) { curr_state = STATE_LOW_FREQ_BLINK; //  state_cnt = 0; }//end if break; } }//end for }
      
      







рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддреАрди рд░рд╛рдЬреНрдп STATE_LOW_FREQ_BLINK, STATE_AVR_FREQ_BLINK, STATE_HIGH_FREQ_BLINK рд╣реИрдВ, рдЬреЛ рдХреНрд░рдорд╢рдГ рдХрдо рдЖрд╡реГрддреНрддрд┐, рдордзреНрдпрдо рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрд▓рдИрдбреА рдХреЗ рдЪрдордХрдиреЗ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдХрд╛ рдЕрдкрдирд╛ рд╡рд┐рд▓рдВрдм рдорд╛рди DELAY_TIME_LF, DELAY_TIME_AF, DELAY_TIME_HF рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдкрд╛рд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рд╣реЛрдиреЗ рдХреА рд╕рдорд╛рди рдЕрд╡рдзрд┐ рдХреЛ LIMIT_CNT_LF, LIMIT_CNT_AF, LIMIT_CNT_HF рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкрд╛рд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд░рдВрдЯ_рд╕реНрдЯреИрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрдм рддрдХ рд░рд╛рдЬреНрдп рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╕реАрдорд╛ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА, рддрдм рддрдХ рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдкрд╛рд╕ рдореЗрдВ state_cnt рдЪрд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХрдерди рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд░рдордг рд╣реЛрддрд╛ рд╣реИ, рд░рд╛рдЬреНрдп_рдХрдВрдЯ рдкрд╛рд╕ рдХрд╛рдЙрдВрдЯрд░ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред



рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рддрд╣рдд, рдЕрдм, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рд╡реНрдпреВ-> рд╡реЙрдЪ рдореЗрдВ рдЖрдк cur_state рдФрд░ state_cnt рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред







рдЪреМрдерд╛ рдЙрджрд╛рд╣рд░рдг microcotroller рдХреЗ рдЖрда-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ (TIMER0) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреЛрд░реНрдЯ рдбреА рдХреЗ 6 рд╡реЗрдВ рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рд╛рдд-рдЦрдВрдб рд╕реВрдЪрдХ рдЦрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд╕рд░реА рдПрд▓рдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



 /*  */ #include <ioavr.h> #include <intrinsics.h> #include <ina90.h> /* */ //  #define F_CPU 16000000 //   #define TCNT0_VALUE 99 //    #define T0_TICK_CNT_LIMIT 100 //  #define UINT unsigned int /*  */ //   #define DELAY_US(us) __delay_cycles((F_CPU / 1000000) * (us)); //   #define DELAY_MS(ms) __delay_cycles((F_CPU / 1000) * (ms)); /*   */ //     T0 UINT T0_tick_cnt=0; /*  */ //   void main( void ) { //   //  // 6-   D   DDRD_DDD6 = 1; // 6-   D   "0" PORTD_PORTD6 = 0; //  // 7-   D   DDRD_DDD7 = 1; // 7-   D   "0" PORTD_PORTD7 = 0; //  ( Normal) TCCR0_CS02=1;//   16 000 000  TCCR0_CS01=0;// 16 000 000  / 1024 = 15 625  TCCR0_CS00=1;// 1 / 15 625  = 0,000064  =64  TCNT0 = TCNT0_VALUE; // 156 * 0,000064 c = 0,009984 c (10 ) //      255-156 = 99 TIMSK_TOIE0=1; //      //  _SEI(); //   for(;;) { //     _NOP(); // 6-   D  "0"  "1"   "1"  "0" //    PORTD_PORTD6 ^= 1; //    DELAY_MS(500); }//end for } /*   T0  */ #pragma vector=TIMER0_OVF_vect __interrupt void ISR_TickTimer(void) { //     _NOP(); //    T0 T0_tick_cnt++; //  1  if (T0_tick_cnt >= T0_TICK_CNT_LIMIT) { //    T0 T0_tick_cnt=0; // 7-   D  "0"  "1"   "1"  "0" //    PORTD_PORTD7 ^= 1; } //   //   TCNT0=TCNT0_VALUE; }//end func
      
      







рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореБрдЦреНрдп () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдПрд▓рдИрдбреА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╢реВрдиреНрдп рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреАрд╕реАрд╕реАрдЖрд░рдУ рдирд┐рдпрдВрддреНрд░рдг рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдЯрд╛рдЗрдорд░ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдлрд┐рд░ рдмрд┐рдЯреНрд╕ WGM00 рдФрд░ WGM01 рд╢реВрдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реВрдиреНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмрд┐рдЯреНрд╕ CS00, CS01, CS02 рдХреЛ 16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдЕрдзрд┐рдХрддрдо рд╡рд┐рднрдХреНрдд (1024) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред







рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЯрд╛рдЗрдорд░ рдХреА рдЖрд╡реГрддреНрддрд┐ 15625 рд╣рд░реНрдЯреНрдЬ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ 64 ╬╝ рдХреЗ рдЯрд┐рдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЕрдЧрд░ рд╣рдо рдЯрд┐рдХ рдХреЛ 156 (156 * 0.000064 c = 0.009984 c = 10 ms) рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо 10 рдПрдордПрд╕ рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ 10 рдПрдордПрд╕ рдореЗрдВ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдкреАрдврд╝реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧрд┐рдирддреА 99NT0 рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ 99 (255-156 = 99) рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдорд░ 99 рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ 255 рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рддреЛ рдЕрд╡рд░реЛрдз рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо 156 рдЯрд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред







рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрдЧреЗ, рд╢реВрдиреНрдп рдЯрд╛рдЗрдорд░ рдХреЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рдзрд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, TOIE0 рдмрд┐рдЯ TIMSK рдЗрдВрдЯрд░рдкреНрдЯ рдорд╛рд╕реНрдХрд┐рдВрдЧ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди _SEI () рдХреЗ рд╕рд╛рде рд╕рднреА рдирдХрд╛рдмрдкреЛрд╢ рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВред







рд╕рднреА рд░реБрдХрд╛рд╡рдЯ рд╡реИрдХреНрдЯрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ iom16.h рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВ:



 /*==============================*/ /* Interrupt Vector Definitions */ /*==============================*/ /* NB! vectors are specified as byte addresses */ #define RESET_vect (0x00) #define INT0_vect (0x04) #define INT1_vect (0x08) #define TIMER2_COMP_vect (0x0C) #define TIMER2_OVF_vect (0x10) #define TIMER1_CAPT_vect (0x14) #define TIMER1_COMPA_vect (0x18) #define TIMER1_COMPB_vect (0x1C) #define TIMER1_OVF_vect (0x20) #define TIMER0_OVF_vect (0x24) #define SPI_STC_vect (0x28) #define USART_RXC_vect (0x2C) #define USART_UDRE_vect (0x30) #define USART_TXC_vect (0x34) #define ADC_vect (0x38) #define EE_RDY_vect (0x3C) #define ANA_COMP_vect (0x40) #define TWI_vect (0x44) #define INT2_vect (0x48) #define TIMER0_COMP_vect (0x4C) #define SPM_RDY_vect (0x50)
      
      







рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рддрд░реНрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдПрдХ рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдгрд╛рд▓реА, рдЬреЛ рдореБрдЦреНрдп рд▓реВрдк рдФрд░ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЕрд░реНрдз-рд╕рдорд╛рдВрддрд░ рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рд▓реВрдк рдореЗрдВ, рдкреЛрд░реНрдЯ рдбреА рдХреЗ рдЫрдареЗ рдкрд┐рди рдХреЛ 500 рдПрдордПрд╕ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реВрдиреНрдп рд▓реВрдк рдУрд╡рд░рдлреНрд▓реЛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмрд╛рдзрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд▓реВрдк рд╣рд░ 10 рдПрдордПрд╕ рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред ISR_TickTimer () рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕ рдШрдЯрдирд╛ рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЪрд░ T0_tick_cnt рдмрдврд╝рд╛рдХрд░, 10 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдЯрд┐рдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЬрдм рдЪрд░ T0_tick_cnt 100 рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ (рдпрд╛рдиреА, рдПрдХ рд╕реЗрдХрдВрдб рдмреАрдд рдЪреБрдХрд╛ рд╣реИ), рдпрд╣ рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рджрд┐рдП рдЧрдП рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЪрд░ T0_tick_cnt рдкреЛрд░реНрдЯ 7 рдХреЗ рдкрд┐рди 7 рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 1000 рдПрдордПрд╕ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рдПрд▓рдИрдбреА рдХреА рдЪрдордХ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдореБрдЦреНрдп рд▓реВрдк рдФрд░ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред







рдкрд╛рдВрдЪрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдХрд╛рдо рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг, рд▓реЗрдХрд┐рди рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред



 /*  */ #include <ioavr.h> #include <intrinsics.h> #include <ina90.h> /* */ //  #define F_CPU 16000000 //    #define DELAY_TIME 500 //     //   #define LED1_DDR DDRD #define LED1_PORT PORTD #define LED1_PIN DDD7 //     //   #define LED2_DDR DDRD #define LED2_PORT PORTD #define LED2_PIN DDD6 //      #define F_CPU_DIV_1 (0<<CS02)|(0<<CS01)|(1<<CS00) #define F_CPU_DIV_8 (0<<CS02)|(1<<CS01)|(0<<CS00) #define F_CPU_DIV_64 (0<<CS02)|(1<<CS01)|(1<<CS00) #define F_CPU_DIV_256 (1<<CS02)|(0<<CS01)|(0<<CS00) #define F_CPU_DIV_1024 (1<<CS02)|(0<<CS01)|(1<<CS00) //     #define TCNT0_VALUE 99 //     #define T0_TICK_CNT_LIMIT 100 //  #define UINT unsigned int /*  */ //    #define LED1_INIT() ( LED1_DDR |= (1<<LED1_PIN) ); //   #define LED1_LOW() ( LED1_PORT &=~ (1<<LED1_PIN) ); //   #define LED1_HIGH() ( LED1_PORT |= (1<<LED1_PIN) ); //   #define LED1_TOG() ( LED1_PORT ^= (1<<LED1_PIN) ); //    #define LED2_INIT() ( LED2_DDR |= (1<<LED2_PIN) ); //   #define LED2_LOW() ( LED2_PORT &=~ (1<<LED2_PIN) ); //   #define LED2_HIGH() ( LED2_PORT |= (1<<LED2_PIN) ); //   #define LED2_TOG() ( LED2_PORT ^= (1<<LED2_PIN) ); //    #define TIMER0_SET_CLK_DIV(x) ( TCCR0 |= x ); //     #define TIMER0_SET_CNT(x) ( TCNT0 = x ); //      #define TIMER0_OVF_INT_ON() ( TIMSK|=(1<<TOIE0) ); //   #define DELAY_US(us) __delay_cycles((F_CPU / 1000000) * (us)); //   #define DELAY_MS(ms) __delay_cycles((F_CPU / 1000) * (ms)); /*   */ //     T0 UINT T0_tick_cnt=0; /*  */ //   void main( void ) { //   //  LED1_INIT(); LED2_INIT(); //  LED1_LOW(); LED2_LOW(); //  ( Normal) TIMER0_SET_CLK_DIV(F_CPU_DIV_1024);//   16 000 000  // 16 000 000  / 1024 = 15 625  // 1 / 15 625  = 0,000064  =64  TIMER0_SET_CNT(TCNT0_VALUE); // 156 * 0,000064 c = 0,009984 c (10 ) //      255-156 = 99 TIMER0_OVF_INT_ON(); //      //  _SEI(); //   for(;;) { //     _NOP(); //   LED1_TOG(); //    DELAY_MS(DELAY_TIME); }//end for } /*   T0  */ #pragma vector=TIMER0_OVF_vect __interrupt void ISR_TickTimer(void) { //     _NOP(); //    T0 T0_tick_cnt++; //  1  if (T0_tick_cnt >= T0_TICK_CNT_LIMIT) { //    T0 T0_tick_cnt=0; //   LED2_TOG(); }//end for //   //   TIMER0_SET_CNT(TCNT0_VALUE); }//end func
      
      







рд╢реЛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рд╢реВрдиреНрдп TCCRO рдЯрд╛рдЗрдорд░, рдЬрдм рд╕реЗрдЯрд┐рдВрдЧ рдореИрдХреНрд░реЛ TIMER0_SET_CLK_DIV (x) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рддрд░реНрдХ рдПрдХреНрд╕ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдШрдбрд╝реА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ F_CPU_DIV_1, F_CPU_DIV_8, F_CPU_DIV_64, F_CPU_DIV_256, F_CPU_DIV_1024 рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕реЗ рдЪреБрдирд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди TIMER0_SET_CNT (x) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЦрд╛рддрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ TCNT0 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рддрд░реНрдХ x рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ TCNT0_VALUE = 99)ред TIMSK рдЗрдВрдЯрд░рдкреНрдЯ рдорд╛рд╕реНрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ TOIE0 рдмрд┐рдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди TIMER0_OVF_INT_ON () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред

IAR рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред



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



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



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛



рдпрджрд┐ IAR рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╣реЗрдХреНрд╕-рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд▓рд┐рдВрдХрд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ-> рдЖрдЙрдЯрдкреБрдЯ рдЯреИрдм рдФрд░ рд▓рд┐рдВрдХрд░ рдкрд░-> рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдЙрдЯрдкреБрдЯ рдЯреИрдм рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ-> рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рднреА рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ [рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо] \ Debug \ Exe рдЖрдк рд╣реЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рд╕реЗ AVR910 рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, STK500 рдХреНрд▓реЛрди рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рд╕рд┐рд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред










All Articles