Prof. Jorge A. Ramón Introducción a Microcontroladores
MicroprocessorVS 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 5 bits 35 instructions 64 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 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. 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