Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: Los microcontroladores PIC

Los microcontroladores PIC 5 años 5 meses ago #93

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
voy a comenzar una explicación sobre estos dispositivos, y me gustaría que también aporten los que están iniciándose en este ámbito, la electrónica.

primero que nada para la elección de uno de estos dispositivos es elegir cual, hay de 8 patas, 16, 24, 48.... y se eligen de acuerdo a la aplicación o en el caso de usar uno de muchas patas, por stock o por funcionalidades, que quiero decir con esto, uso el 16F873, y con un diseño de placa tengo. con pequeñas modificaciones y/o agregados, multiples usos, desde un generador de tonos, medidor de temperatura y loger, control de aire acondicionado, control a distancia por cable, (comunicación a través del protocolo 485 usart), control de un lavarropa industrial, control de porton, ...etc

una ves que sabemos lo que queremos hacer vamos a necesitar el datasheet de nuestra elección,

también las herramientas de software para programar, compilar y "quemar" el dispositivo elegido, (esto de quemar suena heavy),...


como software para la programación se puede utilizar el block de notas del windows, o el kate de linux o el editor que prefieran, aunque les recomendaría que bajen e instalen el MPLAB de microchip

otra herramienta seria el niple para una edición de el código fuente a traves de diagrama de flujo, (utiliza el MPASWIN que provee la instalación del MPLAB), y por ultimo ell que va a "quemar" nuestro programa dentro de microcontrolador, el NOP, el ICPROG, el PONYPROG

en cuanto al hardware necesario hay diversas placas por internet para estos menesteres

el NOP, JDM, etc
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: Henryflash, casclima

Los microcontroladores PIC 5 años 5 meses ago #107

  • a1
  • Avatar de a1
  • Offline
  • Visitante
  • Mensajes: 9
  • Gracias recibidas 2
Hola madi_maggio. Aqui tendriamos que saber progranar en C?
El administrador ha desactivado la escritura pública.

Los microcontroladores PIC 5 años 5 meses ago #109

  • gerardobkcc
  • Avatar de gerardobkcc
  • Offline
  • Frigonero Platinum
  • Es lo que hay!!!!!!!
  • Mensajes: 2466
  • Gracias recibidas 3384
Hola Jose!!!

Te pido por favor que tengas a bien buscar en el foro el post de tu presentacion. Donde lo pusiste no va ya que es la presentacion de otro usuario. Lo removi de alli y lo puse en un posteo solo asi esa es tu presentacion. De todos modos te pido lo busques y leas ya que te deje una preguntas que me gustaría respondas asi tu presentacion queda completa.

Desde ya agradezco tu paciencia y comprencion!!!

gerardobkcc
Pero la amistad real no es aquella donde jamás hay un roce o una discusión, sino aquella donde todas pueden ser superadas...
Julio Rosas (1964-2015)
Última Edición: 5 años 5 meses ago por gerardobkcc.
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: Massimiliano

Los microcontroladores PIC 5 años 5 meses ago #111

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
si sabes programar en C estaría bueno, (yo no se, pero ya mismo estoy en eso....), pero básicamente voy a comenzar con ASM
tipo

BSF
BCF
MOVLW

o sea, el juego de instrucciones que trae el micro incorporadas, (son 35 para el 16F873 y varios mas)
movlw b'00010010'                ;configurar el puerto a 
   bsf status,rp0                   ;cambiar a banco 1
   bcf status,rp1
   movwf trisa
   movlw b'00000111'                
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: casclima

Los microcontroladores PIC 5 años 5 meses ago #122

  • a1
  • Avatar de a1
  • Offline
  • Visitante
  • Mensajes: 9
  • Gracias recibidas 2
No compañero, ojala.
Ok te entiendo, esta buena tu propuesta
El administrador ha desactivado la escritura pública.

Los microcontroladores PIC 5 años 5 meses ago #188

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
seria interesante que comentaran cuando ya tengan las herramientas instaladas, así avanzamos sobre este tema, el MPLAB para linux esta disponible arturo, ya se que estas muy ocupado, pero siempre un ratito podes robar, jajaja
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: casclima

Los microcontroladores PIC 5 años 5 meses ago #191

  • a1
  • Avatar de a1
  • Offline
  • Visitante
  • Mensajes: 9
  • Gracias recibidas 2
Bueno madi ya tengo instalado el MPLAN, me interesa aprender el tema.
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: madi_maggio

Los microcontroladores PIC 5 años 5 meses ago #194

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
tutorial hecho por mi sobre MPLAB 8 al MPLAB X todavia no le agarre la mano...

pics on the frigonet
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: casclima

