Vous êtes sur la page 1sur 36

Segundo Examen

Inicio o fin del programa

Procesos

Operaciones de entrada y salida

Toma de desicines

Ejercicio 1
Contruya un diagrama de flujo que haga la suma de los primeros 50 nmeros y el resultado lo muestre en un display

Ejercicio 2
Contruya un diagrama de flujo que haga la suma de los primeros 50 nmeros pares y el resultado lo muestre en un display

Ejercicio 3
Se tiene conectado a la entrada del microcontrolador un teclado y a la salida un display.
El nmero es valido despus de presionar # Si se presiona un nmero que no sea par, marque error (E) Si se presiona un nmero impar, marque ok (O)

Ejercicio 4
Se tiene conectado a la entrada del microcontrolador un teclado y a la salida un display.
El nmero es valido despus de presionar # El nmero que se presione se muestre en el display

Arquitectura von Neumann


Consiste simplemente en un esquema en el que el CPU esta conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de distintos anchos

El tener un nico bus hace que el microprocesador sea ms lento en su respuesta, ya que no puede buscar en memoria una nueva instruccin mientras no finalicen las transferencias de datos de la instruccin anterior.

Arquitectura Harvard
Este modelo, que utilizan los microcontroladores PIC, tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes. Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra slo almacena datos (Memoria de Datos).

Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma independiente y simultnea a la memoria de datos y a la de instrucciones.

Descripcin general

PIC 16F876

Caractersticas Generales
CPU Procesador de Arquitectura RISC (Solo 35 instrucciones) Instrucciones de un ciclo simple de duracin (4 ciclos cristal) excepto los saltos que requieren dos ciclos simples

Velocidad de operacin: 20 MHz


Memorias FLASH, RAM y EEPROM Soporte para hasta 14 fuentes de interrupcin Watchdog timer (WDT) para lograr modo de operacin ms seguro

Proteccin de cdigo programado (Encriptado)

Caractersticas Generales
Perifricos Timer o contador de 8 bits con prescalas de 8 bits Timer de 16 bits Puertos Comparadores/PWM (Multiplexados) [16 bits resolucin] (5) Convertidor A/D de 10 bits SPI (Puerto serial sincrnico para conexin de perifricos esclavos) USART (Universal Synchronous Asynchronous Receiver Transmitter) Para comunicacin serial con paquetes de 8 o 9 bits Puerto paralelo esclavo de 8 bits

Terminales del microcontrolador

Descripcion de terminales
Pin Number 1 2 3 4 Description

MCLR - Master clear input (active low)


RA0/AN0 - Port A RA1/AN1 - Port A RA2/AN2/Vref/CVref - Port A

15 16 17 18 19 20 21 22 23 24 25 26 27 28

RC4/SDI/SDO - Port C RC5/SDO - Port C RC6/TX/CK - Port C RC7/RX/DT - Port C Vss - Ground Vdd - Positive Power Supply RB0/INT - Port B RB1 - Port B RB2 - Port B RB3/PGM - Port B RB4 - Port B RB5 - Port B RB6/PGC - Port B RB7/PGD - Port B

5
6 7 8 9 10 11

RA3/AN3/Vref - Port A
RA4/TOCK1/C1OUT - Port A RA5/AN4/SS/C2OUT - Port A Vss - Ground OSC1/CLKIN - Oscillator OSC2/CLKOUT - Osciallator RC0/T1OSO/T1CKI - Port C

12
13 14

RC1/T1OSI/CCP2 - Port C
RC2/CCP1 - Port C RC3/SCK/SCL - Port C

Puertos de entrada y salida


PUERTO A (A0 - A5)

22 lneas de Entrada o Salida 2 GND

PUERTO B (B0 - B7)

PUERTO C (C0 - C7)

1 VCC

PIC16F876

2 OSCILADOR
1 RESET

Estructura interna del microcontrolador


Memoria RAM Memoria Programa

Registro STATUS

ALU

Unidad Timing Contadores PWM Comunicaci n SPI

CAD

COM Serie

Memoria de Programa

Regresar

Almacena la secuencia de instrucciones que corresponde al programa escrito Almacena cdigos hexadecimales generados en un archivo *.hex por el compilador o el ensamblador Consta de pginas de 2kbytes Se ubica en la parte alta de la memoria, despus del vector de interrupciones En 16F877 y 16F876 se tienen 4 pginas En 16F874 y 16F873 se tienen 2 pginas Es memoria de tipo FLASH

RAM: Memoria de Datos

Regresar

Memoria destinada para almacenamiento temporal de datos. Dividida en 4 bancos seleccionados con los bits RP0 y RP1 del registro Status Cada banco es de 128 bytes Las ubicaciones ms bajas son reservadas para registros de control/configuracin Cada banco se constituye por registros de propsito general. Cada registro es una localidad de memoria de 13 bits Cada registro se accesa como direccin de memoria, por ejemplo:
07F9h es una localidad vlida de memoria de datos

Registro de estados

Regresar

0 0

0 1

= Bank 0 = Bank 1

El estado aritmtico de la ALU El estado del RESET Los bit de seleccin de los bancos de memoria

