<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=PIC_Opg_2_L%C3%B8sning</id>
	<title>PIC Opg 2 Løsning - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=PIC_Opg_2_L%C3%B8sning"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;action=history"/>
	<updated>2026-10-16T15:00:53Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4869&amp;oldid=prev</id>
		<title>Bar: /* Udvidelse af opgaven til 3 indgange */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4869&amp;oldid=prev"/>
		<updated>2022-11-15T09:30:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Udvidelse af opgaven til 3 indgange&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 15. nov. 2022, 11:30&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l250&quot;&gt;Linje 250:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 250:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Koden ligger som opg2-3and3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Koden ligger som opg2-3and3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{PIC}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Opgaver}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:PIC_Opgave_Løsninger]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:PIC_Opgave_Løsninger]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4768&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4768&amp;oldid=prev"/>
		<updated>2022-11-15T07:09:08Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 15. nov. 2022, 09:09&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4767&amp;oldid=prev</id>
		<title>_htx&gt;Bar: Oprettede siden med &#039;Denne side gennemgår løsningen for PIC Opgave 2 - Gates ==Løsningsforslag for Gates.==  Generelt er alle løsningerne lavet med den sædvanlig opstartskode til en P...&#039;</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=PIC_Opg_2_L%C3%B8sning&amp;diff=4767&amp;oldid=prev"/>
		<updated>2013-08-20T10:27:49Z</updated>

		<summary type="html">&lt;p&gt;Oprettede siden med &amp;#039;Denne side gennemgår løsningen for &lt;a href=&quot;/index.php/PIC_Opgave_2_-_Gates&quot; title=&quot;PIC Opgave 2 - Gates&quot;&gt;PIC Opgave 2 - Gates&lt;/a&gt; ==Løsningsforslag for Gates.==  Generelt er alle løsningerne lavet med den sædvanlig opstartskode til en P...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Denne side gennemgår løsningen for [[PIC Opgave 2 - Gates]]&lt;br /&gt;
