Transcript Slide 1

Prof. Jorge A. Ramón
Introducción a
Microcontroladores
Microprocessor
VS
Microcontroller
1. CISC Architecture
1. RISC Architecture
2. Many pins
2. Fewer pins
3. Many instructions
3. Fewer instructions
4. External devices
needed for operation
(memory, I/O, etc)
4. No external devices
needed for operation
(memory, I/O, etc are
already built into IC)
Bloque #1
Unidad de Memoria
Bloque #2
Unidad Central de Procesamiento
Bloque #3
Unidad entrada y salida
Bloque #4
Unidad de comunicación en serie
Bloque #5
Unidad de Timer
Bloque #6
Unidad ADC
Conexión entre todas las unidades.
Microchip PIC16F84
Microcontroller Outline
68 bytes
8 bits
1K x 14
64 bytes
5 bits
35 instructions
8 bits
Clock / Instruction Cycle




Q1  Instruction Fetch
Q2  Instruction Decode
Q3  Execute
Q4  Write Back
Pipelining: each instruction is executed in one cycle.
Two cycles for JUMP and CALL instructions .
PORTA Configuration
PORTB Configuration
PIC16F84
Register File
PIC16F84 Status
Register
Instruction Set Summary
Byte Oriented
 Bit Oriented
 Literal
 Control Operations

Only 35 instructions!!
Impressive!!!
Byte Oriented
CLRF
 DECF
 INCF
 ADDWF

Bit Oriented
BCF
 BSF

Literal
MOVLW
 ADDLW
 ANDLW
 IORLW
 XORLW

Control Operations
CALL
 RETURN
 GOTO
 SLEEP

Programming Example
Setting PORTB as Output
1.
2.
3.
Set RP0 in Status Register to
switch to BANK1. This allows
access to TRISB.
Write 0x00 into TRISB.
Clear RP0 in Status Register
to switch to BANK0. This
allows access to PORTB.
Programming Example
Setting PORTB as Output
1.
2.
3.
4.
5.
6.
BSF STATUS, RP0
MOVLW 0x00
MOVWF TRISB
BCF STATUS, RP0
MOVLW 0xFF
MOVWF PORTB
Assembly Programming
Steps to write some code
1.
2.
3.
4.
5.
6.
Tell the assembler which MPU
you are using.
Include the header file.
Set PC to 0
Write some code
Keep an endless loop.
Use the end directive.
PIC16F84 Schematic Diagram
5V
1k
1
18
2
17
3
16
4
5
MCLR
PIC16F84
22pF
14
13
7
12
8
11
9
10
Resistor Pack
220
4MHz
15
6
LED Bar
22pF
5V