No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
te envie un MP por si podia modificar el metodo con un bin propio
Si amigo, obvio que podria modificar el bot con tu bin. Te respondi el mensaje. Saludos

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúNo tienes permitido ver enlaces. Registrate o Entra a tu cuenta
te envie un MP por si podia modificar el metodo con un bin propio
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Yo junto con un amigo realizamos uno parecido pero genera usuarios y contraseñas aleatorias, pero no lo compartimos por no querer quemar los metodos pero al igual se agradece y es algo muy sencillo solo con un click se ahorran esos pasos.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Muchas gracias por el BOT, lo voy a investigar, pues el método que utiliza parece sencillo pero a la vez muy eficaz.
Gracias,
Saludos.
Date:
11-08-15, 08:07:39
File:
SpotifyPremiumBot.exe
Size:
3814.222 kb
MD5:
6f3bff3a216ea338f704b4df1c05f873
SHA1:
a0007e3198d4887e26b8fb5adce035cad35b9704
User: 51VNyUk
Pass: 9823775319
Date: 08/11/2015 19:17:19
User: 953Lcz3
Pass: 5715704972
Date: 08/11/2015 19:26:05
User: 21eX7Ac
Pass: 8063279169
Date: 08/11/2015 19:40:39
User: 31Ndpau
Pass: 5178772771
Date: 08/11/2015 20:09:58
User: 69rc246
Pass: 2671265280
Date: 08/12/2015 15:44:06
User: 32IsNyO
Pass: 1883632069
Date: 08/12/2015 15:56:23
#include <16f690.h> //librería de microcontrolador 16f690
#fuses HS, NOWDT, INTRC_IO //Configuración de fusibles, al final dejaré una tabla con los fusibles validos para este micro y para que son.
#USE delay(Clock=4000000) //velocidad del cristal que usaremos.
#byte portc=0x07 //Uso de puerto C
#byte porta=0x05 //Uso de puerto A
void main()
{
set_tris_c(0x00); //Puerto C como Salidas en Hexadecimal
set_tris_a(0b00011111); //Puerto A como entradas y salidas en Hexdecimal es 0x1F
porta=0x00; //Inicializamos el puerto A en 0
portc=0x00; //Inicializamos el puerto C en 0
int a; //Variable unsigned "a" de 8 bits donde almacenaremos los pulsos.
a=0; //Le asignamos el valor 0 para iniciar.
for(;;) //Bucle infinito, estaremos leyendo constantemente el bucle.
{
if (input(pin_a4)==1) //Si presionamos el pulsador, que estará conectado en el Pin A4.
{
a=a+1; //Sumaremos 1 a la variable "a"
}
switch(a) //sentencia de selección
{
case 1: //en caso que "a" sea 1
delay_ms(200); //Esperamos 200 milisegundos (Anti rebote del pulsador)
portc=0x01; //Daremos un High en el Pin C0 (1 lógico = 5 Volt)
break; //continúa la ejecución de las instrucciones que le sigue
case 2: //en caso que "a" sea 2
portc=0x02; //Daremos un High en el Pin C1 (1 lógico = 5 Volt)
delay_ms(200); //Esperamos 200 milisegundos (Anti rebote del pulsador)
break; //continúa la ejecución de las instrucciones que le sigue
case 3: //en caso que "a" sea 3
portc=0x00; //Volvemos a 0 todo el puerto C (0 lógico = 0 Volt)
delay_ms(200); //Esperamos 200 milisegundos (Anti rebote del pulsador)
break; //continúa la ejecución de las instrucciones que le sigue
default: //Si el valor que toma "a" no coincide con los valores especificados, se realizarán las acciones definidas en la etiqueta default
a=0; // la variable "a" vuelve a 0.
}
}
}
;**********************************************************************
; Timer0 *
;**********************************************************************
; Requiere archivos: P16F690.INC
;
;**********************************************************************
; Notas:
; Ejercicio para instrucciones para uso de Timer0 *
;**********************************************************************
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
cblock 0x20
Display
endc
org 0
Inicio:
bsf STATUS,RP0
movlw b'00000111' ; Configura Timer0.
; --0----- T0CS = 0, Reloj interno
; ---0---- T0SE = 0, Incremento por flanco de subida
; ----0--- PSA = 0, Prescaler a Tomer0
; -----111 Prescaler 1/256
movwf OPTION_REG
clrf TRISC ; Todo PORTC será salida
clrf Display ; Display comienza en cero
bcf STATUS,RP0
Principal:
btfss INTCON,T0IF ; Espera hasta que el Timer0 desborde
goto Principal
bcf INTCON,T0IF ; La bandera debe ser puesta a cero por software
incf Display,f ; Incrementa Display
movf Display,w ; Envía a los LEDs
movwf PORTC
goto Principal
end ;Fin del programa
;**********************************************************************
; Conversión Análogo/Digital *
;**********************************************************************
; Requiere archivos: P16F690.INC
; RETARDOS.INC
;**********************************************************************
; Notas:
; Ejercicio para instrucciones básicas de conversión A/D *
;**********************************************************************
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
cblock 0x20
;no se requieren variables auxiliares
endc
org 0
Start:
bsf STATUS,RP0 ; Abre página de registro 1
movlw 0xFF
movwf TRISA ; PORTA será sólo entradas
clrf TRISC ; PORTC será sólo salidas
movlw 0x10 ; Frecuencia de conversión = Fosc/8
movwf ADCON1
bcf STATUS,RP0 ; Abre página de registro 2
bsf STATUS,RP1
movlw 0xFF ; Todos los pines de PORTA serán entradas analógicas
movwf ANSEL
bcf STATUS,RP0 ; Regresa a página de registro 0
bcf STATUS,RP1
movlw b'00000001' ; Configura conversión A/D
movwf ADCON0
; 0------- Justificación izquierda
; -0------ Referencia a Vdd
; --0000-- Selecciona Canal 00 (AN0)
; -------1 Habilita conversor A/D
Principal:
call Retardo_5micros ; Retardo de 5 us para inicializar conversor
bsf ADCON0,GO ; Inicia conversión
btfss ADCON0,GO ; el bit cambiará a cero cuando la conversión se complete
goto $-1
movf ADRESH,w ; Lee el resultado de la conversión
movwf PORTC ; y lo envía a los leds.
goto Principal
Include <RETARDOS.INC>
end ;Fin del programa
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Que buenos aportes has dejado!
Muchisimas gracias bro!!
Saludos!
ANTRAX
Pin | Nombre | Color del cable | Descripción |
1 | VCC | Rojo | +5v |
2 | D− | Blanco | Data − |
3 | D+ | Verde | Data + |
4 | GND | Negro | Masa |
;**********************************************************************
; Contador binario
;**********************************************************************
; Requiere archivos: P16F690.INC
; RETARDOS.INC
;**********************************************************************
;**********************************************************************
list p=16f690 ;Especifica microcontrolador
#include <P16F690.inc>
;Fusibles de configuración
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
;ZONA DE DECLARACIÓN DE VARIABLES
;********************************
cblock 0x20
Cuenta ;Registro para llevar el conteo
Unidad ;Variable que lleva el conteo de unidades
Decena ;Variable que lleva el conteo de Decenas
Centena ;Variable que lleva el conteo de Centenas
Digito
endc
;Define nombres descriptivos para constantes y puertos
#define DISPLAY PORTC
;INICIALIZACION
;********************************
ORG 0x00 ;vector de reset
;Registros de configuración
bsf STATUS,RP0 ;Selecciona página #1
clrf TRISC ;PORTC será salida
clrf TRISA ;PORTA será salida
bcf STATUS,RP0 ;Regresa a página #0
;Inicialización de variables
clrf Cuenta ;Cuenta comienza en cero
clrf Unidad ;comienza en cero
clrf Decena ;comienza en cero
clrf Centena ;comienza en cero
;INSTRUCCIONES
;------------------------------------------------
Inicio
incf Cuenta,f ;Incrementa el contador
;(Para el resto de instrucciones no estamos
;usando este registro aún)
ComparaUnidad
movf Unidad,w ;Carga el registro Unidad en W
sublw .9 ;Compara con 9 (9 - Unidad)
btfsc STATUS,Z ;¿Unidad = 9?
goto IncrementaDecena ;Sí, incrementa decena
goto IncrementaUnidad ;No, incrementa unidad
IncrementaUnidad
incf Unidad ;Incrementa Unidad
goto ComparaCentena ;Salta a ComparaCentena
IncrementaDecena
incf Decena ;Incrementa Decena
clrf Unidad ;Vuelve unidad a Cero
goto ComparaCentena ;Salta a ComparaCentena
ComparaCentena
movf Decena,w ;Carga el registro Unidad en W
sublw .10 ;Compara con 9 (9 - Decena)
btfsc STATUS,Z ;¿Decena = 9?
goto IncrementaCentena ;Sí, incrementa decena
goto MuestraValores ;No, hace un salto a la etiqueta "MuestraValores"
IncrementaCentena
incf Centena ;Incrementa Centena
;con esta parte del progrma vuelvo a 0 la variable centena cuando llega a 9
;para iniciar nuevamente el ciclo de conteo
movf Centena,w ;Carga el registro Centena en W
sublw .1,5 ;Compara con 10 (10 - Centena)
btfsc STATUS,Z ;¿Centena = 10?
clrf Centena ;Sí, Deja en 0 la variable Centena
clrf Decena ;No, Deja en 0 la variable Decena
MuestraValores
call EnviaUnidad ;Activa el display de unidades
movf Unidad,W ;Carga en W el valor guardado en Unidad
call MuestraDigito ;lo envía al display
call Retardo_10ms
call EnviaDecena ;Activa el display de decenas
movf Decena,W ;Carga en W el valor guardado en Decena
call MuestraDigito ;lo envía al display
call Retardo_10ms
call EnviaCentena ;Activa el display de Centenas
movf Centena,W ;Carga en W el valor guardado en Centena
call MuestraDigito ;lo envía al display
call Retardo_10ms
goto Inicio
;SUBRUTINAS
;------------------------------------------------
;MuestraDigito selecciona el dígito a mostrar en display.
;Subrutinas Envia0 - Envia9 dibujan el dígito correspondiente
;en un display de 7 segmentos. EnviaE dibuja el caracter "E".
;La subrutina activa los segmentos de un display de cátodo común
;según la siguiente configuración:
;DISPLAY CATODO COMUN: g f e d c b a
;PUERTO "DISPLAY" (PORTC): RC6 RC5 RC4 RC3 RC2 RC1 RC0
MuestraDigito
movwf Digito ;Carga el valor de W en Dígito
movlw .0 ;Compara con 0
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 0?
goto Envia0 ;Sí: Envia Dígito
movlw .1 ;No: Compara con 1
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 1?
goto Envia1 ;Sí: Envia Dígito
movlw .2 ;No: Compara con 2
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 2?
goto Envia2 ;Sí: Envia Dígito
movlw .3 ;No: Compara con 3
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 3?
goto Envia3 ;Sí: Envia Dígito
movlw .4 ;No: Compara con 4
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 4?
goto Envia4 ;Sí: Envia Dígito
movlw .5 ;No: Compara con 5
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 5?
goto Envia5 ;Sí: Envia Dígito
movlw .6 ;No: Compara con 6
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 6?
goto Envia6 ;Sí: Envia Dígito
movlw .7 ;No: Compara con 7
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 7?
goto Envia7 ;Sí: Envia Dígito
movlw .8 ;No: Compara con 8
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 8?
goto Envia8 ;Sí: Envia Dígito
movlw .9 ;No: Compara con 9
xorwf Digito,W
btfsc STATUS,Z ;Cuenta = 9?
goto Envia9 ;Sí: Envia Dígito
Envia0
movlw b'00111111'
movwf DISPLAY
return
Envia1
movlw b'00000110'
movwf DISPLAY
return
Envia2
movlw b'01011011'
movwf DISPLAY
return
Envia3
movlw b'01001111'
movwf DISPLAY
return
Envia4
movlw b'01100110'
movwf DISPLAY
return
Envia5
movlw b'01101101'
movwf DISPLAY
return
Envia6
movlw b'01111100'
movwf DISPLAY
return
Envia7
movlw b'00000111'
movwf DISPLAY
return
Envia8
movlw b'01111111'
movwf DISPLAY
return
Envia9
movlw b'01100111'
movwf DISPLAY
return
EnviaUnidad
movlw b'00000110'
movwf PORTA
return
EnviaDecena
movlw b'00000101'
movwf PORTA
return
EnviaCentena
movlw b'00000011'
movwf PORTA
return
INCLUDE <RETARDOS.INC> ;Libreria de retardos
END ;Fiin del programa.
list p=16f690 ;Especifica microcontrolador
#include <P16F690.inc>
;Opciones de configuración
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
; '__CONFIG' se utiliza para acceder a opciones de configuración desde un archivo .asm
; Las etiquetas a que se hace referencia están definidas en el archivo .inc correspondiente
; Refiérase a la hoja de datos para conocer la función de casa etiqueta
;ZONA DE DECLARACIÓN DE VARIABLES
;********************************
cblock 0x20
Delay1 ;Define 2 variables para retardo
Delay2 ;en las posiciones 0x20 y 0x21
endc
;INICIALIZACION
;********************************
ORG 0x00 ;vector de reset
CLRF STATUS ;Selecciona página #1
bsf STATUS,RP0 ; Abre página de registro 1
movlw b'11011111'
movwf TRISA ; A5 salida, el resto entradas
movlw 0xF0
movwf TRISB ; PORTB será sólo entradas
clrf TRISC ; PORTC será sólo salidas
bcf STATUS,RP0 ; Abre página de registro 2
bsf STATUS,RP1
movlw 0x00 ; Todos los pines de PortA serán entradas digitales
movwf ANSEL
movlw 0x00 ; Todos los pines de PortB serán entradas digitales
movwf ANSELH
bcf STATUS,RP0 ; Regresa a página de registro 0
bcf STATUS,RP1
;INSTRUCCIONES
;------------------------------------------------
main: ;inicio
clrf PORTA ;Iniciar en 0 Puerto A
clrf PORTB ;Iniciar en 0 Puerto B
clrf PORTC ;Iniciar en 0 Puerto C
test: ;En esta subrutina se verificara si los 4 entradas están activas
BTFSS PORTA,0 ;Si Port A0 = 0 salta a la etiqueta up, si es 1 verificara el estado de A1
goto up
BTFSS PORTA,1 ;Si Port A1 = 0 salta a la etiqueta up, si es 1 verificara el estado de A2
goto up
BTFSS PORTA,2 ;Si Port A2 = 0 salta a la etiqueta up, si es 1 verificara el estado de A4
goto up
BTFSS PORTA,4 ;Si Port A4 = 0 salta a la etiqueta up, si es 1 verificara salta a la subrutina Test_Motor
goto up
goto Test_Motor
up:
BTFSS PORTA,0 ;Si PORT A0 es 1 salta una linea, si es 0 lee la siguiente
goto down ;Ir a etiqueta Down
BTFSS PORTB,4 ;Si Port B4 esta en 0 leerá linea siguiente
;Sistema de seguridad asociado a Sensor 1
goto Motor_Up ;Ir a subrutina Motor_Up
goto main ;Volver a etiqueta main
down:
BTFSS PORTA,1 ;Si PORT A1 es 1 salta una linea
goto left
BTFSS PORTB,5
goto Motor_Down
goto main
left:
BTFSS PORTA,2 ;Si PORT A2 es 1 salta una linea
goto right
BTFSS PORTB,6
goto Motor_Left
goto main
right:
BTFSS PORTA,4 ;Si PORT A4 es 1 salta una linea
goto main
BTFSS PORTB,7
goto Motor_Right
goto main
;Subrutinas
;--------------------------------------------------
Motor_Up: ;Con esa subrutina el motor 1 gira hacia la izquierda
movlw b'00000011'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'00000110'
movwf PORTC
call Retardo_100ms
movlw b'00001100'
movwf PORTC
call Retardo_100ms
movlw b'00001001'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
goto main
Motor_Down: ;Con esa subrutina el motor 1 gira hacia la derecha
movlw b'00001100'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'00000110'
movwf PORTC
call Retardo_100ms
movlw b'00000011'
movwf PORTC
call Retardo_100ms
movlw b'00001001'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
goto main
Motor_Left: ;Con esa subrutina el motor 2 gira hacia la izquierda
movlw b'00110000'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'01100000'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
movlw b'11000000'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'10010000'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
goto main
Motor_Right: ;Con esa subrutina el motor 1 gira hacia la derecha
movlw b'11000000'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'01100000'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
movlw b'00110000'
movwf PORTC
bsf PORTA,5 ;Enciende led indicador
call Retardo_100ms
movlw b'10010000'
movwf PORTC
bcf PORTA,5 ;Apaga led indicador
call Retardo_100ms
goto main
Test_Motor:
bsf PORTA,5 ;Enciende led indicador
Motor1_Up: ;Motor 1 girara hacia la izquierda
movlw b'00000011'
movwf PORTC
call Retardo_100ms
movlw b'00000110'
movwf PORTC
call Retardo_100ms
movlw b'00001100'
movwf PORTC
call Retardo_100ms
movlw b'00001001'
movwf PORTC
call Retardo_100ms
BTFSS PORTB,4 ;Si Port B4 = 0, lee la linea siguiente, si es 1 Salta una linea
goto Motor1_Up ;Si Port B4 (Sensor1) es 0, vuelve a leer la subrutina Motor1_Up
goto Motor1_Down ;Si Port B4 es 1 saltara a la subrutina Motor1_Down
Motor1_Down: ;Motor 1 girara hacia la derecha
movlw b'00001100'
movwf PORTC
call Retardo_100ms
movlw b'00000110'
movwf PORTC
call Retardo_100ms
movlw b'00000011'
movwf PORTC
call Retardo_100ms
movlw b'00001001'
movwf PORTC
call Retardo_100ms
BTFSS PORTB,5 ;Si Port B5 = 0, lee la linea siguiente, si es 1 Salta una linea
goto Motor1_Down ;Si Port B5 (Sensor2) es 0, vuelve a leer la subrutina Motor1_Down
goto Motor2_Left ;Si Port B5 es 1 saltara a la subrutina Motor1_Left
Motor2_Left: ;Motor 2 girara hacia la izquierda
movlw b'00110000'
movwf PORTC
call Retardo_100ms
movlw b'01100000'
movwf PORTC
call Retardo_100ms
movlw b'11000000'
movwf PORTC
call Retardo_100ms
movlw b'10010000'
movwf PORTC
call Retardo_100ms
BTFSS PORTB,6 ;Si Port B6 = 0, lee la linea siguiente, si es 1 Salta una linea
goto Motor2_Left ;Si Port B6 (Sensor3) es 0, vuelve a leer la subrutina Motor1_Left
goto Motor2_Right ;Si Port B6 es 1 saltara a la subrutina Motor1_Right
Motor2_Right: ;Motor 2 girara hacia la Derecha
movlw b'11000000'
movwf PORTC
call Retardo_100ms
movlw b'01100000'
movwf PORTC
call Retardo_100ms
movlw b'00110000'
movwf PORTC
call Retardo_100ms
movlw b'10010000'
movwf PORTC
call Retardo_100ms
BTFSS PORTB,7 ;Si Port B7 = 0, lee la linea siguiente, si es 1 Salta una linea
goto Motor2_Right ;Si Port B7 (Sensor4) es 0, vuelve a leer la subrutina Motor1_Right
clrf PORTC ;Si Port B7 es 1 limpia Port C
bcf PORTA,5 ;Si Port B7 es 1 Apaga Led indicador
goto main ;Si Port B7 es 1 Vuelve a la etiqueta main
Include <RETARDOS.INC> ;Incluimos la libreria llamada RETARDOS.INC
END ;fin del programa