View
221
Download
1
Tags:
Embed Size (px)
Citation preview
PIC -3
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….
What is Autonomous Mode?
• Assembly/Machine or C programming.
• C2C (shareware) & CCS
• Simple instructions.
• Full capability of PIC.
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)
The 87x PIC• Data sheet on
website
• RISC (35 inst.)
• Fast &Cheap
• EEPROM, Flash, RAM
• Programmable
• In-Circuit Pgming
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
Instruction Set• Simple• Portable skill• Program from Sheet (“Fortran”)• Bit intensive• 4k 14 bit words• 1 us/instruction
Bit Banging• Complete data sheet.• Many application
notes, books.• Can code many
operations yourself.• Many placed in
“Modules”• UART• SPI• I2C• USB (devel.)
Assembler Programming• Perhaps alien - but powerful and fast.• From Section 9.1 in manual:
Modules and Debug
• Many modules on PIC
• Much setup & many modes
• Most common modules covered by subroutines in Debug (e.g. hosted mode)
Hacking Debug• Command Sub.• Low-Level Sub.• Definitions
• Parser
Calling a Debug Subroutine
• Section 11.1
• Banks for Data
• Pages for Program
• Simple!
Programming - MPLAB
• Section 9• Assembler• Simulator• Programmer• Freeware(Also GNU, C2C
etc)
Simulating - MPLAB
• Section 10
• Step through program
• Watch memory/ports change.
• Perfect for tracking bugs.
• Limitations: Serial/ADC
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…
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…
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!
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…
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…
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?
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
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?
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)
By End of Week• Sketch Proposal
(Friday September 20, 5pm)
• Parts.
• Schematic.
• Objectives.
• Description/Background
• Attribute.
• See website checklist!
Next 2 Weeks
• Prototyping on SK-10s
• Return of Proposals
• Complete Schematic (EAGLE)
• Programming/Interfacing Signoff
• Easy if keep underway.
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.
Lectures
Loren Wyard-Scott• Simulation• Tracking bugs• Methods• Limitations• Examples
Schedule
• Easy schedule if regular.
• Don’t let due dates loom!
• Do not underestimate times for:
- design
- parts
- fixes
- software
- integration
- background
- creativity
The Labs
• Office hours are generally in lab.
• Generally in each lab day.
• Approach in lab or after class.
• Arrange time if need be.