Objetivo: Conocer el origen, evolucin, estado actual y aplicaciones de los micro
controladores. 4.1 Arquitectura 4.1.1 Terminales 4.1.2 CPU 4.1.3 Espacio de memoria 4.1.4 Entrada/Salida 4.1.5 Caractersticas especiales 4.2 Programacin 4.2.1 Modelo de programacin 4.2.2 conjunto de instrucciones 4.2.3 Modos de direccionamiento 4.2.4 Lenguaje ensamblador 4.3 Aplicaciones 4.3.1 Como sistema independiente 4.3.2 como subsistema de una computadora Bibliografa: Angulo, Jos, Micro controladores PIC. Diseo Prctico de Aplicaciones McGraw-Hill
Evaluacin: 60% examen 30% prctica 10% P. O. L.
MICROCONTROLADORES Son computadoras digitales integradas, en un chip que cuentan con un microprocesador (CPU), una memoria para almacenar el programa, una memoria para almacenar datos y puertos de Entrada/Salida. A diferencia de los microprocesadores, los microcontroladores son unidades autosuficientes y ms econmicas. El funcionamiento de los microcontroladores est determinado por el programa que almacenan en su memoria, este puede escribirse en distintos lenguajes de programacin. Pueden programarse repetidas veces. *Conseguir MPLAB Microchip ARQUITECTURA y Unidad Central de Procesamiento (CPU): Tpicamente de 8 bits, aunque tambi n las podemos encontrar de 4, 16, 32 y 64 bits. y Memoria de Programa: Puede ser una ROM, EPROM, EEPROM o FLASH para almacenar el cdigo del programa y puede ser desde 1 Kb hasta varios MB y Memoria de datos: Es una RAM que puede ir desde 1 hasta 32 KB. y Generador del reloj: Generalmente se utiliza un cristal de cuarzo, que genera una seal oscilatoria que puede ir desde 1 a 40 MHZ, o se pueden utilizar resonadores o circuitos RC. y Interfaz de Entrada/Salida: Puertos paralelos, seriales, UARTs, I 2 C, Red de rea de Controladores (CAN), USB. Otras Opciones: y Convertidor Anlogo-Digital: para convertir un nivel de voltaje conectado a una entrada de mC a valor digital manipulable por el programa del mC y Moduladores de Ancho de Pulso (PWM): Para generar seales cuadradas de frecuencia fija pero de ancho pulso modificable.
18 nov. 10 PROGRAMACIN DE MICROCONTROLADORES La utilizacin de un lenguaje de bajo nivel representa un ahorro considerable en espacio de memoria de instrucciones, dado que en los microcontroladores sta es muy reducida. Los programas bien realizados en lenguaje ensamblador optimizan el tamao de la memoria que ocupan y su ejecucin es muy rpida. Otros lenguajes comn mente utilizados en la programacin de microcontroladores son C y BASIC.
23/11/10 DISC 1: Entrada del oscilador externo DISC 2: Salida del oscilador externo MCLR: Cuando es 0 se termina el dispositivo RA0 E/S RA1 RA2 RA3 RA4/TOCKI puede ser entrada de reloj para TMR0
RB0/INT Puede configurarse como PIN de interrupcin RB1 RB2 E/S RB3 RB4 RB5 RB6 RB7
VSS: Tierra (0) negativo de la fuente (-) VDD: Positivo de la fuente (+)
REGISTROS BANK 0 BANK1 Direccin Reg. Direccin Reg. 00h INDIREC ADDR 80H INDIREC ADDR 01h TIME 0 81H OPTION_REG 02h PCL 82H PCL 03h STATUS 83H STATUS 04h FSR 84H FS 05h PORTA 85H TRISA 06h PORTB 86H TRISB 07h - 87H - 08h EEDATA 88H EECON1 09h EEADR 89H EECON2 0Ah PCLATH 8AH PCLATH 0Bh INTCON 8BH INTCON 0Ch PROPSITO 8CH MAPEADO : GENERAL : DESDE 4Fh (SRAM) CFH BANK0 50h NO D0H NO : IMPLE : IMPLE 7Fh MENTADO FFH MENTADO
SET DE INSTRUCCIONES Gonvit11@hotmail.com
Nemnico Descripcin Ciclos STATUS Afectados ADDWF Suma W con F 1 C DC Z ANDWF AND W con F 1 Z CLRF Borrar F 1 Z CLRW Borrar W 1 Z COMF Complementar F 1 Z DECF Decrementar F 1 Z DECFSZ Decrementar F parar si es 0 1(2) INCF Incrementar F 1 Z INCFSZ Incrementar F parar si es 0 1(2) IORWF Operacin OR W y F 1 Z MOVF Mover F 1 Z MOVWF Mover W a F 1 NOP No operacin RLF Rotar a la izq. Reg. F 1 C RRF Rotar a la der. Reg. 1 C SUBWF Sustraer W de F 1 C DC Z XORWF Or-Exclusiva W y F 1 Z
29 noviembre de 2010
BCF Borrar un bit de F 1 ciclo BSF Poner a 1 un bit de F 1 ciclo BTFSC Probar un bit de F si es 0 continuar 1(2) ciclo BTFSS Probar un bit de F continuar si es 0 1(2) ciclo ADDLW Suma literal con W 1 ciclo C DC Z (STATUS) ANDLW AND literal con W 1 ciclo Z CALL Llamar sub-rutina 2 ciclos CLRWDT Limpiar el WDT 1 ciclo TO PD GOTO Ir a una direccin 2 ciclos IORLW OR literal con W 1 ciclo Z MOVLW Mover literal a W 1 ciclo RETFIE Regresar de Interrupcin 2 ciclos RETLW Regresar con una literal en W 2 ciclos RETURN Regresar de una sub-rutina 2 ciclos SLEEP Poner en Stand-bye 1 ciclo TO PD SUBLW Restar w de una literal 1 ciclo C DC Z XORLW X-OR literal con W 1 ciclo Z
Cdigo del programa LIST P=16F84
INCLUDE "PI6F84.INC"
ORG 0X000 GOTO INICIO
INICIO BSF STATUS,RP0 CLRF TRISA CLRF TRISB BCF STATUS,RP0 CLRF PORTA CLRF PORTB MOVLW B'00000100' MOVWF PORTA MOVLW B'10000110' MOVWF PORTB END