рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЕрдХреНрд╕рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ - рджрд╛рд▓реЛрдВ рдХреА рдЕрд╡рдзрд┐, рдПрдВрдЯреА-рдмрд╛рдЙрдВрд╕ рдкреНрд░рддреАрдХреНрд╖рд╛, рдЖрджрд┐ред
рдРрд╕реЗ рдЙрдкрдХрд░рдг рднреА рд╣реИрдВ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рдШрдВрдЯреЛрдВ рддрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рджрд┐рди рднреА - рд╡рд┐рдорд╛рди, рдСрдЯреЛрдореЛрдмрд╛рдЗрд▓, рдбрд╛рдЙрдирд╣реЛрд▓ рдбрд┐рд╡рд╛рдЗрд╕ (рд╡рд╣рд╛рдВ рд╣рдо рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЯрд╛рдЗрдорд░ рдФрд░ 8-рдмрд┐рдЯ рдЪрд░ рдХрд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред
рдореИрдВ рдЗрди рд╕рднреА рдХреЛ рдПрдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдХрдИ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХрд╛ рд╕рд╛рдзрдиред
рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдореИрдВрдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдФрд░ 8-рдмрд┐рдЯ рдПрд╡реАрдЖрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ 8-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдХрд╛рдЙрдВрдЯрд░ рдФрд░ 4-рдмрд╛рдЗрдЯ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдореИрдВ PICs рдФрд░ AT89 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдЕрдиреНрдп рдПрдореНрдмреЗрдбреЗрдб рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдирд╣реАрдВ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдкрд╛рдардХ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд░реВрдВрдЧрд╛ред
рд▓рд╛рдн - рдХреЛрдб рдЕрддреНрдпрдзрд┐рдХ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реИ (рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рд╕рд╛рде 5 рд╡реАрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд░рддрд╛ рд╣реВрдВ); рдХрд╛рдо рдореЗрдВ рд╕рд╛рджрдЧреА (рдХрд╛рдо рдХреЗ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ); рдХреЛрдб рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рд┐рд╕реНрд╕рд╛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ; рд░реБрдХрд╛рд╡рдЯ рдореЗрдВ - рд╕рдорди рдХрд╛ рдПрдХ рдСрдкрд░реЗрд╢рди (рд▓реЗрдХрд┐рди, рд╣рд╛рд▓рд╛рдВрдХрд┐, 4-рдмрд╛рдЗрдЯ рдорд╛рди рдХреЗ рд▓рд┐рдП); рдХреЛрдИ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг рдирд╣реАрдВ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЯрд╛рдЗрдорд░ред
рдореБрдЭреЗ рдПрдХ рдЦрд╛рдореА рдорд┐рд▓реА - рдПрдХ рдРрд╕рд╛ рдЙрдкрдпреЛрдЧреА рдФрд░ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рдЯрд╛рдЗрдорд░ рд╡реНрдпрд╕реНрдд рд╣реИ ...
рд▓реЗрдЦ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ - рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЕрдореЗрд░рд┐рдХрд╛ рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХреА рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд
рдЗрд╕рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ 12MHz рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рд╕рд╛рде Atmega16A рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИред рд╣рдо рдЗрд╕рдХрд╛ рдЯрд╛рдЗрдорд░ рдХрд╛рдЙрдВрдЯрд░ рд▓реЗрддреЗ рд╣реИрдВред 0. рдпрд╣ рдЖрда рдЕрдВрдХреЛрдВ рдХрд╛ рдЯрд╛рдЗрдорд░ рд╣реИ - рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХреНрдпреЛрдВ? рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ:
- рд╣рдо рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд╕реЗ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд╛рдЬрди рдЧреБрдгрд╛рдВрдХ рдХреЛ 8 рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ - рд╣рдореЗрдВ 1500 KHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдорд┐рд▓рддреА рд╣реИ;
- рд╣рдо CTC рдореЛрдб рд▓реЗрддреЗ рд╣реИрдВ (рд╕рдВрдпреЛрдЧ рд╣реЛрдиреЗ рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ) рдФрд░ 150 рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реБрдХрд╛рд╡рдЯ рд╕реЗрдЯ рдХрд░реЗрдВ - рд╣рдореЗрдВ 10 KHz рдХреА рдмрд╛рдзрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрд╡реГрддреНрддрд┐ рдорд┐рд▓рддреА рд╣реИ;
- рдЗрд╕ рдмрд╣реБрдд рд╣реА рд░реБрдХрд╛рд╡рдЯ рдкрд░ рдЪрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ (рдкреНрд░рддреНрдпреЗрдХ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ);
- рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд 32-рдмрд┐рдЯ рдорд╛рди рд╣реИ, рддреЛ рдпрд╣ рд▓рдЧрднрдЧ рдмрд╛рдж рдореЗрдВ рдмрд╣ рдЬрд╛рдПрдЧрд╛
- 429496729.6 рдорд┐рд▓реАрд╕реЗрдХрдВрдб;
- 42949.7 рд╕реЗрдХрдВрдб;
- 7158.3 рдорд┐рдирдЯ;
- 119.3 рдШрдВрдЯреЗ;
- 4.97 рджрд┐рдиред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдорд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╕рдЯреАрдХрддрд╛ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реИ (рд▓рдЧрднрдЧ) 5 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП (рдпрд╣ рд╕рдЪ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ - рдЙрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВ)ред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЯрд╛рдЗрдорд░ 0 рдХреЗ рдореВрд▓реНрдп рдХрд╛ рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ - рддреЛ рдпрд╣ рд╣рд░ 2/3 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдореЗрдВ рдмрдврд╝рд╛ рд╣реБрдЖ рд╣реИ - рдЖрдк 0.67 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд╣реБрдд рд╣реЛ? рдореЗрд░реЗ рд▓рд┐рдП - рдЖрдБрдЦреЛрдВ рдХреЗ рд▓рд┐рдПред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
- рдореИрдВ рдПрд▓ рдИ рдбреА рдХреЗ рдмреАрдЪ рдЪрдордХ рдФрд░ рдард╣рд░рд╛рд╡ рдХреА рдЕрд╡рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ;
- рдореИрдВ UART, USB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реВрдВ;
- рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ - рдЬрдЯрд┐рд▓ рдЕрдиреБрдкрд╛рдд-рд▓реМрдХрд┐рдХ рд╕рдВрдпреЛрдЬрди;
- рдореИрдВ рдПрдбреАрд╕реА рдФрд░ рдЕрдиреНрдп рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ;
- рдореИрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЙрд╕рдХреЗ (рдЙрдкрдХрд░рдг) рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рдордп рдмрддрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕реВрдЪрдирд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ;
- рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рддрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЪрд╛рдмрд┐рдпрд╛рдБ рджрдмрд╛рддреЗ рд╕рдордп рдПрдВрдЯреА-рдмрд╛рдЙрдВрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рджрд╛рд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред
рдФрд░ рдпрд╣ рд╕рдм рд╢рд╛рдВрддрд┐ рд╕реЗ рдПрдХ ATmega16 рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЗрдВрдЯрд░рдореЗрдбрд▓ рд╣реИ! рдФрд░ рдпрд╣ рдЕрд╕реЗрдВрдмрд▓рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реА! рдФрд░ рдХреЛрдИ рдмрд╛рд╣рд░реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛рдЙрдВрдЯрд░ рдирд╣реАрдВ!
рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?
AVR рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк
AVR рдореЗрдВ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд░реЗрдВ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдмрд╛рд╣рд░реА рдЪрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдореИрдВ "DeciMilliSecond" рдХрд╣рддрд╛ рд╣реВрдВ:
// main.h typedef unsigned long dword; // 32- extern volatile dword dmsec; // 0.1msec // main.c volatile dword dmsec;
рдЬреИрд╕рд╛ рдХрд┐ @ рдиреЛ-рд╕реНрдореЛрдХрд┐рдВрдЧ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдЪрд░ рдХреЛ рдЕрд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдВрдХрд▓рдХ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗред
рдореИрдВ рдлрдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рддрд╛ рд╣реВрдБ:
dmsec = 0;
рдЕрдЧрд▓рд╛, рдореИрдВрдиреЗ рдЯрд╛рдЗрдорд░ 0 рдХреЗ рдСрдкрд░реЗрд╢рди рдореЛрдб рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛:
// . 0 тАУ 0.1msec Timer0_Mode (TIMER_Mode_CTC | TIMER0_Clk_8); Timer0_Cntr (149); Timer_Int (Timer0_Cmp);
рдЙрд╕реА рд╕рдордп, рдХреБрдЫ MCU_init.h рдореЗрдВ рдореБрдЭреЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
// mcu_init.h #include <mega16.h> // . TIMSK #define Timer0_Cmp (1 << 1) // 0 // . TCCRn #define WGM1 (1 << 3) #define CS1 (1 << 1) // . 0 #define TIMER0_Clk_8 CS1 // 8 // . #define TIMER_Mode_CTC WGM1 // CTC ( ) // . #define Timer_Int(Mode) TIMSK = (Mode) #define Timer0_Mode(Mode) TCCR0 = (Mode) #define Timer0_Cntr(Cntr) OCR0 = (Cntr)
рдареАрдХ рд╣реИ, рддрдм, рдЬрдм рд╕рдВрднрд╡ рд╣реЛ, рдореИрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реВрдВ:
#asm ("SEI")
рдпрд╣ рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╕рднреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд░рд▓ рд╣реИ:
#include <mega16.h> interrupt [TIM0_COMP] Timer0_Compare (void) { ++dmsec; }
рд╕рдм рдХреБрдЫ, рдЯрд╛рдЗрдорд░ рдХрд╛ рд╡рд░реНрдгрди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ!
PIC рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк
рдпрд╣рд╛рдБ рд╕рдореНрдорд╛рдирд┐рдд PIC рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдиреЗ рдореБрдЭреЗ рдХреНрдпрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ:
рдЪреЛрдЯрд┐рдпреЛрдВ рдкрд░, рдпрд╣ рдЯрд┐рдорд░ 2 рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдпреЛрдЧ рд╕реЗ рдПрдХ рд╕рдорд╛рди рд░реБрдХрд╛рд╡рдЯ рдХрд╛рд░реНрдп рд╣реИред
PR2 = 75 - рд╡рд╣ рдорд╛рди рдЬрд┐рд╕ рдкрд░ рдЯрд╛рдЗрдорд░ рд╢реВрдиреНрдп рдкрд░ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрдХ рдЕрд╡рд░реЛрдз рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛
T2CON.T2CKPS = 2 - рдкреНрд░реАрд╕реНрдХреВрд▓рд░ 1:16
T2CON.T2OUTPS = 0 - рдкреЛрд╕реНрдЯ-рд╕реНрдХреЗрд▓рд░ рдХреЗ рдмрд┐рдирд╛
T2CON.TMR2ON = рдкрд░ - рдЯрд╛рдЗрдорд░ рдЪрд╛рд▓реВ рд╣реИ
IPR1.TMR2IP = 1 - рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрд╛рдзрд╛
PIR1.TMR2IF = рдмрдВрдж - рдмрд╛рдзрд╛ рдзреНрд╡рдЬ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ
PIE1.TMR2IE = рдкрд░ - TMR2 рдФрд░ PR2 рдХреЗ рд╕рдВрдпреЛрдЧ рд╕реЗ рдЕрд╡рд░реЛрдз рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
INTCON.GIE = тАЛтАЛрдСрди - рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдкреНрд░реАрд╕реНрдХреВрд▓рд░ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ PR2 2 рдЧреБрдирд╛ рдХрдо рд╣реИред
рдпреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ 48 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдЖрд╡реГрддреНрддрд┐ рдкрд░ 10 kHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рд░реБрдХрд╛рд╡рдЯ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреА (рдлреЙрдХреНрд╕ / 4 рдЯрд╛рдЗрдорд░ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ) - рдпреВрдПрд╕рдмреА рдлреБрд▓ рд╕реНрдкреАрдб рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЖрд╡реГрддреНрддрд┐ред
рдХреЗ рдЙрдкрдпреЛрдЧ
рдЗрд╕ рдЯрд╛рдЗрдорд░ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ (AVR рдореЗрдВ рдЯрд╛рдЗрдорд░ 0 рдХреЗ рдореВрд▓реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛)ред
рдпрд╣рд╛рдБ USB рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:
#include "main.h" // dmsec, next_USB_timeout #include "FT245R.h" // USB #include "..\Protocol.h" // - // ** // ** USB // ** void AnalyzeUSB (void) { #define RECEIVE_BYTE(B) while (!FT245R_IsToRead)\ { if (dmsec > end_analyze) return; }\ B = FT245_ReadByte (); #define RECEIVE_WORD(W) // 2 #define RECEIVE_DWORD(W) // 4 dword end_analyze, d; NewAnalyze: if (!FT245R_IsToRead) // ? return; end_analyze = dmsec + max_USB_timeout; // timeout next_USB_timeout = dmsec + MaxSilence_PC_DEV; // timeout RECEIVE_BYTE (b) // switch (b) { case SetFullState: RECEIVE_DWORD (d); // is_initialized = 1; // ChangeIndicator (); break; } // switch (pack) goto NewAnalyze; #undef RECEIVE_BYTE // #define #undef RECEIVE_WORD #undef RECEIVE_DWORD }
рдореИрдХреНрд░реЛ рдлрд╝рдВрдХреНрд╢рди RECEIVE_BYTE, RECEIVE_WORD, RECEIVE_DWORD рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдПрдХреНрд╕рдЪреЗрдВрдЬ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдкрдврд╝реА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЕрдЧрд░ рдХреБрдЫ рджреВрд╕рд░реА рддрд░рдл рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ - рд╡реЙрдЪрдбреЙрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА! рдФрд░ рдЪрд░ / рдирд┐рд░рдВрддрд░ max_USB_timeout рдХреЗ рд▓рд┐рдП рд╕рднреА рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛ 0.1 рдорд┐рд▓реАрд╕реЗрдХреЗрдВрдб рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣, рдЕрдЧрд▓реЗ next_USB_timeout рдХреЗ "рд╣рд╡рд╛ рдкрд░ рдЪреБрдкреНрдкреА" рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ 1) рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╣реАрдВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ рд╣реИ, 2) рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рддреНрд░реБрдЯрд┐" рдПрд▓рдИрдбреА рд▓рд╛рдЗрдЯреНрд╕)ред рдирд┐рд░рдВрддрд░ / рдЪрд░ MaxSilence_PC_DEV рдЖрдкрдХреЛ рд╡реНрдпрд╛рдкрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ "рдореМрди" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рднрд┐рдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рдЕрдВрд╢ рд╕реЗ рдХрдИ рджрд┐рдиреЛрдВ рддрдХред
рдЗрд╕реА рддрд░рд╣, рдЕрдиреНрдп рд╕рднреА рдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
#define GetUSec(A,B) { #asm ("CLI"); A = dmsec; B = TCNT0; #asm ("SEI"); } // ** // ** 2/3usec // ** dword Difference (dword prev_dmsec, byte prev_usec) { dword cur_dmsec; byte cur_usec; dword dif; // . GetUSec (cur_dmsec, cur_usec); // dif = cur_dmsec - prev_dmsec; dif <<= 8; if (cur_usec < prev_usec) dif += 255 + (dword) cur_usec - prev_usec; else dif += cur_usec - prev_usec; return dif; }
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордп рдХреЗ рдкрд┐рдЫрд▓реЗ рдХреНрд╖рдг рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - dmsec рдФрд░ рдЯрд╛рдЗрдорд░ рдХрд╛ рдкрд┐рдЫрд▓рд╛ рдорд╛рди 0ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЧреЗрдЯрд╕реНрдХ рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде, рд╣рдо рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирдХрд▓ рдХреЗ рд╕рдордп dmsec рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рджреВрд╖рд┐рдд рди рд╣реЛрдВред рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред
рдЕрдЧрд▓рд╛, рд╣рдо рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП 2/3 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред
рдЦреИрд░, рд╣рдо рдЗрд╕ рдмрд╛рд░ рд▓реМрдЯрддреЗ рд╣реИрдВред
рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рд╡рд┐рд░реЛрдзреА рдЙрдЫрд╛рд▓ рдФрд░ рдЕрдиреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЬрдм рдЖрдк рд╡рд░реНрддрдорд╛рди рдмрд┐рдВрджреБ рдХреЛ рд╕рдордп рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддрдм рднреА рд░реБрдХрд╛рд╡рдЯ рдХреЛ рд░реЛрдХрдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ - рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЧреЗрдЯрд╕реНрдХ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдкрд░рд┐рдгрд╛рдо
рдпрд╣ рдЯрд╛рдЗрдорд░ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрддреНрдпрдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд▓рд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд╛рдо рдЖрдПрдЧрд╛ред рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛:
- рдмрд╛рдбрд╝ рд▓рдЧрд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ ред рдпрд╣ рдХреЗрдВрджреНрд░ рдФрд░ ATmega64 рдХреЗ рд░реВрдк рдореЗрдВ рджреЛ рд╕рд╣рд╛рдпрдХ (рджрд╛рдПрдВ рдФрд░ рдмрд╛рдПрдВ рдкрдХреНрд╖) рдХреЗ рд░реВрдк рдореЗрдВ рддреАрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реЗрдордЯреНрдЯреА рдЖрдзрд╛ рдореАрдЯрд░ рдмреЛрд░реНрдб рд╣реИред рддреАрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЧреИрд▓реНрд╡реЗрдирд┐рдХ рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ - рдЖрдпрдирд╕реНрдЯреЛрд░реНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐, рдСрдкреНрдЯреЛрдХреЙрдкрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ред рдХреЗрдВрджреНрд░реАрдп рдирд┐рдпрдВрддреНрд░рдХ рдПрдХ рдЖрдпрдирд┐рд╕реНрдЯрд░ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЪрд╛рд░реНрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдордп рдЕрдиреНрдп рдЖрдпрдирд┐рд╕реНрдЯрд░ рдХреЗ рджреЛрдиреЛрдВ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЦрд┐рд▓рд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд░рд┐рд╢реНрддреЗ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рдПрдХ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдмрдирд╛рдирд╛ рдкрдбрд╝рд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо 8 рд░рд┐рд▓реЗ рдХреЗ рд╕рдордиреНрд╡рд┐рдд рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдпрд╣рд╛рдВ рдЯрд╛рдЗрдорд░ 3.3ms (рдЧрд╛рд░рдВрдЯреА рд░рд┐рд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп) рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреЛрдиреЛрдВ рдкрдХреНрд╖ 10 рд░рд┐рд▓реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реИрдХрдбрд╝реЛрдВ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░реНрд╕ рдХреЗ рд╕рд╛рде рднреАред рдпрд╣ рд╕рднреА рдЦреЗрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдордп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (1 рдПрдордПрд╕ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде, 6 рд╕реЗрдХрдВрдб рдХреА рдЕрдзрд┐рдХрддрдо рдЕрд╡рдзрд┐) рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЦреИрд░, рдФрд░, рдЕрдВрдд рдореЗрдВ, USB, UART рдХреЗ рд▓рд┐рдП рдХреЗрдирд▓ рдЯрд╛рдЗрдордЖрдЙрдЯред
- рдЧрд╣рд░рд╛рдИ рд╕реЗрдВрд╕рд░ рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд╛рдо) рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред рджреЛ рдХрдВрдбрдХреНрдЯрд░ (рдорд▓реНрдЯреА-рдореАрдЯрд░) рд╣реИрдВ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ "1 рд╕реЗрдореА рд╕реЗ рдКрдкрд░" рдФрд░ "1 рд╕реЗрдореА рд╕реЗ рдиреАрдЪреЗ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ" рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рджрд┐рд╢рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпреЗ рдЖрд╡реЗрдЧреЛрдВ рдХреЗ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдпреЛрдЬрди рд╣реИрдВред рдЗрд╕ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЙрдЫрд╛рд▓, рдПрдХ рд╕реНрдерд┐рд░ рдирд╛рдбрд╝реА рдХреА рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ, рдЕрдзрд┐рдХрддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЙрдЫрд╛рд▓ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ (10 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдпрд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ), рдПрдВрдЯреА-рдмрд╛рдЙрдВрд╕ рдкреНрд░рддреАрдХреНрд╖рд╛, рдиреНрдпреВрдирддрдо / рдЕрдзрд┐рдХрддрдо рдкрд▓реНрд╕ рдЕрд╡рдзрд┐ред рдЦреИрд░, рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб рд╣реИ - рд╕реЗрдВрд╕рд░ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдФрд░ рдЧреБрдгрд╛рдВрдХ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЦреИрд░, рдлрд┐рд░ рд╕реЗ, рдЯрд╛рдЗрдордЖрдЙрдЯ, рдПрд▓.рдИ.рдбреА.
- рдПрдирд╛рд▓реЙрдЧ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рд╕реЗрдВрд╕рд░ ред рдЯреНрд░рд╛рдЗрдЯ 8-рдЪреИрдирд▓ рдПрдбреАрд╕реАред рдпрд╣рд╛рдВ рдореИрдВ рдЖрд╡рд╢реНрдпрдХ рдард╣рд░рд╛рд╡ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ рдкреНрд░рд┐рдп Habrausers рдореБрдЭреЗ рдЗрд╕реА рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднреАрдХрд░рдг рдХреЛрдб рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдо - рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рдордп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рдЪрд░ рдХреЗ рд▓рд┐рдП 100 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдХрднреА-рдХрднреА рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдпреБрдкреАрдбреА
рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж
рдЬреИрд╕рд╛ рдХрд┐ nerudo рдиреЗ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕реЗ 2/3 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдореЗрдВ рд▓рдЧрднрдЧ 5 рджрд┐рди рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рдЧрдгрдирд╛рдУрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИ ...
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ 12 MHz HC49 / S рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЛ рд╣реА рд▓реЗрдВред KSS рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рд╕рдЯреАрдХрддрд╛ -15 рдХрд╛ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ ... + -50 x 1e-6 рдПрдХ рд╣реА рдкреАрдкреАрдПрдо рд╣реИ ред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ 1 рд╕реЗрдХрдВрдб рдореЗрдВ 15 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреА рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрдПрдЧреАред рддреЛ, 4.97 рджрд┐рдиреЛрдВ рдореЗрдВ рд╣рдореЗрдВ 268 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЕрдЪрд╛рдирдХ рд▓реЗрддреЗ рд╣реИрдВ - рдХрд╣рддреЗ рд╣реИрдВ, 1 рдкреАрдкреАрдПрдо рдХреЗ рд╕рд╛рде, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 18 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдорд┐рд▓рддреЗ рд╣реИрдВред
рдПрдХ рдлрд╡реНрд╡рд╛рд░рд╛ рдирд╣реАрдВ - рдПрдХ рддрд░рдлред рджреВрд╕рд░реА рдУрд░ - рд╣рдо рдПрдХ рдЙрдЪреНрдЪ рдЕрдВрдд рдХреНрд░реЛрдиреЛрдореАрдЯрд░ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ! рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ред рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рджреЛ рд╕реНрдерд╛рдирд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ 45 рдорд┐рдирдЯ рдореЗрдВ 1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╕рдЯреАрдХрддрд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рджреВрд╕рд░реА рдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред