PICS in Am Radio Andy Talbot G4JNT. SO what is this magic device ?  The PIC processor is a Single Chip with Input and Output lines that can be programmed.

Slides:



Advertisements
Similar presentations
Simple Microcontroller Programming with PIC16F88.
Advertisements

MC68HC11 System Overview. System block diagram (A8 version)
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
Motherboard Further Information Click on the image for details about each component.
Microcontroller – PIC – 4 PIC types PIC architecture
Introduction 2 BASIC Stamp®. Microcontrollers Microcontrollers can be thought of as very small computers which may be programmed to control systems such.
Problems Encountered - Up to Midterm State Machine Transitions Much Too Fast - Solved by Decreasing Clock (LED Circuit) Difficult to Test LED (Column)
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
Design and Implementation of a Virtual Reality Glove Device Final presentation – winter 2001/2 By:Amos Mosseri, Shy Shalom, Instructors:Michael.
Aztec PC Scope Preliminary Design Review Fall 2006 Michael MasonJed Brown Andrew YoungsJosh Price.
Coordinate Based Tracking System
Railway Foundation Electronic, Electrical and Processor Engineering.
Getting the O in I/O to work on a typical microcontroller Activating a FLASH memory “output line” Part 1 Main part of Laboratory 1 Also needed for “voice.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
1 ECE 263 Embedded System Design Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System.
Programmable Delay of Radar Pulse Technion-Israel Institute of Technology Electrical Engineering Department.
Railway Foundation Electronic, Electrical and Processor Engineering.
ASPPRATECH.
Microcontroller: Introduction
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
2 Lines Electronics I 2 C Analyzer Ching-Yen Beh Robert S. Stookey Advisor: Dr. J. W. Bruce.
Microcontroller Programming How to make something almost do something else Raffi Krikorian MAS November 2003.
PIC microcontrollers. PIC microcontrollers come in a wide range of packages from small chips with only 8 pins and 512 words of memory all the way up to.
1 © Unitec New Zealand Embedded Hardware ETEC 6416 Date: - 10 Aug,2011.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
MICROCONTROLLERS. What is a microcontroller? A microcontroller is a nifty little gadget that houses a microprocessor, ROM (Read Only Memory), RAM (Random.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Objectives How Microcontroller works
COE4OI5 Engineering Design Chapter 2: UP2/UP3 board.
A Few Words From Dilbert
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Team Scribacious Rabble Design Constraint Analysis Paul Rosswurm Mitch Erdbruegger Ben Kobin William Hess.
July 18, UCSD - R.A. de Callafon Short Intro to Micro Processors and I/O functions of our Kinetic Sculpture Control Box Raymond de Callafon.
Presented by Sadhish Prabhu
Lecture 7: Overview Microprocessors / microcontrollers.
Department of Electronic & Electrical Engineering Introduction to microcontrollers A microcontroller is a small computer on a single integrated circuit.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction Purpose  This course provides an introduction to the peripheral functions.
Teaching Digital Logic courses with Altera Technology
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
Chapter Microcontroller
Department of Electronic & Electrical Engineering Introduction to microcontrollers A microcontroller is a small computer on a single integrated circuit.
Team 6. Guitar Audio Amplifier Audio Codec DSP Wireless Adapter Motor Array PC LCD Display LED Arrays Pushbutton or RPG Input Device
Components of a typical full-featured microcontroller.
Microcontrollers JULES CALELLA. Microcontrollers vs Microprocessors  Microprocessors – do not contain RAM, ROM, I/O  Microcontrollers – The whole package.
Embedded C- Language Lets Learn fundamentals !!. An Embedded system is combination of computer hardware and software, and perhaps additional mechanical.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
Voice Controlled Robot by Cell Phone with Android App
PICAXE Microcontroller
Popular Microcontrollers and their Selection by Lachit Dutta
Microcontroller Applications
UNIT – Microcontroller.
DIGITAL CALCULATOR USING 8051
AVR Addressing Modes Subject: Microcontoller & Interfacing
Introduction to Microprocessors and Microcontrollers
Future Designs, Inc. Your Development Partner
Introducing the PIC Mid-Range Family and the 16F84A
CSCI1600: Embedded and Real Time Software
8051 Micro Controller.
CSCI1600: Embedded and Real Time Software
Manual Robotics ..
Course Code 114 Introduction to Computer Science
Presentation transcript:

PICS in Am Radio Andy Talbot G4JNT

SO what is this magic device ?  The PIC processor is a Single Chip with Input and Output lines that can be programmed to do (within reason)anything you want  Low power (2 – 5V < 10mA)  Cheap (~ 50p to a few £s each)

How are they used ?  With a few programming tools Use code written by others for specific jobs Programme your own from first principles Mixture of both  Wide Range of device families Basic Digital / analogue signal handling TO Advanced Digital Signal Processing

The Hardware  All depends on the chip type  I/O lines (Pins) Digital 5V, source / sink 20mA Some Schmitt trigger inputs Analogue Inputs  Peripherals (use some dedicated pins) A/D Converter Comparator Timer / Counter

Contd UART (serial Comms) Pulse Width Modulation  A few specialist ones USB Core I2C Bus CAN Bus

How the code works A sequence of instructions are stored in Programme Memory that work on Data stored in user memory User memory includes all the peripherals and I/O lines The data is swappd about, moved, manipulated - and conditionally tested The programme sequence can be interrupted and flow changed depending on the outcome of those tests

--- and that is all they do ----  35 Basic instructions in the baseline 16F family (and of those, about half are used most of the time)  The peripherals are the complicated bits, and need the data sheets.  but for now.....  A bit of code....

A few ground rules  All PICs need some setup instructions Peripherals need initialising (some even if not used - a very sore point indeed! RTFM with an unfamiliar device) I/O lines defined – direction, type – or just for for best PCB layout Peripherals have dedicated pins allocated – and may default! Clock Oscillator (int / ext, speed, type) All these depend on the processor Copy from other previous working code – for that device type Some early 1996 vintage initialisation code by G0IAY, when he introduced me to PICs can still be seen in some of the latest stuff on the website.

Sample prog ( with many setup bits missing ) #define LEDPORTB, 3;Bit 3 of PORTB #define ButtonPORTB, 4; Assume if pressed = 0V, high normally BCF TRISA, B;Set LED pin as an output BSFTRISA, B;Set Button as an input MainLoop BTFSSButton;Test the button, skip next command if high (not pressed) GOTOPressed;If pressd, jump out of loop BCFLED;Make sure LED is off, set its connection to 0 GOTOMainLoop;Cycle continuously when button is up ; Pressed;Turn the LED on when button is pressed BSFLED;Set the LED pin high GOTOMainLoop ; END

Practicalities  Write the Source code – use any text editor like Wordpad, Notepad, or a custom one - part of programing suite Generate.ASM file  Assemble it I Use MPASM (from Microchip) Any errors are flagged with line number (so make sure the text editor shows line numbers!!)  If all is (eventually) correct – no assembly errors – a.HEX file will be generated This will look meaningless

Blowing the Chip  PIC programmers are rife. There are dozens of different ones Many homebrew, simple, PC software based ones. They probably mostly work..... BUT  Get a proper one Microchip PicKit 2 (or PicKit 3, nothing extra for basic jobs) Will do every (modern) device they make And often comes bundled with freebies There are others (Asix Presto) – I need for legacy devices

 (Install the programmer Software)  Connect programmer to PC For the PicKit – connect a blank device first Use chip adapter, or connect the 5 programming wires PicKit reads the device type automatically Other programmers have to be set  Load in the.HEX file generated earlier  Click / Press / Hit the programme button Remove chip, solder into circuit

In Circuit Programming  Two I/O lines dedicated to programming, along with PGM pin (also device reset) Bring out to connection header on the PCB, Allows chip programmer to re-prog chip on the final board The header may conveniently allow an external user interface to be connected, so pins aren’t wasted – like RS232 As in the Beacon Keyer module No spare I/O pins there with its 8 pin PIC

The ‘JNT Board Specifically designed as a user I/O interface for analogue and digital tasks

Circuit Diagram

Details  16F628 or 16F819 Processor Socket & In-Circuit Programming  LCD Module  Rotary Encoder with built in pushbutton  Up to 5 User I/O lines (analogue or digital)  Precision voltage reference  Expandable, development module

Uses  Analogue Monitor several channels and display voltages - accurately Calculate VSWR and Power from ext head ?????????????????  Digital Control serial synthesizer chips Frequency Counter ?????????????????

Ready-To-Go Solutions  4 Channel Voltmeter 4 voltages on LCD, use rotary control to set and store decimal point position  VSWR Indicator Feed in FWD and RTN voltages from SWR head, calculate VSWR independent of power Feed in a calibration voltage, use to allow accurate power display  Frequency Counter Up to ~ 50MHz Rotary control to set and store IF offsets

.... Contd  Synth Controller Control a pair of MFG modules, or similar synth chips, over dual I2C interface Requires PIC programmer if frequencies / IFs need to be changed   The module will form the basis of future microwave synthesizer controllers  Designs based around the LMX family are rising up the do-list