Previo 10

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Universidad Nacional Autónoma de México

Facultad de Ingeniería

Lab. Microcomputadoras

Grupo 1

Equipo 3

Cuestionario Previo 10
Programación en C. Convertidor A/D e Interrupciones

Integrantes:
 Hernández Castañeda Kevin Reynaldo
 Jaime García Jesús
 Meza Vega Hugo Adrian
 Rivas Villaruel Frida Stephanie

Fecha de entrega: 02 de diciembre de 2021


1. Describa en una tabla comparativa, 5 ventajas y desventajas de utilizar un
programa ensamblador frente a un lenguaje de programación de alto nivel
como C.

Ventajas Desventajas
 Controla con precisión la operación  No es portable, debido a que
del microcontrolador y permite al depende de la estructura interna del
programador precisión en las microcontrolador, el código de un
operaciones. microcontrolador no puede correr en
otro de diferente arquitectura.

 Permite escribir un código más  No posee estructura ni control de


conciso, y por lo tanto más veloz. En tipos, por lo cual, el programador
aplicaciones profesionales se usa debe cuidar por sí mismo de proveer
sobre todo para escribir drivers para una estructura adecuada a su
interfaces de periféricos o para programa y controlar los tipos de
escribir rutinas altamente datos.
optimizadas que requieren
velocidad, tamaño reducido y/o
precisión.
 Es valioso como herramienta  El mantenimiento del código
educacional, ya que para escribir (revisión, modificación, ampliación)
ensamblador uno debe conocer a es más complicado.
detalle la arquitectura interna del
microcontrolador, el set de
instrucciones, los registros y su
funcionamiento interno.
 Ensamblador es un lenguaje de  La sintaxis de C es mucho más fácil
programación de nivel inferior que de aprender que la sintaxis de
C, por lo que es bueno para Ensamblador.
programar directamente en
hardware.
 Es mucho más flexible aludiendo a  C es más fácil de usar para hacer
trabajar con memoria, programas más complejos.
interrupciones, micro registros, etc.
2. Escriba las funciones necesarias para el manejo del convertidor analógico
a digital empleando compilador CCS C para microcontroladores PIC.

3. Escriba las funciones y los requerimientos (macros, librerías, etc.) para


utilizar el puerto serie en el microcontrolador PIC16F877A utilizando el
compilador CCS C.

FUNCIONES DE TRANSMISION DE DATOS

 putc(data)
 putchar(data)

data es un caracter de 8 bits

 puts(string)

string es una cadena de caracteres constante o una matriz de caracteres


terminada con un cero
 printf(fname,cstring,values)

fname: funcion a utilizar para escribir la cadena indicada, por defecto se utiliza
putc()

cstring: cadena de caracteres o matriz de caracteres terminada en 0.

values: valores a indicar en la cadena

FUNCIONES DE RECEPCION DE DATOS

 value=getc()
 value=getch()
 value=getchar()

value es un carácter de 8 bits. Espera recibir un carácter por la línea RS232 y


devuelve su valor.

 valor=kbhit()

valor=0 (false) si getc() debe esperar a que llegue un carácter

valor=1 (true) si ya hay un carácter para ser leído por getc()

4. Mencione las funciones en lenguaje C para el manejo de interrupciones

Lista de interrupciones disponibles en el 16F88, utilizando el compilador CCS.


Existen 12 posibles fuentes de interrupción:

5. ¿Cómo se manejan los temporizadores en C?

Puede usar una estructura time_t y clock() function from time.h (#include <time.h>)
Almacene el tiempo de inicio en una estructura time_t. Usando clock() y verifique
el tiempo transcurrido comparando la diferencia entre el tiempo almacenado y el
tiempo actual.

6. Indique cómo se generan las señales PWM con el microcontrolador PIC .

Para poder generar esta señal con nuestro PIC, se hace uso de los módulos
CCP (Comparador, Captura y PWM). Dicho módulo permite realizar tres funciones
básicas.

 Comparar: Compara el valor del temporizador con el valor de un registro y


provoca una acción en el PIC.
 Captura: Obtiene el valor del temporizador en un momento dado, fijado por
la acción de un terminal del PIC.
 PWM: Genera una señal modulada por ancho de pulso.

El módulo PWM, permite obtener de los pines CCP1 (Pin 17) y CCP2 (Pin 16) una
señal la cual podemos modificar su ciclo de trabajo. Dicho PWM puede tener una
resolución máxima de 10 BITS. En otras palabras. Como sabemos que el PIC
trabaja con voltajes binarios (0V o +5V), podemos configurar el PWM para que
trabaje un determinado tiempo en +5V (Ton) frente al tiempo que está en nivel
bajo 0V (Toff).

Esta señal PWM funcina igual en cualquier microcontrolador, lo único que cambia
es la forma como se configura en cada plataforma.

Referencias

http://tecbolivia.com/index.php/articulos-y-tutoriales-microcontroladores/6-
ensamblador-versus-c-en-
microcontroladores#:~:text=El%20c%C3%B3digo%20escrito%20en%20C,logran%
20reducir%20tremendamente%20esta%20diferencia

https://www.puntoflotante.net/INTERRUPTC.htm

https://www.it-swarm-es.com/es/c/como-usar-el-temporizador-en-c/1073329249/

https://controlautomaticoeducacion.com/microcontroladores-pic/pwm-modulacion-
por-ancho-de-pulso/

http://www.itq.edu.mx/carreras/IngElectronica/archivos_contenido/Apuntes%20de
%20materias/Apuntes_PIC_C_2017.pdf

También podría gustarte