TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: chicodita03 en 24 de Mayo de 2017, 13:43:36

Título: Cómo dibujar en un osciloscopio
Publicado por: chicodita03 en 24 de Mayo de 2017, 13:43:36
Buen día, he estado intentado dibujar figuras en un osciloscopio utilizando una escalera R-2R y un PIC16F877A. La primera prueba consistió en generar una señal diente de sierra con pendiente positiva por el puerto D y una con pendiente negativa por el puerto B:

Código: [Seleccionar]
#byte portd = 0x08
#byte portb = 0x06
void main() {
    set_tris_d(0);
    set_tris_b(0);
    portd = 0;
    portb = 255;
    while(true) {
        portd++;
        portb--;
        delay_ms(1);
    }
}

La implementación fue exitosa. Ahora quiero dibujar un cuadrado, para lo cual defino las coordenadas (x,y) como un arreglo que luego recorro y asigno a los puertos

Código: [Seleccionar]
int x[4] = {200,200,250,250};
int y[4] = {0,50,50,0};
void main() {
    set_tris_d(0);
    set_tris_b(0);
    int i;
    while(true) {
        for(i=0;i<4;i++) {
            portd = x[i];
            portb = y[i];
            delay_ms(1);
       }
    }
}


Al conectar las dos señales al osciloscopio se puede ver que están variando, pero al presionar el modo XY sale algo que intenta ser un cuadrado, en resumen, no sale la figura deseada. ¿A qué se puede deber esto?¿No estoy teniendo en consideración otros aspectos? Muchas gracias por la ayuda.