Download presentation
Presentation is loading. Please wait.
1
Microcontrollers Lecture L12.2 Section 12.2
2
Microcontrollers Microcontrollers vs. Microprocessors Two standard architectures PIC microcontroller 68HC12 Microcontroller BASIC Stamp Jstamp What’s the Difference
3
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
4
Microcontrollers
5
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
6
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
7
Microcontrollers PIC controllers have a Harvard Architecture Architecture used for Desktop personal computers
8
Microcontrollers What do you think are some advantages/disadvantages of these architectures?
9
PIC
10
368 Bytes of Memory for Data 8 KB of Memory For Programs 14-bit program words
11
PIC Similar to Lab 10
12
PIC The Instruction Set
13
3 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.
15
Byte-oriented instructions If ADDWF is encoded as machine code: 000111 0 0001010d = 0 memory location = 0A d Memory address
16
Byte-oriented instructions If ADDWF is encoded as machine code: 000111 0 0001010d = 0 memory location = 0A W reg is added to RF[0A] and the answer is placed in W reg OPCODE = 070A
17
Byte-oriented instructions If ADDWF is encoded as machine code: 000111 1 0001010d = 1 memory location = 0A W reg is added to RF[0A] and the answer is placed in RF[0A] OPCODE = 078A
18
Byte-oriented instructions For ADDWF, we have seen type machine codes: 070A – add RF[0A] to W reg and place answer in W reg 078A – add RF[0A] to W reg and place answer in RF[0A] … and there are many more where that came from…
19
Bit-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 Bit # Memory address
20
Bit-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 Bit 7 (MSB) of the Byte in RF[0B] is cleared to zero OPCODE = 138B
21
Literal and Control instructions X – means don’t care K’s – 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.
22
Literal and Control instructions X – means don’t care K’s – the literal For example, if ADDLW is encoded as machine code: 111110 00001111 Inline Data
23
Literal and Control instructions X – means don’t care K’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
24
Development Tools for PIC There is a Windows Development Environment for the PIC Controller
25
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
26
BASIC Stamp
27
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
28
JStamp Directly executes Java bytecodes
29
JStamp
30
The Java Processing Core
31
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
32
Considerations Cost –Prototype –Mass Production Inputs –Correct # of inputs –Digital / Analog
33
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
34
Considerations Memory –Programs –Data –Enough internal memory and/or can address enough external memory Ports –Correct ports for communicating with other devices Parallel Serial
35
Considerations Support –Online Forums Free source code Frequently Asked Questions (FAQs) –Support from Vendor –Pre-developed software Availability –Volumes – lead time
36
Considerations Extensibility –Future growth –Avoid changing microcontrollers in future releases Development Tools –Language (C / BASIC / Java) –Development Environment Debugging
37
Considerations Other technical requirements –Power Consumption Portable applications –Operating Voltage Compatible with other circuits
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.