26
Prof. Jorge A. Ramón Introducción a Microcontroladores

Prof. Jorge A. Ramón Introducción a Microcontroladores

Embed Size (px)

Citation preview

Prof. Jorge A. Ramón

Introducción a Microcontroladores

Microprocessor VS Microcontroller

1. CISC Architecture

2. Many pins

3. Many instructions

4. External devices needed for operation (memory, I/O, etc)

1. RISC Architecture

2. Fewer pins

3. Fewer instructions

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

8 bits

8 bits5 bits

35 instructions64 bytes

68 bytes

1K x 14

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 OrientedBit OrientedLiteralControl Operations

Only 35 instructions!!

Impressive!!!

Byte Oriented

CLRFDECFINCFADDWF

Bit Oriented

BCFBSF

Literal

MOVLWADDLWANDLWIORLWXORLW

Control Operations

CALLRETURNGOTOSLEEP

Programming Example

Setting PORTB as Output

1. Set RP0 in Status Register to switch to BANK1. This allows access to TRISB.

2. Write 0x00 into TRISB.

3. Clear RP0 in Status Register to switch to BANK0. This allows access to PORTB.

Programming Example

Setting PORTB as Output

1. BSF STATUS, RP0

2. MOVLW 0x00

3. MOVWF TRISB

4. BCF STATUS, RP0

5. MOVLW 0xFF

6. MOVWF PORTB

Assembly Programming

Steps to write some code

1. Tell the assembler which MPU you are using.

2. Include the header file.

3. Set PC to 0

4. Write some code

5. Keep an endless loop.

6. Use the end directive.

PIC16F84 Schematic Diagram

LED Bar

Resistor Pack220

5V

5V

1k

22pF

22pF

4MHz

1

2

3

4

5

6

7

8

9

18

17

16

15

14

13

12

11

10

PIC16F84

MCLR