Difference between revisions of "Microchip PICs"

From Mech
Jump to navigationJump to search
 
(105 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''Note: Some of the code on the bottom of this page was written using the CCS compiler. All new code is being written using Microchip's MPLAB X.
<b>[http://peshkin.mech.northwestern.edu/pic/code Link to all sample code here.]</b>

*[http://www.ccsinfo.com/forum/ CCS user forum]
__TOC__
__TOC__
== Using the NU32 (Winter 2012 and on) ==
*[[NU32: Introduction to the PIC32]]
**[[NU32: What is in the NU32 Kit]]
**[[NU32: Software to Install]]
**[[NU32: Starting a New Project and Putting it on the NU32]]
**[[NU32: A Detailed Look at Programming the PIC32 on the NU32]]
**[[NU32: Quickstart]]
**[[NU32: Bootloading from command line]]
* Sample Code
**1 [[NU32: UART Asynchronous Serial Communication]]
**2 [[NU32: I2C Synchronous Serial Communication]]
**3 [[NU32: SPI Synchronous Serial Communication]]
**4 [[NU32: Using the Comparator]]
**5 [[NU32: Watchdog Timer]]
**6 [[NU32: Input Capture]]
**7 [[NU32: Pulse Width Modulation]]
**8 [[NU32: Analog-to-Digital Conversion]]

**[[NU32: Using the RTCC]]
**[[NU32: Flash Self-Programming]]
**[[NU32: CAN]]
**[[NU32: Writing to an SD Card]]

**[[NU32: Serial Communication with the PC]]
**[[NU32: 16x2 LCD]]
**[[NU32: Digital Input and Output]]
**[[NU32: Counters and Timers]]
**[[NU32: Interrupts]]
**[[NU32: Output Compare, PWM, and Analog Output]]
**[[NU32: Analog Input]]
**[[NU32: Using the dsPIC33FJ12MC201 QEI to SPI board]]
**[[NU32: Using the MAX9918 current sensor]]
**[[NU32: Using the TB6612 H-Bridge]]
**[[NU32: Driving RC servo motors]]
**[[NU32: Driving a stepper motor]]
**[[NU32: Using the L293D H-Bridge]]
**[[NU32: Digital Signal Processing]]

**[[NU32: VC0706 Serial Camera]]
**[[NU32: Using the MCP42X1 SPI Digital Potentiometer]]

== DIP-packaged PIC32's, the PIC32MX1XX/2XX Series ==
*[[PIC32 in DIP package]]

== The NUScope ==
*[[NUScope]]

== Using the NU32v2 (Winter 2011) ==
*[[NU32v2: Introduction to the PIC32]]
**[[NU32v2: What is in the NU32v2 Kit]]
**[[NU32v2: Software to Install]]
**[[NU32v2: Starting a New Project and Putting it on the NU32v2]]
**[[NU32v2: Using the Simulator]]
**[[NU32v2: A Detailed Look at Programming the PIC32]]
**[[NU32v2: Benchmark Test]]
* Sample Code
**[[NU32v2: Digital Input and Output]]
**[[NU32v2: Counters and Timers]]
**[[NU32v2: Interrupts]]
**[[NU32v2: Output Compare, PWM, and Analog Output]]
**[[NU32v2: Serial Communication with the PC]]
**[[NU32v2: Nokia 5110 LCD]]
**[[NU32v2: Analog Input]]
**[[NU32v2: Using the LS7183 Quadrature Clock Converter]]
**[[NU32v2: Using the L293D H-Bridge]]
**[[NU32v2: Input Capture]]
**[[NU32v2: Flash Self-Programming]]
**[[NU32v2: UART Asynchronous Serial Communication]]
**[[NU32v2: I2C Synchronous Serial Communication]]
**[[NU32v2: SPI Synchronous Serial Communication]]
**[[NU32v2: Digital Signal Processing]]
**[[NU32v2: Watchdog Timer]]
**[[NU32v2: Simple Analog Input]]

== Using the PIC18F4520 ==
== Using the PIC18F4520 ==
<b>[http://peshkin.mech.northwestern.edu/pic/code Link to all PIC18F sample code here.]</b>
*[[Sample code for most PIC18F4520 operations]]
*[http://www.ccsinfo.com/forum/ CCS user forum]
<br>
*[[4520 Board intro]]
*[[4520 Board construction]]
*[[4520 Board construction]]
*[[4520 Board use]]
*[[4520 Board use]]
*[[Microcontroller PIC18F4520]]
*[[Microcontroller PIC18F4520]]
*[[PIC MCUs: Capabilities of PIC18F4520]]
*[[PIC18F4520: PWM Motor Control]]
*[[PIC18F4520: Digital Outputs]]
**[[PIC18F4520: PWM Motor Control]]
*[[PIC18F4520: Digital Inputs]]
**[[PIC18F4520: Digital Outputs]]
*[[PIC18F4520: Serial Digital-to-Analog Conversion]]
**[[PIC18F4520: Digital Inputs]]
*[[PIC18F4520: Analog Inputs]]
**[[PIC18F4520: Serial Digital-to-Analog Conversion]]
*[[PIC18F4520: Timers]]
**[[PIC18F4520: Analog Inputs]]
*[[PIC18F4520: Comparator]]
**[[PIC18F4520: Timers]]
**[[PIC18F4520: Comparator]]


== Example Code in C ==
== Example Code in C for PIC18F4520==
*[[C Example: Parallel Interfacing with LCDs]]
*[[C Example: Parallel Interfacing with LCDs]]
*[[C Example: Digital Inputs]]
*[[C Example: Digital Inputs]]
Line 23: Line 103:
*[[C Example: Digital Outputs (Ports)]]
*[[C Example: Digital Outputs (Ports)]]
*[[C Example: Bi-Directional PWM Motor Control]]
*[[C Example: Bi-Directional PWM Motor Control]]
*[[C Example: Serial LCD]]

== Using the PIC32MX Series ==
*[[Introduction to the PIC32]]
*[[Getting Started with PIC32]] (includes NU32 development board)
** Download PIC32 Tutorial Files [[Media: PIC32_TutorialFiles.zip|here]].
** [[ME 333 Lab 2]] - Includes Digital IO, Analog Input, Parallel LCD and RS232 Com
** [[ME 333 Lab 4]] - Includes PWM and Encoder Motor Control
*[[Microcontroller PIC32MX460F512L]]
*[[Programming HID Bootloader on PIC32]]
*[[HelloWorld PIC32|Directions to code HelloWorld]]
*[[Directions to Load Files to PIC32 with HID Bootloader]]


*[[PIC MCUs: Capabilities of PIC32MX]]
**[[Programming HID Bootloader on PIC32 |PIC32MX: Bootloader]]
**Simple Programs
***[[PIC32MX: Digital Inputs]]
***[[PIC32MX: Digital Outputs]]
***[[PIC32MX: Analog Inputs]]
**Communication
***[[PIC32MX: Parallel LCD]]
***[[PIC32MX: RS232]]
***[[PIC32MX: USB Communication with a PC]]
***[[PIC32MX: SPI External RAM]]
***[[PIC32MX: I2C DAC]]
***[[PIC32MX: I2C EEPROM]]
***[[PIC32MX: SPI EEPROM]]
***[[PIC32MX: I2C Communication between PIC32s]]
***[[PIC32MX: SPI Communication between PIC32s]]
**Motor Control
***[[PIC32MX: PWM Motor Control|PIC32MX: PWM Motor Control]]
***[[PIC32MX: Encoder Motor Control|PIC32MX: Encoder Motor Control]]
***[[PIC32MX: Servo Control|PIC32MX: Servo Control]]
***[[PIC32MX: Driving a Stepper Motor]]
***[[Using the LS7166 Quadrature Counter]]
***[[Using the LS7366R SPI Quadrature Counter]]
**Capabilities
***[[PIC32MX: Benchmarking Mathematical Operations]]
***[[PIC32MX: FFT of Analog Input]]
***[[PIC32MX: Sinusoidal Analog Output]]
***[[PIC32MX: XBee Wireless Round-trip Latency]]
***[[PIC32MX: Interfacing with Force Sensors from a Scale]]
***[[PIC32MX: Storing Data in Flash Memory (Run-Time Self Programming)]]


==Other PIC Resources ==
==Other PIC Resources ==
Line 35: Line 159:
*[[Stepper motor control with the PIC]]
*[[Stepper motor control with the PIC]]
*[[PIC/C18 Compiler Tips and Troubleshooting]]
*[[PIC/C18 Compiler Tips and Troubleshooting]]
*[[4520 Board intro]]
*[[CCS C]]
*[[CCS C]]
*[[Analog Input]]
*[[Analog Input]]
Line 44: Line 167:
*[[Digital inputs & outputs]]
*[[Digital inputs & outputs]]
*[[Debugging C on a PIC]]
*[[Debugging C on a PIC]]
*[[C Example: Serial LCD]]
*[[Analog Output]]
*[[Analog Output]]
*[[PIC MCUs: Software]]
*[[PIC MCUs: Software]]
*[[Interfacing to External EEPROM]]
*[[Interfacing to External EEPROM]]
*[[C language]]
*[[PIC MCUs: Capabilities of PIC18F4520]]
*[[CCS IDE]]
*[[CCS IDE]]
*[[Interrupts]]
*[[Interrupts]]
Line 59: Line 179:
*[[PIC MCUs: 4520 Board]]
*[[PIC MCUs: 4520 Board]]
*[[More debugging tips]]
*[[More debugging tips]]
*[[Sample code for most PIC18F4520 operations]]
*[[Example Writeup: Analog Input]]
*[[Example Writeup: Analog Input]]
*[[LED Drivers]]
*[[LED Drivers]]
*[[Embedded Programming Tips for CCS C]]
*[[Embedded Programming Tips for CCS C]]
*[[Wireless PIC bootloading]]
*[[Wireless PIC bootloading]]
*[[PIC18F4431 with C18 Compiler]]
*[[PIC 18f4553]]
*[[PIC 18f4553]]
*[[I2C Motor Controller]]
*[[I2C Motor Controller]]
Line 70: Line 188:
*[[PIC Servo Controller]]
*[[PIC Servo Controller]]
*[[Watchdog timer]]
*[[Watchdog timer]]
*[[Interfacing PIC with SPI memory]]
*[[Using the LS7166 Quadrature Counter]]

==Programming the PIC with Microchip's MPLAB==

Latest revision as of 12:39, 2 January 2014

Note: Some of the code on the bottom of this page was written using the CCS compiler. All new code is being written using Microchip's MPLAB X.

Using the NU32 (Winter 2012 and on)

DIP-packaged PIC32's, the PIC32MX1XX/2XX Series

The NUScope

Using the NU32v2 (Winter 2011)

Using the PIC18F4520

Link to all PIC18F sample code here.


Example Code in C for PIC18F4520

Using the PIC32MX Series


Other PIC Resources

Programming the PIC with Microchip's MPLAB