Title: Microcontrollers
1Microcontrollers
- Lecture L12.2
- Section 12.2
2Microcontrollers
- Microcontrollers vs. Microprocessors
- Two standard architectures
- PIC microcontroller
- 68HC12 Microcontroller
- BASIC Stamp
- Jstamp
- Whats the Difference
3Microcontrollers
- 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
4Microcontrollers
5Microcontrollers
- 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
6The 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
7Microcontrollers
- PIC controllers have a Harvard Architecture
Architecture used for Desktop personal computers
8Microcontrollers
- What do you think are some advantages/disadvantage
s of these architectures?
9PIC
10PIC
368 Bytes of Memory for Data
8 KB of Memory For Programs 14-bit program words
11PIC
Similar to Lab 10
12PIC
The Instruction Set
133 Types of instructions
14- 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.
15Byte-oriented instructions If ADDWF is encoded
as machine code 000111 0 0001010 d 0 memory
location 0A
Memory address
d
16Byte-oriented instructions If ADDWF is encoded
as machine code 000111 0 0001010 d 0 memory
location 0A
OPCODE 070A
W reg is added to RF0A and the answer is
placed in W reg
17Byte-oriented instructions If ADDWF is encoded
as machine code 000111 1 0001010 d 1 memory
location 0A
OPCODE 078A
W reg is added to RF0A and the answer is
placed in RF0A
18Byte-oriented instructions For ADDWF, we have
seen type machine codes 070A add RF0A to W
reg and place answer in W reg 078A add RF0A
to W reg and place answer in RF0A and there
are many more where that came from
19Bit-oriented instructions bbb selects the bit
that will be operated on ffffff selects the
memory location of the data to be operated on
For example, BCF encoded as the machine
code 0100 111 0001011
Memory address
Bit
20Bit-oriented instructions bbb selects the bit
that will be operated on ffffff selects the
memory location of the data to be operated on
For example, BCF encoded as the machine
code 0100 111 0001011
OPCODE 138B
Bit 7 (MSB) of the Byte in RF0B is cleared to
zero
21Literal and Control instructions X means dont
care Ks the literal
Literal means inline data like in the 8086 when
we used MOV AX, 0FFFF to move FFFF into AX, FFFF
was the Literal or inline data.
22Literal and Control instructions X means dont
care Ks the literal
For example, if ADDLW is encoded as machine
code 111110 00001111
Inline Data
23Literal and Control instructions X means dont
care Ks the literal
For example, if ADDLW is encoded as machine
code 111110 00001111
OPCODE 3E0F
0F is added to the value in W reg and the sum is
put in W reg
24Development Tools for PIC
There is a Windows Development Environment for
the PIC Controller
25BASIC Stamp
- Based on 8-bit PIC
- 14-pin microcontroller
- Can be programmed using the BASIC language
- It has a BASIC language interpreter built-in
26BASIC Stamp
27Online 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
28JStamp
Directly executes Java bytecodes
29JStamp
30The Java Processing Core
31Whats 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
32Considerations
- Cost
- Prototype
- Mass Production
- Inputs
- Correct of inputs
- Digital / Analog
33Considerations
- 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
34Considerations
- Memory
- Programs
- Data
- Enough internal memory and/or can address enough
external memory - Ports
- Correct ports for communicating with other
devices - Parallel
- Serial
35Considerations
- Support
- Online Forums
- Free source code
- Frequently Asked Questions (FAQs)
- Support from Vendor
- Pre-developed software
- Availability
- Volumes lead time
36Considerations
- Extensibility
- Future growth
- Avoid changing microcontrollers in future
releases - Development Tools
- Language (C / BASIC / Java)
- Development Environment
- Debugging
37Considerations
- Other technical requirements
- Power Consumption
- Portable applications
- Operating Voltage
- Compatible with other circuits