Académique Documents
Professionnel Documents
Culture Documents
Procesos
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
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
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
Descripcion de terminales
Pin Number 1 2 3 4 Description
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
1 VCC
PIC16F876
2 OSCILADOR
1 RESET
Registro STATUS
ALU
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
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
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
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
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
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) { } }
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