ADC con el PIC16F877A - Tutorial PIC16F877A - Wels Theory

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 พ.ย. 2024

ความคิดเห็น • 48

  • @enriquegiovanniayalagonzal688
    @enriquegiovanniayalagonzal688 4 ปีที่แล้ว

    Muy util video la verda, gracias por los tutoriales. me ayuda mucho para mis proyectos, actualmente estoy intentando hacer funcionar un timer la verda no se que es lo que estoy haciendo mal solo quiero que INTCONbits.TMR0IF, estoy utilizando 4Mhz y u prescolar de 256 me salió que tengo que poner TMR0 = 61628, para que se desborde después de un segundo esto me avise cuando pase un segundo y se vuelva a reiniciar, ya vi tu video de timer con el display y los motores lo intente poner igual pero aun asi no hace lo que yo quiero, saludos desde mexico, gracias por toda la ayuda.

  • @cesarjeovannimaldonadomart9988
    @cesarjeovannimaldonadomart9988 11 หลายเดือนก่อน

    Buen video no se si podrias subir un video mostrando como hacerlo con un display de 7 segmentos

  • @ing_leonardo_oropeza_do
    @ing_leonardo_oropeza_do 4 ปีที่แล้ว

    Wels necesito tu ayuda...soy estudiante de electrónica industrial en el SENATI..y en un año lo acabo. me gustaría estudiar ing electrónica en la UTP sede lima sur y me gustaría que cuentes tu experiencia en la universidad...si te daba TIEMPO para hacer otras actividad como recreativas o para trabajar...tmb que hables sobre la maya curricular.. cursos complicados etc...espero que puedas ayudarme...saludos bro.

  • @electric-city2059
    @electric-city2059 3 ปีที่แล้ว +1

    majestuosoooo

  • @carlosmarcano5100
    @carlosmarcano5100 4 ปีที่แล้ว

    me parece excelente tu explicación, solo tengo una pregunta, esa misma programación la tendrás en pic Basic?

  • @alittse2452
    @alittse2452 4 ปีที่แล้ว

    Buen aporte!!!! muy bien explicado!!!

  • @electric-city2059
    @electric-city2059 3 ปีที่แล้ว

    Explicas mejor que mi profe :v

  • @TEOACV2
    @TEOACV2 8 หลายเดือนก่อน

    saludos. que herramienta se utiliza para guardar el código en el pic16f688?

  • @ralfdoloriert4155
    @ralfdoloriert4155 4 ปีที่แล้ว

    Muy Buen vídeo; Disculpa como seria para la convención Multicanal

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว

      Varias cada canal y que comience cada proceso de conversión con el go_done

  • @reatronics5530
    @reatronics5530 4 ปีที่แล้ว +1

    buen video !!!!

  • @donideltoromartinez9882
    @donideltoromartinez9882 2 ปีที่แล้ว

    Buenas tardes, tengo un problema, con un pic18f46k80, me esta haciendo saltos entre instrucciones y a veces si las realiza y a veces no, me refiero a la simulación en mplab x ide, al declarar las instrucciones de la forma:
    MOVWF CNL
    MOVF CCPR1H,W
    MOVWF CNH
    el programa ejecuta la línea 1 y 3 pero la segunda no me la muestra, aunque el PCL sigue contando las 3 instrucciones, pero el registro no se ve modificado, además note que si añadía una instrucción NOP de la forma:
    MOVWF CNL
    NOP
    MOVF CCPR1H,W
    NOP
    MOVWF CNH
    Iba a funcionar, en primera instancia si lo hizo con 3 o 4 registros, pero después dejaba de modificarlos, saludos

  • @diazortizaxelemmanuel7347
    @diazortizaxelemmanuel7347 3 ปีที่แล้ว

    MUY BUEN VIDEO GRACIAS

  • @jhonatanjuarez3859
    @jhonatanjuarez3859 4 ปีที่แล้ว

    Grande Wels
    Algún libro q recomiendes para aprender a programar este Pic? Ya q leí el del Pic 16f84A gracias a una recomendación tuya. Y algún libro q recomiendes para aprender a programar DsPic jeje

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว +1

      Para el dspic hay uno que se llama: MICROCONTROLADORES AVANZADOS dsPIC. Controladores digitales de señales. Arquitectura, programación y aplicaciones
      Para el pic16 no he visto la verdad :c

    • @jhonatanjuarez3859
      @jhonatanjuarez3859 4 ปีที่แล้ว

      @@Wels_Theory Muchas gracias lo buscaré y seguiré buscando algun libro para un Pic intermedio entre básico y avanzado.

  • @juancarlos-bm5of
    @juancarlos-bm5of 4 ปีที่แล้ว

    Wells una pregunta, podría usar un cristal 4Mhz o 16Mhz, porque en la tabla que mostraste no estaban esos valores

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว +1

      Si, claro recuerda lo que dice el datasheet, el TAD mínimo debe ser 1.6uSeg así que si puedes calcular que configuración necesitas dependiendo tu Fosc o 1/Tosc :)

    • @juancarlos-bm5of
      @juancarlos-bm5of 4 ปีที่แล้ว

      @@Wels_Theory gracias totales c:

  • @magnetech9943
    @magnetech9943 4 ปีที่แล้ว

    Gracias amigo

  • @edgarddefreitasfilho2149
    @edgarddefreitasfilho2149 ปีที่แล้ว

    Hola profesor, por favor hágame una pregunta: quiero usar las entradas analógicas de un PIC16F877A >>>> ¿Necesito poner el pin 5 (Vref+) en 5 Volts? Gracias y espera.

  • @migueelm8a
    @migueelm8a 4 ปีที่แล้ว

    Hola @wels si quisiera mostrar esas salidas en 7 segmentos bastaría con un 74ls47 o tendría q agregar más integrados

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว +1

      Cuantos displays usarías? Según eso podrías colocar unidades decenas y centenas. Por ejemplo si decides usar de 0 a 1024 bits usarías 4 displays? Para ello podrías dividir el dato para hallar unidades decenas centenas y unidades de millar

    • @migueelm8a
      @migueelm8a 4 ปีที่แล้ว

      Aaaa perfecto si se pueden ejecutar entonces las operaciones antes de enviarlas al puerto mejor para hacerlo así

  • @leanxds2097
    @leanxds2097 4 ปีที่แล้ว

    mas videos de assembler por favor que no encuentro mucho xD

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว

      Hola, en mi canal puedes encontrar videos de Pic18f4550, pic16f88a y pic18f84a en asm.

    • @leanxds2097
      @leanxds2097 4 ปีที่แล้ว

      @@Wels_Theory gracias por el contenido voy a estar mirando :)

    • @electric-city2059
      @electric-city2059 3 ปีที่แล้ว

      X10009

  • @robertofrias9592
    @robertofrias9592 4 ปีที่แล้ว

    Hola amigo muy buena explicacion, solo que tengo un detalle cuando intento descargar el programa de Github me pide permiso del propietario para poder descargar el programa

  • @jair4666
    @jair4666 4 ปีที่แล้ว

    hola, podrías ayudarme, lo que pasa es que seleccione la configuración de bits en lenguaje C y ya no me permite seleccionar la configuración de bits en lenguaje ensamblador cuando lo necesito, podrías decirme como puedo seleccionar que la configuración de bits para que me lo de en ensamblador por favor

    • @Wels_Theory
      @Wels_Theory  4 ปีที่แล้ว

      Que version de mplab x tienes? La 5. 40 no te deja pero unas versiones antes sí

    • @jair4666
      @jair4666 3 ปีที่แล้ว

      @@Wels_Theory tengo la versión 5.30 y no me deja cambiarlo, intentare con una versión menor

  • @angelsalas8158
    @angelsalas8158 3 ปีที่แล้ว

    Disculpa si lo quisiera solo de 8 bits que se quitaria del codigo

    • @Wels_Theory
      @Wels_Theory  3 ปีที่แล้ว

      Sólo usar un registro del Adres

    • @angelsalas8158
      @angelsalas8158 3 ปีที่แล้ว

      Lo intente pero no me funciona

    • @angelsalas8158
      @angelsalas8158 3 ปีที่แล้ว

      @@Wels_Theory me lo podrias hacer por favor, mira aqui tengo tu codigo
      #include "p16f877a.inc"
      ; CONFIG
      ; __config 0xFF32
      __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF
      ORG 0
      GOTO INICIO
      INICIO
      BSF STATUS,RP0
      CLRF TRISD ;SALIDA PUERTO D
      BSF TRISA,0 ;RA0 ENTRADA
      CLRF TRISC ;SALIDA PUERTO C
      BSF ADCON1,3 ;BANCO 1
      BSF ADCON1,2
      BSF ADCON1,1
      BCF ADCON1,0 ; 1110 -> RA0 AN0 SERAN ANALOGOS
      BSF ADCON1,6 ; FRECUECNIA DEL OSCILADOR ENTRE 64
      BCF ADCON1,7 ; INICIA LOS BIT MENOS SIGNIFICATIVOS A LA IZQUIERDA
      BCF STATUS,RP0
      BSF ADCON0,7 ;BANCO 0
      BCF ADCON0,6 ;FRECUECNIA DEL OSCILADOR ENTRE 64
      BCF ADCON0,5
      BCF ADCON0,4
      BCF ADCON0,3 ;CANAL AN0 ANALOGO
      BSF ADCON0,0 ;ADC ENCENDIDO
      RUN
      BSF ADCON0,2 ;GO/DONE -> 1
      ADC BTFSC ADCON0,2 ;SI ESTA EN 0 HACE LA SIGUIENTE RUTINA
      GOTO ADC
      MOVF ADRESH,W ;LA INFORMACION QUE TENEMOS EN ADRESH LA PASO A REGISTRO W
      MOVWF PORTD ;LOS BIT MAS SIGNIFICATIVOS SALEN DEL PUERTO D
      BSF STATUS,RP0
      MOVF ADRESL,W ;LA INFORMACION QUE TENEMOS EN ADRESL LA PASO A REGISTRO W
      BCF STATUS,RP0
      MOVWF PORTC ;LOS BIT MENOS SIGNIFICATIVOS SALEN DEL PUERTO C
      CALL Retardo_400ms
      GOTO RUN ;SI NO CUMPLE EN 0 ENTONCES SE REGRESA
      include "Retardo.inc" ;MANDO A LLAMAR LOS RETARDOS EXTERNO QUE CREE EN OTRO PROGRAMA
      END

  • @electric-city2059
    @electric-city2059 3 ปีที่แล้ว

    como cambio la resolucion del ADC?

    • @Wels_Theory
      @Wels_Theory  3 ปีที่แล้ว +1

      Viene por defecto, lo que puedes hacer es utilizar los bits necesarios. Por ejemplo si te dicen resolución de 6 bits, utiliza sólo 6 bits de tu adres (de los 10 que obtienes)

  • @danielcamilomalavermendoa5224
    @danielcamilomalavermendoa5224 ปีที่แล้ว

    disculpa no entiendo lo del go/done :c

    • @Wels_Theory
      @Wels_Theory  ปีที่แล้ว

      Go que inicia el adc a convertir.
      Done te avisa si esa conversión está lista o no.
      Entonces género un go para que inicie y espero el done para que me avise que ya terminó

  • @Juanko_bit
    @Juanko_bit 4 ปีที่แล้ว

    jaja justo estoy haciendo un proyecto con ese modulo y es justo como lo has mostrado... te copiaste..nada buen video

  • @cachodelgado8972
    @cachodelgado8972 3 ปีที่แล้ว

    HOLA, PROBE ASI Y NO FUNCIONA :C NOSE QUEONDA
    ; PIC16F877A Configuration Bit Settings
    #include "p16F877A.inc"
    ; CONFIG
    ; __config 0xFF3A
    __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF
    org 0
    GOTO INICIO
    INICIO
    BSF STATUS,RP0 ;AL BANCO 1
    CLRF TRISD
    BSF TRISA,0 ;RA0 ES ENTRADA
    CLRF TRISC; SALIDAS
    ;PASAMOS A VER ADCON
    ;UTILIZAREMOS SOLO AN0 EN ESTA PRUEBA
    ;SEGUN HOJA DE DATOS CARGAMOS 1110 EN ADCON.
    BSF ADCON1,3 ;3 2 Y 1 EN 1 Y EL 0 COMO 1
    BSF ADCON1,2
    BSF ADCON1,1
    BCF ADCON1,0 ;1110 -> RA0 AN0 = ANALOGICO
    BSF ADCON1,6; FOSC/64
    BCF ADCON1,7;SETEAMOS EL JUSTIFICADO DE LOS 10BITS OBTENIDOS, EN ESTE CASO IZQUIERDA.
    BCF STATUS,RP0;VOLVEMOS A BANCO O B
    BSF ADCON0,7
    BCF ADCON0,6 ; FOSC/64
    BCF ADCON0,5
    BCF ADCON0,4
    BCF ADCON0,3;canal an0
    BCF ADCON0,0;adc on
    CLRF PORTD
    CLRF PORTC
    ;UTILIZAREMOS GO/DONE PARA LEER EL PIN AN0
    START
    BSF ADCON0,2
    ADC
    BTFSC ADCON0,2;MIRO SI ES CERO
    GOTO ADC
    MOVF ADRESH,W
    MOVWF PORTD
    BSF STATUS,RP0
    MOVF ADRESL,W
    BCF STATUS,RP0
    MOVWF PORTC
    CALL Retardo_20ms
    CALL Retardo_20ms
    CALL Retardo_20ms
    CALL Retardo_20ms
    CALL Retardo_20ms
    GOTO START
    #include "Retardos.inc" ;
    END

    • @cachodelgado8972
      @cachodelgado8972 3 ปีที่แล้ว +1

      MIRE EL HITHUB Y AL PARECER SE REESCRIBIO EL USART SOBRE EL ADC XD

  • @electric-city2059
    @electric-city2059 3 ปีที่แล้ว

    .contestame plox :(