http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&action=history&feed=atom
Ðналоговый компаратор и мультиплекÑор - История изменений
2024-03-28T22:27:47Z
История изменений этой страницы в вики
MediaWiki 1.11.0
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1795&oldid=prev
Sin: Правки Kern (обсуждение) откачены к версии Mrsnaut
2010-03-09T13:44:43Z
<p>Правки <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Contributions/Kern" title="Служебная:Contributions/Kern">Kern</a> (<a href="/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Kern&action=edit" class="new" title="Обсуждение участника:Kern">обсуждение</a>) откачены к версии <a href="/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Mrsnaut" title="Участник:Mrsnaut">Mrsnaut</a></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black;">Версия 13:44, 9 марта 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Строка 1:</td>
<td colspan="2" class="diff-lineno">Строка 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> #include <stdint.h></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> #include <avr/io.h></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> #include <avr/interrupt.h></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> //логическая переменная состояния РС7;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> static volatile uint8_t status = 0;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> //обработчик прерывания от компаратора;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> ISR (ANA_COMP_vect)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> {</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> if (status == 0) {//если напряжения на выводе PC7 нет, то</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> PORTB |= 0x01;//подаем на него логическую "1" и</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> status = 1;//запаминаем новое состояние;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> status = 0;//запаминаем новое состояние;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> };</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> }</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> //главная функция;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> int main (void) </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> {</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> DDRB = 0xff;//настраиваем выводы порта В на выход;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> PORTB = 0x00;//без подачи напряжения;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> DDRC = 0xff;//настраиваем выводы порта С на выход;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> PORTC = 0x00;//без подачи напряжения;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> ADMUX = 0x07;//выход мультиплексора модуля АЦП - вывод PC7;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> SFIOR = _BV(ACME);//устанавливаем в качестве инвертирующего входа компаратора выход мультиплексора модуля АЦП;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> ACSR = _BV(ACBG) | _BV(ACIE);//выбираем внутреннее опорное напряжение и разрешаем прерывания от компаратора;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> SREG = 0x80;//глобальное разрешение прерываний;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> }</div></td></tr>
</table>
Sin
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1777&oldid=prev
Kern: Полностью удалено содержимое страницы
2010-02-09T13:04:07Z
<p>Полностью удалено содержимое страницы</p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black;">Версия 13:04, 9 февраля 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Строка 1:</td>
<td colspan="2" class="diff-lineno">Строка 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> #include <stdint.h></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> #include <avr/io.h></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> #include <avr/interrupt.h></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> //логическая переменная состояния РС7;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> static volatile uint8_t status = 0;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> //обработчик прерывания от компаратора;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> ISR (ANA_COMP_vect)</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> {</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> if (status == 0) {//если напряжения на выводе PC7 нет, то</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> PORTB |= 0x01;//подаем на него логическую "1" и</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> status = 1;//запаминаем новое состояние;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> status = 0;//запаминаем новое состояние;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> };</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> }</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> //главная функция;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> int main (void) </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> {</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> DDRB = 0xff;//настраиваем выводы порта В на выход;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> PORTB = 0x00;//без подачи напряжения;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> DDRC = 0xff;//настраиваем выводы порта С на выход;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> PORTC = 0x00;//без подачи напряжения;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> ADMUX = 0x07;//выход мультиплексора модуля АЦП - вывод PC7;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> SFIOR = _BV(ACME);//устанавливаем в качестве инвертирующего входа компаратора выход мультиплексора модуля АЦП;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> ACSR = _BV(ACBG) | _BV(ACIE);//выбираем внутреннее опорное напряжение и разрешаем прерывания от компаратора;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> SREG = 0x80;//глобальное разрешение прерываний;</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> }</div></td><td colspan="2"> </td></tr>
</table>
Kern
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1641&oldid=prev
Mrsnaut в 17:31, 28 февраля 2008
2008-02-28T17:31:07Z
<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black;">Версия 17:31, 28 февраля 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Строка 14:</td>
<td colspan="2" class="diff-lineno">Строка 14:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>status = 0;//запаминаем новое состояние;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>status = 0;//запаминаем новое состояние;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>};</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>};</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> }</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Строка 21:</td>
<td colspan="2" class="diff-lineno">Строка 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> int main (void) </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> int main (void) </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> {</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> {</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>DDRB = 0xff;//настраиваем выводы порта В на выход;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>DDRB = 0xff;//настраиваем выводы порта В на выход;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>PORTB = 0x00;//без подачи напряжения;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>PORTB = 0x00;//без подачи напряжения;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>DDRC = 0xff;//настраиваем выводы порта С на выход;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>DDRC = 0xff;//настраиваем выводы порта С на выход;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>PORTC = 0x00;//без подачи напряжения;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>PORTC = 0x00;//без подачи напряжения;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>ADMUX = 0x07;//выход мультиплексора модуля АЦП - вывод PC7;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>ADMUX = 0x07;//выход мультиплексора модуля АЦП - вывод PC7;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>SFIOR = _BV(ACME);//устанавливаем в качестве инвертирующего входа компаратора выход мультиплексора модуля АЦП;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>SFIOR = _BV(ACME);//устанавливаем в качестве инвертирующего входа компаратора выход мультиплексора модуля АЦП;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>ACSR = _BV(ACBG) | _BV(ACIE);//выбираем внутреннее опорное напряжение и разрешаем прерывания от компаратора;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>ACSR = _BV(ACBG) | _BV(ACIE);//выбираем внутреннее опорное напряжение и разрешаем прерывания от компаратора;</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>SREG = 0x80;//глобальное разрешение прерываний;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>SREG = 0x80;//глобальное разрешение прерываний;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> }</div></td></tr>
</table>
Mrsnaut
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1640&oldid=prev
Mrsnaut в 17:30, 28 февраля 2008
2008-02-28T17:30:16Z
<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black;">Версия 17:30, 28 февраля 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Строка 13:</td>
<td colspan="2" class="diff-lineno">Строка 13:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> status = 1;//запаминаем новое состояние;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> status = 1;//запаминаем новое состояние;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> status = 0;//запаминаем новое состояние;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> status = 0;//запаминаем новое состояние;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> };</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> };</div></td></tr>
</table>
Mrsnaut
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1639&oldid=prev
Mrsnaut в 17:29, 28 февраля 2008
2008-02-28T17:29:59Z
<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black;">Версия 17:29, 28 февраля 2008</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Строка 9:</td>
<td colspan="2" class="diff-lineno">Строка 9:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> ISR (ANA_COMP_vect)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> ISR (ANA_COMP_vect)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> {</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> {</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>if (status == 0) {//если напряжения на выводе PC7 нет, то</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>if (status == 0) {//если напряжения на выводе PC7 нет, то</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>PORTB |= 0x01;//подаем на него логическую "1" и</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>PORTB |= 0x01;//подаем на него логическую "1" и</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"> </del>status = 1;//запаминаем новое состояние;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins>status = 1;//запаминаем новое состояние;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> } else {//если есть, то</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div> PORTB &= 0xfe;//подаем на вывод логический "0" и </div></td></tr>
</table>
Mrsnaut
http://automata.sgu.ru/index.php?title=%C3%90%C2%90%C3%90%C2%BD%C3%90%C2%B0%C3%90%C2%BB%C3%90%C2%BE%C3%90%C2%B3%C3%90%C2%BE%C3%90%C2%B2%C3%91%E2%80%B9%C3%90%C2%B9_%C3%90%C2%BA%C3%90%C2%BE%C3%90%C2%BC%C3%90%C2%BF%C3%90%C2%B0%C3%91%E2%82%AC%C3%90%C2%B0%C3%91%E2%80%9A%C3%90%C2%BE%C3%91%E2%82%AC_%C3%90%C2%B8_%C3%90%C2%BC%C3%91%C6%92%C3%90%C2%BB%C3%91%C5%92%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BF%C3%90%C2%BB%C3%90%C2%B5%C3%90%C2%BA%C3%91%C2%81%C3%90%C2%BE%C3%91%E2%82%AC&diff=1638&oldid=prev
Mrsnaut: Новая: #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> //логическая переменная состояния РС7; static volatile uint8_t status = 0; //о...
2008-02-28T17:29:31Z
<p>Новая: #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> //логическая переменная состояния РС7; static volatile uint8_t status = 0; //о...</p>
<p><b>Новая статья</b></p><div> #include <stdint.h><br />
#include <avr/io.h><br />
#include <avr/interrupt.h><br />
<br />
//логическая переменная состояния РС7;<br />
static volatile uint8_t status = 0;<br />
<br />
//обработчик прерывания от компаратора;<br />
ISR (ANA_COMP_vect)<br />
{<br />
if (status == 0) {//если напряжения на выводе PC7 нет, то<br />
PORTB |= 0x01;//подаем на него логическую "1" и<br />
status = 1;//запаминаем новое состояние;<br />
} else {//если есть, то<br />
PORTB &= 0xfe;//подаем на вывод логический "0" и <br />
status = 0;//запаминаем новое состояние;<br />
};<br />
}<br />
<br />
//главная функция;<br />
int main (void) <br />
{<br />
DDRB = 0xff;//настраиваем выводы порта В на выход;<br />
PORTB = 0x00;//без подачи напряжения;<br />
DDRC = 0xff;//настраиваем выводы порта С на выход;<br />
PORTC = 0x00;//без подачи напряжения;<br />
ADMUX = 0x07;//выход мультиплексора модуля АЦП - вывод PC7;<br />
SFIOR = _BV(ACME);//устанавливаем в качестве инвертирующего входа компаратора выход мультиплексора модуля АЦП;<br />
ACSR = _BV(ACBG) | _BV(ACIE);//выбираем внутреннее опорное напряжение и разрешаем прерывания от компаратора;<br />
SREG = 0x80;//глобальное разрешение прерываний;<br />
}</div>
Mrsnaut