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.
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.
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
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
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
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 :)
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.
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
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
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 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
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)
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ó
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.
Buen video no se si podrias subir un video mostrando como hacerlo con un display de 7 segmentos
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.
majestuosoooo
me parece excelente tu explicación, solo tengo una pregunta, esa misma programación la tendrás en pic Basic?
Buen aporte!!!! muy bien explicado!!!
Explicas mejor que mi profe :v
saludos. que herramienta se utiliza para guardar el código en el pic16f688?
Muy Buen vídeo; Disculpa como seria para la convención Multicanal
Varias cada canal y que comience cada proceso de conversión con el go_done
buen video !!!!
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
MUY BUEN VIDEO GRACIAS
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
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
@@Wels_Theory Muchas gracias lo buscaré y seguiré buscando algun libro para un Pic intermedio entre básico y avanzado.
Wells una pregunta, podría usar un cristal 4Mhz o 16Mhz, porque en la tabla que mostraste no estaban esos valores
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 :)
@@Wels_Theory gracias totales c:
Gracias amigo
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.
En configuración pon que sea vref+ a VDD
@@Wels_Theory Pero, VDD = 5 voltios?
>>>5 Voltios no pino 5?
Hola @wels si quisiera mostrar esas salidas en 7 segmentos bastaría con un 74ls47 o tendría q agregar más integrados
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
Aaaa perfecto si se pueden ejecutar entonces las operaciones antes de enviarlas al puerto mejor para hacerlo así
mas videos de assembler por favor que no encuentro mucho xD
Hola, en mi canal puedes encontrar videos de Pic18f4550, pic16f88a y pic18f84a en asm.
@@Wels_Theory gracias por el contenido voy a estar mirando :)
X10009
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
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
Que version de mplab x tienes? La 5. 40 no te deja pero unas versiones antes sí
@@Wels_Theory tengo la versión 5.30 y no me deja cambiarlo, intentare con una versión menor
Disculpa si lo quisiera solo de 8 bits que se quitaria del codigo
Sólo usar un registro del Adres
Lo intente pero no me funciona
@@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
como cambio la resolucion del ADC?
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)
disculpa no entiendo lo del go/done :c
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ó
jaja justo estoy haciendo un proyecto con ese modulo y es justo como lo has mostrado... te copiaste..nada buen video
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
MIRE EL HITHUB Y AL PARECER SE REESCRIBIO EL USART SOBRE EL ADC XD
.contestame plox :(