<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>ProMegaNet</title>
	<atom:link href="http://promeganet.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://promeganet.com</link>
	<description></description>
	<pubDate>Sun, 04 Jan 2009 13:03:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Start pic programming with mikroc for beginners</title>
		<link>http://promeganet.com/?p=1262</link>
		<comments>http://promeganet.com/?p=1262#comments</comments>
		<pubDate>Sun, 04 Jan 2009 13:03:46 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=1262</guid>
		<description><![CDATA[ 
Write your first program in mikroc

MikroC is a powerful, feature rich development tool for PICmicros. PIC andC fit well together: PIC is the most popular 8-bit chip in the world, used in a wide variety of applications, and C, prized for its efficiency, is a natural choice for developing microcontroller applications. MikroC provides a [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:TimesNewRoman; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1782525525; 	mso-list-type:hybrid; 	mso-list-template-ids:2098748902 1424771780 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:?; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Symbol; 	mso-fareast-font-family:"Times New Roman"; 	mso-bidi-font-family:TimesNewRoman;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 16pt;">Write your first program in mikroc</span></p>
<p class="MsoNormal">
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">MikroC is a powerful, feature rich development tool for PICmicros. PIC andC fit well together: PIC is the most popular 8-bit chip in the world, used in a wide variety of applications, and C, prized for its efficiency, is a natural choice for developing microcontroller applications. MikroC provides a successful match featuring highly advanced IDE, ANSI compliant compiler, broad set of hardware libraries, comprehensive documentation, and plenty of ready to run example programs.</span></p>
<p class="MsoNormal">
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span id="more-1262"></span><br />
</span></p>
<p class="MsoNormal"><span style="font-size: 16pt;"> </span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 16pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-size: 16pt;">Familiar with interface</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 16pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-size: 16pt;">Create new project</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 16pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-size: 16pt;">Write codes</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 16pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-size: 16pt;">Compile</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 16pt;"><br />
</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --></p>
<p><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 16pt;">Familiar with mikroc interface</span></p>
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:TimesNewRoman; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><br />
</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt; text-align: center;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><img class="attachment wp-att-1267 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/interface.jpg" alt="interface" width="490" height="330" /></span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal">
<p>Write your C source code using the built-in Code Editor (Code and Parameter</p>
<p>Assistants, Syntax Highlighting, Auto Correct, Code Templates, and more&#8230;)</p>
<p>Below is the complete list of keyboard shortcuts available in mikroC IDE. You can</p>
<p>also view keyboard shortcuts in Code Explorer window, tab Keyboard.</p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:TimesNewRoman; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:"TimesNewRoman\,Bold"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:"Arial\,Bold"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<p class="MsoNormal"><strong><span style="font-size: 14pt; font-family: &quot;Arial,Bold&quot;; color: red;">KEYBOARD SHORTCUTS</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;">IDE Shortcuts</span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F1 Help</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+N New Unit</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+O Open</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+F9 Compile</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+F11 Code Explorer on/off</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+F5 View breakpoints</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;">Basic Editor shortcuts</span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F3 Find, Find Next</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+A Select All</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+C Copy</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+F Find</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+P Print</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+R Replace</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+S Save unit</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+S Save As</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+V Paste</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+X Cut</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+Y Redo</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+Z Undo</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;">Advanced Editor shortcuts</span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SPACE Code Assistant</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+SPACE Parameters Assistant</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+D Find declaration</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+G Goto line</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+J Insert Code Template</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+&lt;number&gt; Goto bookmark</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+&lt;number&gt; Set bookmark</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+I Indent selection</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+SHIFT+U Unindent selection</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+ALT+SELECT Select columns</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;">Debugger Shortcuts</span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F4 Run to Cursor</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F5 Toggle breakpoint</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F6 Run/Pause Debugger</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F7 Step into</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F8 Step over</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">F9 Debug</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">CTRL+F2 Reset</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:TimesNewRoman; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 14pt; font-family: TimesNewRoman; color: black;">First program</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">Your first program is that make a LED blinking program. LED ON after 500ms and OFF after 500ms. You can simulate this program using real circuit or using simulation software. (Download simulate software Proteus 7.1 full)</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">Shall we start our first program</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;">This is the our circuit</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt; text-align: center;"><span style="font-size: 11pt; font-family: TimesNewRoman; color: black;"><img class="attachment wp-att-1264 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/circuit1.gif" alt="circuit1" width="394" height="238" /><br />
</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:TimesNewRoman; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:"Arial\,Bold"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --> <!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 16pt;">Create new project</span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"> </span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">The easiest way to create project is by means of New Project Wizard, drop-down</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">menu </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">Project &gt; New Project. </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">Just fill the dialog with desired values (project name and description, location, device, clock, config word) and mikroC will create the appropriate project file. Tick cp_off, xt_osi, wdt_off.</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">cp_off – you not going to protect your code.</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">xt_osi – you use external oscillator</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">wdt_off – don’t think now</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt; text-align: center;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><img class="attachment wp-att-1268 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/new-project.jpg" alt="new-project" width="405" height="422" /></span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 16pt;">Write codes</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span></span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span>Write following codes in code widow</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">void main()<span> </span></span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">{</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span>PORTB = 0; </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span>TRISB = 0;</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span><span> </span>While(1)</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span><span> </span>{</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span>PORTB =<span> </span>~PORTC;</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span><span> </span><span> </span>Delay_ms(1000);</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><span> </span>}</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">} </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><br />
</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 16pt;">Compile codeings</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">Press compile button</span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt; text-align: center;"><span style="font-size: 11pt; font-family: TimesNewRoman;"><img class="attachment wp-att-1265 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/compile.jpg" alt="compile" width="461" height="205" /></span></p>
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;">
<p class="MsoNormal" style="margin-right: 9pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;">If your code successfully compiled Error window show as below</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"><br />
</span></p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: center;"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"><img class="attachment wp-att-1269 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/succesful.jpg" alt="succesful" width="438" height="84" /></span></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;">IF error occurs Error widow show as below</span></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: center;"><img class="attachment wp-att-1266 aligncenter" src="http://promeganet.com/wp-content/uploads/2009/01/error.jpg" alt="error" width="441" height="99" /></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;">If error occurs, copy given code carefully in to code window and again compile </span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;">Output Files</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"> </span></strong></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">Upon successful compilation, mikroC will generate output files in the project folder</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">(folder which contains the project file </span><span style="font-size: 11pt; font-family: Courier;">.ppc</span><span style="font-size: 11pt; font-family: TimesNewRoman;">). Output files are summarized</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;">below:</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;;">Intel HEX file (</span></strong><strong><span style="font-size: 11pt; font-family: Courier-Bold;">.hex</span></strong><strong><span style="font-size: 11pt; font-family: &quot;TimesNewRoman,Bold&quot;;">)</span></strong></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">Intel style hex records. Use this file to program PIC MCU.</span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;"> </span></p>
<p class="MsoNormal" style="margin-right: 9pt;"><span style="font-size: 11pt; font-family: TimesNewRoman;">How write hex file in to pic? Read</span></p>
<p class="MsoNormal">
<p class="MsoNormal"><span style="font-size: 11pt; font-family: &quot;Arial,Bold&quot;;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=1262</wfw:commentRss>
		</item>
		<item>
		<title>Microcontroller Programming in Assembly Language PART 3</title>
		<link>http://promeganet.com/?p=1089</link>
		<comments>http://promeganet.com/?p=1089#comments</comments>
		<pubDate>Sun, 16 Nov 2008 13:28:37 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Pic Programing]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[programing]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=1089</guid>
		<description><![CDATA[ 
Microcontroller Programming in Assembly Language PART 3
In the previous two articles we discuss about how to create a MPLAB project and understood some basic features and instruction available in a PIC16F84A microcontroller. In this article I basically focus on how to write ‘if-then&#8217; logic in assembly.  Below a sample program code is provided which [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<h3><strong><span style="text-decoration: underline;">Microcontroller Programming in Assembly Language PART 3</span></strong></h3>
<p>In the <a href="http://www.promeganet.com/?p=897" target="_blank">previous two articles</a> we discuss about how to create a <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a> project and understood some basic features and instruction available in a PIC16F84A <a href="http://www.promeganet.com/?page_id=233" target="_blank">microcontroller</a>. In this article I basically focus on how to write ‘if-then&#8217; logic in assembly.  Below a sample program code is provided which uses simple ‘if-then&#8217; logic. This will give you some idea about how to use it in <a href="http://www.promeganet.com/?page_id=233" target="_blank">microcontroller</a> Programming.</p>
<p><span id="more-1089"></span><br />
<code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 11/28/08 */
google_ad_slot = "7161483807";
google_ad_width = 336;
google_ad_height = 280;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p><span style="color: #ff0000;">#include&lt;p16f84a.inc&gt; </span> ; <span style="color: #0000ff;">This is the header file</span></p>
<p><span style="color: #ff0000;">org                00h </span> ; <span style="color: #0000ff;">Reset vector</span></p>
<p><span style="color: #ff0000;">main</span></p>
<p><span style="color: #ff0000;">bsf                STATUS,RP0 </span> ; <span style="color: #0000ff;">configure status bits to move into bank 1</span></p>
<p><span style="color: #ff0000;">movlw           b&#8217;00000001&#8242;</span> ; <span style="color: #0000ff;">move a binary value into the working register</span></p>
<p><span style="color: #ff0000;">movwf          TRISB </span> ; <span style="color: #0000ff;">move the content of the working register into trisb</span></p>
<p>; <span style="color: #0000ff;">above two instructions set RB0 as an input other PORTB pins output</span></p>
<p><span style="color: #ff0000;">bcf                STATUS,RP0</span> ; <span style="color: #0000ff;">moves into bank 0</span></p>
<p><span style="color: #ff0000;">clrf                PORTB </span> ; <span style="color: #0000ff;">clears PORTB initially</span></p>
<p><span style="color: #ff0000;">loop_off </span> ; <span style="color: #0000ff;">a lable</span></p>
<p><span style="color: #ff0000;">btfss               PORTB,0 </span> ; <span style="color: #0000ff;">check the status of RB0 and wait untill it is set</span></p>
<p><span style="color: #ff0000;">goto               loop_off</span></p>
<p><span style="color: #ff0000;">bsf                  PORTB,1 </span> ; <span style="color: #0000ff;">make RB1 high when RB0 goes high</span></p>
<p><span style="color: #ff0000;">loop_on</span></p>
<p><span style="color: #ff0000;">btfsc               PORTB,0 </span> ; <span style="color: #0000ff;">check the status of RB0 and wait untill it is cleared</span></p>
<p><span style="color: #ff0000;">goto               loop_on</span></p>
<p><span style="color: #ff0000;">bcf                  PORTB,1 </span> ; <span style="color: #0000ff;">make RB1 low when RB0 goes low</span></p>
<p><span style="color: #ff0000;">goto               loop_off</span></p>
<p><span style="color: #ff0000;">end </span> ; <span style="color: #0000ff;">end of the program</span></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p>The main function of this program is to test the input condition on RB0 and if RB0 is high it makes RB1 high otherwise if RB0 is low it makes RB1 low.</p>
<p>Most of the codes include in this program I have already discussed in <a href="http://www.promeganet.com/?p=897" target="_blank">my previous article</a>. So therefore I will mainly concentrate on new commands come across in this program we will start from the very beginning one by one.</p>
<p><span style="color: #0000ff;"><strong>#include&lt;p16f84a.inc&gt;</strong></span> - <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><strong><span style="color: #0000ff;">org     00h</span></strong> - <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><strong><span style="color: #0000ff;">main </span></strong>- <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><strong><span style="color: #0000ff;">bsf      STATUS,RP0</span></strong> - <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><strong><span style="color: #0000ff;">movlw     b&#8217;00000001&#8242;</span></strong> - this command is somewhat new but it is very easy to understand. This means that, it assigns a binary value 00000001 to working register. This working register is temporary register and if we want to assign some value to a SFR, firstly the value is assigned to the working register and then that value is moved in to the particular SFR using ‘movwf&#8217; command.</p>
<p><strong><span style="color: #0000ff;">movwf          TRISB </span></strong>- now you know what is going to be happened in this command. The value in the working register will be moved in to the TRISB register. After that RB0 pin of the PORTB will be act as an input.</p>
<p><strong><span style="color: #0000ff;">bcf     STATUS,RP0</span></strong> - if you <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a> you know what is the purpose of this command. By using this command we jump in to Bank0 of the PIC.</p>
<p><strong><span style="color: #0000ff;">clrf     PORTB</span> </strong>- clears what ever in the PORTB initially.</p>
<p>loop_off - It is just a loop. <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><strong><span style="color: #0000ff;">btfss    PORTB,0</span></strong> - this is something new. This checks the value of the pin mentioned in the particular register and if the value is 0 then the next instruction is executed and if the value is 1 then the next instruction is discarded instead instruction after that will be executed. This might be confusing for you. Therefore we will take a look at the program and try to understand what happens in it.</p>
<p>In here it checks the status of the 0<sup>th </sup>pin. If the pin is in low stage ‘goto      loop_off&#8217; command will be executed and if not instead of executing ‘goto             loop_off&#8217; command it will be discarded and ‘bsf     PORTB,1&#8242; will be executed.</p>
<p><span style="color: #0000ff;"><strong>goto     loop_off</strong></span> - <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><span style="color: #0000ff;"><strong>bsf       PORTB,1</strong></span> - <a href="http://www.promeganet.com/?p=897" target="_blank">refer my previous article</a></p>
<p><span style="color: #0000ff;"><strong>loop_on</strong></span> - it is another label.</p>
<p><span style="color: #0000ff;"><strong>btfsc     PORTB,0</strong></span> - this is the opposite of ‘btfss&#8217; command and it will operate in the same way which ‘btfss&#8217; command does if the particular pin is in the reset stage(0).</p>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 11/28/08 */
google_ad_slot = "7161483807";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></code></p>
<p>Rest is pretty obvious for anyone who went through these two articles.</p>
<h4><a href="http://www.promeganet.com/?p=897" target="_blank">&lt;&lt;Go to previous article</a> Go to next article&gt;&gt;</h4>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming in assembly language PART 1<br />
</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=3" target="_blank">Microcontroller Programming for beginners with PIC16F84A</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to Microcontroller Programming</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank">Parallel Port Programming in Visual Basic</a></h4>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">Micro controllers in practice</a> by Loan Susnea and Marian Mitescu</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC in practice</a> by David W. Smith</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">The PIC Microcontroller; Your Personal Introductory Course</a> by John Morton</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Programming and Customising the PIC Microcontroller</a> by Myke Predko</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Pick’n up the Pace - Microcontroller Application Guide</a> by Walter G. Jung</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Introduction to Microprocessors and Microcontrollers</a> by John Crisp</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC Microcontrollers Second Edition - An Introduction to Microelectronics</a> by  Martin P. Bates</h4>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=1089</wfw:commentRss>
		</item>
		<item>
		<title>Microcontroller Programming</title>
		<link>http://promeganet.com/?p=1069</link>
		<comments>http://promeganet.com/?p=1069#comments</comments>
		<pubDate>Sun, 16 Nov 2008 04:10:26 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Pic Programing]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[hex]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[level]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=1069</guid>
		<description><![CDATA[ 
Microcontroller Programming
There are lot of things have to be considered when devices are made using microcontrollers. In here such several issues will be discussed on Microcontroller Programming.
  Steps of Microcontroller Programming


Get an idea about what is going to be done using Microcontroller
Dividing the problem in to smaller parts for the ease of solving
Programming [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<h3><strong><span style="text-decoration: underline;">Microcontroller Programming</span></strong></h3>
<p>There are lot of things have to be considered when devices are made using microcontrollers. In here such several issues will be discussed on Microcontroller Programming.</p>
<h3><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--><span style="text-decoration: underline;">Steps of</span><span style="text-decoration: underline;"><span style="text-decoration: underline;"> Microcontroller</span></span><span style="text-decoration: underline;"> Programming<br />
</span></h3>
<ul>
<li>Get an idea about what is going to be done using Microcontroller</li>
<li>Dividing the problem in to smaller parts for the ease of solving</li>
<li>Programming using assembly</li>
<li>Converting the program in to a hex code which can be understood by the Microcontroller</li>
<li>Programming Microcontroller using hardware</li>
</ul>
<p><span id="more-1069"></span><br />
<code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 11/28/08 */
google_ad_slot = "7161483807";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></code><br />
<!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --></p>
<p><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<h3><span style="text-decoration: underline;">Explaining the problem</span></h3>
<p>This thing will be somewhat strange for us for some distance. Since lot of high level languages like Visual Basic are used very commonly and they can be easily understandable and easily changeable according to our need. Explaining the problem is not very much necessary. But when a language like ‘assembler&#8217; or ‘C&#8217; is used, situation is totally different. Problem definition is very much needed since they are more hardware related and understanding is somewhat hard comparing high level. It will be very much handy if a prototype of the problem is built in solving it.</p>
<p>Then the amount of inputs, outputs and processing steps needed for the system which is going to be built can be identified easily. This is necessary if assembly language is used to program. Because in assembly sets of instructions are used in controlling all the things which is different from all other languages.</p>
<h3><span style="text-decoration: underline;">Dividing the problem in to several parts</span></h3>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p>Dividing the problem which has to be solved in to several smaller parts is very much useful in solving it because it will enable us to figure out it easily. An algorithm has to be built. When the programming is being done, it can be divided in to,</p>
<ul>
<li>Main processing steps</li>
<li>Identifying main variables</li>
<li>Preparing mainline logic</li>
</ul>
<p>By understanding the above mentioned steps and by going according to them, the main advantage that can be get out of it will be the optimizing the memory of the microcontroller. That will be very much important in a microcontroller like PIC16F84A since it only has 1kB of limited memory to deal with.</p>
<h3><span style="text-decoration: underline;">Programming using Assembly</span></h3>
<p>This is the final step after doing all the above mentioned steps. We discuss assembly language for this purpose.<br />
<code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 11/28/08 */
google_ad_slot = "7161483807";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></code></p>
<p>Firstly Assembly program is written and with the help of an assembler it can be converted in to a hex file which can be identified by a microcontroller. Then that hex code is fed in to the memory of the microcontroller using a programmer. Normally microcontroller is connected with a PC using a programmer and this programmer normally uses serial or parallel port in a PC to connect.</p>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=1069</wfw:commentRss>
		</item>
		<item>
		<title>Microcontroller Programming in Assembly language PART 2</title>
		<link>http://promeganet.com/?p=897</link>
		<comments>http://promeganet.com/?p=897#comments</comments>
		<pubDate>Sat, 08 Nov 2008 17:42:03 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Pic Programing]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[assembly language]]></category>

		<category><![CDATA[bank 1]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[goto loop]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[lt]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[mplab]]></category>

		<category><![CDATA[pic16f84a]]></category>

		<category><![CDATA[pins]]></category>

		<category><![CDATA[s]]></category>

		<category><![CDATA[status bits]]></category>

		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=897</guid>
		<description><![CDATA[ 
Microcontroller Programming in Assembly language PART 2
In the previous article, ‘Microcontroller Programming in assembly language PART 1&#8216;, I showed you the way to create a project using MPLAB. In this article I will show you the way to understand basic instructions used in writing assembly language for a PIC16F84A microcontroller using a sample program [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<h3><strong><span style="text-decoration: underline;">Microcontroller Programming in Assembly language PART 2</span></strong></h3>
<p>In the <a href="http://www.promeganet.com/?p=761" target="_blank">previous article</a>, ‘<a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming</a><a href="http://www.promeganet.com/?p=761" target="_blank"> in assembly language PART 1</a>&#8216;, I showed you the way to create a project using <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a>. In this article I will show you the way to understand basic instructions used in writing assembly language for a PIC16F84A <a href="http://www.promeganet.com/?page_id=233" target="_blank">microcontroller</a> using a sample program written in assembly. Though it is not a complicated program by any means, it will help you to understand the basics. Here is the sample program.</p>
<p><span id="more-897"></span></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p><span style="color: #ff0000;">#include&lt;p16f84a.inc&gt; </span> ; <span style="color: #0000ff;"><em>this is the header file</em></span></p>
<p><span style="color: #ff0000;">org                  00h </span> ; <span style="color: #0000ff;"><em>Reset vector</em></span></p>
<p><span style="color: #ff0000;">main</span></p>
<p><span style="color: #ff0000;">bsf                  STATUS,RP0 </span> ; <span style="color: #0000ff;"><em>configure status bits to move into bank 1</em></span></p>
<p><span style="color: #ff0000;">clrf                  TRISB</span> ; <span style="color: #0000ff;"><em>clear trisb register to make portb pins as outputs</em></span></p>
<p><span style="color: #ff0000;">bcf                  STATUS,RP0</span> ; <span style="color: #0000ff;"><em>moves into bank 0</em></span></p>
<p><span style="color: #ff0000;">loop </span> ; <span style="color: #0000ff;"><em>a  label</em></span></p>
<p><span style="color: #ff0000;">bsf                  PORTB,0 </span> ; <span style="color: #0000ff;"><em>set RB0 pin high</em></span></p>
<p><span style="color: #ff0000;">goto               loop </span> ; <span style="color: #0000ff;"><em>make the program stay in a loop</em></span></p>
<p><span style="color: #ff0000;">end </span> ; <span style="color: #0000ff;"><em>end of the program</em></span></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--><br />
<code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 11/8/08 */
google_ad_slot = "7505634949";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code><br />
 This program is written to give a output from a RB0 pin of the PIC.</p>
<p>This is the program and we will try to understand what is the meaning of each code written in the program. To understand the program you have to have some idea about the <a href="http://www.google.lk/search?hl=en&amp;q=pic16f84a+data+sheet&amp;btnG=Google+Search&amp;meta=" target="_blank">DATA SHEET of the PIC16F84A microcontroller</a>.</p>
<p>In the program you can see that in each line there some text written after a ‘ ; ‘ mark. That is the way to write a comment. In the first line ‘<em>this is the header file&#8217; </em>text is a comment.</p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p><strong><span style="color: #0000ff;">#include&lt;p16f84a.inc&gt;</span></strong> - this ‘.inc&#8217; must include in the beginning of each program. This differs from PIC to PIC. In this context since we are using a <a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC16F84A </a>microcontroller ‘p16f84a.inc&#8217; file has to be included and for a <a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC16F877A</a> microcontroller ‘p16f877a.inc&#8217; file has to be inserted in the program. Likewise this ‘.inc&#8217; will be different for different PICs.</p>
<p><strong><span style="color: #0000ff;">org      00h</span></strong> - This command is called as the reset vector. There are memory spaces in a PIC and each memory location is given a unique address. These addresses are given hexadecimals. In this command you can see the term ‘00h&#8217;. ‘00&#8242; implies the address of the memory location in hexadecimals and ‘h&#8217; shows that the value is in hexadecimals. As it indicates, it is the zeroth location in the memory. You may know that the written program will be stored in the memory and this command instructs the program to go to the first location of the memory and to start executing the program from that location.</p>
<p><strong><span style="color: #0000ff;">Main</span> </strong>- this is only label. It is not a command. The use of a label will be discussed later.</p>
<p><span style="color: #0000ff;"><strong>bsf      STATUS,RP0</strong></span> - To understand this command you need to study the data sheet of the PIC. Every memory location has a certain number of bits. <a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC16F84A </a>has 8 bits in a single memory location. So it is a 8 bit memory.  A single memory location in a memory is called as a ‘Register&#8217;. In every PIC there are certain registers called as ‘Special Function Registers&#8217;. As name implies these registers are to perform some special tasks. These registers are manufacture designed ones. If you refer the <a href="http://www.google.lk/search?hl=en&amp;q=pic16f84a+data+sheet&amp;btnG=Google+Search&amp;meta=" target="_blank">data sheet</a> you can see what these registers are, what are the purpose of each register and how they are located in the memory etc. So ‘STATUS&#8217; mentioned in the above command is also a SFR (Special Function Registers).</p>
<p>In the <a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC16F84A</a>, the whole memory is divided in to two sections and each section is called as a ‘bank&#8217;. The two banks are called as ‘bank0&#8242; and ‘bank1&#8242;. From PIC to PIC, the number of banks available changes. As an example, in <a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC16F877A </a>there are 4 banks available. By referring the data sheet, the available registers in each bank can be found out. So, if someone wants to do a particular task on a <!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]-->certain register it must be accessed through the relevant bank which the register is located.</p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p>Selecting the bank is done by the above mentioned command. Bank will be selected by means of setting or clearing the RP0 bit of the STATUS register. To jump to bank0, RP0 has to be cleared and to jump to bank1, RP0 has to be set. If you consider the command ‘<em>bsf   STATUS,RP0&#8242; , </em>‘bsf&#8217; means set the bit and the rest of the command tells which bit to set. In this context, it sets the RP0 bit of the STATUS register. You can set any bit in any register by this command and only thing you have to change the name of the register and the bit. After the executing the command, it will be jumped to bank1. As usual more information about the instruction set and the registers can be found out from the <a href="http://www.google.lk/search?hl=en&amp;q=pic16f84a+data+sheet&amp;btnG=Google+Search&amp;meta=" target="_blank">data sheet</a>.</p>
<p><span style="color: #0000ff;"><strong>clrf      TRISB</strong></span> - In <a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC16F84A</a>, there are 13 pins available for input and output purposes. They are called as PORTA and PORTB. In PORTA, 8 pins are available and in PORTB, 5 are available. According to the need, we can either use those ports as inputs or outputs. This will be defined in the program.<br />
 <code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 11/8/08 */
google_ad_slot = "3972084093";
google_ad_width = 336;
google_ad_height = 280;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<p>For each port there is a separate register assigned in the memory. In here TRISA for PORTA and TRISB for PORTB. We can define which bits of the port to be output and which are to be input by simply setting and resetting the relevant bits in the corresponding register. Setting means ‘1&#8242; and resetting means ‘0&#8242;. As an example think that we want to set the 1 pin of the PORTA to be an input and 2 pin of the PORTB to be an output. To do that you have to set the 1 bit of the TRISA register and reset the 2 bit of the TRISB register. Likewise you can define input and outputs.</p>
<p>In the above command, ‘clrf&#8217; means clearing (setting to 0) all the bits of the mentioned register. In here the register is TRISB. So I hope you can understand the meaning of the command now. It will define all the pins of PORTB as outputs.</p>
<p>bcf     STATUS,RP0 - in here ‘bcf&#8217; means clearing/resetting the bit of the mentioned register. Here it will clear the RP0 bit of the STATUS register. Now you know by doing this what we are trying to do. After the execution of this command it will be jumped in to bank0.</p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p>You wonder why we need to jump in to bank0. As in the next step we want to set the RB0 pin. If you refer the <a href="http://www.google.lk/search?hl=en&amp;q=pic16f84a+data+sheet&amp;btnG=Google+Search&amp;meta=" target="_blank">data sheet </a>you will see that PORTB is in the bank0. To set the RB0 pin of the PORTB it must be needed to be in the bank0.</p>
<p><span style="color: #0000ff;"><strong>Loop</strong></span> - like the ‘main&#8217; label, this is also a label and the use of this label will be explained in the next step.</p>
<p><strong><span style="color: #0000ff;">bsf   PORTB,0</span></strong> - understanding this command will not be anymore difficult to you if you have read upper part of the article well. This will set the 1 pin of the PORTB.</p>
<p><span style="color: #0000ff;"><strong>goto   loop</strong></span> - this will show you why we use the ‘loop&#8217; label. From this command program will jump to the location where ‘loop&#8217; label stands. After the jump it will again execute the ‘bsf     PORTB,0&#8242; command and this will continue. It is no need to mention what will be the result after the execution of these two commands.</p>
<p><span style="color: #0000ff;"><strong>End </strong></span>- simply this is the end of the program as it implies.</p>
<p>So I hope that you may now have some rough idea about <a href="http://www.google.lk/search?hl=en&amp;q=pic16f84a+data+sheet&amp;btnG=Google+Search&amp;meta=" target="_blank">assembly programming</a>.</p>
<h4><a href="http://www.promeganet.com/?p=761" target="_self">&lt;&lt;Go to previous article</a> <a href="http://www.promeganet.com/?p=1089" target="_blank">Go to next article&gt;&gt;</a></h4>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming in assembly language PART 1<br />
</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=3" target="_blank">Microcontroller Programming for beginners with PIC16F84A</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to Microcontroller Programming</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank">Parallel Port Programming in Visual Basic</a></h4>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">Micro controllers in practice</a> by Loan Susnea and Marian Mitescu</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC in practice</a> by David W. Smith</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">The PIC Microcontroller; Your Personal Introductory Course</a> by John Morton</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Programming and Customising the PIC Microcontroller</a> by Myke Predko</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Pick’n up the Pace - Microcontroller Application Guide</a> by Walter G. Jung</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Introduction to Microprocessors and Microcontrollers</a> by John Crisp</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC Microcontrollers Second Edition - An Introduction to Microelectronics</a> by  Martin P. Bates</h4>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
<p class="MsoNormal">
<p class="MsoNormal">
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=897</wfw:commentRss>
		</item>
		<item>
		<title>Microcontroller Programming in Assembly language PART 1</title>
		<link>http://promeganet.com/?p=761</link>
		<comments>http://promeganet.com/?p=761#comments</comments>
		<pubDate>Sun, 02 Nov 2008 17:48:33 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Pic Programing]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[assembly language]]></category>

		<category><![CDATA[assembly program]]></category>

		<category><![CDATA[assembly programs]]></category>

		<category><![CDATA[functionality]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[language series]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[librarian]]></category>

		<category><![CDATA[microchip]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[mplab]]></category>

		<category><![CDATA[object linker]]></category>

		<category><![CDATA[project wizard]]></category>

		<category><![CDATA[step 1]]></category>

		<category><![CDATA[step 2]]></category>

		<category><![CDATA[step 3]]></category>

		<category><![CDATA[wizard screen]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=761</guid>
		<description><![CDATA[Microcontroller Programming in Assembly language PART 1
In this ‘Microcontroller Programming in Assembly language&#8217; series of articles, I would like to show you the way to write an assembly program for a PIC, known as microcontroller commonly, using mpasm assembly in MPLAB. I used PIC16F84A for this purpose. By referring this series of articles one can [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="text-decoration: underline;">Microcontroller Programming in Assembly language PART 1</span></h3>
<p>In this ‘Microcontroller Programming in Assembly language&#8217; series of articles, I would like to show you the way to write an assembly program for a PIC, known as microcontroller commonly, using mpasm assembly in <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a>. I used PIC16F84A for this purpose. By referring this series of articles one can get an idea on how to begin programming in assembly language for PICs. To give an idea about ‘Microcontroller Programming in Assembly language&#8217; I will take small assembly programs and describe their functionality one by one.</p>
<p><span id="more-761"></span></p>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 11/7/08 */
google_ad_slot = "5965616095";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<p>First of all, a project has to be built using <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a>. So in this first part of the article I will show you to how to create a project using <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a>.</p>
<p>To start using <a href="http://www.promeganet.com/?page_id=272" target="_blank">MPLAB</a>, it has to be installed in the computer.</p>
<p><a href="http://www.promeganet.com/?page_id=272" target="_blank">Download MPLAB &gt;&gt;</a></p>
<p><strong><span style="text-decoration: underline;">Step 1</span></strong></p>
<p>Open MPLAB. You will see a screen like below.</p>
<p><a title="mplab-ide" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide.jpg"><img class="attachment wp-att-764 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide.jpg" alt="mplab-ide" width="500" height="343" /></a></p>
<p><strong><span style="text-decoration: underline;">Step 2</span></strong></p>
<p>After you have to go to <em>Project-&gt; Project wizard</em>. Screen will appear as below.</p>
<p>Click next.</p>
<p><a title="mplab-ide1" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide1.jpg"><img class="attachment wp-att-766 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide1.jpg" alt="mplab-ide1" width="500" height="348" /></a></p>
<p><strong><span style="text-decoration: underline;">Step 3</span></strong></p>
<p>After clicking next, the following screen will appear and in here the PIC which is going to be used has to be selected. Select PIC16F84A and click next.</p>
<p><a title="mplab-ide2" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide2.jpg"><img class="attachment wp-att-768 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide2.jpg" alt="mplab-ide2" width="500" height="346" /></a></p>
<p><strong><span style="text-decoration: underline;">Step 4</span></strong></p>
<p>Then the following screen will appear on the screen.</p>
<p>In here you have to do several things.</p>
<ul>
<li>Check whether the ‘Active Toolsuite&#8217; is selected as ‘Microchip MPASM toolsuite&#8217;</li>
<li>If the toolsuite is properly selected screen must as above. Otherwise ‘a cross mark&#8217; will appear in front of each ‘Toolsuite contents&#8217; which are listed below.
<ul>
<li>MPASM Assembler (mpasmwin.exe)</li>
</ul>
<ul>
<li>MPLINK Object linker (mplink.exe)</li>
</ul>
<ul>
<li>MPLIB Librarian (mplib.exe)</li>
</ul>
</li>
</ul>
<p>So if a ‘cross mark&#8217; appears in each toolsuite contents browse the folder which they include using ‘Browse&#8217; button appears below. Assume that the MPLAB is installed to the ‘C drive&#8217; of your machine, then the location of the toolsuite contents will be &#8220;C:\Program Files\Microchip\MPASM Suite&#8221;.</p>
<p><a title="mplab-ide3" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide3.jpg"><img class="attachment wp-att-772 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide3.jpg" alt="mplab-ide3" width="500" height="348" /></a></p>
<p><strong><span style="text-decoration: underline;">Step 5</span></strong></p>
<p>After completing the step 4 below screen will appear and give a proper name to your project and select the location in which the project will be saved and simply click next.</p>
<p><a title="mplab-ide4" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide4.jpg"><img class="attachment wp-att-774 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide4.jpg" alt="mplab-ide4" width="500" height="350" /></a></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span>Step 6</span></span></strong></p>
<p class="MsoNormal"><span>If you already have any previously written assembly program and if you want to add it to your project you can add it here. Simply select the location where it exists and press ‘Add’ and after adding click next. But if you do not have anything to add simply click next.</span></p>
<p class="MsoNormal"><a title="mplab-ide5" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide5.jpg"><img class="attachment wp-att-776 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide5.jpg" alt="mplab-ide5" width="500" height="352" /></a></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span>Step 7</span></span></strong></p>
<p class="MsoNormal"><span>Creating a project is almost finished now. In this screen you will see a summary of Device (type of PIC used), Toolsuite and the location of the project saved. If anything needs to be changed go back otherwise click Finish.</span></p>
<p class="MsoNormal"><a title="mplab-ide6" rel="lightbox[pics761]" href="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide6.jpg"><img class="attachment wp-att-777 alignnone" src="http://promeganet.com/wp-content/uploads/2008/11/mplab-ide6.jpg" alt="mplab-ide6" width="500" height="349" /></a></p>
<p class="MsoNormal">So, this is the way you have to create a project usiing MPLAB and after creating the project you can add source files to it and it will be discussed in the next article.</p>
<p class="MsoNormal"><a href="http://www.promeganet.com/?p=897" target="_blank">Continue to PART 2&gt;&gt;</a></p>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<p class="MsoNormal"><a href="http://www.promeganet.com/?p=3" target="_blank">PIC Programming for beginners with PIC16F84A</a></p>
<p class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to PIC Programming</a></p>
<p class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank">Parallel Port Programming in Visual Basic</a></p>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<p><a href="http://www.promeganet.com/?page_id=233" target="_blank">Micro controllers in practice</a> by Loan Susnea and Marian Mitescu</p>
<p><a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC in practice</a> by David W. Smith</p>
<p><a href="http://www.promeganet.com/?page_id=233" target="_blank">The PIC Microcontroller; Your Personal Introductory Course</a> by John Morton</p>
<p><a href="http://www.promeganet.com/?page_id=425" target="_blank">Programming and Customising the PIC Microcontroller</a> by Myke Predko</p>
<p><a href="http://www.promeganet.com/?page_id=425" target="_blank">Pick’n up the Pace - Microcontroller Application Guide</a> by Walter G. Jung</p>
<p><a href="http://www.promeganet.com/?page_id=425" target="_blank">Introduction to Microprocessors and Microcontrollers</a> by John Crisp</p>
<p><a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC Microcontrollers Second Edition - An Introduction to Microelectronics</a> by  Martin P. Bates</p>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><span> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=761</wfw:commentRss>
		</item>
		<item>
		<title>What can i do to make more traffic to my new web page</title>
		<link>http://promeganet.com/?p=453</link>
		<comments>http://promeganet.com/?p=453#comments</comments>
		<pubDate>Tue, 21 Oct 2008 03:20:53 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=453</guid>
		<description><![CDATA[What can i do to make more traffic to my new web page
Here are the secrets to increase your web site traffic. Here is how to create thousands of visitors daily to your website; and these three methods guarantee targeted visitors to your web site, not just hits from some email list or advertising gimmick [...]]]></description>
			<content:encoded><![CDATA[<h3>What can i do to make more traffic to my new web page</h3>
<p>Here are the secrets to increase your web site traffic. Here is how to create thousands of visitors daily to your website; and these three methods guarantee targeted visitors to your web site, not just hits from some email list or advertising gimmick you probably paid too much for.</p>
<p>There are several ways to generate both free and paid web site traffic, but there really are only a handful of effective ways to generate traffic without spending a lot of money and without wasting a lot of time. What I mean is: There are only a few ways&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p><span id="more-453"></span></p>
<p>I won’t waste your time telling you about all those “other ways.” I am interested in showing you the most powerful, proven, and fastest ways to create an avalanche of targeted traffic to your website, without it costing you a small fortune!</p>
<p>There are a couple of free methods that I could recommend, but these only really work as a result of your primary traffic generation methods. What I’m getting at is using a free viral traffic generation matrix. This type of free traffic generator only works well if you already have a ton of traffic to your site which you have generated by other means. You could also use a free traffic exchange program and surf for credits, but not until you get lots of people signed up under you will you see any real increase to your web site traffic.</p>
<h3>Let me cut to the chase. The three most powerful methods to generate tons of traffic to your site without costing you a fortune are:</h3>
<p><strong>1. Article Writing, and<br />
2. The Search Engines </strong></p>
<p>Article writing is extremely important to your business. It qualifies you as an expert in your field, it generates traffic every time your article is posted on somebody else&#8217;s website, and it builds trust with your customer which makes it easier to convert your traffic into sales. Article writing also dovetails with your search engine traffic generation method to get you on page one of the search results, so article writing really is essential to achieve lots of free organic search engine traffic.<br />
<strong>Search Engine Optimization Traffic</strong><br />
SEO is a combination of techniques. Google doesn&#8217;t like link exchanging, link farms. But it likes good content on your site, together with good links from other sites and articles.<br />
Search engine traffic is the best kind of traffic, it’s free, organic and it’s on autopilot. With search engine traffic you don’t do any work once you’ve optimized your page, built your links and submitted to various places.</p>
<p>SEO is way of optimizing your website so that it becomes search engine friendly, this will allow you to receive large boosts of traffic from the search engines. You need to choose at least 10 keywords that are related to your niche, optimize one page per keyword. There are two types of optimization on page and off page. On page is when you configure the title tags, meta tags and other on page options. Off page is when you build links, public relations, submit your site to social book marking sites and article distribution.</p>
<p><strong>Forum Traffic</strong></p>
<p>Forum traffic comes from forums, placing your links in the signature can get you vast amounts of traffic almost instantly. You need to check if forums allow you to place links in the signature and also make sure you don’t spam the forums just to get traffic. Help out people with there problems related to your niche, build a good picture and appear as an expert this will get you lots and lots of traffic.<br />
Search engine traffic is the secret to your super success. If you can get placed on page one of a Google search result for some highly targeted keywords, you will drive so much traffic to your website that your success will be off the chart! I am talking about thousands of visitors per day! This really is achievable in the long run, and therefore something you must shoot for.</p>
<h3>If you want real users you need to make a few changes. Minimally:</h3>
<ol style="list-style-type: decimal;">
<li>Remove the Google Ads. You can always add them later when the site is actually popular - right now it&#8217;s just sucking away the few good visitors you&#8217;re probably getting.</li>
<li>Work on your ad copy and make registration obvious &amp; easy. Your extremely small call to action on the homepage (Join Now!) isn&#8217;t even a link.</li>
<li>Get some users on there. Add some of your own stuff to trade or coax friends to do it. I don&#8217;t know who in their right mind would sign up for a site to trade goods when there is nothing to trade for.</li>
<li>Show activity - get some categories filled and show cool stuff to swap on your sidebar, etc.</li>
<li>Do something cool to get people to add their stuff. Offer a freebie or a signup bonus if they join the site.</li>
<li>Get an opt-in newsletter on that registration form. Send a periodic newsletter with trading tips.</li>
</ol>
<h3>How i can get more traffic to my new web page</h3>
<ul>
<li> Make a creative/funny video about your site and upload it to Youtube and as many other video sites as you can.</li>
<li>Try on forum posting and directory submission. Can get 100 of directories and forums just do post on it and make back links</li>
<li>Facebook amd myspce get an aito friend adder on myspace an get thousands of friends then send out bulletins weekly or dailymake a new facebook only for your website add as many friends as possible and write bulletins weeklyalso blog blog and blog write a blog about your site and comment on other peoples blogs</li>
<li>Add some good content to your website and then use a well crafted press release or two. Some press releases can go viral and bring an avalanche of traffic and buyers.</li>
<li>submit your blog into blog promotion websites</li>
</ul>
<div id="post_message_8582550">It’s not possible to make money online without traffic. You need traffic to make money. If you want to earn a living from the Internet you need to make sure you learn and have knowledge of all the traffic methods and techniques.</div>
<h2>What is next</h2>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 11/11/08 */
google_ad_slot = "9544992322";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<h2><a href="http://rapidshare.com/files/156013096/web_traffic.rar" target="_blank"><span style="color: #3366ff;">Refer this ebook</span></a></h2>
<h2><a href="http://rapidshare.com/files/156013096/web_traffic.rar" target="_blank"><span style="color: #3366ff;">The Web 2.0 Traffic System By Mike Worthington </span></a></h2>
<p>CONTENTS</p>
<ol>
<li><span style="color: #800080;"> Introduction</span></li>
<li><span style="color: #800080;">Google Video</span></li>
<li><span style="color: #800080;"> How To Use Digg To Generate An Avalanche Of Traffic To Your Site!</span></li>
<li><span style="color: #800080;"> How To Get Into The ‘Hotlist’ Of Del.Icio.Us And Generate</span></li>
<li><span style="color: #800080;">A Boatload Of Traffic!</span></li>
<li><span style="color: #800080;"> Gather.com – The ‘Unknown’ Web 2.0 Site the Gurus Want</span></li>
<li><span style="color: #800080;">To Keep Hidden From You!</span></li>
<li><span style="color: #800080;">6How To Use Free Blogs To Drive Traffic To Your Website</span></li>
<li><span style="color: #800080;"> Unleash The Power Of Squidoo To Generate A Fast And</span></li>
<li><span style="color: #800080;">Furious Stream Of Traffic To Your Website!</span></li>
<li><span style="color: #800080;"> Final Words</span></li>
</ol>
<h3>INTRODUCTION</h3>
<p>First of all, thanks of reading this ebook. Over the next hour or so you’ll learn<br />
 just how you too can start using high traffic Web 2.0 websites to drive insane<br />
 amounts of traffic to your own site…And the best part about it is that it’s all<br />
 easy step-by-step stuff.<br />
 So what is this Web 2.0?<br />
 Tell me, how would you feel if you were offered $1.5 Billion by Google to sell<br />
 your website?<br />
 Would you be dazed? Gob smacked? Jumping for joy?<br />
 Well, this might well have been the reaction of the creators of YouTube, when<br />
 they were approached with this simply irresistible offer from the search engine<br />
 giant, a few months ago</p>
<p><span style="color: #0000ff;"><strong>Do you want to free download this complete ebook.. Don&#8217;t waste your time </strong></span></p>
<p><a title="downloads" rel="lightbox[pics453]" href="http://rapidshare.com/files/156013096/web_traffic.rar" target="_blank"><img class="attachment wp-att-459 centered" src="http://promeganet.com/wp-content/uploads/2008/10/downloads.gif" alt="downloads" width="259" height="30" /></a></p>
<h2><span style="color: #000000;"><strong><span>That’s all you need to start your income. Enjoy it……..</span></strong></span></h2>
<p><span style="color: #ff00ff;"><strong>Was this article useful for you?</strong></span></p>
<p><span style="color: #ff00ff;"><strong>If so, please be kind enough to spend 2,3 minutes for leaving a comment. . . . </strong></span></p>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank"><span style="color: #993366;">Download Free software and Related Ebooks&#8230;&#8230;</span></a></h3>
<p><!-- / message --> <!-- controls --><a rel="nofollow" href="http://forums.digitalpoint.com/newreply.php?do=newreply&amp;p=8582550"><img title="Reply With Quote" src="http://forums.digitalpoint.com/images/buttons/quote.gif" border="0" alt="Reply With Quote" /></a></p>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "8830293208";
google_ad_width = 336;
google_ad_height = 280;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=453</wfw:commentRss>
		</item>
		<item>
		<title>Beginner guide to Microcontroller Programming</title>
		<link>http://promeganet.com/?p=398</link>
		<comments>http://promeganet.com/?p=398#comments</comments>
		<pubDate>Sat, 18 Oct 2008 19:42:14 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Pic Programing]]></category>

		<category><![CDATA[16f]]></category>

		<category><![CDATA[628]]></category>

		<category><![CDATA[animated drawings]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[data bus]]></category>

		<category><![CDATA[device configuration]]></category>

		<category><![CDATA[device structure]]></category>

		<category><![CDATA[eeprom]]></category>

		<category><![CDATA[electicity]]></category>

		<category><![CDATA[family reference]]></category>

		<category><![CDATA[flash technology]]></category>

		<category><![CDATA[functionality]]></category>

		<category><![CDATA[hex]]></category>

		<category><![CDATA[hobbyist]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[level]]></category>

		<category><![CDATA[many other aspects]]></category>

		<category><![CDATA[memory organizations]]></category>

		<category><![CDATA[microchip]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[mid range]]></category>

		<category><![CDATA[mplab]]></category>

		<category><![CDATA[oscillator]]></category>

		<category><![CDATA[pic family]]></category>

		<category><![CDATA[pic features]]></category>

		<category><![CDATA[pic project]]></category>

		<category><![CDATA[pins]]></category>

		<category><![CDATA[programing]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=398</guid>
		<description><![CDATA[1. Beginner guide to Microcontroller Programing 
The following link is a tutorial series on the 14-bit core PIC family made by Microchip. It covers common PICs like 16F84, 16F628, 16F87x etc&#8230;It tells you nearly everything about its architectures like program code bus and data bus and many other aspects like Reset, Oscillators etc. It is [...]]]></description>
			<content:encoded><![CDATA[<h3><strong>1. Beginner guide to Microcontroller Programing </strong></h3>
<p>The following link is a tutorial series on the 14-bit core PIC family made by Microchip. It covers common PICs like 16F84, 16F628, 16F87x etc&#8230;It tells you nearly everything about its architectures like program code bus and data bus and many other aspects like Reset, Oscillators etc. It is much easier to learn while someone is talking to you via diagram and animated drawings. At this moment, the following areas are covered:  Architecture, Instruction Set, Development Tools Overview, Device Configuration, Resets and Oscillator  <span id="more-398"></span> Each downloadable module is an animated movie with audio. You can get them at the following link and  save them to your hard drive for later viewing.<span style="color: #0000ff;"> <span style="color: #cc99ff;"><a href="http://rapidshare.com/files/155292845/x14Architecture.rar" target="_blank">PICmicro x14 Basic Training Modules</a></span></span> I also strongly recommend reading<span style="color: #800080;"> </span><span style="color: #800080;"><a href="http://www.promeganet.com/?page_id=233" target="_blank">PICmicro Mid-Range MCU</a> </span>Family Reference Manual as it contains important information of all 16F PIC features. Example topics covered includes Device Structure and Varieties, explaining the Oscillator, Memory Organizations and EEPROM, Interrupts, Ports, Timers, A/D, LCD, CCP, Watchdog, the Instruction Set, and so on&#8230;  <strong>But most important thing is you should familiar electronics and programing to do pic project&#8230;</strong> <span style="color: #0000ff;"><a href="http://rapidshare.com/files/152534117/Teach_Yourself_Electricity___Electroni.rar" target="_blank"><span>Download  Teach_yourself_Electicity and electronics</span></a></span></p>
<h3><strong>2. Which PIC to choose?</strong></h3>
<p><a title="18pin-ic" rel="lightbox[pics398]" href="http://promeganet.com/wp-content/uploads/2008/10/18pin-ic.gif"><img class="attachment wp-att-399 centered" src="http://promeganet.com/wp-content/uploads/2008/10/18pin-ic.gif" alt="18pin-ic" width="200" height="165" /></a> <span style="color: #0000ff;"><a href="http://rapidshare.com/files/152534117/Teach_Yourself_Electricity___Electroni.rar" target="_blank"><span>Download 16f84a Data sheet&#8230;.</span></a></span> For hobbyist, usually we would like those PICs that allow us to program it many many times. So this rules out PIC that has a &#8220;C&#8221; in its part number which usually is of the type one-time programmable. The &#8220;F&#8221; in its part number generally means &#8220;Flash technology&#8221; and this type of PIC are what we often used for experimenting.  Many examples and projects we found on the Internet built around 16F84, but please keep in mind that this PIC is old, more expensive, less powerful and now obsoleted, so don&#8217;t use it for any new design, unless you don&#8217;t have the source code for your project but stuck with just the HEX object code.  If you are new to PICs, you&#8217;d probably buy the <strong>16F628A</strong> or <strong>16F88</strong>. There are many tutorials and schematics that use them. It is not difficult to adapt 16F84 source codes for use on newer PICs. For experienced users, it is even possible to disassemble the object code for 16F84 and use it with newer PICs.  <strong>16F628A</strong>-18Pin, Flash based,Internal Oscillator, PWM module, ICSP, USART <strong>16F88</strong>-18Pin, as 16F628A but with added A/D converter  If you are looking for bigger PICs to have more I/O pins, try <strong>16F876</strong>-28 pin and <strong>16F877</strong>-40pin or their newer A version.  Also small PIN count PIC: <strong>12F675</strong>-8pin or <strong>10F206</strong>-6pin!  <a title="508a-pinout" rel="lightbox[pics398]" href="http://promeganet.com/wp-content/uploads/2008/10/508a-pinout.gif"><img class="attachment wp-att-400 centered" src="http://promeganet.com/wp-content/uploads/2008/10/508a-pinout.gif" alt="508a-pinout" width="200" height="68" /></a> Later you may want to advance to 18F PIC series, which are called &#8220;High End&#8221;, because they are more powerful and have better support for higher level languages (mostly C optimized). Just for information, there is also a DsPIC series from Microchip, which offer 16-bit core and DSP capabilities and with clock frequency up to 160Mhz brings you absolute top power solution&#8230; These CPU&#8217;s are really powerful.</p>
<h3>3.Refer Datasheets first</h3>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 10/24/08 */
google_ad_slot = "1876384198";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<h3><strong>4. What is involved in using a PIC</strong></h3>
<p>A PIC is piece of plastic with pins sticking out. It will do nothing. Internally it has memory which can store binary instructions that it understands. So we need to translate what we wanted it to do into binary instructions stored inside the PIC. The whole process involve two steps.  Human instructions can be in the form of computer languages like C or JAL or assembly.  <span style="color: #0000ff;"><a href="http://www.promeganet.com/?page_id=272" target="_blank">(Download mplab to write assembly pic programs)</a></span> We write the instructions in a text file and a software translate/compile/assembly it into another text file containing HEX codes representing binary instructions that the PIC understands. This is called the object file.  Then a piece of hardware(called Hardware device programmer) which sits between the Personal Computer and the PIC whose job is to read the object file and transfer it into the PIC, more often with other functions like reading codes back out from the PIC or verify the codes with the object file. Another piece of software(<span style="color: #0000ff;"><a href="http://www.promeganet.com/?page_id=272" target="_blank">programming software</a>)</span> is required to control this piece of hardware to perform these functions. Don&#8217;t confuse this software with that for compiling the human instructions into object form.  Free assembly coding tutorials   <span style="color: #0000ff;"><a href="http://rapidshare.com/files/155274563/pic_tutorial.rar" target="_blank">Download</a></span> When the HEX file is ready, there are two ways to download it into the flash memory of the PIC. One can either use a hardware device programmer mentioned above or a bootloader via serial port of the PC. A bootloader is some codes inside the PIC which read data from its serial RX/TX pin and program the data into the flash memory. This allow very easy operation when one wants to develop codes without the need of a hardware programmer. However, there are some catches.( We commonly use ICPROG to write hex file in to pic. <span style="color: #0000ff;"><a href="http://www.promeganet.com/?page_id=272" target="_blank">Download ICPROG</a>)</span> a. Not all PICs can support bootloader operation as only those that can program their own flash memory will work  b. The bootloader code must be loaded into the PIC first by a hardware programmer  c. Bootloader takes up some code memory spaces  d. The PIC will have to be running at the time of programming  e. A serial port on the PC is required<a href="http://www.promeganet.com/?page_id=233" target="_blank"> <span style="color: #0000ff;">(Serial port programing books)</span></a> <span style="color: #0000ff;"><a href="http://www.promeganet.com" target="_blank">Parallel port programming in Visual Basic</a></span> <strong>4b. What hardware device programmer to use</strong> Programmer circuits:  We recommend the parallel programmer P16Pro40 as many had been built and works perfectly.  A warning: Serial programmer designs like JDM or RCD relies heavily on the current and voltage capability of the serial port on your PC/laptop. If it works, congratulation. If it doesn&#8217;t, bad luck. There is nothing you can do to make it work.  <a title="multichippgmr-cct" rel="lightbox[pics398]" href="http://promeganet.com/wp-content/uploads/2008/10/multichippgmr-cct.gif"><img class="attachment wp-att-401 centered" src="http://promeganet.com/wp-content/uploads/2008/10/multichippgmr-cct.gif" alt="multichippgmr-cct" width="460" height="375" /></a></p>
<h3><strong>5. PIC Programming softwares:</strong></h3>
<p>There are many choices and are listed below in no particular oder. There is no limit on how many you can use as different software features different PIC types support.  Check the software to see if it actually supports the PIC that you use.  <a href="http://www.ic-prog.com/download.html" target="_blank"> IC-Prog</a> <a href="http://inxm.net/zip/paw016.zip" target="_blank">PicAllW</a> <a href="http://perso.wanadoo.fr/softelec/Projects/PIC18/PP18/WIN/Projects_PIC18_PP18_WIN_us.htm" target="_blank">18F PIC Programming Software</a> <a href="http://people.freenet.de/dl4yhf/winpicpr.html" target="_blank">WinPic</a> <a href="http://perso.wanadoo.es/siscobf/winpic800.htm" target="_blank">WinPic800</a> <a href="http://www.winpicprog.co.uk/" target="_blank">WinPicProg</a> <code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "5287983177";
google_ad_width = 336;
google_ad_height = 280;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<h3><strong>6. Some of my PIC output PINs are not working!</strong></h3>
<p>This is a common problem. Usually people try to output logic 1(HIGH) to PINs which are only <strong>inputs</strong> (aka PORTA,5 or PORTE,3 are usually Input only), or you are trying to get 5V from a PIN which can only pull down to 0V GND. Such PIN is called &#8220;<strong>Open drain Output&#8221;</strong>, similar to open-collector in TTL logic. Such PIN is &#8220;missing&#8221; a MOSFET transistor from VDD to PIN, therefore PIN can&#8217;t go HIGH. And of course the MOSFET transistor which is there connecting PIN to VSS can&#8217;t output high but only 0V. If you want to use it as a general TTL compatible output, just add a Pull-up resistor from that PIN to +5V (4K7 is good). But keep in mind this logic 1(HIGH) wont be &#8220;strong&#8221; enough to drive a LED! (If you want to drive LED with it, connect anode of LED to +5V via a current limiting resistor and its Cathode to PIN, this will allow you to turn on the LED by putting logic 0 on the PIN.  Beginners usually don&#8217;t like Open Drain/Collector PINs, but they will find it useful latter, when they advance into &#8220;self-designing&#8221; level.  <strong>Make sure that any internal PERIPHERAL is NOT taking over desired PIN, For example if you activates TIMER1 oscillator or ICD support, you can&#8217;t use PORTB6,7 for ANY other purpose!</strong> This applies to both Input and Output problems.  List of peripherals (and features) that may cause problems:  <em>MCLR</em> - may prevent PINs PORTA,5 OR PORTE,3 to be used as general purpose input, disable it by clearing Master Clear Enable bit in configuration register.  <em>Comparator Module</em> - pins PORTA 0-3 are defaulted to Analog mode with comparators enabled. Writing a correct value to CMCON register (read Datasheet) will disable them. (Affected devices: 16F628, 16F628A, 16F876A, 16F877A, 16F88, 12F629, 12F675, 12F683&#8230; and more)  <em>LVP</em> - this is a special way of programming PIC with only +5V on MCLR and LVP pin PORTB3 or PORTB4 will control if PIC is on normal or in program mode. because this &#8220;feature&#8221; will takeover/block one PIN in the middle of an eight bit port, I highly recommend to DISABLE it by clearing LVP bit in config register.  <em>ICD support</em> will allow you to debug the PIC, but if you don&#8217;t use ICD, under no circumstances enable DUBUG bit in config register, this would reserve PORTB6 &amp; PORTB7 pins and your program won&#8217;t be able to use them. <code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "5287983177";
google_ad_width = 336;
google_ad_height = 280;
// --></script></code></p>
<h3><strong>7. Some of my input PINs are not working!</strong></h3>
<p>First check the datasheet if the default state of the PIN is <strong>Digital Input</strong>, if it says that the Reset state is analog (comparator or ADC), you need to disable analog feature at the beginning of your program. This is a common problem, when you switch from 16F84 to 16F628 without rewriting the program (16F628 has Comparators turned on by default, whereas 16F84 doesn&#8217;t have them at all). Also if you plan to use PORTA,5 or PORTE,3 as general inputs, you have to disable MCLR function first because they share the same PIN.</p>
<h3><strong>8. What are Watchdog, CCP, Timer etc &#8230; </strong></h3>
<p><span style="text-decoration: underline;">Watchdog</span> timer (WDT) is an Independent oscillator+timer, that will reset (or wake-up) the PIC if you don&#8217;t clear the timer value periodically. This clearing has to be done regularly in your PIC software by calling CLRWDT instruction. Watchdog prevents your program to be locked in infinite loop, because if it get stuck, the CLRWDT instruction wouldn&#8217;t get executed and the PIC will reset and get out from the loop. Or you can use Watchdog to periodically wake the PIC up from sleep, and thus saves one precious Timer (that can be used elsewhere). The WDT is a crude RC oscillator, it&#8217;s accuracy is very poor, and highly dependent on external factors such as temperature. However, this doesn&#8217;t matter for it&#8217;s designed purpose as a watchdog.  <span style="text-decoration: underline;">CCP</span> is a unit that has three functions:  a. In Capture mode, CCPR register captures the 16-bit value of the TMR1 register (Timer1) when an event occurs on pin RB3/CCP1.  b. In Compare mode, the 16-bit CCPR register value is constantly compared against the TMR1 register pair value. When a match occurs, the RB3/CCP1 pin is altered (see datasheet)  c. In Pulse Width Modulation (PWM) mode, the CCP1 pin produces up to a 10-bit resolution PWM output. Since the CCP1 pin is multiplexed with the PORTB data latch, the TRISB&lt;3&gt; bit must be cleared to make the CCP1 pin an output.  <span style="text-decoration: underline;">Timer</span> unit has to modes of operation:  d. Counter mode, is counting impulses from a dedicated input pin. This can serve also as a debounced input (Timer overflow will indicate that a button was pressed)  e. Timer mode, is counting oscillator pulses (Primary or Secondary), this will allow your program to know how much real time has passed (to construct delays, software serial buses etc)  <a href="http://rapidshare.com/files/155274563/pic_tutorial.rar"><span style="color: #0000ff;">Sample coding for Timers </span></a> <a href="http://rapidshare.com/files/155274563/pic_tutorial.rar"></a></p>
<h3>9. Simulate Pic program before make hardware</h3>
<p>Using proteus you can simulate your dream circuit. You can test your project before make it.The Proteus Design Suite is wholly unique in offering the ability to co-simulate both high and low-level micro-controller code in the context of a mixed-mode SPICE circuit simulation. With this Virtual System Modelling facility, you can transform your product design cycle, reaping huge rewards in terms of reduced time to market and lower costs of development.<span style="color: #0000ff;">(<a href="http://www.promeganet.com/?page_id=148">Download proteus7.1 with crack</a>)</span></p>
<p><span style="color: #0000ff;"><a href="http://promeganet.blogspot.com/2008/10/electronic-simulation-with-proteus71.html" target="_blank"><span><strong>Read more about proteus&#8230;&#8230;.</strong></span></a></span></p>
<p>The most exciting and important feature of Proteus VSM is its ability to simulate the interaction between software running on a microcontroller and any analog or digital electronics connected to it.</p>
<h2>10.What is next</h2>
<p><a href="http://www.promeganet.com/?p=3" target="_blank">Summery of the article&#8230;.</a></p>
<p><strong><span style="color: #0000ff;">That’s all you need to begin pic programing. Enjoy it……..</span></strong></p>
<p><strong>Was this article useful for you?</strong></p>
<p><strong>If so, please be kind enough to spend 2,3 minutes for leaving a comment. . . . </strong></p>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_self">Microcontroller Programming in assembly language PART 1</a></h4>
<h4><a href="http://www.promeganet.com/?p=897" target="_blank">Microcontroller Programming in assembly language PART 2</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=3" target="_blank">Microcontroller Programming for beginners with PIC16F84A</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank">Parallel Port Programming in Visual Basic</a></h4>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">Micro controllers in practice</a> by Loan Susnea and Marian Mitescu</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC in practice</a> by David W. Smith</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">The PIC Microcontroller; Your Personal Introductory Course</a> by John Morton</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Programming and Customising the PIC Microcontroller</a> by Myke Predko</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Pick’n up the Pace - Microcontroller Application Guide</a> by Walter G. Jung</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Introduction to Microprocessors and Microcontrollers</a> by John Crisp</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC Microcontrollers Second Edition - An Introduction to Microelectronics</a> by  Martin P. Bates</h4>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
<h3><a href="http://rapidshare.com/files/155292845/x14Architecture.rar" target="_blank"><strong><span style="color: #993366;">Pic training videos&gt;&gt;</span></strong></a></h3>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=398</wfw:commentRss>
		</item>
		<item>
		<title>Easy way to make a PCB</title>
		<link>http://promeganet.com/?p=84</link>
		<comments>http://promeganet.com/?p=84#comments</comments>
		<pubDate>Tue, 07 Oct 2008 15:59:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Education]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[copper board]]></category>

		<category><![CDATA[design layout]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[marker]]></category>

		<category><![CDATA[marker pen]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[pcb design]]></category>

		<category><![CDATA[pcb printed circuit board]]></category>

		<category><![CDATA[pen]]></category>

		<category><![CDATA[permanent]]></category>

		<category><![CDATA[permanent marker]]></category>

		<category><![CDATA[programing]]></category>

		<category><![CDATA[sand paper]]></category>

		<category><![CDATA[scratch]]></category>

		<category><![CDATA[silicon carbide paper]]></category>

		<category><![CDATA[step 1]]></category>

		<category><![CDATA[step 2]]></category>

		<category><![CDATA[transparent paper]]></category>

		<category><![CDATA[transparent sheet]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=84</guid>
		<description><![CDATA[Any body wants to know a easy way of making a PCB(Printed Circuit Board) ????
Then this is the way.
It is very easy, less cost and more importantly it can be made in your home&#8230;..

Only u need few things in order to build your own PCB,

a copper board
printout of the circuit diagram going to be build
Ferric [...]]]></description>
			<content:encoded><![CDATA[<p>Any body wants to know a easy way of making a PCB(Printed Circuit Board) ????</p>
<p>Then this is the way.</p>
<p>It is very easy, less cost and more importantly it can be made in your home&#8230;..</p>
<p><span id="more-84"></span></p>
<p>Only u need few things in order to build your own PCB,</p>
<ul>
<li>a copper board</li>
<li>printout of the circuit diagram going to be build</li>
<li>Ferric Chloride</li>
<li>permanent marker pen</li>
</ul>
<h3><span style="text-decoration: underline;">Copper board</span></h3>
<p>This is a simply a plastic board in which one side is got a copper layer. That is it. Anyone can buy it from market&#8230;</p>
<h3><span style="text-decoration: underline;">Printout of the circuit diagram</span></h3>
<p>Circuit diagram of the circuit going to be built can be designed using a software like EAGLE or etc. After creating the circuit diagram of the circuit, it has to be printed either directly on a transparent sheet or a normal plain paper. If it is printed on a plain paper it has to be photocopied on a transparent sheet. One can choose either method. But printing directly on the transparent sheet is the better way.</p>
<h3><span style="text-decoration: underline;">Way of making a PCB</span></h3>
<h4><span style="text-decoration: underline;">Step 1</span></h4>
<p>Scratch the Copper board using a sand paper (Silicon Carbide paper). But make sure that you do not scrarch it too hard or too much and also ensure that SiC paper is not too harder one. After scratching clean the surface of the copper board well.</p>
<h4><span style="text-decoration: underline;">Step 2</span></h4>
<p>Take the printout of the PCB design layout(circuit diagram)  in transparent paper, keep it on the copper board (on the copper layer) and iron it using iron (you can use a normal iron for this). Iron it well. Make sure keep printed side on the copper board.</p>
<h4><span style="text-decoration: underline;">Step 3</span></h4>
<p>After ironing it can be seen that the circuit diagram will be printed in the copper board. But it may not be printed well on the copper board specially if photocopied one is used. So therefore with the help of the permanent marker pen draw the parts of the circuit diagram which are not printed properly. Keep in mind to choose a marker with a small point, otherwise it will be difficult draw.</p>
<h4><span style="text-decoration: underline;">Step 4</span></h4>
<p>Now you got a circuit diagram printed on the copper board. Take ferric chloride and mix it with water (hot water is better, it will react with copper better). Put the copper board into the mixture and wash it well using the mixture. Copper will react with the ferric chloride and finally you will get your PCB. You will see the  circuit diagram on the board in black colour.</p>
<h4><span style="text-decoration: underline;">Step 5</span></h4>
<p>Now your work is almost finished. Wash the board using thinner and clean it. Now you will see your PCB.</p>
<p>This is the way you have to do it&#8230;..</p>
<p>Enjoy it&#8230;&#8230;..</p>
<h3><span style="color: #0000ff;"><strong>Was this article useful for you?</strong></span></h3>
<h3><span style="color: #0000ff;"><strong>If so, please be kind enough to spend 2,3 minutes for leaving a comment. . . . </strong></span></h3>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming in assembly language PART 1</a></h4>
<h4><a href="http://www.promeganet.com/?p=897" target="_blank">Microcontroller Programming in assembly language PART 2</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=3" target="_blank">Microcontroller Programming for beginners with PIC16F84A</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to Microcontroller Programming</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank"><br />
</a></h4>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download e-books and software&gt;&gt;</a></h3>
<h3><span style="color: #0000ff;"><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "0141129145";
google_ad_width = 336;
google_ad_height = 280;
// --></script></code></span></h3>
<p><code> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=84</wfw:commentRss>
		</item>
		<item>
		<title>Parallel port programming in Visual Basic</title>
		<link>http://promeganet.com/?p=23</link>
		<comments>http://promeganet.com/?p=23#comments</comments>
		<pubDate>Tue, 30 Sep 2008 14:24:26 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Education]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[c0]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[control ports]]></category>

		<category><![CDATA[d0]]></category>

		<category><![CDATA[data ports]]></category>

		<category><![CDATA[functionality]]></category>

		<category><![CDATA[ground pins]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[Microcontroller Programming]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[parallel port connector]]></category>

		<category><![CDATA[pins]]></category>

		<category><![CDATA[programing]]></category>

		<category><![CDATA[s0]]></category>

		<category><![CDATA[visible control]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=23</guid>
		<description><![CDATA[ 
Structure of a parallel port
In here I basically focused on using the parallel port to output data. For that I used Data outputs in the port. We can output a maximum of 8 bit data using a 25 pin parallel port.


 
 
In a 25 pin parallel port connector there are three types of [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p><strong><span style="text-decoration: underline;">Structure of a parallel port</span></strong></p>
<p>In here I basically focused on using the parallel port to output data. For that I used <strong><em>Data outputs</em></strong> in the port. We can output a maximum of 8 bit data using a 25 pin parallel port.</p>
<p style="text-align: center;"><a title="Pin arrangement" rel="lightbox[pics23]" href="http://promeganet.com/wp-content/uploads/2008/09/11.jpg"><img class="attachment wp-att-34 centered" src="http://promeganet.com/wp-content/uploads/2008/09/11.jpg" alt="Pin arrangement" width="500" height="92" /></a></p>
<p style="text-align: left;"><a title="Pin arrangement" rel="lightbox[pics23]" href="http://promeganet.com/wp-content/uploads/2008/09/11.jpg"><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --></a></p>
<p style="text-align: left;"><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p><span id="more-23"></span><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p>In a 25 pin parallel port connector there are three types of ports to receive or send data.</p>
<ul class="unIndentedList">
<li> Data ports - From D0 to D7</li>
<li> Status ports - From S0 to S7 (Though there are 8 status ports only 5 are visible)</li>
<li> Control ports - From C0 to C7 (Though there are 8 control ports only 4 are visible)</li>
</ul>
<p>Also there are 8 Ground pins to complete the circuit.</p>
<p style="text-align: center;"><a title="Pin details" rel="lightbox[pics23]" href="http://promeganet.com/wp-content/uploads/2008/09/21.jpg"><img class="attachment wp-att-43 centered" src="http://promeganet.com/wp-content/uploads/2008/09/21.jpg" alt="Pin details" width="450" height="373" /></a></p>
<p style="text-align: left;"><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p>Normally Data pins are at Low state (0 V) and Status pins are at High state (+5V). Therefore for reading purposes using status ports it must be grounded first. (refer the picture shown in below)</p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p>Also note that S7 is inverted. Therefore it is in Low State.</p>
<p style="text-align: center;"><a title="Grounding " rel="lightbox[pics23]" href="http://promeganet.com/wp-content/uploads/2008/09/31.jpg"><img class="attachment wp-att-46 centered" src="http://promeganet.com/wp-content/uploads/2008/09/31.jpg" alt="Grounding " width="412" height="360" /></a></p>
<p style="text-align: left;"><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p><strong><span style="text-decoration: underline;">Port address</span></strong><br />
<code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 10/24/08 */
google_ad_slot = "2183049889";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<p>Every port in a computer has an address. So if someone is going to access any port in a computer, its address has to be known. Address is a Hexadecimal number. Typical values are shown below.</p>
<p><a title="address" rel="lightbox[pics23]" href="http://promeganet.com/wp-content/uploads/2008/09/41.jpg"><img class="attachment wp-att-48 alignleft" src="http://promeganet.com/wp-content/uploads/2008/09/41.jpg" alt="address" width="166" height="77" /></a></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--></p>
<p>These are only typical values. But it may change from computer to computer. Then, before doing anything port&#8217;s address has to be found out.</p>
<p>Right click on My Computer icon on the desktop go to Manage-&gt; Device Manager-&gt; Ports (COM &amp; LPT) -&gt; Printer/Parallel port and go to Properties-&gt; Resources. In there address can be found out.</p>
<p><strong><span style="text-decoration: underline;">How to program using Visual Basic </span></strong></p>
<p>In Visual Basic, it is not possible to access hardware directly. But there is a method. To control the parallel port using a VB program, a file called <strong><em>‘<a href="http://www.dll-files.com/dllindex/dll-files.shtml?inpout32" target="_blank">Inpout32.dll&#8217;</a></em></strong> is needed. It can be simply downloaded from the internet and has to be copied to system directory (c: \Windows \System32).</p>
<p>In any VB program a module has to be included and the following code must be written on it.</p>
<p><span style="color: #0000ff;"> Public Declare Function Inp Lib &#8220;inpout32.dll&#8221; _ </span></p>
<p><span style="color: #0000ff;"> </span><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--><span style="color: #0000ff;">Alias &#8220;Inp32&#8243; (ByVal     PortAddress As Integer) As Integer</span></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--><span style="color: #0000ff;">Public Declare Sub Out Lib &#8220;inpout32.dll&#8221; _</span></p>
<p><!--[if gte mso 9]><xml> Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--  --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} --> <!--[endif]--><span style="color: #0000ff;">Alias &#8220;Out32&#8243; (ByVal PortAddress As Integer, ByVal Value As Integer)</span></p>
<p><strong><span style="text-decoration: underline;">How to Output data </span></strong></p>
<p><strong></strong> We can output an 8 bit number using data port. There is a function called <strong><em>‘out&#8217;</em></strong> to output data. This function takes two parameters, Port address and Data.  <span style="color: #0000ff;">Out Address, data</span></p>
<p>E.g.:-  Consider that we want output 15 using the data port. For that it can be written the function like below</p>
<p><span style="color: #0000ff;">Out 888, 15</span></p>
<p>Or the address can be written as a hexadecimal number</p>
<p><span style="color: #0000ff;">Out &amp;h378, 15</span></p>
<p>The data on the data port will be 00001111 from binary. From D0 to D3 pins will be on high state and from D4 to D7 will be on low state.  <strong></strong></p>
<p><strong><span style="text-decoration: underline;">How to Read data </span></strong></p>
<p><strong></strong> We can read data in the data in any port by <strong><em>‘Inp&#8217; </em></strong>function and it takes only one parameter.</p>
<p><span style="color: #0000ff;">Variable = Inp (address)</span></p>
<p>This variable gives the integer value of the corresponding address.</p>
<p>e.g.:-  Suppose that the data on the data port is 15.</p>
<p><span style="color: #0000ff;">X = Inp (&amp;h378)</span> Then variable x will be equal to 15.  <strong></strong></p>
<p><strong><span style="text-decoration: underline;">How to light a LED using a parallel port</span></strong></p>
<p>To light a LED using a parallel port, only a LED and a resistor are needed. Just 270 or 330 ohms resistor is sufficient. Connect the resistor and the LED in series and connect the plus terminal of the LED to any of the data port from D0 to D7 and the minus terminal to any of the ground pins.</p>
<p>Let&#8217;s think that the LED is connected to the D0.</p>
<p><span style="color: #0000ff;">Out &amp;h378, 1</span> - LED will be ON</p>
<p><span style="color: #0000ff;">Out &amp;h378, 0</span> - LED will be OFF  <code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "3336926395";
google_ad_width = 336;
google_ad_height = 280;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<p><strong><span style="color: #0000ff;">That&#8217;s all you need to begin programming parallel port in Visual Basic. Enjoy it&#8230;&#8230;..</span></strong></p>
<h3><strong>Was this article useful for you?</strong></h3>
<h3><strong>If so, please be kind enough to spend 2,3 minutes for leaving a comment. . . . </strong></h3>
<h4><span style="text-decoration: underline;">Relevent Downloads<br />
</span></h4>
<h4><a href="http://www.promeganet.com/?page_id=113" target="_blank">Get E-Books on Parallel Port programming</a></h4>
<h4><a href="http://www.promeganet.com/?page_id=98" target="_self">Get Related software</a></h4>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming in assembly language PART 1<br />
</a></h4>
<h4><a href="http://www.promeganet.com/?p=897" target="_blank">Microcontroller Programming in assembly language PART 2</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to Microcontroller Programming</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=84" target="_blank">Easy way to make a PCB</a></h4>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<p><a href="http://www.promeganet.com/?page_id=113" target="_blank">Parallel Port complete</a> by  Jan Axelson</p>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>Microcontroller programming for beginners with 16f84a</title>
		<link>http://promeganet.com/?p=1232</link>
		<comments>http://promeganet.com/?p=1232#comments</comments>
		<pubDate>Sun, 28 Sep 2008 06:38:54 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Education]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[assembly]]></category>

		<category><![CDATA[assembly language]]></category>

		<category><![CDATA[basic knowledge]]></category>

		<category><![CDATA[c language]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[dc motor control]]></category>

		<category><![CDATA[electronic components]]></category>

		<category><![CDATA[free software]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[hex]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[languages]]></category>

		<category><![CDATA[led circuit]]></category>

		<category><![CDATA[long distance]]></category>

		<category><![CDATA[mcu]]></category>

		<category><![CDATA[microcontrollers]]></category>

		<category><![CDATA[motor control circuit]]></category>

		<category><![CDATA[mp lab]]></category>

		<category><![CDATA[new technology]]></category>

		<category><![CDATA[oscillator]]></category>

		<category><![CDATA[pic programming]]></category>

		<category><![CDATA[programing]]></category>

		<category><![CDATA[programming software]]></category>

		<category><![CDATA[robots]]></category>

		<category><![CDATA[worry]]></category>

		<category><![CDATA[writing programs]]></category>

		<category><![CDATA[writing software]]></category>

		<guid isPermaLink="false">http://www.promeganet.com/?p=3</guid>
		<description><![CDATA[


Microcontroller programming for beginners with 16f84a
 
 Anyone interest in electronics they would like to know about MCU s. These days new technology goes long distance away from PIC. But major thing is MCUs still use for many electronic components. With basic knowledge of programming and about electronics anyone make big projects with MCU s. [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--></p>
<p><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<h3 class="MsoNormal"><span style="text-decoration: underline;">Microcontroller programming for beginners with 16f84a</span></h3>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 10pt;"> </span></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;"><span> </span>Anyone interest in electronics they would like to know about MCU s. These days new technology goes long distance away from PIC. But major thing is MCUs still use for many electronic components. With basic knowledge of programming and about electronics anyone make big projects with MCU s. Using PIC ICs can make small LED circuit and also can make complex robots.</span></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">We will consider about the major requirements. First thing is we have to choose suitable PIC ic . If we have enough knowledge to use PIC IC s then we should select suitable IC for our project or circuit. For an example we will think we are going to make DC motor control circuit then we should choose PIC IC s with have PWM facility. If you can’t understand about this PWM or what ever the things I finally mentioned don’t worry about that because I will give brief introduction from my continuous posts.</span></span></p>
<p class="MsoNormal"><span id="more-1232"></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<h2 class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">Select suitable microcontroller</span></span></h2>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;"><span> </span></span></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">I choose to write about PIC programming using 16f84a because it is not complex to learn. Now we have a PIC IC. After that we will decide what is the our first circuit. I think everyone knows about blinking LED circuit but I explain it here for beginners. One LED on and off continuously. It is simple and attractive circuit.</span></span></p>
<p class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 10/24/08 */
google_ad_slot = "8517658724";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<h2 class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">Code writing software</span></span></h2>
<p><span style="color: #000000;"><span style="font-size: 9pt;"><span> </span></span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;">We need hardware and software to continue our lesson and project. First we consider about programming software. Much free software can downloads from internet. Some of are MICROC, PICC, MP LAB. PICC and MICROC use kind of c language but writing programs in MP LAB we need knowledge about assembly language it not too easy therefore I choose MICROC to write our program.</span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;">But here I mention only basic knowledge only for beginners. If you want to know about how to program in MICROC visit our PIC programming page. After write and compile program we can make hex file. </span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<h2 class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">Programming Device and burning software</span></span></h2>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;">Then we have to program the IC. HEX file is the one you need to program the microcontroller. The programming device (programmer) with accessory software installed on PC is in charge of writing the physical contents of HEX file into the internal memory of a microcontroller.</span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;">Then we will get knowledge about programmer and burning software. Programmer is a circuit and you have to make it. Look at circuit schematic diagram and try to make that circuit. Note that the programming software should be used only for the communication with the programming device — it is not suitable for code writing. When I burn the IC, I use IC PROG because it is easy and fast. Programmer device connect with computer via serial port and open burning software and write hex file on microcontroller. After that we have programmed PIC IC.</span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 468x60, created 10/22/08 */
google_ad_slot = "5873244612";
google_ad_width = 468;
google_ad_height = 60;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></code></p>
<h2 class="MsoNormal"><span style="color: #000000;"><span style="font-size: 9pt;">Circuit and output</span></span></h2>
<p><span style="color: #000000;"><span style="font-size: 9pt;"> </span></span></p>
<p><span style="color: #000000;"><span style="font-size: 9pt;">Finally we want a new circuit to see how works our programmed IC. It is simple and you need only oscillator, LED s and few resistors. Make circuit properly and enjoy it.</span></span></p>
<p><strong>Was this article useful for you?</strong></p>
<p><strong>If so, please be kind enough to spend 2,3 minutes for leaving a comment. . . . </strong><br />
 <code><script type="text/javascript"><!--
google_ad_client = "pub-5698335100558667";
/* 336x280, created 10/24/08 */
google_ad_slot = "0843561096";
google_ad_width = 336;
google_ad_height = 280;
// --></script></code></p>
<h4><span style="text-decoration: underline;">Other related Articles </span></h4>
<h4><a href="http://www.promeganet.com/?p=761" target="_blank">Microcontroller Programming in assembly language PART 1</a></h4>
<h4><a href="http://www.promeganet.com/?p=897" target="_blank">Microcontroller Programming in assembly language PART 2</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=398" target="_blank">Beginner guide to Microcontroller Programming</a></h4>
<h4 class="MsoNormal"><a href="http://www.promeganet.com/?p=23" target="_blank">Parallel Port Programming in Visual Basic</a></h4>
<h4><span style="text-decoration: underline;">Related E-Books downloads</span></h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">Micro controllers in practice</a> by Loan Susnea and Marian Mitescu</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">PIC in practice</a> by David W. Smith</h4>
<h4><a href="http://www.promeganet.com/?page_id=233" target="_blank">The PIC Microcontroller; Your Personal Introductory Course</a> by John Morton</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Programming and Customising the PIC Microcontroller</a> by Myke Predko</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Pick’n up the Pace - Microcontroller Application Guide</a> by Walter G. Jung</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">Introduction to Microprocessors and Microcontrollers</a> by John Crisp</h4>
<h4><a href="http://www.promeganet.com/?page_id=425" target="_blank">PIC Microcontrollers Second Edition - An Introduction to Microelectronics</a> by  Martin P. Bates</h4>
<h3><a href="http://www.promeganet.com/?page_id=272" target="_blank">Related Software Downloads&gt;&gt;</a></h3>
<h3><a href="http://www.promeganet.com/?page_id=89" target="_blank">Download more e-books and software&gt;&gt;</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://promeganet.com/?feed=rss2&amp;p=1232</wfw:commentRss>
		</item>
	</channel>
</rss>
