<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Управление портами ввода – вывода МК ATmega by Сергей Никулин</title>
      <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2025-02-08 09:47:59 UTC</pubDate>
      <lastBuildDate>2025-02-08 10:12:05 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Теория</title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320735949</link>
         <description><![CDATA[<p><br></p><p>Порты микроконтроллера управляются тремя регистрами (они же команды в языке С++):</p><p>‒ <strong>DDRx</strong> (<strong>регистр направления порта</strong>) – определяет, является тот или иной вывод порта входам или выходом; если некоторый разряд регистра DDRx содержит логический 0, то соответствующий вывод порта сконфигурирован как вход, в противном случае – как выход;</p><p>‒ <strong>PORTx</strong> (<strong>регистр управления состоянием порта</strong>) – если вывод выполняет роль выхода, то в соответствующий разряд записывается значение, предназначенное для вывода; если вывод выполняет роль входа, то логический 0 в некотором разряде регистра PORTx соответствует высокоомный вход, а логическая 1 – вход, нагруженный подтягивающим сопротивлением;</p><p>‒ <strong>PINx</strong> (<strong>регистр состояния порта</strong>) – в отличие от регистров DDRx и PORTx доступен только для чтения и позволяет считать входные данные порта на внутреннюю шину МК. В регистре&nbsp;PINx&nbsp;содержится информация о&nbsp;реальном текущем логическом уровне&nbsp;на выводах порта.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-02-08 09:57:19 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320735949</guid>
      </item>
      <item>
         <title>Более подробно устройство и работа портов ввода вывода</title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320737100</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html" />
         <pubDate>2025-02-08 09:59:57 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320737100</guid>
      </item>
      <item>
         <title>Создаем в программе Proteus схему управления состоянием светодиодов</title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320738702</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3379103206/21837445efcef030d74f1e0768766562/_____.png" />
         <pubDate>2025-02-08 10:03:29 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320738702</guid>
      </item>
      <item>
         <title>Исходный текс программы:</title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320739505</link>
         <description><![CDATA[<p><br></p><p><br></p><p>#define F_CPU 8000000L</p><p>#include &lt;avr/io.h&gt;</p><p>&nbsp;</p><p>int main(void)</p><p>{</p><p>&nbsp;&nbsp; DDRD=0b00000000;</p><p>&nbsp;&nbsp; PORTD=0b00000100;</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp; DDRE=0b00000000;</p><p>&nbsp;&nbsp; PORTE=0b00000001;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp; DDRF=0b00000101;</p><p>&nbsp;&nbsp; PORTF=0b00000101;</p><p>&nbsp;&nbsp;</p><p>&nbsp; while (1)</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; if (!(PIND&amp;0b00000100))</p><p>&nbsp;&nbsp;&nbsp; PORTF=0b100;</p><p>&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp; if (!(PINE&amp;0b00000001))</p><p>&nbsp;&nbsp;&nbsp; PORTF=0b001;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-02-08 10:05:28 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320739505</guid>
      </item>
      <item>
         <title>«Правильный» способ задания выходного состояния порта</title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320739852</link>
         <description><![CDATA[<p><br></p><p>while (1)</p><p>&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(PIND&amp;0b00000100))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; //PORTF=0b100;</p><p>&nbsp;&nbsp;&nbsp; PORTF &amp;=~ (1&lt;&lt;(PORTF0)); //запись уровня нуля на 0-й вывод порта F</p><p>&nbsp;&nbsp;&nbsp; PORTF |= (1&lt;&lt;(PORTF2));} //запись уровня единицы на 2-й вывод порта F</p><p>&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(PINE&amp;0b00000001))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; //PORTF=0b001;</p><p>&nbsp;&nbsp;&nbsp; PORTF &amp;=~ (1&lt;&lt;(PORTF2));</p><p>&nbsp;&nbsp;&nbsp; PORTF |= (1&lt;&lt;(PORTF0));}</p><p>&nbsp;&nbsp; }</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-02-08 10:06:28 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320739852</guid>
      </item>
      <item>
         <title></title>
         <author>nikulin76by</author>
         <link>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320740199</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3379103206/e9125141083f484a322fe90fa372b49f/_____________.gif" />
         <pubDate>2025-02-08 10:07:26 UTC</pubDate>
         <guid>https://padlet.com/nikulin76by/urfskgln6kqxc18p/wish/3320740199</guid>
      </item>
   </channel>
</rss>
