Microcontrollers

37
Microcontrollers Lecture L12.2 Section 12.2

description

Microcontrollers. Lecture L12.2 Section 12.2. Microcontrollers. Microcontrollers vs. Microprocessors Two standard architectures PIC microcontroller 68HC12 Microcontroller BASIC Stamp Jstamp What’s the Difference. Microcontrollers. Microprocessor - PowerPoint PPT Presentation

Transcript of Microcontrollers

Page 1: Microcontrollers

Microcontrollers

Lecture L12.2

Section 12.2

Page 2: Microcontrollers

Microcontrollers

• Microcontrollers vs. Microprocessors

• Two standard architectures

• PIC microcontroller

• 68HC12 Microcontroller

• BASIC Stamp

• Jstamp

• What’s the Difference

Page 3: Microcontrollers

Microcontrollers

• Microprocessor– Performs computing function for different

architectures of memory, input/output ports, devices, and communication ports

• Microcontroller– Performs computing functions and contains onchip

memory, input/output ports, devices, and communication ports.

– Resources are limited

Page 4: Microcontrollers

Microcontrollers

CPU

GeneralPurpose

Microprocessor

Single Chip

RAM ROMI/OPort

TimerSerialCOMPort

Data Bus

Address Bus

CPU RAM ROM

I/O TimerSerialCOMPort

Single Chip

(a) General Purpose Microprocessor System

(b) Microcontroller

Page 5: Microcontrollers

Microcontrollers

• Desktop Computers– Different architectures/configurations of memory,

devices, and ports

– Microprocessor is a general purpose computing machine

• Embedded Systems– Includes coffee makers, burglar alarms, TV remote

controls, simple robots, etc…

– Easier to use a microcontroller with limited functionality and onchip resources

• No need to select/design a board with memory, etc…

• Ready to program

Page 6: Microcontrollers

The PIC Microcontroller

• Very common microcontroller• Made by Microchip Technology• Over 180 different microcontrollers

• Available in different configurations of on-chip resources • Timers, Drivers for writing to Liquid Crystal Displays, USB and TCP/IP interfaces, temperature sensors, and more

• Packaged in 8- to 84-pin configurations• Contains from 1 KB to 128 KB memory• Available in 8 and 16 bits

Page 7: Microcontrollers

Microcontrollers

• PIC controllers have a Harvard Architecture

DataMemory

CPUProgramMemory

CPU

ProgramandData

Memory

Harvard von-Neumann

Architecture used forDesktop personal computers

Page 8: Microcontrollers

Microcontrollers

• What do you think are some advantages/disadvantages of these architectures?

DataMemory

CPUProgramMemory

CPU

ProgramandData

Memory

Harvard von-Neumann

Page 9: Microcontrollers

PIC

Page 10: Microcontrollers

PIC

368 Bytes of Memory forData

8 KB of MemoryFor Programs

14-bit programwords

Page 11: Microcontrollers

PIC

Similar to Lab 10

Page 12: Microcontrollers

PIC

TheInstruction

Set

Page 13: Microcontrollers

3Types of

instructions

Page 14: Microcontrollers

Byte-oriented instructions

• fff ffff – the 7-bit address for which location in the register file (memory) contains the data of interest• d – if d = 0, then the answer will be stored in the W register, otherwise if d = 1, then the answer will be stored in the memory location selected by fff ffff.

Page 15: Microcontrollers

Byte-oriented instructions

If ADDWF is encoded as machine code:000111 0 0001010 d = 0 memory location = 0A

d

Memory address

Page 16: Microcontrollers

Byte-oriented instructions

If ADDWF is encoded as machine code:000111 0 0001010 d = 0 memory location = 0A

W reg is added to RF[0A] and the answer is placed in W reg

OPCODE = 070A

Page 17: Microcontrollers

Byte-oriented instructions

If ADDWF is encoded as machine code:000111 1 0001010 d = 1 memory location = 0A

W reg is added to RF[0A] and the answer is placed in RF[0A]

