microcontrollers

37
Microcontrollers Lecture L12.2 Section 12.2

Upload: stone-joyner

Post on 30-Dec-2015

41 views

Category:

Documents


1 download

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

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