Difference between revisions of "Sample code for most PIC18F4520 operations"

From Mech
Jump to navigationJump to search
Line 1: Line 1:
Find the code samples for all of these and more at [http://peshkin.mech.northwestern.edu/pic/code http://peshkin.mech.northwestern.edu/pic/code]
These will/should also have wiki pages for background and associated electronics:
These will/should also have wiki pages for background and associated electronics:
<li>DigitalIO Digital input and output bit-by-bit or byte-by-byte
<li>DigitalIO Digital input and output bit-by-bit or byte-by-byte

Revision as of 14:50, 16 January 2008

Find the code samples for all of these and more at http://peshkin.mech.northwestern.edu/pic/code These will/should also have wiki pages for background and associated electronics:

  • DigitalIO Digital input and output bit-by-bit or byte-by-byte
  • AnalogInput Reading up to twelve Analog Inputs
  • Counter0 Counting pulses with Timer0
  • Counter1 Counting pulses with Timer1
  • MotorPWM PWM outputs for torque control of one or two DC motors; Timer 2
  • RS232com Serial RS232 communication between PIC and a text window
  • Interrupt0 Periodic servo cycles using interrupt routines, 10mS & slower; Timer 0
  • Interrupt2 Periodic servo cycles using interrupt routines; 10mS & faster; Timer 2
  • InterruptExternal Interrupts generated by an external pulse
  • RCservoSoft PWM output in software for position control of up to five RC servos; Timer 3
  • RCservoHard PWM output in hardware for position control of up to two RC servos; Timer 2
  • QuadratureSoft Quadrature decoder/counter in software for arbitarily many encoders; 1KHz max
  • QuadratureHard Quadrature decoder/counter in hardware for one arbitrarily fast encoder; Timers 0 and 1

    Not available yet:

  • AnalogOutputParallel Analog output using 8 digital lines
  • AnalogOutputI2C Analog output using I2C serial
  • Printing to a serial LCD
  • Printing to a parallel LCD
  • PIC-to-PIC communication
  • Zigbee radio communication
  • Modulated IR communication
  • Strobing LEDs or IREDs for better range and immunity to background light
  • I2C communication
  • CAN bus
  • Capturing data to Matlab
  • Running stepper motors