Los microcontroladores PIC 5 años 5 meses ago #195

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
Este código hay que ponerlo en el editor del MPLAB para así ya tener algo que practicar/ver,
las primeras instrucciones están referidas a la configuración del micro controlador a utilizar, en ese código se declara el PIC y los "fusibles"
__CONFIG _XT_OSC & _DEBUG_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_ENABLE_OFF & _CP_OFF

cada uno de ellos le dice al micro controlador como comportarse, pero no se preocupen, jamas lo configuro desde acá, ya que utilizo el icprog y me permite configurar los bits de configuración, (valga la redundancia), de una manera simple, así que a esta parte no le vamos a prestar atención por el momento, a no ser que cambiemos de pic
luego esta la declaración de registros, acá es donde se declaran las variables que vamos a utilizar, porque?, porque en realidad la variable esta apuntando a una posición de memoria, que es justamente el numero hexa que le sigue, así que cuando uno pone el código

;DECLARACION VARIABLES
W 0X0000
VARIABLE 0X0021
;PROGRAMA
..
...
MOVWF VARIABLE

en realidad lo que se esta haciendo es MOVer el registro F (VARIABLE) a W (w es un registro de trabajo del microcontrolador)
en definitiva estaríamos colocando el numero hexa guardado en la posición de memoria 0x0021 (VARIABLE) en la posición de memoria 0x0000 (W)

algo importante, a los registros del micro no podemos cambiar su dirección hexa, ya viene definidos y declarados
;
;
;****************PROGRAMA: ENCENDIDO LED Y APAGADO **************
;---------------- HTTP://WWW.FRIGONET.COM.AR -------------------
; By madi_maggio
; FRECUENCIA DE RELOJ 4 MHZ (ESTA FRECUENCIA SE DIVIDE POR CUATRO, 
; EN REALIDAD EL MICRO PROCESA A UNA VELOCIDAD DE 1 MHZ CUANDO 
; TIENE UN CRISTAL DE 4)

 LIST    P=PIC16F873A


_XT_OSC               EQU  0X3FFD
_DEBUG_OFF            EQU  0X3FFF
_WDT_OFF              EQU  0X3FFB
_PWRTE_ON             EQU  0X3FF7
_BODEN_OFF            EQU  0X3FBF
_LVP_OFF              EQU  0X3F7F
_CPD_OFF              EQU  0X3FFF
_CP_OFF               EQU  0X3FFF
_WRT_ENABLE_OFF       EQU  0X3DFF

 __CONFIG _XT_OSC & _DEBUG_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_ENABLE_OFF & _CP_OFF


;------------------------------------------------------------
;                  DECLARACIÓN DE REGISTROS
;------------------------------------------------------------
W                     EQU  0X0000
STATUS                EQU  0X0003
PORTB                 EQU  0X0006
PCLATH                EQU  0X000A
TIEMPO1               EQU  0X0021
TIEMPO2               EQU  0X0022
TIEMPO3               EQU  0X0023
TRISB                 EQU  0X0086


;------------------------------------------------------------
;                  DECLARACIÓN DE BITS
;------------------------------------------------------------
C                     EQU  0   ;CARRY / BORROW BIT
RP0                   EQU  5   ;REGISTRER BANK SELECT BIT
RP1                   EQU  6   ;REGISTRER BANK SELECT BIT
Z                     EQU  2   ;BIT CERO
BIT_4_PUERTO_B        EQU  4   ;BIT 4 DEL PUERTO B


;------------------------------------------------------------
;                        INICIO
;------------------------------------------------------------

RESET   ORG 0
   GOTO INICIAR


;------------------------------------------------------------
;                      PROGRAMA PRINCIPAL
;------------------------------------------------------------
INICIAR
   NOP
   NOP
   MOVLW B'00000000'                ;CONFIGURAR EL PUERTO B COMO SALIDA
   BSF STATUS,RP0                   ;CAMBIAR A BANCO 1
   BCF STATUS,RP1
   MOVWF TRISB
   BCF STATUS,RP0                   ;CAMBIAR A BANCO 0
   CLRF PORTB
   CALL LIMPIAR_VAR
CICLOS
   BCF PORTB,BIT_4_PUERTO_B          ;BIT NUMERO 4 DEL PUERTO B
EN_CUENTA
   DECFSZ TIEMPO1,1
   GOTO EN_CUENTA                     
   CLRF TIEMPO1
   DECFSZ TIEMPO2,1
   GOTO CICLOS
   CLRF TIEMPO2
   BSF PORTB,BIT_4_PUERTO_B          ; 197 mse aprox
   CALL DESCONTAR_TIEMPO
PASO16
   NOP                               ; 197 mse aprox
   NOP
   GOTO PASO16                      ;CIERRA EL CICLO


;------------------------------------------------------------
;                  DECLARACIÓN DE SUBRUTINAS
;------------------------------------------------------------

