PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is...

29
PIC -3
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    1

Transcript of PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is...

Page 1: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

PIC -3

Page 2: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

This Class: Introduction to Autonomous Microboard

• Next class - hosted mode.

• This class is overview of autonomous mode.

• Most projects expected to use some form of autonomous mode….

Page 3: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

What is Autonomous Mode?

• Assembly/Machine or C programming.

• C2C (shareware) & CCS

• Simple instructions.

• Full capability of PIC.

Page 4: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

When to be Autonomous

• Response in usec.

• Need full capabilities of PIC.

• Not too computing or data intensive.

• No interface to host needed.

• Low duty cycle (e.g. data logging)

Page 5: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

The 87x PIC• Data sheet on

website

• RISC (35 inst.)

• Fast &Cheap

• EEPROM, Flash, RAM

• Programmable

• In-Circuit Pgming

Page 6: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

873 - Versatile

• Sleep mode

• Power management

(uA to mA !)

• Timers

• Interrupts

• UART

• Parallel port

• DIO (A,B,C)

• PWM output

• PWM capture

• 10 bit ADC

• SPI

• I2C

Page 7: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Instruction Set• Simple• Portable skill• Program from Sheet (“Fortran”)• Bit intensive• 4k 14 bit words• 1 us/instruction

Page 8: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Bit Banging• Complete data sheet.• Many application

notes, books.• Can code many

operations yourself.• Many placed in

“Modules”• UART• SPI• I2C• USB (devel.)

Page 9: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Assembler Programming• Perhaps alien - but powerful and fast.• From Section 9.1 in manual:

Page 10: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Modules and Debug

• Many modules on PIC

• Much setup & many modes

• Most common modules covered by subroutines in Debug (e.g. hosted mode)

Page 11: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Hacking Debug• Command Sub.• Low-Level Sub.• Definitions

• Parser

Page 12: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Calling a Debug Subroutine

• Section 11.1

• Banks for Data

• Pages for Program

• Simple!

Page 13: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Programming - MPLAB

• Section 9• Assembler• Simulator• Programmer• Freeware(Also GNU, C2C

etc)

Page 14: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Simulating - MPLAB

• Section 10

• Step through program

• Watch memory/ports change.

• Perfect for tracking bugs.

• Limitations: Serial/ADC

Page 15: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Free C Compilers : C2C

C2C • On web • LCD etc. interface

routines available• Easy to adapt and

develop.• Allows inline ASM.• No floats• Not ANSI

• Careful with different devices such as LCDs

• Will need to read data sheets.

• Configurable to most PICs

• No examples yet…

Page 16: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Free C Compilers : Optama

Optama • Demo available on web.• LCD etc. interface

routines available?• Easy to adapt and

develop.• Allows inline ASM?• No floats?• Not ANSI?

• Careful with different devices such as LCDs

• Will need to read data sheets.

• Configurable to most PICs

• USB example…

Page 17: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

C Compilers : HiTech

HiTech Demo• 21day from web• LCD etc. interface

routines available.• Easy to adapt and

develop.• Allows inline ASM.• Full floating point!• ANSI

• Careful with different devices such as LCDs

• Will need to read data sheets.

• Configurable to all PICs?

• No examples yet…• Reinstall system after

21d!

Page 18: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

C Compilers : CCS

CCS• Purchased (145$)• LCD etc. interface

routines available.• Easy to adapt and

develop.• Allows inline ASM.• Full floating point!• ANSI

• Careful with different devices such as LCDs

• Will need to read data sheets.

• Configurable to all PICs

• Some examples in 401• Now in my lab…

Page 19: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

CCS in My Lab• Souped up

Microboard:

20 MHz 877 PIC• C far faster & easier• LCD, Serial, SPI,

ADC, DIO, Steppers, Servos, DAC, Interrupts

• “Real Time OS”

• ‘Bomb’ detectors• Ion thrusters• Robotic fingers• Temperature controllers• DNA detectors

Soon:• Mutation detectors• Launch…

Page 20: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

CCS Coding : LCD & Floats#device PIC16F877 *=16 ICD=TRUE#include <defs_877.h>#include <lcd_out.h>void main(void){ ... lcd_init(); q = 0; while(1) { ...lcd_clr_line(1); // advance to line 1printf(lcd_char, " Hello World ");

T_F = 76.6 + 0.015 * ((float) (q)); lcd_clr_line(2); printf(lcd_char, "T_F = %f", T_F);

…Not Bad Eh?

Page 21: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Other Examples

• Telephone Dialing• Temperature• Pressure• SPI devices• I2C devices• EEPROM• Control

• Music Playing• Floating point• …Countless• HiTech site• CCS site• Internet as a whole• C far more portable

Page 22: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

CCS in EE401

• Windows version• Integrated into

MPLAB!• Perfect for simulating,

debugging and burning…

• Limited access?

• Linux version• Remote compiles!• Perfect for debugging

from home or?• Unlimited access?

Page 23: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Other Thoughts

• Many methods for using bootloaders with asm or C! (e.g. HiTech site)

• Power management (e.g. data logging)

• USB C code now on web

• Some new RF units (simple and readily available components)

Page 24: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

By End of Week• Sketch Proposal

(Friday September 20, 5pm)

• Parts.

• Schematic.

• Objectives.

• Description/Background

• Attribute.

• See website checklist!

Page 25: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Next 2 Weeks

• Prototyping on SK-10s

• Return of Proposals

• Complete Schematic (EAGLE)

• Programming/Interfacing Signoff

• Easy if keep underway.

Page 26: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Guest Lectures Later

• Jerry Kowalyk• Library & Electronic

searches• Background required

in any project report.

Loren Wyard-Scott• PC Layout.• Use of EAGLE.• Instruction on getting

a good PCB layout.• Rules for PCB

submission.

Page 27: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Lectures

Loren Wyard-Scott• Simulation• Tracking bugs• Methods• Limitations• Examples

Page 28: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

Schedule

• Easy schedule if regular.

• Don’t let due dates loom!

• Do not underestimate times for:

- design

- parts

- fixes

- software

- integration

- background

- creativity

Page 29: PIC -3. This Class: Introduction to Autonomous Microboard Next class - hosted mode. This class is overview of autonomous mode. Most projects expected.

The Labs

• Office hours are generally in lab.

• Generally in each lab day.

• Approach in lab or after class.

• Arrange time if need be.