Difference between revisions of "Microchip PICs"

From Mech
Jump to navigationJump to search
 
(98 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 20: Line 94:
**[[PIC18F4520: Comparator]]
**[[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 30: Line 104:
*[[C Example: Bi-Directional PWM Motor Control]]
*[[C Example: Bi-Directional PWM Motor Control]]
*[[C Example: Serial LCD]]
*[[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 66: Line 183:
*[[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 72: 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==
==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