tutorial 2 ccs

Upload: ingrh

Post on 04-Jun-2018

250 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/13/2019 Tutorial 2 CCS

    1/17

    tutorial 2 declaraciones de control(if, else y while)

  • 8/13/2019 Tutorial 2 CCS

    2/17

    Qu son las declaraciones de control?Las declaraciones son usadas para controlar el proceso

    de ejecucin del programa.

    WHILE

    WHILE se utiliza para repetir sentencias.while(expresin)

    {

    sentencia;

    }

    La expresin se evala y la sentencia se ejecutamientras la expresin es verdadera, cuando es falsa sesale del WHILE.

  • 8/13/2019 Tutorial 2 CCS

    3/17

    Si se ejecutan las siguientes expresiones se consigue un

    BUNCLE SIN FIN:while(1)

    {

    sentencias;

    }

  • 8/13/2019 Tutorial 2 CCS

    4/17

    IF - ELSE

    Estas declaraciones de control nos ayuda a tomardecisiones. Por ejemplo prender o apagar un ledcuando se este pulsando un push button.

    if(bit_test(porta,0)= =1){ //si RA0=1 entonces

    bit_set(portb,0); // el RB0=1

    }

    else{ // si no se cumple

    bit_clear(portb,0); // el if entonces RB0=0

    }

  • 8/13/2019 Tutorial 2 CCS

    5/17

    Diagrama de flujo

  • 8/13/2019 Tutorial 2 CCS

    6/17

    Ejemplo 1 encender y apagar un

    led con un push button.#include //llamado del fichero donde se especifican las caractersticas del PIC

    #fuses xt,nowdt//tipo de cristal a utilizar

    #use delay (clock=4000000)//reloj de 4Mhz#byte trisa=0x85//direccin del trisa en la memoria

    #byte trisb=0x86

    #byte porta=0x05

    #byte portb=0x06

    void main(){ //funcin principal

    trisa=0xff;//se configura el puerto a como entrada

    trisb=0x00;//se configura el puerto b como salida

  • 8/13/2019 Tutorial 2 CCS

    7/17

    portb=0x00;//se pone en cero el puerto b

    while(true){ //se crea un buncle infinitoif(bit_test(porta,0)= =1){// se evala si esta activado (en 1 lgico) el primer bit del puerto a

    bit_set(portb,0); //si esta activado se pone en 1 el portb,

    }else{ //si no esta activado se pone en 0 el portb,0.

    bit_clear(portb,0);

    }

    }}

  • 8/13/2019 Tutorial 2 CCS

    8/17

    SIMULACIN 1

  • 8/13/2019 Tutorial 2 CCS

    9/17

  • 8/13/2019 Tutorial 2 CCS

    10/17

  • 8/13/2019 Tutorial 2 CCS

    11/17

  • 8/13/2019 Tutorial 2 CCS

    12/17

  • 8/13/2019 Tutorial 2 CCS

    13/17

    else{ if((bit_test(portb,0)==1)&&(bit_test(porta,0)==1)&&(bit_test(porta,1)==0)){

    bit_clear(portb,5)&bit_clear(portb,6)&bit_clear(portb,7)&bit_set(portb,4); } else{ if((bit_test(porta,1)==1)&&(bit_test(portb,0)==1)&&(bit_test(porta,0)==0)){ bit_clear(portb,4)&bit_clear(portb,6)&bit_set(portb,5)&bit_set(portb,7); } else{

    if((bit_test(porta,0)==1)&&(bit_test(porta,1)==1)&&(bit_test(portb,0)==1)){ bit_clear(portb,5)&bit_clear(portb,6)&bit_set(portb,7)&bit_set(portb,4); } else{ portb=0x00; //si no se cumple ningun if se pone en 0 el portb } } } } } } }

  • 8/13/2019 Tutorial 2 CCS

    14/17

    Lo que hace el ELSE- IF es tomar decisiones mltiples es

    decir si un el primer IF no se cumple se pasa al siguiente IFhasta que uno de estos se cumpla si no se cumple ningunose ejecuta el ultimo ELSE.

    En la lnea:

    if((bit_test(porta,0)==1||bit_test(porta,1)==1)&&(bit_test(portb,0)==0))

    Significa que si RA0=1 o RA1=1 o ambos son uno y adems

    RB0=0 se ejecuta la sentencia. Si el RB0=1 o si RA0=0 yRA1=0 no se cumple esta condicin.

  • 8/13/2019 Tutorial 2 CCS

    15/17

  • 8/13/2019 Tutorial 2 CCS

    16/17

  • 8/13/2019 Tutorial 2 CCS

    17/17

    BLOG:

    http://microcontroladores-ing-elec-rh.blogspot.mx/

    REFERENCIA:

    COMPILADOR C CCS Y SIMULADOR PROTEUS PARA

    MICROCONTROLADORES PIC.

    TUTORIAL REALIZADO POR:

    ING. R.H.

    http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/http://microcontroladores-ing-elec-rh.blogspot.mx/