290 likes | 529 Views
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
E N D
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 • DIO (A,B,C) • PWM output • PWM capture • 10 bit ADC • SPI • I2C • Sleep mode • Power management (uA to mA !) • Timers • Interrupts • UART • Parallel port
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 • Definitions • Parser • Command Sub. • Low-Level Sub.
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
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 : C2C
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… Free C Compilers : Optama
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 : HiTech
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… C Compilers : CCS
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 in My Lab
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 1 printf(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?
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 Other Examples
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? CCS in EE401
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) Other Thoughts
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.
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. Guest Lectures Later
Loren Wyard-Scott Simulation Tracking bugs Methods Limitations Examples Lectures
Easy schedule if regular. Don’t let due dates loom! Do not underestimate times for: - design - parts - fixes - software - integration - background - creativity Schedule
The Labs • Office hours are generally in lab. • Generally in each lab day. • Approach in lab or after class. • Arrange time if need be.