ALU (Unidad Aritmtica-Lgica)

Regresar

Ejecuta las operaciones con los operandos de entrada Tiene un registro acumulador W donde se almacenan los resultados El registro W puede realimentar su valor como dato de entrada a la ALU Ejecuta operaciones segn el cdigo que reciba en las entradas de control.

Timers (0 1 2)
Capacidad de 8 bits Lectura y escritura Prescala de 8 bits controlada por software Reloj interno o externo con seleccin de flanco Interrupcin por rebaso activada al cambiar de FFh a 00h

Regresar

Registros de datos en TMR0, TMR1 y TMR2 EL TMR1 es de 16 bits, y usa los registros TMR1L para los 8 bits menos significativos y TMR1H para los ms significativos El TMR2 se usa como base de tiempo para el PWM Los registros de configuracin son T0CON, T1CON y T2CON

Convertidor Analgico / Digital



Regresar

Convierte con una precisin de 16 bits. Guarda los resultados en los registros ADRESH (MSB) y ADRESL (LSB). Tiene como registros de control ADCON0 y ADCON1 Tiene 4 posibles frecuencias de reloj para hacer las conversiones (divisiones de la seal CLK principal del sistema) CHS2:CHS0: Bits para seleccin del canal que se va a convertir desde AN7 hasta AN0 GO/DONE: Bandera activa cuando hay una conversin en progreso ADON: Bit de control para encender/apagar el ADC ADFM: Bit para eliminar los 4 bits MSB o LSB. Pueden programarse secuencias para muestrear todos los canales de entrada de manera secuencial

Universal Synchronous/Asynchronous Receiver/Transmitter


USART

Regresar

Interfase para comunicacin serial SCI. Acepta comunicacin Full Duplex en asncrono y Half Duplex en sncrono El reloj interesa solo para transmisiones sincrnicas Maneja comunicaciones de 9 y 8 bits configurables en registros TXSTA y RCSTA Puede habilitarse/deshabilitarse Seleccin de Baud-Rate segn fraccin de CLK en SPBRG Manejo de transmisiones contnuas e interrumpidas Control de errores de Frame y Overrun para solicitud de retransmisiones El registro de datos para transmisin es RCREG para recepcin y TXREG para envo.

SPI
Serial Peripheral Interface

Regresar

Medio de comunicacin con perifricos con 8 bits simultneos de transmisin serial Aplica a perifricos de alta velocidad Puede usarse para importar o exportar datos o seales de reloj Opera como esclavo o maestro

CCP
Capture/Compare/PWM

Regresar

Mdulo de captura de 16 bits Mdulo de comparacin de 16 bits Mdulo de salida PWM maestro y esclavo Utiliza los registros CCPR1H y CCPR1L El modo Captura guarda el valor del timer cada vez que ocurre un evento en el pin de entrada RC2 El modo Compara compara el valor del registro CCPR1 con el timer. Cuando son iguales produce un cambio de estado en el pin RC2. El modo PWM produce una seal con ciclos de trabajo variables segn el dato de 10 bits del registro CCPR1. La seal de salida se ubica en el pin RC2

Caractersticas
Arquitectura Harvard

Memoria de 1K x 14 de tipo Flash

Memoria de datos EEPROM de 64 bytes

Arquitectura de la memoria

Instrucciones

U1 R1 2 3 4 5 6 7 11 12 13 14 15 16 17 18 RA0/AN0 RA1/AN1 OSC1/CLKIN RA2/AN2/Vref /CVref RA3/AN3/Vref OSC2/CLKOUT RA4/TOCK1/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDO RC5/SDO RC6/TX/CK RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC 21 22 23 24 25 26 27 28 MCLR 1 10K 9

VCC_CIRCLE

C1 22pF

C2 22pF 10

GND

GND

RC7/RX/DT

VCC 20

RB7/PGD

PIC16F876

19

Circuito mnimo
VCC_CIRCLE

;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ; Programa que permite encender los bits 0,1,3,5, y 7 del puerto B ; por: Eliseo Estudillo Zamora ; ultima modificacion: febrero del 2012 ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ list p=16f84 #include p16f84.inc #include "C:\MICROS\MACF876.ASM" ERRORLEVEL -302 ORG 00 goto Main ; ; ; Main BANK1 ; MOVLW 0X00 ; CONFIGURA I/O MOVWF TRISB BANK0 LEDS_ON MOVLW MOVWF GOTO END 0XAB PORTB LEDS_ON

#include<16f876.h> #fuses XT,NOWDT,NOPROTECT,PUT #use delay (clock=20000000) #byte porta=5 #byte portb=6 void MAIN () { set_tris_a (0xff); set_tris_b (0x00); while(1) { } }

Primer contacto con el compilador

Archivo nuevo

Compila Archivo

Regresar

TRIS B =0X00 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 0 0 0 0 0

TRIS B =0XF0 0 0 0 0 0

0 0 0

0 0 0

PIC16F876

PORTB =0XAA 0 1 0 1 0 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7

Regresar

1 0 1

PIC16F876

Vous aimerez peut-être aussi