Lecture 1

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 31

Lecture 1

Introduction to Microcontrollers

1
Why do we need to learn
Microprocessors/controllers?

• The microprocessor is the core of computer


systems.
• Nowadays many communication, digital
entertainment, portable devices, are controlled
by them.
• A designer should know what types of
components he needs, ways to reduce
production costs and product reliable.
Different aspects of a
microprocessor/controller

• Hardware :Interface to the real world

• Software :in order to deal with inputs


The necessary tools for a
microprocessor/controller
• CPU: Central Processing Unit
• I/O: Input /Output
• Bus: Address bus & Data bus
• Memory: RAM & ROM
• Timer
• Interrupt
• Serial Port
• Parallel Port
Microprocessors:
General-purpose microprocessor
• CPU for Computers
• No RAM, ROM, I/O on CPU chip itself
• Example:Intel’s x86, Motorola’s 680x0

Many chips on mother’s board


Data Bus
CPU
General-
Serial
Purpose RAM ROM I/O Timer COM
Micro- Port
Port
processor
Address Bus

General-Purpose Microprocessor System


Microcontroller :

• A smaller computer
• On-chip RAM, ROM, I/O ports...
• Example:Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC
16X

CPU RAM ROM


A single chip
Serial
I/O Timer COM
Port
Port
Microcontroller
Microprocessor vs. Microcontroller
Microprocessor Microcontroller
• CPU is stand-alone, RAM, • CPU, RAM, ROM, I/O and timer
ROM, I/O, timer are separate are all on a single chip
• designer can decide on the • fixed amount of on-chip ROM,
amount of ROM, RAM and RAM, I/O ports
I/O ports.
• for applications in which cost,
• expensive power and space are critical
• versatility
• single-purpose (control-oriented)
• general-purpose
• Low processing power
• High processing power
• High power consumption • Low power consumption
• Instruction sets focus on • Bit-level operations
processing-intensive • Instruction sets focus on control
operations and bit-level operations
• Typically 32/64 – bit • Typically 8/16 bit
• Typically deep pipeline (5-20 • Typically single-cycle/two-stage
stages)
pipeline
7
Some Popular Microcontrollers…
• 8051
• Microchip Technology PIC
• Atmel AVR
• Texas Instruments MSP430 (16-bit)

8
Block Diagram
External interrupts
On-chip Timer/Counter

Interrupt ROM for


On-chip Timer 1 Counter
Control program
code RAM Timer 0 Inputs

CPU

Bus Serial
4 I/O Ports
OSC Control Port

P0 P1 P2 P3 TxD RxD
Address/Data
10
11
8051 features

12
Pin
Description
of the 8051


Figure (b). Power-On RESET Circuit
Vcc

+
10 uF
31
EA/VPP
30 pF X1
19
11.0592 MHz
8.2 K
X2
18
30 pF
9 RST

The Heart of 8051 


Min frequency: 1 MHz
max frequency : 16 MHz

15
Port 0 with Pull-Up Resistors
Vc
c 10
K
P0.

Port
DS5 P0.
0
P0.
1
000 P0.
2
8751 P0.
3 0
P0.
4
8951 P0.
5
P0.
6
7

The main function of pull-up and pull-down resistors is that the pull up resistor
pulls the signal to high state unless it is driven low; and, a pull-down resistor
pulls the signal to low state unless it is driven high.
Registers
A
B
R0
DPTR DPH DPL
R1
R2 PC PC
R3
R4 Some 8051 16-bit Register
R5
R6
R7

Some 8-bitt Registers


of the 8051
Stack in the 8051
• The register used to access 7FH

the stack is called SP (stack Scratch pad RAM


pointer) register.
30H

2FH
• The stack pointer in the Bit-Addressable RAM

8051 is only 8 bits wide, 20H


which means that it can 1FH
18H
Register Bank 3

take value 00 to FFH. 17H


Register Bank 2
When 8051 powered up, 10H
0FH (Stack) Register Bank 1
the SP register contains 08H
value 07. 07H
Register Bank 0
00H
Timer:
: Timer :
Interrupt :
Numerical Bases Used in
Programming

 Hexadecimal

 Binary

 BCD
Hexadecimal Basis
 Hexadecimal Digits:

1 2 3 4 5 6 7 8 9 A B C D E F

A=10
B=11
C=12
D=13
E=14
F=15
Decimal, Binary, BCD, & Hexadecimal
Numbers

(43)10=

(0100 0011)BCD=

( 0010 1011 )2 =

( 2 B )16
Register Addressing Mode

MOV Rn, A ;n=0,..,7


ADD A, Rn
MOV DPL, R6

MOV DPTR, A
MOV Rm, Rn
Direct Addressing Mode

Although the entire of 128 bytes of RAM can be


accessed using direct addressing mode, it is most often
used to access RAM loc. 30 – 7FH.

MOV R0, 40H


MOV 56H, A
MOV A, 4 ; ≡ MOV A, R4
MOV 6, 2 ; copy R2 to R6
; MOV R6,R2 is invalid !
Immediate Addressing Mode

MOV A,#65H

MOV R6,#65H

MOV DPTR,#2343H

MOV P1,#65H
SETB bit ; bit=1
CLR bit ; bit=0

SETB C ; CY=1
SETB P0.0 ;bit 0 from port 0 =1
SETB P3.7 ;bit 7 from port 3 =1
SETB ACC.2 ;bit 2 from ACCUMULATOR =1
SETB 05 ;set high D5 of RAM loc. 20h

Note:

CLR instruction is as same as SETB


i.e.:
CLR C ;CY=0

But following instruction is only for CLR:


CLR A ;A=0
DEC byte ;byte=byte-1
INC byte ;byte=byte+1

INC R7
DEC A
DEC 40H ; [40]=[40]-1
LOOP and JUMP Instructions
Conditional Jumps :
JZ Jump if A=0

JNZ Jump if A/=0

DJNZ Decrement and jump if A/=0


CJNE A,byte Jump if A/=byte
CJNE reg,#data Jump if byte/=#data
JC Jump if CY=1

JNC Jump if CY=0

JB Jump if bit=1

JNB Jump if bit=0

JBC Jump if bit=1 and clear bit


Call instruction

SETB P0.0
.
.
CALL UP
.
.
.
UP:CLR P0.0
.
.
RET
Review questions
• What are the main differences between a
microprocessor and a microcontroller in
terms of
– Architecture
– Applications
– Instruction set

31

You might also like