OPCODE = 078A

Page 18: Microcontrollers

Byte-oriented instructions

For ADDWF, we have seen type machine codes:

070A – add RF[0A] to W reg and place answer in W reg078A – add RF[0A] to W reg and place answer in RF[0A]

… and there are many more where that came from…

Page 19: Microcontrollers

Bit-oriented instructions

bbb – selects the bit that will be operated onffffff – selects the memory location of the data to be operated on

For example, BCF encoded as the machine code:

0100 111 0001011

Bit #

Memory address

Page 20: Microcontrollers

Bit-oriented instructions

bbb – selects the bit that will be operated onffffff – selects the memory location of the data to be operated on

For example, BCF encoded as the machine code:

0100 111 0001011

Bit 7 (MSB) of the Byte in RF[0B] is cleared to zero

OPCODE = 138B

Page 21: Microcontrollers

Literal and Control instructions

X – means don’t careK’s – the literal

Literal means ‘inline data’ like in the 8086 when we usedMOV AX, 0FFFF to move FFFF into AX, FFFF was theLiteral or inline data.

Page 22: Microcontrollers

Literal and Control instructions

X – means don’t careK’s – the literal

For example, if ADDLW is encoded as machine code:

111110 00001111

Inline Data

Page 23: Microcontrollers

Literal and Control instructions

X – means don’t careK’s – the literal

For example, if ADDLW is encoded as machine code:

111110 00001111

0F is added to the value in W reg and the sum is put in W reg

OPCODE = 3E0F

Page 24: Microcontrollers

Development Tools for PIC

There is a WindowsDevelopmentEnvironmentfor the PICController

Page 25: Microcontrollers

BASIC Stamp

• Based on 8-bit PIC

• 14-pin microcontroller

• Can be programmed using the BASIC language– It has a BASIC language interpreter built-in

Page 26: Microcontrollers

BASIC Stamp

Page 27: Microcontrollers

Online Interpreter

• Most microcontrollers do not have a built-in interpreter of any kind

• Usually source code written in higher level languages are compiled to a microcontrollers machine code

• BASIC Stamp is inexpensive and easy to program for small applications

Page 28: Microcontrollers

JStamp

Directly executes Java bytecodes

Page 29: Microcontrollers

JStamp

RAM

JSTAMPCPU

FLASHRAM

DUALUARTS SPI

JSTAMP

TIMERS

Page 30: Microcontrollers

The Java Processing Core

32-bitALU

MuxMux

Mux

Shifter

Shifter

Instr. Reg

Mux

RegisterFile

Data Reg

DATA

ADDRESS

ProcessorBus

Page 31: Microcontrollers

What’s the Difference

• When selecting a microcontroller there are several factors that need to be considered

• There are many microcontrollers available

• Each brings advantages and disadvantages

Page 32: Microcontrollers

Considerations

• Cost– Prototype– Mass Production

• Inputs– Correct # of inputs– Digital / Analog

Page 33: Microcontrollers

Considerations

• Outputs– Correct # of Outputs– Digital / Analog

• Processing Speed and Function– Adequate Computational Power– Upgrading a processor due to choosing the

incorrect processor can be costly• Rework of written programs

Page 34: Microcontrollers

Considerations

• Memory– Programs

– Data

– Enough internal memory and/or can address enough external memory

• Ports– Correct ports for communicating with other devices

• Parallel

• Serial

Page 35: Microcontrollers

Considerations

• Support– Online Forums

• Free source code

• Frequently Asked Questions (FAQs)

– Support from Vendor– Pre-developed software

• Availability– Volumes – lead time

Page 36: Microcontrollers

Considerations

• Extensibility– Future growth– Avoid changing microcontrollers in future

releases

• Development Tools– Language (C / BASIC / Java)– Development Environment

• Debugging

Page 37: Microcontrollers

Considerations

• Other technical requirements– Power Consumption

• Portable applications

– Operating Voltage• Compatible with other circuits