INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY
DEPARTAMENTO DE INGENIERIA ELECTRICA Y COMPUTACIONAL
TE2015 MICROCONTROLADORES MANUAL PARA ALUMNO Elaborado por: Ing. Jonathan Félix Gaxiola Ing. Juan Hinojosa Olivares Ing. Israel Alanís Ing. Fernando Elizondo Uribe
Agosto 2014
MANUAL DEL ALUMNO
Índice Datos del Maestro................................... Maestro...................................................... ....................................... ....................................... ....................................... ........................................ ......................... ..... 3 Reglamento de Laboratorio............................ ................................................ ....................................... ...................................... ....................................... ................................ ............4 Formato de Reportes............................................... ................................................................... ........................................ ....................................... ...................................... ......................... ......8 Introducción a Microcontroladores ..................................... ......................................................... ....................................... ...................................... ......................... ...... 9 Practica 1 – Elaboración de PCB (esquemático) ............................................. ................................................................. ............................ ........ 11 Practica 2 – Elaboración de PCB (layout) ............................. ................................................. ........................................ ...................................... .................. 20 Practica 3 – Elaboración de PCB (fabricación)....................................... .......................................................... ...................................... ................... 28 Practica 4 – Introducción Introdu cción al uso de IDE MPLAB X ......................... ............................................. ........................................ ......................... ..... 32 Practica 5 – Puertos de Entrada/Salida .................... ........................................ ....................................... ....................................... ................................ ............ 38 Practica 6 – Teclado Matricial ................................................. ..................................................................... ....................................... ....................................... ........................ 40 Practica 7 – Dispositivo LCD ....................................................... ........................................................................... ....................................... ...................................... ................... 42 Practica 8 – Temporizadores (timers) ................................................ .................................................................... ....................................... ......................... ...... 44 Practica 9 – Interrupciones ...................................... ......................................................... ....................................... ........................................ ...................................... .................. 45 Practica 10 – Módulo Capture/Compare/PWM Capture/Compare/PWM y ADC .......................................... ............................................................ .................. 47 Practica 11 – Puerto serial .............................................. .................................................................. ....................................... ....................................... ................................ ............ 49 Anexos ..................................... ......................................................... ........................................ ....................................... ....................................... ....................................... ...................................... ...................... ... 51 Anexo 1 (esquemático): (esq uemático): ............................................................................................................... ........................................................................................................................................ ......................... 51 Anexo 2 (layout): (lay out): ...................................................................................................................................................... ...................................................................................................................................................... 52
MICROCONTROLADORES MICROCONTROLADORES TE2015
2
MANUAL DEL ALUMNO
Datos del Maestro Nombre: Jonathan Félix Gaxiola Correo:
[email protected] Cubículo: A4-431 Horario de asesorías: mandar correo electrónico Nombre: Fernando Elizondo Uribe Correo:
[email protected] Cubículo: A4-431 Horario de asesorías: mandar correo electrónico Nombre: Israel Alanís Castillo Correo:
[email protected] Cubículo: A4-431 Horario de asesorías: mandar correo electrónico
MICROCONTROLADORES MICROCONTROLADORES TE2015
3
MANUAL DEL ALUMNO
Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey Departamento de Ingeniería Eléctrica y Computacional Reglamento de Laboratorio
1. Código de conducta 1.1. Está prohibido el uso de palabras ofensivas y/u obscenas dentro del laboratorio. Cualquier falta de respeto hacia sus compañeros o hacia el instructor se les penalizara con 50 puntos menos en la práctica y/o ser expulsados del laboratorio. 1.2 Es obligación del alumno hacer uso adecuado y cauteloso del equipo electrónico, componentes, herramientas, y en general del mobiliario con el que se trabaja dentro del laboratorio. 1.3 Se prohíbe estrictamente introducir alimentos, bebidas, mascotas y demás objetos que puedan llegar a provocar algún accidente o daño dentro del laboratorio. 1.4 Por seguridad se debe utilizar zapato cerrado dentro del laboratorio (prohibido (prohibido el uso de chanclas y zapatos abiertos). 2. Asistencia 2.1 El alumno deberá presentarse puntualmente al laboratorio correspondiente el día y a la hora señalados por su horario de clase oficial. 2.2 Se concederá una tolerancia de 5 minutos después de la hora señalada en el horario de clases oficial para permitir el acceso al laboratorio, de lo contrario se les penalizara con 15 puntos menos en la práctica de esa sesión. No hay retardos. 2.3 En caso de falta justificada, para poder ser considerada como tal, el alumno deberá entregar al instructor un justificante por escrito con la firma de acuerdo del profesor titular de la materia correspondiente al Laboratorio. Así mismo es indispensable que el alumno reponga la sesión del laboratorio en esa semana de lo contario tendrá 0 en 0 en la práctica que falto.
MICROCONTROLADORES MICROCONTROLADORES TE2015
4
MANUAL DEL ALUMNO
2.4 Las explicaciones de la práctica de esa sesión y de la sesión siguiente se darán los primeros 15 minutos de que comience el laboratorio. Si el alumno no llegó a tiempo no tiene derecho de hacer ninguna pregunta al respecto. 3. Equipos de trabajo 3.1 Para facilitar el aprendizaje aprendizaje se recomienda trabajar en equipos de 2 integrantes, integrantes, mismos que se deberán mantener durante todo el ciclo escolar. Una vez hecho el equipo no habrá cambios de ningún tipo. 3.2 En caso de baja académica o cambio de grupo de un integrante de equipo, el integrante restante podría trabajar solo o integrarse a otro equipo según lo considere conveniente el instructor de Laboratorio. 3.3 En caso que el Laboratorio lo requiera requiera ya solicitud del instructor, en un equipo equipo de trabajo deberá haber al menos una computadora portátil con suficiente carga de batería y/o con su respectivo adaptador de corriente. 4. Actividades dentro del laboratorio 4.1 Es requisito indispensable para que se permita el acceso al laboratorio, llevar los componentes solicitados por el instructor para realizar la práctica correspondiente. 4.2 En caso que el Laboratorio lo requiera, se deberá tener instalado y funcional el software requerido por la práctica en la computadora portátil con la que se trabajará dentro del laboratorio. 4.3 Todos los integrantes de un equipo de trabajo trabajo son responsables por por el buen uso de los materiales y equipo electrónico con los que trabajan. Si por el uso incorrecto o falta de atención por parte del usuario, algún equipo electrónico (osciloscopio, fuente de poder, generadores de funciones, multímetro, etc.), herramientas, accesorios o componentes resulta dañado, se hará el cargo correspondiente por reposición o reparación, según sea el caso, a los integrantes del equipo responsables del cuidado de dicho material. 4.4 En caso de detectar alguna anomalía en los materiales y/o equipo electrónico con el que se trabaja, se deberá reportar inmediatamente al instructor. 4.5 Está prohibido cambiar cambiar la ubicación ubicación del equipo electrónico que que no sea solicitado al almacén. 4.6 Para solicitar material de trabajo en el almacén, un integrante del equipo de trabajo deberá llenar la forma proporcionada por el almacenista y dejar su
MICROCONTROLADORES MICROCONTROLADORES TE2015
5
MANUAL DEL ALUMNO
credencial de estudiante, misma que se devolverá al regresar el equipo prestado. 4.7 Es responsabilidad de cada alumno devolver el material y/o equipo electrónico que haya solicitado personalmente al almacén. No se devolverán credenciales a alumnos que no sean quienes hayan solicitado el equipo prestado. 4.8 Es bien importante que lleguen estudiados a la sesión del laboratorio. Es indispensable haber leído su práctica ANTES de ingresar al laboratorio, El instructor tiene la responsabilidad de explicar la práctica MAS NO DE HACERLES EL TRABAJO NI DE RESOLVER LOS PROBLEMAS que por falta de estudio no lo pueden resolver. 4.9 Queda estrictamente prohibido prestarse los circuitos construidos para la práctica. Así como prestarse los códigos requeridos en las mismas. Si el instructor tiene sospecha que alguien de otro semestre, de otro salón o algún compañero les haya pasado cualquiera de las dos cosas mencionadas se les acreditara un 0 en la práctica y un DA en su calificación. 4.10 Para poder obtener la calificación máxima en la práctica el alumno deberá entregar lo pedido en la misma y además el alumno deberá de responder una serie de preguntas individuales acerca de la práctica desarrollada en esa sesión. 4.11 Está estrictamente prohibido el uso del messenger, facebook, twiter o cualquier página de internet que no tenga nada que ver con el curso. Si algún alumno hace caso omiso a esta regla se le penalizara con 50 puntos menos en la sesión. 4.12 La práctica se deberá mostrar al instructor en el momento que el calendario lo dicte. Si la sesión del laboratorio es de 2 horas, se les recomienda que se tomen su tiempo para mostrar la practica al instructor. Ya que el instructor tiene toda la libertad de irse exactamente a las 2 horas después de que comience el laboratorio. Si el alumno no llegara a terminar la práctica, la puede entregar DOS días después con 15 puntos menos en la práctica. Cada día extra que pase sin entregar la práctica son 10 puntos menos de la calificación. 4.13 Los pre-reportes se entregan al comenzar la sesión de laboratorio en el momento que el instructor tome lista. Se barajarán 10 puntos por cada semana tarde que se entregue. 4.14 El reporte se entregará 1 semana después de haber concluida la práctica en el laboratorio. Se barajarán 10 puntos por cada semana tarde que se entregue. 4.15 La calificación de cada práctica se dará a conocer 1 o 2 semanas después de haber concluido la práctica. Por lo que cualquier aclaración se tendrá que hacer MICROCONTROLADORES TE2015
6
MANUAL DEL ALUMNO
en el momento que se les dé a conocer su nota (ese mismo día). No se hará NINGÚN cambio después de haber concluido el tiempo de aclaración. 4.16 No se concederán ningún tipo de puntos extras al finalizar el semestre. 4.17 Es responsabilidad del alumno traer a clase su material a usar como componentes, laptop, cuaderno, libro etc. Es bien importante que se pongan de acuerdo los dos integrantes del equipo sobre quien trae las cosas, ya que si no traen el material no se les tomara en cuenta la práctica y se les pondrá un 0 a los dos. 4.18 Es responsabilidad del alumno anotar el nombre, matricula, teléfono de casa, celular y mail de su compañero de trabajo para cualquier futuro problema.
Nota: Este reglamento tiene los puntos generales que deben observarse en los Laboratorios del Departamento de Ingeniería Eléctrica y Computacional del Campus Monterrey, sin embargo, algunos puntos podrían ampliarse de acuerdo al criterio del profesor/instructor.
MICROCONTROLADORES TE2015
7
MANUAL DEL ALUMNO
Formato de Reportes Reporte Practica #X Introducción - ¿Qué temas cubre la practica? - ¿Qué espero aprender? - Comentarios extras Desarrollo Ejercicio 1: - ¿En qué consiste? - Problemas encontrados y cómo los solucioné - Comentarios extras - Fotos de la tarjeta funcionando/Screenshots del MPLAB X y explicación de las imágenes - Código, puede ser a dos párrafos y con letra pequeña, debe de estar comentado línea por línea Ejercicio # - ¿En qué consiste? - Problemas encontrados y cómo los solucioné - Comentarios extras - Fotos de la tarjeta funcionando/Screenshots del MPLAB X y explicación de las imágenes - Código, puede ser a dos párrafos y con letra pequeña, debe de estar comentado línea por línea Conclusión (de cada integrante del equipo) - ¿Qué aprendí? - Sugerencias/recomendaciones - Comentarios extras
MICROCONTROLADORES TE2015
8
MANUAL DEL ALUMNO
Introducción a Microcontroladores Los microontroladores están conquistando el mundo entero. Cada día están presentes en más aspectos de nuestras vidas: en el trabajo, la casa y en toda la vida. Los podemos encontrar controlando desde pequeños teclados computacionales, hasta un teléfono, horno de microondas, lavadoras y televisiones. Un microcontrolador es aquél dispositivo o chip que se emplea para gobernar uno o varios procesos. Por ejemplo, el controlador de temperatura de un cuarto regula el funcionamiento de un aire acondicionado que dispone de un sensor que mide constantemente la temperatura interna y, cuando traspasa los límites prefijados, genera las señales necesarias para controlar la temperatura. Actualmente un microcontrolador dispone de los siguientes elementos:
Procesador o UCP (Unidad Central de Proceso) Memoria RAM para datos Memoria ROM/PROM/EPROM para el programa Módulos para el control de periféricos (temporizadores, puerto serial, puerto paralelo, Convertidor Análogo/Digital, Convertidor Digital/Análogo, entre otros) Generador de impulsos de reloj para sincronizar el funcionamiento de todo el sistema
El objetivo principal de este manual es proporcionar al estudiante las bases para entender completamente el funcionamiento del microcontrolador PIC18F45K50. Lo anterior se va a lograr a través de 11 prácticas que van a guiar al lector para crear su propia tarjeta electrónica o PCB (Printed Circuit Board) y lograr programarla para que haga diferentes funciones. Las ventajas que tiene el PIC ante los demás microcontroladores del mercado, que es por lo que se utilizará a lo largo de este manual, son las siguientes:
Sencillez de manejo Existe suficiente documentación para trabajar que es fácil de conseguir El precio es comparativamente inferior al de sus competidores Cuentan con una elevada velocidad de funcionamiento Herramientas de desarrollo fáciles y baratas Existe gran variedad de hardware que permite grabar, borrar y comprobar el comportamiento de los PIC
MICROCONTROLADORES TE2015
9
MANUAL DEL ALUMNO
Una vez que se aprende a manejar un PIC, resulta fácil manejar otros modelos de microcontroladores
MICROCONTROLADORES TE2015
10
MANUAL DEL ALUMNO
Practica 1 – Elaboración de PCB (esquemático) Objetivo El alumno realizará el diseño esquemático de la tarjeta de sistema mínimo, con la cual se trabajará a lo largo del semestre. El sistema mínimo contiene: microcontrolador, interruptores, LEDs, fuente +5V, puerto serial y conexiones a teclado y pantalla LCD. El alumno utilizará el software de diseño ‘Kicad’ para realizar la totalidad del diseño
(esquemático y layout).
Actividades 1. Descargar e instalar el software gratuito ‘Kicad’ desde su página principal: http://www.kicad-pcb.org/. 2. Copiar las librerías, que vienen en el USB anexo a este manual, a su computadora, puede copiarlas a la misma carpeta donde guardó Kicad. 3. Dar clic a kicad.exe. Ahora usted estará en la ventana principal de ‘kicad Project manajer’. Desde aquí será capaz de accesar a a5 herramientas: EESchema, Cvpcb, PCBnew, GerbView y Bitmap2Component.
4. Crear una carpeta en donde se desee que estén los archivos del proyecto de Kicad
MICROCONTROLADORES TE2015
11
MANUAL DEL ALUMNO
5. Crear un nuevo proyecto: File -> New. Abra el folder del proyecto, todos los archivos de su proyecto serán guardados ahí. El proyecto se guardará con la ext ensión ‘.pro’. 6. Dar clic en el botón ‘actualizar’ para lograr visualizar el archivo de extensión ‘.pro’ en el ‘project manajer’.
7. Empecemos a crear el esquemático. Abramos el editor EESchema, . Es el primer botón de la izquierda del ‘project manager’ . Si aparece un error diciendo: ‘project file was not found’, ignórelo y d é clic en OK. 8. Primero hay que guardar todo el proyecto del esquemático: File -> Save de la parte Whole Schematic Project. De clic en el ícono ‘Page Settings’ de arriba de la barra de herramientas . Seleccione el tamaño ‘A3’ y escriba el título de su esquemático. Usted puede ver que hay más información que puede proporcionar si es necesario. Una vez llenada la información necesaria, de clic en OK. Esta información va a aparecer en la esquina de derecha inferior de la hoja de su diseño. 9. Agregar todas las librerías de Kicad: Preferences -> Library. Dar clic en el botón ‘Add’ y buscar el lugar donde haya guardado las librerías del USB mencionado anteriormente. Seleccione todas las librerías y de clic en Open. 10. Ahora vamos a agregar el primer componente del diseño. De clic en el ícono ‘Add components’ de la barra de herramientas de la derecha. La misma funcionalidad se obtiene presionando el shortcut ‘tecla a’. NOTA: Usted puede observar una lis ta de todos los shortcut disponibles presionando ‘tecla ?’. Aparecerá la ventana de selección de componentes. Dar clic en el botón ‘List All’. Ahora aparecerá la ventana de selección de librerías, aquí usted tien e
una lista de todas las librerías disponibles. 11. Seleccione la librería ‘device’ dándole doble clic. Aparecerá la ventana para seleccionar componentes. Aquí usted tiene una lista de todos los componentes disponibles en la librería ‘device’, que es la que contiene los
componentes más usados. 12. Desplazarse hacia abajo y de clic en la resistencia R. Esta acción cerrará la ventana de selección de componente y lo llevará de regreso a la hoja del esquemático. 13. Coloque el componente en el esquemático dando clic en el lugar donde desee que vaya a estar. Usted puede hacer o quitar zoom con el ‘scroll’ de su mouse.
MICROCONTROLADORES TE2015
12
MANUAL DEL ALUMNO
14. Con el mouse sobre el componente ‘R’, presione la ‘tecla r’; usted verá cómo el componente gira 90 grados, usted no necesita hacer clic sobre el componente para que éste rote. 15. Dar clic en el medio del componente y seleccione: Edit Component -> Value. Usted puede obtener el mismo resultado posicionándose sobre el componente y presionando la ‘tecla v’; además, con la ‘tecla e’ usted va a
tener una ventana de edición más general. Cuando usted de clic con el botón derecho sobre el componente, ahí aparecerán todos los posibles ‘shortcut keys’ posibles para las acciones disponibles.
16. El valor del componente aparecerá. Reemplace el valor actual ‘R’ por ‘1k’ y de clic en OK. No modifique el campo de referencia (R?), esta opción se modificará automáticamente después. El valor dentro de la resistencia debe ahora ser ‘1k’.
17. En caso de que usted cometa un error y desee borrar un componente, debe dar clic derecho al mouse sobre el component e y seleccione ‘Delete Component’. Esta acción borrará de l esquemático al componente. Usted puede borrarlo presionando la ‘tecla del’ teniendo el mouse sobre él. NOTA: Usted puede renombrar cualquier ‘shortcut key’ yendo a: Preferencias -> Hotkeys. No olvide guardar los nuevos keys: Preferences -> Save preferences. 18. Usted puede duplicar un componente existente en su esquemático posicionando el cursor sobre dicho componente y presionar ‘tecla c’. Después
de clic donde desee posicionar el nuevo componente.
MICROCONTROLADORES TE2015
13
MANUAL DEL ALUMNO
19. Presiona clic derecho sobre la resistencia. Seleccione ‘Drag Component’. Reposicione el componente y de clic izquierda para soltarlo. La misma función se puede hacer dando clic a ‘tecla g’. Puede utilizar ‘tecla r’ para rotar
el componente. NOTA: La opción clic derecho -> Move component (equivalente a la ‘tacla m’) es una opción viable para mover cualquier
componente, pero se usa para componente que no han sido conectados. 20. Para agregar los símbolos de +5V
y GND (referencia)
seleccionar el botón ‘Place a power port’
, debe
en la barra de herramientas de
la derecha. También puede presionar ‘tecla a’ y seleccionar la librería ‘power’.
21. Use el mismo procedimiento anterior para agregar +5VA (+5V alternativa) y GNDA (referencia alternativa)
.
22. Para cablear los componentes, debe dar clic en el ícono ‘Place a wire’ localizado en la barra de herramientas de la derecha. NOTA: Tenga cuidado de no seleccionar el botón ‘Place a bus’ que aparece debajo de este botón. El
uso de ese botón se explicará después. 23. Algunas ocasiones es bueno dar nombres a los cables usando ‘labels’ que es una forma alternativa de cablear conexiones entre componentes. Para de la barra de herramientas de la derecha. Usted puede hacer presionando ‘tecla l’. En algunas ocasiones ‘labels’ son usadas únicamente para propósitos de información sobre una línea. 24. Las terminales no conectadas, deben ser señaladas para que no causen errores o advertencias en el esquemático. Para marcar las conexiones que hacerlo, debe dar clic en el ícono ‘Place net name’
estarán libres, debe seleccionar el ícono ‘Place no connect flag’ localizado en la barra de herramientas de la derecha y colocar el símbolo ‘X’ sobre la
terminal libre. 25. Es necesario agregar ‘Power Flags’ para indicarle a Kicad que la potencia proviene de algún lado, Presiona la ‘tecla a’, seleccione ‘List All’, de doble clic . 26. En algunas ocasiones es bueno escribir comentarios o notas en el en la librería ‘power’ y busque ‘PWR_FLAG’
esquemático, para ello use el ícono ‘Place grapich text’ herramientas de la derecha. MICROCONTROLADORES TE2015
en la barra de
14
MANUAL DEL ALUMNO
27. Ahora, arme el diseño esquemático necesario para hacer la tarjeta electrónica de este manual:
NOTA: Una imagen más grande del esquemático se agrega como ‘Anexo 1’ en la parte de anexos de este manual. Para ayudarle a encontrar todos los componentes más rápidamente, se incluye una tabla señalando en qué librería se encuentra cada componente: Nombre
Librería
Conector Barrel_Jack
Conn -> BARREL_JACK
MICROCONTROLADORES TE2015
Imagen
15
MANUAL DEL ALUMNO
PWR_FLAG
power -> PWR_FLAG
Capacitor polarizado
device -> CP
Diodo
device -> DIODE
Resistencia
device -> R
Rectificador de +5V
regul -> 7805
Led
device -> LED
Push button
user -> DTS-6
Capacitor no polarizado
device -> C
MICROCONTROLADORES TE2015
16
MANUAL DEL ALUMNO
PIC18F45K50
user -> PIC18F45K50
Crystal
device -> CRYSTAL
Conector USB
conn -> USB
Potenciómetro
device -> POT
Pinheads
user -> PINHD-??X??
Max232
user -> MAX232
Conector Serial
usaer -> F09HP
MICROCONTROLADORES TE2015
17
MANUAL DEL ALUMNO
MCP9700A
user -> MCP9700A
28. Todos los componentes deben tener un identificador único. De hecho, muchos de los componentes agregados tienen el nombre de ‘R?’ o ‘J?’. Para asignar un identificador, se puede hacer automáticamente dando clic en el ícono ‘Annote schematic’ . 29. En la ventana de ‘Annotate Schematic’, seleccione ‘Use the entire schematic’ y dé clic en el botón ‘Annotation’. Dé clic en OK en el mensaje de confirmación que aparecerá en la pantalla; después, dé clic en ‘Close’. Usted verá como todos los ‘?’ han sido reemplazados por números. Ese identificador es único. 30. Ahora vamos a checar de errores el esquemático. Dé clic en el ícono ‘Perform
. Haga clic en el botón ‘Test ERC’ . Aparecerá un reporte informándole sobre algún error o advertencia, así como terminales desconectadas. Usted debería tener 0 errores y 0 advertencias. En caso de alguno de los casos, una flecha verde aparecerá en el esquemático posicionada donde exista el error o advertencia. Si desea recibir más información sobre los errores, dé clic en ‘Write ERC report’ y después presione ‘Test ERC’. En el esquemático de este manual, le aparecerá el siguiente error, ignórelo: Electric Rules Check’
MICROCONTROLADORES TE2015
18
MANUAL DEL ALUMNO
El error se debe a que hay dos fuentes de voltaje conectadas al mismo nodo; dichas fuentes son porque la tarjeta será alimentada por USB o por una fuente de alimentación de corriente directa que será conectada al conector Jack. 31. El esquemático ya está terminado. Ahora podemos crear un ‘Netlist file’ que será agregada para la impresión de cada componente. Dé clic en el ícono ‘Netlist generation’ de la barra de herramientas de la parte de arriba. De clic en ‘Netlist’ y después en ‘save’. Guárdelo con el nombre que aparece por
defecto. 32. Ahora puede cerrar el editor de esquemático.
MICROCONTROLADORES TE2015
19
MANUAL DEL ALUMNO
Practica 2 – Elaboración de PCB (layout)
Objetivo Desarrollar el diagrama de conexiones (layout) a partir del diagrama esquemático.
Actividades El siguiente paso será crear un archivo de Netlist, en el cual, se agregará el footprint de cada uno de nuestros componentes. Para esto, abra el diseño esquemático y haga click en el ícono de ‘Netlist Generation’ en la barra de herramientas de arriba. En este Por último, dé click en ‘Netlist ’ y de esta forma se guardará un archivo con la extensión ‘.net’ en la carpeta de trab ajo y con el nombre que le haya asignado. Este
tipo de archivo muestra todos los componentes utilizados con sus respectivas conexiones en cada pin. El archivo de netlist es también un archivo de texto el cual se puede ver y editar sin ningún problema. Después, haga click en ‘Run Cvpcb’ y así, podrá ver en forma de lista todos los footprints asociados con su componente correspondiente. Si no llegase a ser la lista correcta, debe hacer click en ‘Open a net y abrir el archivo que usted haya guardado con anterioridad y ahora podrá ver todos los footprints utilizados para cada uno de los componentes de nuestro diseño en forma de lista. list file’
Ahora, corresponde agregar las librerías dentro de Cvpcb. De clic en Preferences -> Libraries y de esta forma podrá ir agregando los módulos de la carpeta de ‘modules’ (que está dentro de la carpeta Libraries) que se encuentra en el USB anexo a este manual. Abajo se muestra una imagen de la ventana que le aparecerá y dónde debe agregar todos los módulos que se les proporcionarán.
MICROCONTROLADORES TE2015
20
MANUAL DEL ALUMNO
A continuación debe asociar la lista de los componentes con su footprint correspondiente como lo muestra la siguiente tabla; asegúrese de activar la opción ‘Display the full footprint list’
Nombre
de la barra de herramientas de Cvpcb.
Imagen esquemático
Nombre footprint
Conector Barrel_Jack
BARREL_JACK_MOD
Capacitor polarizado
Capacitor_elect
Diodo
Diode
Resistencia
Resistor
MICROCONTROLADORES TE2015
21
MANUAL DEL ALUMNO
Rectificador de +5V
LM7805
Led
Led
Push button
DTS-6
Capacitor no polarizado
Capacitor
PIC18F45K50
PIC18F45K50
Crystal
Crystal16MHz
Conector USB
USB_B_MOD
Potenciómetro
RV2X4
MICROCONTROLADORES TE2015
22
MANUAL DEL ALUMNO
Pinheads
Pinhead-??X??
Max232
Maxim232
Conector Serial
Conector_F09HP
MCP9700A
MCP9700A
NOTA: Para el capacitor C13 de 10uF que está junto al Conector Jack, usar el footprint ‘Capacitor_elect_8x13mm’. Para la resistencia R3 de 470 ohms del Max232, usar el footprint ‘Resistor_large’.
Guarde las modificaciones en ‘File -> Save’ o haciendo click en
.
Hecho lo anterior, puede cerrar el Cvpcb y regresar al EESchema (Editor de Esquemáticos). Guarde el proyecto presionando ‘File → Save Whole Schematic Project’ . Cierre el editor de esquemáticos y cámbiate al ‘Project Manager’.
Diseño del Layout del PCB Ya listo el diseño del circuito en su parte esquemática, es hora de generar el ‘layout’
de nuestro PCB mediante nuestro archivo de netlist:
MICROCONTROLADORES TE2015
23
MANUAL DEL ALUMNO
1. Sitúese en el ‘project manager’ del kicad y presione en el ícono de ‘PCBNew’ . Se abrirá una nueva ventana que corresponde a la de ‘PCBNew’. Haga caso omiso de cualquier mensaje de error que pueda haber y dé click en OK. 2. En la barra de herramientas de la ventana de ‘PCBNew ’ puede hacer click en ‘Page Settings’
y establecer el tamaño de la hoja en ‘US Letter’. 3. A continuación nos meteremos más a fondo en las cuestiones de diseño. Podemos ver que en el menú de ‘Design Rules → Design Rules’ se abre una ventana como se muestra enseguida:
En ella, aparecerán ciertas características del diseño final de nuestra tarjeta con algunos valores en milímetros, entre ellos, el ‘Clearance’ que es el espacio mínimo que debe existir entre las los tracks del PCB. Le daremos un valor de 0.254 mm (0.010 inches). Enseguida pondremos un valor de 0.800 mm (0.0314960 inches) en las casilla que corresponden al ‘Track Width’ (Ancho de las líneas). Los demás valores deberá establecerlos como aparecen en la figura de arriba. 4. Vaya a la pestaña de Global Design Rules y tendrá que escribir, en caso de ser necesario, los valores mínimos de cada una de los parámetros de diseño permitidos ‘Minimum Allowed Values’ como lo muestra la imagen de abajo.
5. Ahora importaremos el netlist file. Vaya a la barra de herramientas y presiona el ícono de ‘Read Netlist ’
MICROCONTROLADORES TE2015
y en el campo de ‘Netlist File’ debe de
24
MANUAL DEL ALUMNO
aparecer la ruta donde guardó el archivo de netlist, si no es así, busque su archivo y copie la ruta que debe ser correcta. Por último, haga click en ‘Read Netlist ’ y cierre la ventana. De inmediato, aparecerán todos los componentes hasta arriba del lado izquierdo. 6. Es turno ahora de mover los componentes del circuito y acomodarlos de tal manera que se minimice el número de cruces entre alambres dentro del área de trabajo. Puede moverlos colocando el puntero del mouse encima de ellos y presionando la letra ‘g’ de su teclado. Todos los componentes están conectados mediante un grupo de alambres llamados ratsnest. Asegúrese que el botón de ‘Hide board ratsnest ’ que aparece en los íconos del lado izquierdo de tu pantalla esté presionado. 7. Luego tendrá que definir los límites de su PCB. Seleccione la herramienta ‘Add graphic line or polygon ’
y trace, primero, las medidas originales de su Placa de Cobre (15x20 cm por lo general). También puede definir los cortes (esto para eliminar la superficie no útil de su placa) procurando dejar un margen de 2.5 cm por lado para dejar un cierto espacio entre los componentes de la orilla, tracks y demás. Antes de esto, asegúrese que en el Visor de layers (la parte más a la derecha de su pantalla) tenga seleccionado la parte de ‘Edge.Cuts’ como en la siguiente figura:
8. Ruteo del PCB. Es hora de rutear todas las conexiones de nuestro PCB. Antes que nada, cerciórese que en la parte derecha de la barra de herramientas en el menú desplegable esté seleccionada la opción de ‘B.Cu’ (PgDn) que
MICROCONTROLADORES TE2015
25
MANUAL DEL ALUMNO
corresponde a la capa (layer) de la placa que queremos rutear (B=> Bottom, Cu=> Copper).
9. Comience a conectar cada uno de los pines que conforman todos nuestros componentes dentro del PCB. Colóquese y dé click en el ícono de ‘Add track or vias’ y haga la ruta para cada una de las nets o conexiones de la tarjeta. 10. Ya por último Guarde su Archivo de layout: File → Save o simplemente Ctrl + S. 11. Su tarjeta debe lucir como la siguiente imagen: 2.5 cms 2.5 cms
10 cms
15 cms
20 cms
NOTA: Una imagen más grande del layout se agrega como ‘ Anexo 2’ en la parte de anexos de este manual.
MICROCONTROLADORES TE2015
26
15 cms
MANUAL DEL ALUMNO
Generar Gerber files Ya que su PCB esté completo, se pueden generar los Gerber files para cada una de las caras (layers) deseadas, esto con la idea de poder mandar a hacer a un PCB manufacturer su tarjeta, en caso de que ésta misma no se haga manualmente. 1. Haga click en File → Plot. Seleccione ‘Gerber’ como ‘Plot Format ’ además de elegir la carpeta donde desee que estos archivos se guarden. Asegúrese que sólo esté seleccionada la opción de B.Cu en la parte de ‘Layers’.
2. Por último de clic en Plot y ahora pase a la parte de ‘Generate Drill File’. Ahí, aparecerá una nueva ventana con algunas opciones elegidas por default (no cambie nada) como se muestran en la figura de abajo:
MICROCONTROLADORES TE2015
27
MANUAL DEL ALUMNO
Practica 3 – Elaboración de PCB (fabricación) Objetivo: Armar el sistema mínimo a partir del diseño realizado en las prácticas 1 y 2.
Actividades A partir del diseño del PCB, se utilizará el equipo en el laboratorio para crear la tarjeta, la cual quedará como muestra la siguiente figura:
1. Lijar la superficie de cobre (placa fenólica) con una lija poco áspera (de numero 200 o superior de preferencia, el propósito es limpiar la placa no quitar el cobre) 2. Limpiar con agua y jabón la placa fenólica (una vez limpia no tocar, el objetivo es que la superficie quede libre de suciedad, una vez hecho esto la placa tendrá un aspecto más brillante en toda la superficie) MICROCONTROLADORES TE2015
28
MANUAL DEL ALUMNO
3. Abrir el proyecto en Kicad y correr el programa PBCnew que es donde se encuentra el diseño del PCB de la tarjeta 4. Imprimir en la hoja transfer las pistas y pads del diseño: File -> Print. Activar las mismas opciones que la siguiente impresión de pantalla:
NOTA: B.Cu (Bottom Cu) significa que se imprimirán únicamente las líneas de cobre de la parte trasera de la tarjeta. 5. Dar clic en “print” 6. Aparecerá otra ventana que permitirá abrir el diseño en un .pdf:
MICROCONTROLADORES TE2015
29
MANUAL DEL ALUMNO
7. Usted podrá ver en formato .pdf las líneas de cobre del diseño de su tarjeta:
8. Imprimir el diseño en la hoja de transferencia 9. Pasar las pistas de la hoja de transferencia a la placa fenólica con la ayuda de una plancha. Colocar la hoja con las impresión hacia la parte con cobre de la tabla y aplicar calor hasta que se transfieran completamente las pistas
10. Una vez que se tiene la placa fenólica con el layout impreso en él, sumergir ésta dentro del cloruro férrico hasta que el cobre sea disuelto, las instrucciones de uso del cloruro están en el recipiente que lo contiene. La mezcla deberá estar en movimiento constantemente. MICROCONTROLADORES TE2015
30
MANUAL DEL ALUMNO
11. Limpiar con agua y jabón la placa y quitar el material negro con una lija, de preferencia bajo un chorro de agua para no manchar la tarjeta. 12. Perforar los hoyos de la placa de acuerdo al tamaño de cada uno de los elementos, las brocas que utilizarán son de alrededor de 30 milésimas de pulgada, hay algunos que necesitan perforaciones más grandes. 13. Una vez que se tiene la tarjeta perforada, limpiar nuevamente con agua y jabón. 14. Soldar un componente a la vez hasta completarlos todos. 15. Verificar el funcionamiento de la tarjeta con el maestro.
MICROCONTROLADORES TE2015
31
MANUAL DEL ALUMNO
Practica 4 – Introducción al uso de IDE MPLAB X Pre reporte 1. Realiza una tabla donde se describan las siguientes instrucciones. El ejercicio deberá realizarse de la misma forma al siguiente ejemplo: Instrucciones: BCF, BSF, BTFSS, CLRF, INCF. Instrucción BTFSC Página 322 del datasheet
Descripción
Ejemplo
Esta instrucción
ciclo: BTFSC PORTB, 1
hace un “test” a un
solo bit de un registro. Si ese bit BCF es cero entonces la PORTA,0 instrucción que esta después del GOTO BTFSC no es ciclo ejecutada. Si el bit es uno entonces las instrucciones que están después del BTFSC son ejecutadas de forma normal. La sintaxis de esta instrucción es BTFSC registro, # bit. Donde #bit puede ser un número del 0 al 7 que indicara la posición del bit en el registro.
Condiciones Iniciales Si PORTB = 1001 0000
Descripción En la primer línea pregunta si el PORTB tiene un cero en el bit 1 (el segundo bit de derecha a izquierda) Dado que es afirmativa la sentencia, se brinca la instrucción BCF y realiza la instrucción del GOTO. Esta instrucción brincara hacia la etiqueta “ciclo” y se
realizara todo de nuevo
2. Describe con tus palabras cual es la diferencia entre las siguientes instrucciones, y aporta un ejemplo sencillo para cada una de ellas. MOVF, MOVFF, MOVLW, MOVWF MICROCONTROLADORES TE2015
32
MANUAL DEL ALUMNO
Objetivo IDE MPLAB X es un programa de software que se ejecuta en una PC (Windows, Mac OS o Linux) para desarrollar aplicaciones para microcontroladores Microchip y controladores de señales digitales. El objetivo de esta práctica es ayudarlo a descubrir y aprender a utilizar las diversas funciones disponibles para simplificar y mejorar las actividades de desarrollo.
Actividades 1. Instalar IDE MPLAB X, el instalador se encuentra en la carpeta de ‘softwares’ del USB anexo al manual. Si aparece un mensaje de advertencia de que no se ha instalado ningún compilador, ignórelo. 2. Abrir IDE MPLAB X. Aparecerá la pantalla principal del programa
3. Crear un nuevo proyecto: File -> New Project. Selecciona Microcip Embedded 4. 5. 6. 7.
como ‘Category’ y Standalone Project como ‘Project’. De clic en ‘Next’. En la opción ‘Family’ seleccione: Advanced 8 -bit MCUs (PIC18). En ‘Device’ seleccione PIC18F45K50. De clic en ‘Next’. Seleccione Simulator como Hardware Tools y de clic en ‘Next’. Como compilador, seleccione: XC8(v1.31). De clic en ‘Next’. Nombre al proyecto ‘Practica4 .c’ y seleccione una carpeta especial donde se
guardarán todos los archivos del proyecto. Como sugerencia, puede hacer MICROCONTROLADORES TE2015
33
MANUAL DEL ALUMNO una carpeta llamada ‘Practica4’ y selecciónela como localización. De clic en ‘Finish’. 8. Para empezar a programar, hay que crear un archivo ‘.c’. Para ello de clic derecho sobre ‘Source Files’, después en ‘New’ y de clic en ‘Empty File’.
9. Aparecerá la ventana de ‘New Empty File’, dele al arc hivo el nombre de ‘practica4.c’. Después, de clic en el botón ‘Finish’. En ‘Source Files’ aparecerá su archivo ‘practica4.c’. Ahí es donde usted podrá empezar a programar.
10. Escriba el siguiente código en el archivo Practica4.c: #include
#include #include #define _XTAL_FREQ 16000000 void interrupt high_isr(void){ // funcion de interrupciones de alta prioridad } void interrupt low_priority low_isr(void){ // funcion de interrupciones de baja prioridad } delay1seg(){ for(int i=0;i<100;i++){ __delay_ms(10); } } void main(void){ ANSELB=0; //PortB digital TRISBbits.TRISB0=0; //Pata RB0 como salida TRISBbits.TRISB1=0; //Pata RB1 como salida TRISBbits.TRISB2=1; //Pata RB2 como entrada
MICROCONTROLADORES TE2015
34
MANUAL DEL ALUMNO while(1){ //ciclo del programa principal if(PORTBbits.RB2==0){ //Si el boton es presionado, RB1=1 LATBbits.LATB1=1; } else{ LATBbits.LATB1=0; //Si el boton no es presionado, RB1=0; } LATBbits.LB0=0; //RB0=0 delay1seg(); //delay 1 seg LATBbits.LB0=1; //RB0=1 delay1seg(); //delay 1 seg } }
Explicación de código:
Texto después de doble diagonal (//), lo toma como comentario Cada puerto los controlan principalmente dos registros TRIS Y PORT En este caso trabajaremos con puerto TRISB y PORTB Para indicar que será salida se coloca un 0 a cada uno de los bits de TRISB Si quisiéramos que fueran entradas se coloca un 1. Para asignarle un valor al puerto solo se le carga dicho valor en PORTB
11. Como usted ya sabe, al microcontrolador se le instaló un ‘bootloader’ para poder ser programado por la interface USB; ese ‘bootloader’ ocupa las
localidades de memoria 0x000 a 0x1000. Su usted compila el programa sin tomar en cuenta lo anterior, es posible que al pasarlo al PIC, se sobreescriban esas localidades y haya problemas. Para solucionarlo se le debe indicar al MPLABX que el programa estará a partir de la memoria 0x1000. Ir a: File -> Project Properties -> XC8 linker -> Option categories: Additional Options -> Checksum: 0x1000. 12. Una vez escrito el programa y configurado el proyecto, dar clic en el ícono ‘Build Project’ , localizado en la barra de herramientas superior. 13. Si el programa fue escrito correctamente, la pestaña ‘output’ de la parte
inferior de MPLAB X mostrará un mensaje de éxito. 14. Puede pasar el programa al microcontrolador y probar su funcionamiento 15. Usted ya conoce cómo programar, cómo compilar el código y cómo pasarlo a la tarjeta electrónica. Es hora de aprender a simular su programa. Para ello, primero es necesario configurar su proyecto ingresando los datos de su microcontrolador. De clic en ‘Configuration’ localizado en la barra de herramientas superior, después, seleccione ‘Customize…’
MICROCONTROLADORES TE2015
.
35
MANUAL DEL ALUMNO
16. Seleccione la pestaña ‘Simulator’. En la opción ‘Processor freque ncy (Fcyc) escriba 4. En la parte de ‘Frequency In’ seleccione MHz. De clic en OK 17. Vuelva a compilar el programa con la opción ‘Build Project’, Para simular de clic en el ícono ‘Debug Project’
localizado en la barra de herramientas
superior. 18. El programa debe estar ejecutándose en simulación, prueba de ello es que el rectángulo localizado en la parte de abajo a la derecha de la pantalla lo indica . 19. Es posible simular el programa línea por línea, para ello primero hay que localizado en la barra de herramientas superior. Usted notará que se ilumina un renglón del código en color verde, eso indica que cuando usted pausó la simulación del programa, el software se encontraba ejecutando esa línea. El botón ‘Step Over’ sirve para ir ejecutando línea por línea del programa, de clic y vea cómo el renglón color verde va avanzando señalando que se ejecutan diferentes líneas. 20. Ahora que usted se encuentra simulando el programa, es posible monitorear el valor de distintos registros, variables o puertos de salida del microcontrolador. Vaya a la barra de herramientas y de clic en Windowpausarlo en el botón ‘pause’
>Debugging-Watches. Dar clic en la pestaña ‘Watches’
.
Haga clic derecho sobre el renglón ‘’ y seleccione ‘New Watch’. Las variables cread as en su programa se encuentran en la opción ‘Global Symbols’; los registros de su microcontrolador se encuentran en la pestaña ‘SFR’s’. Seleccione aquello que desee monitorear su valor y de clic en
OK. 21. En algunas ocasiones es necesario tomar tiempos de ejecución del programa, para eso hay que entrar a la función ‘Stopwatch’. Vaya a la barra de herramientas y de clic en Window->Debugging->Stopwatch. Dar clic en la pestaña: . Una vez dentro de la pestaña, al lado izquierdo aparecen 4 botones que lo ayudarán a tomar tiempos de manera eficiente. La función de cada uno se puede conocer dejando el ‘mouse’ sobre el botón
durante 2 segundos. 22. Como ya se mencionó, la pestaña ‘Watches’ sirve para monitorear variables del programa, registros o puertos de salida del microcontrolador. En algunas ocasiones, es necesario estimular puertos de entrada para que, al estar simulando el programa, pareciera como si se presionara un botón o que algún evento externo está sucediendo y verificar lo que hace el programa con dicho evento. Para ello es necesario usar la opción ‘Stimulus’. Para utilizarla MICROCONTROLADORES TE2015
36
MANUAL DEL ALUMNO
vaya a la barra de herramientas y de clic en Window->Simulator->Stimulus. De clic en la pestaña:
. Para agregar un puerto de clic en el cuadro blanco debajo de la palabra ‘Pin’ y seleccione el Pin que desea
estimular: . En el cuadro de ‘action’ seleccione qué es lo que quiere que pase con ese Pin, ya sea que se encuentre en estado bajo, estado alto o bien que se genera un toogle en él. Para que sea válido lo que seleccionó, es necesario dar clic en el cuadro ‘fire’, de esta forma, el programa recibirá la señal de que el pin seleccionado hace la acción que eligió. 23. Para dejar de simular el programa paso por paso y ejecutar todo automáticamente, de clic en el botón ‘Play’
de la barra de herramientas
superior. 24. Usted puede agregar ‘breakpoints’ a diferentes líneas del programa, sólo con dar doble clic en el número de línea donde desea crearlo
. Un
‘breakpoint’ sirve para indicar que el programa se pausará automáticamente
en esa línea de código cada vez que usted esté simulando su programa.
MICROCONTROLADORES TE2015
37
MANUAL DEL ALUMNO
Practica 5 – Puertos de Entrada/Salida Pre reporte 1. Dar respuesta a las siguientes preguntas: ¿Cuál es el uso de los registros TRISA, TRISB, TRISC, TRISD? ¿Cuál valor se le debe cargar al TRISB, para que todo el puerto funcione como entrada? ¿Cuál valor se le debe cargar al TRISB, para que todo el puerto funcione como salida? ¿Qué instrucción recomienda usar para hacer un barrido de leds?
Objetivo Familiarizarse con las instrucciones básicas para configuración y manejo de los puertos de entrada/salida del Microcontrolador, así como en el uso y manejo de rutinas a nivel ensamblador. Al termino de este laboratorio el alumno será capaz de:
Configurar, leer y escribir sobre los diferentes puertos del dispositivo Aplicar rutinas comunes de anti-rebotes y temporización mediante ciclos.
Requisitos
PCB elaborado en las practicas 1,2,3. Estar familiarizado y Conocer las herramientas básicas de Debugging de IDE MPLAB X vistas en la practica 4.
Actividades Programa 1. Cambiar el estado de un led cada 5 segundo de manera infinita y automática, tomar en cuenta la saturación de las funciones delays (capacidad máxima). Programa 2. Realizar un contador ascendente y descendente binario de 8 bits, es decir, presionando un botón el contador se incrementará y presionando el otro botón el contador se decrementará, considerar la alternativa de presionar los dos MICROCONTROLADORES TE2015
38
MANUAL DEL ALUMNO
botones al mismo tiempo, en tal caso el conteo deberá mantener su valor anterior (no hará nada). Sugerencia, utilizar condiciones para detectar la presión de los botones y operaciones aritméticas para el incremento y decremento del contador. Programa 3. Mostrar en leds de manera infinita y automática la secuencia mostrada en la figura.
Nota. No es válido escribir en el programa término por término explícitamente la secuencia. Sugerencia, utilizar la librería: math.h y el comando pow.
MICROCONTROLADORES TE2015
39
MANUAL DEL ALUMNO
Practica 6 – Teclado Matricial Pre reporte 1. Dar respuesta a las siguientes preguntas: ¿Cuál es el funcionamiento del teclado? ¿Cuántos pines tiene el teclado que utilizaremos? (estos se encuentran en el almacén) ¿Cuántos y cuáles de esos pines funcionan como columnas y filas? ¿Cuáles establecerías como entradas y cuales como salidas del microcontrolador? ¿Qué es una resistencia pull-up? ¿Dónde se conectaría un pull-up en el teclado, en las entradas o salidas? 2. Investigar cómo usar y habilitar los pull-ups del puerto B.
Objetivo Conocer las funciones Pull-Up de los puertos, configurar y adquirir datos desde teclados matriciales mediante barrido Al terminar el laboratorio el alumno será capaz de:
Identificar y conocer la importancia de las configuraciones Pull-Up/Pulldown en el microcontrolador Conocer los conceptos de barrido para la adquisición de datos en matrices.
Requisitos
Haber entregado el pre-reporte correspondiente.
Leer la sección “I/O ports” del Datasheet de Microcontrolador.
Solicitar al almacén un teclado matricial y conectarlo a su PBC
MICROCONTROLADORES TE2015
40
MANUAL DEL ALUMNO
Actividades Mostrar en los leds la salida binaria correspondiente de la presión de cada botón del teclado matricial, por ejemplo:
MICROCONTROLADORES TE2015
41
MANUAL DEL ALUMNO
Practica 7 – Dispositivo LCD Pre reporte 1. LEE EL ARCHIVO “LCD.pdf” 2. ¿De cuántos pines es el conector para LCD de tu tarjeta de sistema mínimo? 3. Indica en que pines del conector del LCD se encuentra: GND ______________ VCC ______________ 4. Indica cual es el símbolo y la función de los siguientes pines de la pantalla LCD Pin
Símbolo y Función
4 5 6 7 – 14
5. Explica cuál es el funcionamiento de las 3 líneas de control EN, RS, RW. 6. El bus de datos puede ser de 4 y 8 bits. ¿Qué cambios tendrías que hacer para cambiar de uno a otro? 7. ¿Cuántos y cuáles pines utilizarías para una conexión utilizando un bus de datos de 4 bits? 8. Diagrama de flujo o pseudocódigo que maneje la pantalla LCD en modo de 4 bits. ¿Cuál es la diferencia principal con respecto al manejo del LCD en 8 bits? 9. Indica sobre el anexo con lápiz cual es la función de cada una de las instrucciones o conjunto de instrucciones. Describe la operación de cada línea de todos los códigos en el anexo.
MICROCONTROLADORES TE2015
42
MANUAL DEL ALUMNO
Objetivo Estudiar y Utilizar un Display de Cristal Liquido (LCD) como terminal del Microcontrolador, conocer las principales funciones y características de estos dispositivos Al terminar este laboratorio el alumno será capaz de:
Configurar e integrar un LCD en sus practicas con micros.
Actividades Desplegar en el LCD un conteo ascendente (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 …) cada vez que se presiona el switch 1 de la tarjeta y un conteo descendente (… 9, 8, 7, 6, 5, 4, 3, 2, 1,
0) cada vez que se presiona el switch 2.
MICROCONTROLADORES TE2015
43
MANUAL DEL ALUMNO
Practica 8 – Temporizadores (timers) Pre reporte 1. Dar respuesta a las siguientes preguntas: ¿Cuál es el registro para configurar el timer 0? ¿Describe el uso para el bit TMR0ON del registro T0CON? ¿Describe el uso para el bit T08BIT del registro T0CON? ¿Describe el uso para el bit T0CS del registro T0CON? ¿Describe el uso para el bit PSA del registro T0CON? ¿Cuánto tiempo toma cada incremento del timer 0 sin prescaler asignado?
Objetivo Realizar programas en ensamblador donde utilicen los módulos de temporizadores para contar eventos y tiempos. Al terminar este laboratorio el alumno será capaz de:
Realizar los cálculos requeridos en sus aplicaciones para configurar programar los temporizadores. Realizar diferentes rutinas de temporización como generadores de señal.
y
Actividades Medir la frecuencia de un generador de funciones a través de los módulos TIMERs del PIC18F45K22 desplegándola en leds. Nota. No es permitido utilizar la librería delays.h. Sugerencia, diseñar un temporizador de 1 segundo con el TIMER 1 y un contador con el TIMER 0, de manera de determinar los flancos de bajada (frecuencia) que se producen en 1 segundo y mostrarlos en los leds.
MICROCONTROLADORES TE2015
44
MANUAL DEL ALUMNO
Practica 9 – Interrupciones Pre reporte 1. Dar respuesta a las siguientes preguntas. ¿Qué uso tiene el pin INT0? ¿Cómo se habilita la interrupción INT0? Checar registro INTCON Si conectas un push botton al pin INT0, ¿cómo eliminarás los rebotes si al pin INT0 deberá de llegar una señal sin ruido? 2. Para una señal cuadarada de 8 Hz: ¿Cuál es su período? ¿Cómo generarías esta señal utilizando solamente interrupciones?
Objetivo Conocer y utilizar los servicios que ofrecen las interrupciones de tipo interno y externo, resaltar la importancia que estas tienen en el software. Al terminar este laboratorio el alumno será capaz de:
Realizar rutinas de interrupciones tanto de software como de hardware. Realizar generadores de onda mediante interrupciones.
Actividades Por la línea 0 del puerto D se genera una onda cuadrada. El valor de la onda cuadrada cambia mediante la activación del pulsador conectado al pin 0 del puerto B, es decir: mediante la interrupción RBO, como se indica en la siguiente tabla: Pulsación
Frecuencia
Periodo (s)
Inicial
2
0.5
Primera
1
1
Segunda
0.5
2
Tercera
0.25
4
MICROCONTROLADORES TE2015
45
MANUAL DEL ALUMNO
Al conectarlo a la alimentación genera una frecuencia de 2 Hz. Al presionar el pulsador por primera vez cambia a 1 Hz, al actuar una segunda vez 0.5 Hz y asi sucesivamente. El led visualiza el periodo generado. Nota. No es permitido utilizar la librería delays.h y se debe utilizar las interrupciones externa RBO y TIMER 0. Sugerencia, obtener las ondas cuadradas por medio de la interrupción TIMER 0 y cambiar la frecuencia de las ondas cuadradas a través de la interrupción externa INTO
MICROCONTROLADORES TE2015
46
MANUAL DEL ALUMNO
Practica 10 – Módulo Capture/Compare/PWM y ADC Pre reporte 1. Dar respuesta a las siguientes preguntas. ¿Qué es duty cycle? ¿Cómo inicializas el módulo PWM para generar una señal cuadrada con duty cycle de 75%? Enumera y describe todos los registros necesarios para utilizar el módulo PWM ¿Cuál es el período máximo que puedes obtener con el módulo PWM si tienes un oscilador de 4 MHz? 2. Describe el procedimiento qué harías para calcular el tiempo entre dos eventos utilizando el módulo COMPARE.
Objetivo Desarrollar rutinas para el uso del módulo CCP y ADC aplicándolas en el control de ancho de pulso de señales periódicas Al terminar este laboratorio el alumno será capaz de:
Controlar la velocidad de motores de CD variando el ancho de pulso de una señal cuadrada. Implementar programas que involucren conversiones Análogo - Digital
Actividades Variando la resistencia de un potenciómetro controlar la velocidad de un motor CC y mostrar el ciclo de trabajo en los leds. Sugerencia, realizar la conversión analógica digital del voltaje que suministra el potenciómetro. Este resultado utilizar como el ciclo de trabajo de la modulación por ancho de pulso, de manera de variar la velocidad del motor CC y además mostrarlo en los leds para esto referirse al pdf: PIC18F45K22 (hoja de datos del microcontrolador).
MICROCONTROLADORES TE2015
47
MANUAL DEL ALUMNO
Hardware: Conseguir 1 driver L293D, un motor CC y un diodo (esta materiales no se prestan en los laboratorios del DIEC). La salida que controlara la velocidad del motor CC conectar al siguiente circuito que será implementado en proto board:
Es indispensable conectar el diodo D1 en paralelo con el devanado del motor tal como se muestra en la figura, como protección frente a los picos de fuerza contraelectromotriz producidos por la carga inductiva de la bobina en el momento de la conmutación. Puede también utilizar el driver L293B, en tal caso revisar la hoja de datos de este para su conexión.
MICROCONTROLADORES TE2015
48
MANUAL DEL ALUMNO
Practica 11 – Puerto serial Objetivo Configurar y establecer comunicación con otros dispositivos mediante interface serial utilizando modulo USART. Al terminar este laboratorio el alumno será capaz de:
Realizar aplicaciones con intercambio de información mediante protocolo RS232 (interface serial)
Actividades Parte 1: Utilizando un cable USB – Serial se realizará la comunicación serial con la PC. Se utilizará una hyperterminal o el mismo tinybootloader para enviar y recibir información en forma de caracteres ASCII.
Parte 2 (únicamente demostrativa): 1. Copiar a su computadora la carpeta ‘Archivos_USB_Serial_Emulator’ que se encuentra en el USB anexo a este manual 2. Abrir en MPLABX el proyecto situado dentro de la carpeta ‘Proyecto_PIC’ que está en la carpeta copiada anteriormente y compilar el código. 3. Hacer las conexiones del PIC como lo muestra la siguiente tabla: Pin del PIC Lugar de conexión RB0 Led RB1 Led RB2 Botón RB3 Botón RC2 Led RE0 Potenciómetro 4. Conectar la tarjeta a la computadora.
MICROCONTROLADORES TE2015
49
MANUAL DEL ALUMNO
5. Abrir Archivos_LabView-> el archivo ‘.exe’ localizado en : USB_Serial_Emulator_Exe ->USB_Serial_Emulator.exe. Se abrirá la siguiente aplicación:
6. Dar clic en el botón ‘Run Continuosly’ 7. En ‘Resource Name’ seleccionar el COMx correspondiente al PIC. Para visualizar el COMx que corresponde al PIC es necesario ir al ‘Administrador de Dispositivos’ de Windows y en la sección ‘Ports (COM & LP)’ buscar e l que diga ‘USB Serial Port (COMx)’ como se muestra en la figura:
8. Iniciar la comunicación presionando el switch ‘Init Comunication’ 9. Ahora ya puede interactuar con la aplicación. 10. Presione los botones conectados y mueva el potenciómetro; observe lo que pasa. 11. Presione los botones y mueva la perilla de la aplicación abierta en la computadora; observe lo que pasa. 12. Reporte lo que observa
MICROCONTROLADORES TE2015
50
MANUAL DEL ALUMNO
Anexos Anexo 1 (esquemático):
MICROCONTROLADORES TE2015
51