Programacion

Páginas: 23 (5721 palabras) Publicado: 7 de septiembre de 2010
Construcción de Robots a Bajo Costo
Programación de Microcontroladores

Rutinas, detalles y sintaxis.

Germán López y Santiago Margni
http://www.fing.edu.uy/~pgconrob
pgconrob@fing.edu.uy

Tutores
Ing. Gonzalo Tejera.
Ing. Carlos Martinez.

Universidad de la República Oriental del Uruguay
Facultad de Ingeniería
Proyecto de Grado 2003

Resumen
El presente documento procuramostrar como utilizar algunas características importantes de los microcontroladores PIC de la empresa Microchip, en un lenguaje accesible y basado en ejemplos de modo de complementar en parte las hojas de datos. Conjuga códigos de ejemplo y comentarios sobre distintas funcionalidades haciendo referencia al proyecto de grado: Construcción de Robots a Bajo Costo.

Tabla de Contenido

Objetivo 5Includes 6

#include 6
#include 6

Configuración de algunos PIC 7

Ejemplos de configuración para el PIC 16F877A 7
Ejemplos de configuración para el PIC 16F628 7

USART 8

Registros que intervienen 8
Registro TXSTA 8
Registro RCSTA 9
Registro SPBRG 9
Registro PIE1 9
Registro PIR1 9
Registro TXREG 9
Registro RCREG 9
Modo de uso 9
Inicialización 9
Envío de datos 10
Recepciónde datos 10
Detección de errores 10
Conexiones 11

I2C 12

Registros que intervienen 13
Registro SSPCON 13
Registro SSPCON2 13
Registro SSPSTAT 13
Registro SSPBUF 13
Registro SSPADD 13
Modo de uso 13
Inicialización: MASTER 14
Inicialización: SLAVE 14
Envío: MASTER 14
Recepción: SLAVE 15
Envío: SLAVE 16
Recepción: MASTER 16
Control de errores 17
Interrupciones del I2C 18Timers 19

Timer0 19
Timer1 19
Timer2 20

Interrupciones 21

Detalles de Assembler 22

Para comparar por igualdad dos variables 22
Para ver si una variable es mayor que otra 22
Complemento a 2 22

Bibliografía y Referencias 23

Objetivo

El objetivo del documento es reunir características importantes de la programación de PICs en el lenguaje C o en Assembler.

Se describirá el usodel USART (Universal Synchronous Asynchronous Receiver Transmitter), el i2C, las interrupciones, los timers y otras funcionalidades. Si bien la forma de usar estas facilidades de los PIC se explica en las hojas de datos, se ha encontrado algo de dificultad en entenderlos, se intentará facilitar las cosas en el documento dando ejemplos de código y seudo código, mostrando algunos detalles importantesque hay que tener en cuenta a la hora de utilizar los microcontroladores.

Todo lo que sigue tiene como fuente principal las hojas de datos de los PIC que se usaron, y las pruebas realizadas. En ninguna prueba se tuvo éxito en el primer intento, aún siguiendo al pie de la letra lo que indican las hojas de datos. Algunas veces no se entendió bien, otras las indicaciones de las hojas de datos nofueron lo especificas o completas que se esperaría, así que para hacer funcionar cada situación fueron necesarias muchas horas de pruebas, los resultados se documentan en las secciones siguientes. Esto no significa que no existen otras formas de hacer funcionar cada característica, muestra como se hicieron funcionar para el proyecto.

El documento se basa en las experiencias con el compiladorHI-TECH PICC Compiler en su versión PICC Lite, versión estudiantil y el MPASM assembler de Microchip. Cabe aclarar que no es un documento introductorio porque asume que el lector tienen algún conocimiento de microcontroladores y programación (se recomienda leer el documento [LM2004A] Funcionamiento de microcontroladores) por otro lado tampoco es profundo, dado que no agota ninguno de los temas queconsidera. En general se hacen referencia a funcionalidades que se encuentran en PICs de la gama media de Microchip, en particular el 16F628, 16F876A y 16F877A.

El documento esta enmarcado en el conjunto de documentos relacionados con el proyecto de grado “Construcción de robots a bajo costo” por lo que se hará referencia a dicho proyecto en los casos en que se pueda, con el fin de tener una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS