lunes, 29 de junio de 2020

PROGRAMACION DE PIC EN C++ Y ASM : 6.ADC CON PIC

6.ADC CON PIC
A)ASSEMBLER 
 O mejor conocido como Comvertido Analogico a Digital muy util para sensores o transferencia de datos  
Donde un voltaje fluctuante , puede ser detectada y medida medias módulos internos que posee el PIC en la cual según el contralorear lo puede ser guarda en 8 bits o 10 bits  que equivaldría a 258 o 1024
En el micro controlador que  vamos a utilizar poseer un almacen de 10 bits y 8 puertos para reconocer voltaje analógico que es y es el PIC16f877a que segun el datashet para hacerlo funcional se tiene que configurar el REGISTRO ADCON0 Y ADCON1 donde los datos se almacenan en ADRESH (8bits)y ADRESL segun como lo configures en el ADCON1
 
 Otro Cosa que tenemos que tener en cuenta es que los Bits a utilizar estén en entrada y la funcion que realizara la Lectura del ADC es la funcion BSF ADCON,2 
y por ultimo detalle es que el ADCON0 esta en el BANKO 1 y ADCON1 esta en BANKO 0 en la cual puede acceder a ello mediante la funcion BSF START,5(Banco1) y BCF START,5(Banco0)



B) C++
Configuraciones de ADCON0 
SETUD_ADC ( ____ )
ADC_CLOCL_DIV_2
ADC_CLOCK_DIV_8
ADC_CLOCL_DIV_32
ADC_CLOCK_INTERNAL

Para seleccionar BIT de entrada , en el WHILE
SET_ADC_CHANNEL(_)
'0' = RA0
'1' = RA1
'2' = RA2
'3' = RA3
'4' = RA4
'5' = RA5
'6' = RA6
'7' = RA7

Para inicial lectura se utiliza solo depues de SET_ADC_CHANNEL(?)Recuerden que solo hay un Registro que es ADRESH
REAL_ADC();
Si quieres utilizar los 2 bits menos significativo recuerda que esta en ADRESF

y solo quedaria selecionar que bits a utilizar en el ADCON1
SETUP_ADC_PORTS(____) 



























viernes, 26 de junio de 2020

PROGRAMACION DE PIC EN C++ Y ASM : 5.PWM CON LED

5.PWM CON LED 
 Para poder manejar el PWM vamos a dar una chequeada en el manual del pic , en este ejemplo usaremos el PIC 16f877a por lo tanto usaremos el datashep 16f8xxa(pag67)
Donde nos indicara que es el PWM y como activar el modo PWM en el micro controlador

  BCF PORTC,2 ; BIT 2 DEL PUERTO C COMO SALIDA
 
 
 





 
                    




miércoles, 24 de junio de 2020

PROGRAMACION DE PIC EN C++ Y ASM : 3. BLINK EN PIC

3. BLINK EN PIC
 Parpadeo de led de prueba es un ejemplo muy útil para la introducción en programación en pic por que implica en funcionamiento del programa del compilador , simular en proteus ,el de cargar las introducciones al pic y el respectivo montaje en protoboar.´
 
3.1 INSTRUCCIONES BÁSICAS
A) ASSEMBLER 
 
- INCLUDE (Incluir)    <____ .INC>
Permite incluir una libreria siempre encuando este en la carpeta ==> C:\Program Files (x86)\Microchip\MPASM Suite
 
-LIST (Lista) LIST   P=______
 Ayuda al compilar a identificar rápidamente que PIC se esta utilizando 
 
- ORG (Origin) ORG 0x__
ORG 0X00 ;permite decir al ensamblador que la rutina comienza en 0x00 y luego pasa a 0x05
ORG 0X04 ;permite decir al ensamblador donde esta la rutina de interrupcion
ORG 0X05 ;permite decir al ensamblador que Aqui comienza el programa 
ORG 0X30 ;permite decir al ensamblador que estam las subrutinas
 
- END
 Indica al ensamblador que el programa ya a terminado
 
- BCF (Bit clear File) BCF _____ , _
 Pone a 0 , al bit correspondiente del Registro especificado
 
- BSF (Bit set File)  BSF _____ , _
Pone a 1 , al bit correspondiente del Registro especificado 
 
- MOVLW (Move literal to W) MOVLW _X__
 Inserta un valor al Registro interno W  (W=_X__)
 
- MOVWF (Move W to F) MOVWF ______
Saca el valor del Registro interno y lo iguala a otro registro especificado
(W=_X__ ; W = (REGISTRO ESPECIFICADO) )
 
- BTFSS (Bit test, skip if set) BTFSS _____ , _
Evalúa al bit especificado y si es uno ,salta la linea siguiente 
(Si es 1 ►█ O █ █ █ █... y si es 0 ► █ █ █ █ █ █ ...)
 
- BTFSC (Bit test, skip if clear) BTFSC _____ , _
Evalúa al bit especificado y si es cero ,salta la linea siguiente 
(Si es 0►█ O █ █ █ █... y si es 1 ► █ █ █ █ █ █ ...)
 
- GOTO (Go to address) GOTO _____
Permite  pasar al programa ir a otra parte del código 
 
- CALL (Llamada a subrutina) CALL ______
 Similar al goto pero sin la posibilidad de regresar , lo que hace es llamar a una subrutina
 
 
- RUTURN (Retorno de subrutina)
Se es necesario un return para que la Funcion CALL Termine y regrese a donde se habia quedado 
 
- EQU (Igual) ____ EQU (Un registro del PIC)
Es una funcion que permite dar un nombre a un registro cualquiera del PIC , lo más comun es usarlo para crear variables  
 
- DECFSZ (Decrement f,skip if 0) DECFSZ______
 Es una funcion que resta en 1 al registro especificado y si llega a 0 entonces salta una linea 
( X=20►DECFSZ►X=19 ► █ █ █ █ █ █ ... y si X=0 ►█ O █ █ █ █... )
 
- DECF (Decrement ) DECF_______
 Es una funcion que resta en 1 al registro especificado
 (X=32►DECFSZ►X=31)
 
- INCFSZ (Increment f,skip if 0) INCFSZ ________
Es una función que aumenta  en 1 al registro especificado y si llega a 255 luego pasa a 0 entonces salta una linea 
 ( X=255►DECFSZ►X=0 ► █ O █ █ █ █ ... y si no es 0►█ █ █ █ █... )
 
- INCF (Increment) INCF_______
Es una funcion que aumenta en 1 al registro especificado 
  ( X=45►INCF►X=46)
 
https://pwmlabs.wordpress.com/2017/09/27/instrucciones-basicas-en-assembler-para-programar-pics/
 






 
B) C++ 
 



 
 
 

 
 
  

PENTAGRAMA Y TABS DE GUITARRA