LIMPIAR_VAR
   BCF STATUS,RP0                   
   BCF STATUS,RP1
   CLRF TIEMPO1
   CLRF TIEMPO2
   CLRF TIEMPO3
   RETURN


DESCONTAR_TIEMPO
   BCF STATUS,RP0                   
   BCF STATUS,RP1
DESCONTAR_TIEMPO_1
   DECFSZ TIEMPO1,1
   GOTO DESCONTAR_TIEMPO_1      
   CLRF TIEMPO1
   DECFSZ TIEMPO2,1
   GOTO DESCONTAR_TIEMPO_1       
   CLRF TIEMPO2
   RETURN


 END

prueben y seguimos con los comentarios
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: casclima

Los microcontroladores PIC 5 años 5 meses ago #196

  • gerardobkcc
  • Avatar de gerardobkcc
  • Offline
  • Frigonero Platinum
  • Es lo que hay!!!!!!!
  • Mensajes: 2466
  • Gracias recibidas 3384
:huh: :blink: :huh: :silly:

:pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch: :pinch:
Pero la amistad real no es aquella donde jamás hay un roce o una discusión, sino aquella donde todas pueden ser superadas...
Julio Rosas (1964-2015)
El administrador ha desactivado la escritura pública.

Los microcontroladores PIC 5 años 5 meses ago #197

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
bueno, aca esta el tutorial de MPLAB X y encima la versión linux ;) puede que difiera de la versión windows, no lo se. :dry: :lol:
tutorial mplab x

gerardo, podes seguir los pasos y ver que resulta, total a lo sumo reconoces que no podes y listo :silly: :silly:
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: gerardobkcc, casclima

Los microcontroladores PIC 5 años 5 meses ago #199

  • gerardobkcc
  • Avatar de gerardobkcc
  • Offline
  • Frigonero Platinum
  • Es lo que hay!!!!!!!
  • Mensajes: 2466
  • Gracias recibidas 3384
O... key... mente...

Lo reconozco!!!!! :P :P :P :P
Pero la amistad real no es aquella donde jamás hay un roce o una discusión, sino aquella donde todas pueden ser superadas...
Julio Rosas (1964-2015)
Última Edición: 5 años 5 meses ago por gerardobkcc.
El administrador ha desactivado la escritura pública.

Los microcontroladores PIC 5 años 5 meses ago #258

  • alitoparana
  • Avatar de alitoparana
  • Offline
  • Frigonero Asiduo
  • flat
  • Mensajes: 67
  • Gracias recibidas 29
El lenguaje assembler o ensamblador es el lenguaje primitivo;Con el cual se programo el primer procesador que era propeidad de INTEL.
Si bien es un lenguales de bajo nivel y muy potente ya que permite manejar y controlar el Microcontrolador en lo mas intimo es un lenguajes deficil y no tan universal, ya que no todos los microcontroladores admite instrucciones aseembler.
Yo siempre fui partidario del lenguaje C que es mas intuitivo y de mas alto nivel que el ensamblador.
Con el C en una linea de codigo se puede resumir 5 o 6 nemonicos en ensamblador.lo que conlleva programas muchos mas cortos y de facil depuracion.
Existen muchos compiladores de C ya sea el DJGPP para un sistema en DOS hasta WINDOWS XP
Y el visual C++ para versiones de windows xp en adelante.
Dicho codigo se exporta en extencion .C en el DJGPP o .DEV en el visual C++.
Dicho archivo se importa desde el MPLAB para luego ser volcado al Microcontrolador.
Es muchos mas lindo el C, no se van arrepentir jaja

saludos
El administrador ha desactivado la escritura pública.

Los microcontroladores PIC 5 años 5 meses ago #260

  • madi_maggio
  • Avatar de madi_maggio
  • Offline
  • Administrador
  • Mensajes: 3852
  • Gracias recibidas 3677
:lol: así que el C es mas fácil que el emsamblador de PICs? :lol:

leyendo el pdf que microchip te entrega tenes todas las instrucciones, son 35, vos decís que es mas fácil la programación orientada a objetos?, bueno, podemos hacer algo practico, viste el código que yo coloque? hacelo en C y postealo, para que el MPLAB lo debugee, tal como hice yo, y ahi comparamos....
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: alitoparana, casclima

Los microcontroladores PIC 5 años 5 meses ago #433

  • petete59
  • Avatar de petete59
  • Offline
  • Nuevo
  • Mensajes: 4
  • Gracias recibidas 5
Para hacer programas con los PIC en C Yo estuve usando PIC C Compiler.es muy completo y podes simular en Proteus
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: alitoparana, frisil
Moderadores: Ayrton, pepelui