Difference between revisions of "Microchip PICs"

From Mech
Jump to navigationJump to search
 
(61 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''Note: Most code on this page was written using the CCS compiler. Microchip's MPLAB is also occasionally used.'''
'''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.


__TOC__
<b>[http://peshkin.mech.northwestern.edu/pic/code Link to all sample code here.]</b>
== 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 ==
<b>[http://peshkin.mech.northwestern.edu/pic/code Link to all PIC18F sample code here.]</b>
*[[Sample code for most PIC18F4520 operations]]
*[[Sample code for most PIC18F4520 operations]]
*[http://www.ccsinfo.com/forum/ CCS user forum]
*[http://www.ccsinfo.com/forum/ CCS user forum]
<br>
<br>
__TOC__
== Using the PIC18F4520 ==
*[[4520 Board intro]]
*[[4520 Board intro]]
*[[4520 Board construction]]
*[[4520 Board construction]]
Line 34: Line 108:
*[[Introduction to the PIC32]]
*[[Introduction to the PIC32]]
*[[Getting Started with PIC32]] (includes NU32 development board)
*[[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]]
*[[Microcontroller PIC32MX460F512L]]
*[[Programming HID Bootloader on PIC32]]
*[[Programming HID Bootloader on PIC32]]
*[[HelloWorld PIC32|Directions to code HelloWorld]]
*[[HelloWorld PIC32|Directions to code HelloWorld]]
*[[Directions to Load Files to PIC32 with HID Bootloader]]
*[[Directions to Load Files to PIC32 with HID Bootloader]]



*[[PIC MCUs: Capabilities of PIC32MX]]
*[[PIC MCUs: Capabilities of PIC32MX]]
Line 47: Line 125:
**Communication
**Communication
***[[PIC32MX: Parallel LCD]]
***[[PIC32MX: Parallel LCD]]
***[[PIC32MX: RS232| PIC32MX: RS232 - Under Construction]]
***[[PIC32MX: RS232]]
***[[PIC32MX: I2C|PIC32MX: I2C - Under Construction]]
***[[PIC32MX: USB Communication with a PC]]
***[[PIC32MX: USB Communication|PIC32MX: USB Communication - Under Construction]]
***[[PIC32MX: SPI External RAM]]
***[[PIC32MX: SPI| PIC32MX:SPI (Probably will be a Lab 5 assigment)]]
***[[PIC32MX: I2C DAC]]
***[[PIC32MX: I2C EEPROM]]
***[[PIC32MX: SPI EEPROM]]
***[[PIC32MX: I2C Communication between PIC32s]]
***[[PIC32MX: SPI Communication between PIC32s]]
**Motor Control
**Motor Control
***[[PIC32MX: PWM Motor Control|PIC32MX: PWM Motor Control - Under Construction]]
***[[PIC32MX: PWM Motor Control|PIC32MX: PWM Motor Control]]
***[[PIC32MX: Encoder Motor Control|PIC32MX: Encoder Motor Control - Under Construction]]
***[[PIC32MX: Encoder Motor Control|PIC32MX: Encoder Motor Control]]
***[[PIC32MX: Servo Control|PIC32MX: Servo Control - Under Construction]]
***[[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 97: Line 189:
*[[Watchdog timer]]
*[[Watchdog timer]]
*[[Interfacing PIC with SPI memory]]
*[[Interfacing PIC with SPI memory]]
*[[Using the LS7166 Quadrature Counter]]


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

Latest revision as of 11: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