<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=PIC_SDK</id>
	<title>PIC SDK - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=PIC_SDK"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=PIC_SDK&amp;action=history"/>
	<updated>2026-06-04T21:24:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=PIC_SDK&amp;diff=27662&amp;oldid=prev</id>
		<title>Chao: /* Registers */</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=PIC_SDK&amp;diff=27662&amp;oldid=prev"/>
		<updated>2020-07-27T10:14:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Registers&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Toolchain ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Tools !! Type !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| PICKit3 || HW || Hardware Programmer &lt;br /&gt;
|-&lt;br /&gt;
| MPLAB X IPE || SW || Hex programmer IPE&lt;br /&gt;
|-&lt;br /&gt;
| MPLAB X IDE || SW || IDE&lt;br /&gt;
|-&lt;br /&gt;
| K150 ISP PROG(old) || SW || Hex programmer ISP (old)&lt;br /&gt;
|-&lt;br /&gt;
| USB PROG: HIDbootloader.exe (in CD disk) || SW / PIC18 || USB IAP Tool Hex programmer&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compiler ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Supports !! Free Versions&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.microchip.com/Developmenttools/ProductDetails/SW006011 MPLAB C complier C18] || 	PIC18 || YES&lt;br /&gt;
|-&lt;br /&gt;
| HI-TECH Universal Toolsuite -&amp;gt; ANSI C compiler || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/mplabxc8windows XC8] || - || - &lt;br /&gt;
|-&lt;br /&gt;
| MP-ASM || - || - &lt;br /&gt;
|-&lt;br /&gt;
| MikroC Pro for PIC || PIC12, PIC16, PIC18, dsPIC, PIC24, PIC32 || yes (2Kb program memory limitation)&lt;br /&gt;
|-&lt;br /&gt;
| CCS Compiler || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[SDCC]] || PIC16, PIC18 || Full Free&lt;br /&gt;
|-&lt;br /&gt;
| IAR?  || PIC18, dsPIC30, dsPIC33, PIC24 || 30-day evaluation edition&lt;br /&gt;
|}&lt;br /&gt;
=== Setup PICC + PIC16F72 ===&lt;br /&gt;
==== Build Guide MPlab IDE ====&lt;br /&gt;
[[File:PIC-toolchain.gif|thumbnail|toolchain setup animation]]&lt;br /&gt;
* Updated with animation tutorial&lt;br /&gt;
* Install MPLAB, HI-TECH PICC9.83&lt;br /&gt;
* select MCU -&amp;gt; pic16f72&lt;br /&gt;
* programmer -&amp;gt; pickit3&lt;br /&gt;
* project wizard -&amp;gt; use compiler hi-tech universal toolsuite -&amp;gt; ANSIS&lt;br /&gt;
* click to compile the default project, blink RA0 LED&lt;br /&gt;
==== build first demo and flash ====&lt;br /&gt;
[[File:Flash pic.gif|thumbnail|Upload code]]&lt;br /&gt;
* Must select proper configuration bit, check crystal, LP - low power, RC internal, XT external, HS high speed crystal, for 8M crystal should use this one, read more on datasheet&lt;br /&gt;
* Demo use pickit standalone programmer, configuration bit set to 3FF2&lt;br /&gt;
* Crystal - HS crystal &lt;br /&gt;
* WDT - disable -&amp;gt; 0&lt;br /&gt;
* Power-on timer - enable -&amp;gt; 0&lt;br /&gt;
* BOR - enable -&amp;gt; 1&lt;br /&gt;
* LP - code protection off -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Flash by MPLAB IPE ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Mplab_ipe_power_target.png | Power the connect &lt;br /&gt;
File:Mplab_ipe_connect.png | Connect to the target&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Function  !! Example&lt;br /&gt;
|-&lt;br /&gt;
| TRISx	|| sets the direction of pins || &lt;br /&gt;
  /* Configure all the ports as Output */&lt;br /&gt;
    TRISA = 0x00;&lt;br /&gt;
    TRISB = 0x00;&lt;br /&gt;
    TRISC = 0x00;&lt;br /&gt;
    TRISD = 0x00; &lt;br /&gt;
|-&lt;br /&gt;
| PORTx || read/write the port pin values || PORTA = 0xff; /* Turn ON all the leds connected to Ports */&lt;br /&gt;
|-&lt;br /&gt;
| ANSEL || ANALOG / DIGITAL SELECT REGISTER || -&lt;br /&gt;
|-&lt;br /&gt;
| OSCCON || Register of Oscillator || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Demo code ==&lt;br /&gt;
New demo code PIC16F684. PIC16F1933, PIC16F1829, PIC16F877:&lt;br /&gt;
* https://bitbucket.org/e_dragon/pic/src/master/&lt;br /&gt;
For PIC18F14K50 USB Demo&lt;br /&gt;
* https://bitbucket.org/e_dragon/pic18f14k50/src&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Other Demo Code&lt;br /&gt;
* [http://jap.hu/electronic/usbio.html PIC USB Demo Application]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Old - not used ==&lt;br /&gt;
&lt;br /&gt;
* Build and program, follow the guide below&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image: Select_device.jpg | open mplab and select to program, here is PIC16F72&lt;br /&gt;
image:Select_device_02.jpg&lt;br /&gt;
image:Select_programmer.jpg | select programmer&lt;br /&gt;
image:Select_programmer_02.jpg | select setting&lt;br /&gt;
image:Select_programmer_03.jpg | use programmer to power the target board&lt;br /&gt;
image:New_project.jpg | start a new project with project wizard&lt;br /&gt;
image:New_project_02.jpg | &lt;br /&gt;
image:New_project_03.jpg | use hi-tech universal&lt;br /&gt;
image:New_project_04.jpg | enter project name&lt;br /&gt;
image:New_project_05.jpg | no need to add any files for now our blink project&lt;br /&gt;
image:New_project_06.jpg | add a file to project&lt;br /&gt;
image:Main.jpg | call it main.c&lt;br /&gt;
image:Main_02.jpg | first buid it 1, then program it 2, add LED to see how it works&lt;br /&gt;
image:Pic16f72_blink_led.jpg | final blink led&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* Use PICkit programmer&lt;br /&gt;
[[File:PIC programmer.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
* RA3 is input only &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference == &lt;br /&gt;
=== Official Resource ===&lt;br /&gt;
* https://www.microchip.com/doclisting/TechDoc.aspx?type=CodeExamples&lt;br /&gt;
* PIC16F684 - http://ww1.microchip.com/downloads/en/devicedoc/41202c.pdf&lt;br /&gt;
=== Application Reference ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:PIC18_USB_IOs_SCH.jpg | USB interface, IO expander&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Reference &lt;br /&gt;
* USB GPIO interface for raspberry pi, IO expander - https://www.tindie.com/products/jap/usb-gpio-interface-for-raspberry-piopenwrtpc/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datasheet ===&lt;br /&gt;
* [[:File:PIC16F1933.pdf|PIC16F1933]]&lt;br /&gt;
&lt;br /&gt;
[[category: PIC]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>