• Save
Como programar un pic
Upcoming SlideShare
Loading in...5
×
 

Como programar un pic

on

  • 6,593 views

como programar un pic

como programar un pic

Statistics

Views

Total Views
6,593
Slideshare-icon Views on SlideShare
6,573
Embed Views
20

Actions

Likes
1
Downloads
0
Comments
0

3 Embeds 20

http://ingeayee.blogspot.com 18
http://www.blogger.com 1
http://ingeayee.blogspot.mx 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Como programar un pic  Como programar un pic Presentation Transcript

    • Programacion y simulacion de un microcontrolador . t.s.u oscar garcia [email_address]
    • Lenguajes de Programación Medio necesarios para la comunicación entre el usuario y la maquina Clasificación de los Lenguajes de Programación: Los lenguajes de programación pueden ser de dos tipos, visuales y escritos, Los visuales admiten estructurar el programa por medio de símbolos gráficos, , planos esquemáticos y diagramas de bloques. Los escritos son listados de sentencias que describen las funciones a ejecutar. Niveles de los Lenguajes Los lenguajes de programación de sistemas basados en microprocesadores, como es el caso de los PLC, se clasifican en niveles; al microprocesador le corresponde el nivel más bajo, y al usuario el más alto.
    • Lenguajes de Bajo Nivel: Lenguaje de Máquina: Código binario encargado de la ejecución del programa directamente en el procesador. El lenguaje maquina es difícil de utilizar por el hombre ya que se aleja de su forma natural de expresarse, por esto utiliza el lenguaje ensamblador, que es la forma de expresar las Instrucciones de una forma mas natural al hombre y que, sin embargo, es muy cercana al microcontrolador porque cada una de sus instrucciones se corresponde con otra en código maquina que el microcontrolador es capaz de interpretar. Lenguajes de Alto Nivel: Se basan en la construcción de sentencias orientadas a la estructura lógica de lo deseado; una sentencia de lenguaje de alto nivel representa varias de bajo nivel; cabe la posibilidad que las sentencias de un lenguaje de alto nivel no cubran todas las instrucciones del lenguaje de bajo nivel, lo que limita el control sobre la máquina. Para que un lenguaje de alto nivel sea legible por el sistema, debe traducirse a lenguaje ensamblador y posteriormente a lenguaje de máquina.
    • Lenguaje Ensamblador: Lenguaje sintético de sentencias que representan cada una de las instrucciones que puede ejecutar el microcontrolador. Una vez diseñado un programa en lenguaje ensamblador es necesario, para cargarlo en el sistema, convertirlo o compilarlo a lenguaje de máquina. Los programadores de lenguajes de bajo nivel deben estar especializados en microprocesadores y demás circuitos que conforman el sistema El lenguaje ensamblador utiliza mnemónico que es una palabra que sustituye a un código de operación (Lenguaje de maquina), con lo cual resulta más fácil la programación Así. por ejemplo: para ordenar al microcontrolador PIC16F84: "sume 58 al Registro w y guarda el resultado en el mismo registro W", en lenguaje ensamblador sería "addlw d''58" que es mucho mas simple que "1111100011l010“ del lenguaje de maquina.
    • Lenguaje a utilizar: ASEMBLER. Ensamblador: MPAS Programa de simulación: Proteus El programa ensamblador( MPAS) es un software que se encarga de traducir los neumónicos y símbolos alfanuméricos del programa escrito en ensamblador por el usuario a código de máquina, para que pueda ser interpretado y ejecutado por el microcontrolador. Microcontrolador: 16F84A El programa escrito en lenguaje ensamblador recibe la denominación de código fuente, archivo fuente o fichero fuente. Suele tener la extensión *.asm. El archivo debe ser traducido a código maquina, de lo cual se encarga el programa ensamblador. La mayoría de los ensambladores proporcionan a su salida un fichero que suele tener la extensión *.hex. Este fichero puede ser grabado en la memoria de programa mediante la utilización de un grabador de microcontroladores. Proteus:es un programa para simular circuitos electrónicos complejos integrando, inclusive desarrollos realizados con microcontroladores de varios tipos. Presenta una filosofía de trabajo semejante al SPICE
    • Microcontrolador: PIC16F84A
      • Encapsulado de 18 pines.
      • Frecuencia maxima de trabajo de 20 Mhz.
      • Alimentación de 5volt.
      • Posee un total de 13 pines configurables
      • Como entrada y salidas digitales, 5 para el puerto A
      • Y 8 para el puerto B, cada línea es capaz de
      • Manejar niveles TTL, cada una puede entregar 25ma.
      • posee un pin de reset MCLR.
      • 35 palabras de instrucciones.
      • memoria de Programa de 1K ( 1024bits).
      • 68 byte de RAM.
      • 64 byte de EEPROM.
      • 8 niveles de pilas,
      • 4 fuentes de Interrupciones.
      • 10.000.000 ciclos de borrado y grabado de EEPROM.
      • WDT.
      • contador de 13bit.
      Algunas de sus caracteristicas
    • Tras el ensamblado del fichero fuente (ASM) se genera una serie de ficheros de los cuales los mas importante son: Fichero ejecutable o hexadecimal: tiene extensión . Hex y contiene el Programa que será grabado al microcontrolador en código maquina. Fichero de errores: tiene extensión . Err contiene los errores producidos Durante el proceso de ensamblado. Fichero listable: posee extencion .lst que contiene toda la información del Programa, código fuente, codigo maquina, direccion de cada instrucción, Errores producidos, ETC…
      • Código fuente: esta compuesto por una sucesión de líneas de programa.
      • Los ficheros fuentes poseen una estructura similar e independiente del procesador
      • Utilizado. cada línea de programa suele estar compuesta por cuatro campos
      • o columnas separado por uno o mas espacio o tabulaciones llamados:
      • campo de etiqueta: las etiquetas se requieren en sentencias que son el destino de otras instrucciones. No debe existir dos etiquetas idénticas.
      • 2) campo de código de operación: abreviatura nemotécnica de la acción a ejecutar por el micro.
      • 3) campo de operando y datos : indica sobre quien se da la orden.
      • 4)campo de comentarios: ayuda al programador a documentar su programa permite colocar recordatorios acerca de rutinas especificas.
    • Ejemplo de programa para activar un led.
    • TAB ORG 00 Directiva del lenguaje ORDEN ORIGEN INICIO GOTO INICIO ORG 05 ;Programa para activar leds Los comentarios se realizan después de punto y coma BSF ESTADO,05H Etiqueta Máx. 32 caracteres Código ( mnemonico) Operando Registro en la posición 03H ;Cambio a banco 1 Comentario END TAB Indica el final del programa ESTADO EQU 03H LAS variable se definen antes del origen 00 Y permiten hacer la equivalencia de una Posición con un nombre. Destino 1ª 2ª 3ª 4ª columna List P=PIC16F84A Microcontrolador utilizado CONSTANTE EQU b’00001111’
    • Para poder programar debes tener claro como funciona lo que vas a controlar Con uno enciende el Led Y con cero se apaga. 5V 160
    • inicio Conf de variables Y constantes Conf de puertos Apaga todos los LEDS Tecla presionada ? No si Desplaza led a la derecha Tecla presionada ? No si Desplaza led a la izquierda Tecla presionada ? No si Enciende led Desde el centro Tecla presionada ? No si Desplaza led a la izquierda Tecla presionada ? No si Desplaza led apagado A la derecha Tecla presionada ? No si
    • Mueva el numero b 00010000 al puerto B Realice retardo Tecla presionada ? Mueva el numero b 00001000 al puerto B Realice retardo si no Tecla presionada ? si no Cambia rutina Cambia rutina Mueva el numero b 00000100 al puerto B Realice retardo Tecla presionada ? Mueva el numero b 00000010 al puerto B Realice retardo si no Tecla presionada ? si no Cambia rutina Cambia rutina Mueva el numero b 00000001 al puerto B Realice retardo Tecla presionada ? si no Cambia rutina 10h 8h 4h 2h 1h
    •  
    • Un 0 cero corresponde a configurar el pin como salida en tanto que un 1 uno corresponde a configurarlo como entrada,.