==Løsningsforslag for Gates.==&lt;br /&gt;
&lt;br /&gt;
Generelt er alle løsningerne lavet med den sædvanlig opstartskode til en [[PIC16F684]], og selve funktionen realiseret i et forever loop.&lt;br /&gt;
&lt;br /&gt;
Opstartskoden kan ses generelt gennemgået i [[Kategori:PIC_Opgave_Løsninger|PIC Opgave Løsninger]]&lt;br /&gt;
&lt;br /&gt;
Generelt så sættes der indgange og udgange op til de forskellige gates som vist her:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pin_A3_direction =  input&lt;br /&gt;
pin_A4_direction =  input&lt;br /&gt;
alias   InA is pin_A3&lt;br /&gt;
alias   InB is pin_A4&lt;br /&gt;
alias   AND_out is pin_A0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De to indgange InA og InB genbruges til alle gates, mens der laves specielle udgange for hver gate.&lt;br /&gt;
&lt;br /&gt;
===Koden som jal-filer===&lt;br /&gt;
&lt;br /&gt;
Alle eksemplerne kan hentes [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
==Forskellige løsninger på AND-gate==&lt;br /&gt;
Opgaven kan løses på mange måder, så i første omgang skitseres en løsning af en AND gate på 3 forskellige måder i koden&lt;br /&gt;
&lt;br /&gt;
===AND gate som kombination if-sætninger===&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
35  -- Denne løsning bygger på kombination if-sætninger&lt;br /&gt;
36  if InA then&lt;br /&gt;
37     if InB then&lt;br /&gt;
38        AND_out = high&lt;br /&gt;
39     else&lt;br /&gt;
40        AND_out = low&lt;br /&gt;
41     end if&lt;br /&gt;
42  else&lt;br /&gt;
43     AND_out = low&lt;br /&gt;
44  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linje 36 tester den ene indgang og linje 37 tester den anden indgang. Hvis begge indgange er sat, så skal AND gaten gå høj, som linje 38 sørger for.&lt;br /&gt;
&lt;br /&gt;
Hvis InB ikke er høj, så vil linje 39-41 sørge for at udgangen sættes til lav (det skal gøres aktivt, ellers vil udgangen forblive høj, så længe den ikke sættes lav).&lt;br /&gt;
&lt;br /&gt;
Hvis InA ikke er høj, så vil linje 42-44 sørge for at udgangen sættes til lav.&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-and1.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
===AND gate som logisk kombination inde i if-udtrykket===&lt;br /&gt;
Man kan opstille mere komplekse udtryk i IF-[[betingelse]]n, så man faktisk AND&amp;#039;er de to indgange sammen, og laver IF-betingelsen på det.&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
35  -- Denne løsning bygger på logisk kombination inde i if-udtrykket&lt;br /&gt;
36  if InA &amp;amp; InB then&lt;br /&gt;
37     AND_out = high&lt;br /&gt;
38  else&lt;br /&gt;
39     AND_out = low&lt;br /&gt;
40  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linje 36 er denne AND-kombination af InA og InB, og linje 37 sætter udgangen høj, hvis det er sandt, og linje 38-40 sørger for at sætte lavt, hvis det ikke er sandt. &lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-and2.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
===AND gate som logiske bits===&lt;br /&gt;
I JAL kan man regne med bits som et udtryk, og sætte et bit-resultat direkte på udgangen. Det gør at hele gaten kan realiseres med en linje kode.&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
35  -- Denne løsning bygger på at man kan arbejde logisk med bits&lt;br /&gt;
36  AND_out = InA &amp;amp; InB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linje 36 er den linje hvor InA og InB bliver AND&amp;#039;et sammen, og resultatet lægges ud på AND_out&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-and3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
==Forskellige løsninger på OR-gate==&lt;br /&gt;
Opgaven kan løses på mange måder, men lige som ved AND gaten er OR gaten her løst på 3 forskellige måder i koden.&lt;br /&gt;
&lt;br /&gt;
===OR gate som kombination if-sætninger===&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
36  -- Denne løsning bygger på kombination if-sætninger&lt;br /&gt;
37  if InA then&lt;br /&gt;
38     OR_out = high&lt;br /&gt;
39  else&lt;br /&gt;
40     if InB then&lt;br /&gt;
41        OR_out = high&lt;br /&gt;
42     else&lt;br /&gt;
43        OR_out = low&lt;br /&gt;
44     end if&lt;br /&gt;
45  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-or1.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
===OR gate som logisk kombination inde i if-udtrykket===&lt;br /&gt;
Man kan opstille mere komplekse udtryk i IF-[[betingelse]]n, så man faktisk OR&amp;#039;er de to indgange sammen, og laver IF-betingelsen på det.&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
36  -- Denne løsning bygger på logisk kombination inde i if-udtrykket&lt;br /&gt;
37  if InA | InB then&lt;br /&gt;
38     OR_out = high&lt;br /&gt;
39  else&lt;br /&gt;
40     OR_out = low&lt;br /&gt;
41  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-or2.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
===OR gate som logiske bits===&lt;br /&gt;
I JAL kan man regne med bits som et udtryk, og sætte et bit-resultat direkte på udgangen. Det gør at hele gaten kan realiseres med en linje kode.&lt;br /&gt;
&lt;br /&gt;
Hele koden inde i forever-loopet ser ud som følgende:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
36  -- Denne løsning bygger på at man kan arbejde logisk med bits&lt;br /&gt;
37  OR_out = InA | InB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-or3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
==Alle gates løst i samme program==&lt;br /&gt;
&lt;br /&gt;
Ved at udvide den første løsning med AND-gates så kan man med 3 if-else sætninger få løst alle gates, ved at man placerer udgangene de korrekte steder, som det kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   if InA then&lt;br /&gt;
      INV_out = low      -- inverter&lt;br /&gt;
      OR_out = high     -- OR&lt;br /&gt;
      NOR_out = low      -- NOR&lt;br /&gt;
      if InB then&lt;br /&gt;
         AND_out = high  -- AND&lt;br /&gt;
         NAND_out = low   -- NAND&lt;br /&gt;
         XOR_out = low   -- XOR&lt;br /&gt;
         XNOR_out = high  -- XNOR&lt;br /&gt;
      else&lt;br /&gt;
         AND_out = low   -- AND&lt;br /&gt;
         NAND_out = high  -- NAND&lt;br /&gt;
         XOR_out = high  -- XOR&lt;br /&gt;
         XNOR_out = low   -- XNOR&lt;br /&gt;
      end if&lt;br /&gt;
   else&lt;br /&gt;
      INV_out = high -- inverter&lt;br /&gt;
      AND_out = low  -- AND&lt;br /&gt;
      NAND_out = high -- NAND&lt;br /&gt;
      if InB then&lt;br /&gt;
         OR_out = high  -- OR&lt;br /&gt;
         NOR_out = low   -- NOR&lt;br /&gt;
         XOR_out = high  -- XOR&lt;br /&gt;
         XNOR_out = low   -- XNOR&lt;br /&gt;
      else&lt;br /&gt;
         OR_out = low   -- OR&lt;br /&gt;
         NOR_out = high  -- NOR&lt;br /&gt;
         XOR_out = low   -- XOR&lt;br /&gt;
         XNOR_out = high  -- XNOR&lt;br /&gt;
      end if&lt;br /&gt;
   end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som PIC-gate.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
Den næste løsning gennemgået med AND gates giver ikke den samme besparelse på IF-sætningerne - der skal stadig en sætning til AND og NAND som det kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   if InA then&lt;br /&gt;
      INV_out = low      -- inverter&lt;br /&gt;
   else&lt;br /&gt;
      INV_out = high     -- inverter&lt;br /&gt;
   end if&lt;br /&gt;
&lt;br /&gt;
   if InA &amp;amp; InB then&lt;br /&gt;
      AND_out = high     -- AND&lt;br /&gt;
      NAND_out = low     -- NAND&lt;br /&gt;
   else&lt;br /&gt;
      AND_out = low      -- AND&lt;br /&gt;
      NAND_out = high    -- NAND&lt;br /&gt;
   end if&lt;br /&gt;
&lt;br /&gt;
   if InA | InB then&lt;br /&gt;
      OR_out = high      -- OR&lt;br /&gt;
      NOR_out = low      -- NOR&lt;br /&gt;
   else&lt;br /&gt;
      OR_out = low       -- OR&lt;br /&gt;
      NOR_out = high     -- NOR&lt;br /&gt;
   end if&lt;br /&gt;
&lt;br /&gt;
   if InA ^ InB then&lt;br /&gt;
      XOR_out = high     -- XOR&lt;br /&gt;
      XNOR_out = low     -- XNOR&lt;br /&gt;
   else&lt;br /&gt;
      XOR_out = low      -- XOR&lt;br /&gt;
      XNOR_out = high    -- XNOR&lt;br /&gt;
   end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som PIC-gate3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
Den sidste løsning med bit-beregning kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   INV_out  = ! InA         -- inverter&lt;br /&gt;
   AND_out  = InA &amp;amp; InB     -- AND&lt;br /&gt;
   OR_out   = InA | InB     -- OR&lt;br /&gt;
   NAND_out = ! AND_out     -- NAND&lt;br /&gt;
   NOR_out  = ! OR_out      -- NOR&lt;br /&gt;
   XOR_out  = InA ^ InB     -- XOR&lt;br /&gt;
   XNOR_out = ! XOR_out     -- XNOR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som PIC-gate2.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
==Udvidelse af opgaven til 3 indgange==&lt;br /&gt;
Ved at udvide den første løsning med AND-gates så kan man få 3 indgange på, som det kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  if InA then&lt;br /&gt;
     if InB then&lt;br /&gt;
        if InC then&lt;br /&gt;
           AND_out = high&lt;br /&gt;
        else&lt;br /&gt;
           AND_out = low&lt;br /&gt;
        end if&lt;br /&gt;
     else&lt;br /&gt;
        AND_out = low&lt;br /&gt;
     end if&lt;br /&gt;
  else&lt;br /&gt;
     AND_out = low&lt;br /&gt;
  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-3and1.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
Den næste løsning gennemgået med AND gates giver en noget enklere løsning, da der blot skal AND&amp;#039;es en ekstra indgang på i IF-betingelsen som det kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  if InA &amp;amp; InB &amp;amp; InC then&lt;br /&gt;
     AND_out = high&lt;br /&gt;
  else&lt;br /&gt;
     AND_out = low&lt;br /&gt;
  end if&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-3and2.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
Den sidste løsning med bit-beregning giver blot en minimal udvidelse som det kan ses i følgende kode for forever-loopet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  AND_out = InA &amp;amp; InB &amp;amp;InC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koden ligger som opg2-3and3.jal [[Media:PIC-gates.zip|i denne ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
[[Kategori:PIC_Opgave_Løsninger]]&lt;/div&gt;</summary>
		<author><name>_htx&gt;Bar</name></author>
	</entry>
</feed>