microcontrollers
Post on 02-Jan-2016
36 Views
Preview:
DESCRIPTION
TRANSCRIPT
Microcontrollers
• Microcontrollers vs. Microprocessors
• Two standard architectures
• PIC microcontroller
• 68HC12 Microcontroller
• BASIC Stamp
• Jstamp
• What’s the Difference
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
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
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
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
Microcontrollers
• PIC controllers have a Harvard Architecture
DataMemory
CPUProgramMemory
CPU
ProgramandData
Memory
Harvard von-Neumann
Architecture used forDesktop personal computers
Microcontrollers
• What do you think are some advantages/disadvantages of these architectures?
DataMemory
CPUProgramMemory
CPU
ProgramandData
Memory
Harvard von-Neumann
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.
Byte-oriented instructions
If ADDWF is encoded as machine code:000111 0 0001010 d = 0 memory location = 0A
d
Memory address
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
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
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…
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
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
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.
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
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
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
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
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
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
Considerations
• Memory– Programs
– Data
– Enough internal memory and/or can address enough external memory
• Ports– Correct ports for communicating with other devices
• Parallel
• Serial
Considerations
• Support– Online Forums
• Free source code
• Frequently Asked Questions (FAQs)
– Support from Vendor– Pre-developed software
• Availability– Volumes – lead time
Considerations
• Extensibility– Future growth– Avoid changing microcontrollers in future
releases
• Development Tools– Language (C / BASIC / Java)– Development Environment
• Debugging
top related