Difference between revisions of "Microchip PICs"
From Mech
Jump to navigationJump to searchBen Tollberg (talk | contribs) |
NickMarchuk (talk | contribs) |
||
(112 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. |
|||
__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 == |
|||
<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 use]] |
|||
*[[Microcontroller PIC18F4520]] |
|||
*[[PIC MCUs: Capabilities of PIC18F4520]] |
|||
**[[PIC18F4520: PWM Motor Control]] |
|||
**[[PIC18F4520: Digital Outputs]] |
|||
**[[PIC18F4520: Digital Inputs]] |
|||
**[[PIC18F4520: Serial Digital-to-Analog Conversion]] |
|||
**[[PIC18F4520: Analog Inputs]] |
|||
**[[PIC18F4520: Timers]] |
|||
**[[PIC18F4520: Comparator]] |
|||
== Example Code in C for PIC18F4520== |
|||
*[[C Example: Parallel Interfacing with LCDs]] |
|||
*[[C Example: Digital Inputs]] |
|||
*[[C Example: PWM Motor Control]] |
|||
*[[C Example: Comparators]] |
|||
*[[C Example: Digital Outputs]] |
|||
*[[C Example: Analog Inputs]] |
|||
*[[C Example: Digital Outputs (Ports)]] |
|||
*[[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 == |
|||
*[[PIC PWM Motor Driver]] |
*[[PIC PWM Motor Driver]] |
||
*[[Writing Code with the C18 Compiler]] |
*[[Writing Code with the C18 Compiler]] |
||
Line 5: | Line 156: | ||
*[[PIC Motor Control and Serial Port Example]] |
*[[PIC Motor Control and Serial Port Example]] |
||
*[[PIC16F684]] |
*[[PIC16F684]] |
||
*[[C Example: Parallel Interfacing with LCDs]] |
|||
*[[PIC Microcontrollers with CCS Compiler]] |
*[[PIC Microcontrollers with CCS Compiler]] |
||
*[[Stepper motor control with the PIC]] |
*[[Stepper motor control with the PIC]] |
||
*[[PIC18F4520: PWM Motor Control]] |
|||
*[[PIC/C18 Compiler Tips and Troubleshooting]] |
*[[PIC/C18 Compiler Tips and Troubleshooting]] |
||
*[[4520 Board intro]] |
|||
*[[CCS C]] |
*[[CCS C]] |
||
*[[Analog Input]] |
*[[Analog Input]] |
||
Line 16: | Line 164: | ||
*[[Storing constant data in program memory]] |
*[[Storing constant data in program memory]] |
||
*[[PIC Analog-Digital-Converter Example]] |
*[[PIC Analog-Digital-Converter Example]] |
||
*[[PIC18F4520: Digital Outputs]] |
|||
*[[PIC Microcontroller]] |
*[[PIC Microcontroller]] |
||
*[[Digital inputs & outputs]] |
*[[Digital inputs & outputs]] |
||
*[[4520 Board construction]] |
|||
*[[Debugging C on a PIC]] |
*[[Debugging C on a PIC]] |
||
*[[C Example: Serial LCD]] |
|||
*[[4520 Board use]] |
|||
*[[Analog Output]] |
*[[Analog Output]] |
||
*[[PIC MCUs: Software]] |
*[[PIC MCUs: Software]] |
||
*[[Interfacing to External EEPROM]] |
*[[Interfacing to External EEPROM]] |
||
*[[C language]] |
|||
*[[PIC18F4520: Serial Digital-to-Analog Conversion]] |
|||
*[[PIC MCUs: Capabilities of PIC18F4520]] |
|||
*[[CCS IDE]] |
*[[CCS IDE]] |
||
*[[Interrupts]] |
*[[Interrupts]] |
||
*[[ |
*[[PIC16F684 Registers]] |
||
*[[Waveform Generation with AD9833]] |
*[[Waveform Generation with AD9833]] |
||
*[[Waveform Generation with AD9833, and SPI]] |
*[[Waveform Generation with AD9833, and SPI]] |
||
*[[PIC computation time benchmarks]] |
*[[PIC computation time benchmarks]] |
||
*[[PIC18F4520: Analog Inputs]] |
|||
*[[PICkit 1]] |
*[[PICkit 1]] |
||
*[[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]] |
||
*[[C Example: Digital Inputs]] |
|||
*[[Embedded Programming Tips for CCS C]] |
*[[Embedded Programming Tips for CCS C]] |
||
*[[C Example: PWM Motor Control]] |
|||
*[[PIC18F4520: Digital Inputs]] |
|||
*[[Wireless PIC bootloading]] |
*[[Wireless PIC bootloading]] |
||
*[[C Example: Comparators]] |
|||
*[[C Example: Digital Outputs]] |
|||
*[[C Example: Analog Inputs]] |
|||
*[[PIC18F4520: Timers]] |
|||
*[[PIC18F4520: Comparator]] |
|||
*[[C Example: Digital Outputs (Ports)]] |
|||
*[[Microcontroller PIC18F4520]] |
|||
*[[PIC18F4431 with C18 Compiler]] |
|||
*[[PIC 18f4553]] |
*[[PIC 18f4553]] |
||
*[[I2C Motor Controller]] |
|||
*[[Driving a piezo speaker with a PIC]] |
|||
*[[PIC Servo Controller]] |
|||
*[[Watchdog timer]] |
|||
*[[Interfacing PIC with SPI memory]] |
|||
*[[Using the LS7166 Quadrature Counter]] |
|||
==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)
- NU32: Introduction to the PIC32
- Sample Code
- 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
DIP-packaged PIC32's, the PIC32MX1XX/2XX Series
The NUScope
Using the NU32v2 (Winter 2011)
- NU32v2: Introduction to the PIC32
- 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
Link to all PIC18F sample code here.
- 4520 Board intro
- 4520 Board construction
- 4520 Board use
- Microcontroller PIC18F4520
- PIC MCUs: Capabilities of PIC18F4520
Example Code in C for PIC18F4520
- C Example: Parallel Interfacing with LCDs
- C Example: Digital Inputs
- C Example: PWM Motor Control
- C Example: Comparators
- C Example: Digital Outputs
- C Example: Analog Inputs
- C Example: Digital Outputs (Ports)
- 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 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
- Directions to code HelloWorld
- Directions to Load Files to PIC32 with HID Bootloader
- PIC MCUs: Capabilities of PIC32MX
- PIC32MX: Bootloader
- Simple Programs
- Communication
- Motor Control
- Capabilities
Other PIC Resources
- PIC PWM Motor Driver
- Writing Code with the C18 Compiler
- Controlling a seven segment display
- PIC Microcontrollers with C18 Compiler
- PIC Motor Control and Serial Port Example
- PIC16F684
- PIC Microcontrollers with CCS Compiler
- Stepper motor control with the PIC
- PIC/C18 Compiler Tips and Troubleshooting
- CCS C
- Analog Input
- PIC MCUs: Hardware and Connections
- Storing constant data in program memory
- PIC Analog-Digital-Converter Example
- PIC Microcontroller
- Digital inputs & outputs
- Debugging C on a PIC
- Analog Output
- PIC MCUs: Software
- Interfacing to External EEPROM
- CCS IDE
- Interrupts
- PIC16F684 Registers
- Waveform Generation with AD9833
- Waveform Generation with AD9833, and SPI
- PIC computation time benchmarks
- PICkit 1
- PIC MCUs: 4520 Board
- More debugging tips
- Example Writeup: Analog Input
- LED Drivers
- Embedded Programming Tips for CCS C
- Wireless PIC bootloading
- PIC 18f4553
- I2C Motor Controller
- Driving a piezo speaker with a PIC
- PIC Servo Controller
- Watchdog timer
- Interfacing PIC with SPI memory
- Using the LS7166 Quadrature Counter