PDF de programación - Entrega 7 - Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Imágen de pdf Entrega 7 - Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Entrega 7 - Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCSgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Noviembre del 2017)
1.925 visualizaciones desde el 23 de Noviembre del 2017
150,2 KB
4 paginas
Creado hace 11a (11/10/2012)
Aprendiendo a programar
Microcontroladores PIC en
Lenguaje C con CCS

Por Andrés Raúl Bruno Saravia

Entrega Nº 7.

Assembler embebido

Se puede insertar código en assembler mediante #asm y #endasm.

Dentro de un bloque en assembler no se deben usar:

• Las directivas del ensamblador.

las etiquetas deben acabar con :
• No se soporta direccionamiento indirecto.
• La constantes se especifican como en lenguaje C.

Ejemplo:
#asm //codigo en Assembler

MOVLW 10 // Movemos decimal al contador
MOVWF count, 0
inicio: //etiqueta
NOP
NOP
DECFSZ count, 1, 0 //decrementamos el contador
BRA inicio

salir:
#endasm

//salimos del bloque assembler

¿Qué son las estructuras?

Una estructura es un conjunto de variables de diferentes tipos referenciadas bajo el
mismo nombre.

Ejemplo:
struct Reloj
{

char hora;
char minuto;
char segundo;

}
De esta forma se define una estructura llamada reloj, ahora hay que declarar una
variable de este tipo:
struct Reloj Time;
En este caso la variable es de tipo empleado y se pueden acceder a los campos
miembros de la estructura de la siguiente forma:
Time.hora
Time.minuto
Time.segundo
Las estructuras son muy usadas para crear campos de BITS que nos permitan usar de
forma individual cada uno de los BITS de los registros de funciones especiales.

¿Que son las funciones?

Las funciones son porciones de código que facilitan la claridad de desarrollo del
programa. Son similares a las subrutinas, con la diferencia que podemos pasarles
valores para que precesen y nos pueden devolver el resultado de dichos procesamiento.

Todas las funciones retornan un valor y pueden recibir parámetros.

La estructura general de un función en C es la siguiente:
Tipo_de_retorno nombre_función (tipo param1, ..., tipo paramn)
{

sentencias
return(valor_de_retorno);

}
Los posibles tipos de retorno son los tipos de datos ya vistos: (int, float, void, char,etc).
Para crear una función en C, primero hay que declarar el prototipo de la misma antes de
la función main() y luego de la llave final del programa se define la función.

Ejemplo:

La siguiente función suma dos valores y retorna un resultado:
int suma(int x, int y)
{
return x+y;
}
Se retorna de una función cuando se llega a la sentencia return o cuando se encuentra la
llave de cierre de la función.

Cuando lo que se desea escribir es un procedimiento que, por ejemplo, realice un delay
o muestre un texto por LCD o cargue una arreglo, o sea, que no devuelva ningún valor
se escribe como tipo de retorno void,( que significa tipo vacío).

Alcance de las variables:

Variable global:

Conocida por todas las funciones. Se puede utilizar en cualquier punto del programa. Se
declara fuera del main.

Variable local:

Se declara apenas abrir una llave en el código, cuando la llave se cierra esta variable
desaparece.

Variable declarada en los parámetros formales de una función:

Tiene el mismo comportamiento de las variables locales.

Paso De Parámetros a las funciones:

Paso por valor:

Cuando se pasa un parámetro por valor a una función, la misma hace copias de las
variables y utiliza las copias para hacer las operaciones. No se alteran los valores
originales, ya que cualquier cambio ocurre sobre las copias que desaparecen al terminar
la función.

Ejemplo:

delay_ms(100); // llamamos a la función

En este ejemplo llamamos a la función delay_ms y le pasamos el valor 100, el cual se
encuentra dentro del paréntesis.

Paso por referencia:

Cuando el objetivo de la función es modificar el contenido de la variable pasada como
parámetro, debe conocer la dirección de memoria de la misma. Para ello se le antepone
a la variable el operador &, puesto que se le está pasando la dirección de memoria de la
variable

Ejemplo:
void calcula_voltaje (int val, float &voltaje)//funcion que
calcula el voltaje
{
voltaje=(val*v_max)/escala;
}
En el ejemplo de la función observamos el apuntador & que apunta a la variable voltaje,
de esta forma le pasamos el valor de la variable a la posición que la misma ocupa.

ATENCIÓN: Los arrays, (entiéndase también cadenas), siempre se pasan
por referencia y no hace falta anteponerle el símbolo &, pues como
habíamos dicho el nombre de un array es un puntero al primer elemento del
mismo.

Continuará ......
  • Links de descarga
http://lwp-l.com/pdf7650

Comentarios de: Entrega 7 - Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS (1)

Hermesindo
9 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
¿De cuantas entregas consta este curso?
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad