lunes, 16 de noviembre de 2015

CCS Compiler (PIC C Compiler) - Tipo de variables y manejo del puerto del PIC

El  CCS acepta el los siguientes tipos de variables


CONSTANTES
Las constantes se pueden especificar en octal, decimal, hexadecimal o en binario.

VARIABLES
La variables se utilizan para nombrar posiciones de memoria RAM.
Se deben de declarar obligatoriamente antes de utilizarlas, para ello se debe indicar el nombre y el tipo de dato que se utilizará.
Se definen de la siguiente manera.

tipo  nombre_variable = valor inicial
Ejemplo:

float voltaje=0;
int8 suma=0;
int contador=10;

MANEJO DE PUERTOS

El compilador nos ofrece funciones predefinidas que nos ayudan a trabajar con los puertos

Ejemplos:

output_B(0b11001100);       //saca un uno lógico por el pin(b7,b6,b4,b3)
valor = input_A();                //lee el valor del puerto A y lo almacena en valor

También existen funciones asociadas a un solo pin, tales como:
Ejemplos:

output_toggle(pin_b6);      //complementa el valor del pin b6
input(pin_c3);                    //lee el valor del pin c3
output_low(pin_b0);         //Pone el pin b0 a un cero logico

Les dejo el tutorial para que puedan entenderlo mejor.


DESCARGA EL PROGRAMA Y LA SIMULACION EN

EL PROGRAMA

11 comentarios :

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Hola amigo me gusta su blogspot me gustaría que explicara como crear funciones propias y como llamarlas por ejemplo void main(), y crear una asi void semáforo_verde() void semáforo_rojo() así sucesivamente espero su respuesta

    ResponderEliminar
  3. Hare un video tutorial haciendo uso de funciones y lo subire al blog. Saludos

    ResponderEliminar
  4. Estaría muy agradecido amigo con ese tema

    ResponderEliminar
  5. hola quisiera saber como es el manejo de los puertos para un 12f683 (un solo puerto) porque yo lo programe en assembler y era trisio gpio pero pongo set_tris o set_tris_a y no me funciona el programa, te lo agradeceria. me gustaria si me pudieras pasar toda la lista de comando de puertos del pic12f683. por cierto muy buena la pagina!

    ResponderEliminar
  6. Excelente, justo estaba buscando como hacer lo de una ruleta, con esto ya quedo, gracias

    ResponderEliminar
  7. hola, quisera saber como cambiar el valor de una variable global de un contador por medio de un swich ?

    ResponderEliminar
  8. Hola, tengo una incertidumbre con el tema variables. Si recibo ciertos códigos que conozco de antemano, le quiero asignar nombres a cada uno (son enteros de tipo Int8 en hexadecimal) ¿hay algún método para hacerlo sin llenar el programa de condicionales if?

    ResponderEliminar
  9. Rosarino Macri, no tengo forma de contestar tu pregunta en forma directa. Espero que la leas aquí:
    El valor de una variable global de un contador se puede cambiar por medio de un switch tanto sea en un case particular, como en el inicio o antes del final.
    Switch(A.B){
    case A.1:
    instr.1
    instr.2
    -------
    variable++;
    break;
    }
    O bien:
    Switch (A.B){
    variable++;
    case....
    }

    ResponderEliminar
  10. para poner la instrucción en hexadecimal o binario como me oriento para saber otra pregunta cada pin tiene un función diferente porque muchos pines tiene tiene que pic, sdd, sda que significan gracias

    ResponderEliminar
  11. Hola muy buena tu información, no se si podrías ayudarme, estoy tratando de medir el tiempo entre dos eventos externos con pic.
    Lo que quiero hacer es lo siguiente: dejar caer un objeto desde cierta altura y medir el tiempo que demora en llegar al piso.
    No se si podrías ayudarme con ello, te lo agradecería mucho.

    ResponderEliminar