MPLAB
January 22, 2007 at 12:06 am | Posted in MPLAB, Tutorial | 258 CommentsMPLAB es una herramienta para escribir y desarrollar código en lenguaje ensamblador para los microcontroladores PIC. MPLAB incorpora todas las herramientas necesarias para la realización de cualquier proyecto, ya que además de un editor de textos cuenta con un simulador en el que se puede ejecutar el código paso a paso para ver así su evolución y el estado en el que se encuentran sus registros en cada momento.
MPLAB es un software gratuito que se encuentra disponible en la página de Microchip, la versión actual (al momento de escribir estas palabras) es la 7.51 y será la versión utilizada en esta guía y en todos los ejemplos de esta página.
Empecemos por el principio. Lo primero es descargar e instalar el programa, para eso solamente se debe seguir el siguiente enlace: Descargar MPLAB 7.51; una vez hecho eso proceder a instalarlo cómo cualquier programa, con todas las opciones que vengan por defecto, también se puede hacer una instalación personalizada pero eso no lo explicaré aqui ya que por el momento no es importante. Al finalizar la instalación ejecutamos el recién instalado MPLAB y tendremos una pantalla como esta:
Lea el artículo completo en el blog Circuitos electronicos.
258 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a reply to carlos Cancel reply
Blog at WordPress.com.
Entries and comments feeds.
requiero mas codigo fuente de ejemplos ya que recien me inicio en este lenguaje y quiero practicarlo. plis me es muy necesario, si es de un sistema de seguridad de casa mucho mejor, gracias…
Comment by Edgar— January 30, 2007 #
Pronto pondré código fuente de más ejemplos así que si vas empezando a programar no dejes de consultar este sitio
Estas interesado en un sistema de seguridad? Dime más o menos cual es la idea del proyecto y te ayudo
Comment by micropic— January 30, 2007 #
Si pudieras hacer tambien un tutorial sobre como simular los programas en mplab sería muy bueno y si puedes hablar de algun otro simulador
Comment by Rojo— February 10, 2007 #
esto es lo que buscaba, tnx, no se si ya lo subiste, pero te recomiendo que publiques los set de instrucciones, eso ayuda para crear codigo.
Comment by Mandracke— February 15, 2007 #
El set de instrucciones es algo que tengo pendiente, hasta ahora las instrucciones las he ido explicando a medida que las uso en los ejemplos pero proximamente dedicaré un post exclusivo a las 35 instrucciones. Gracias por tu comentario.
Comment by micropic— February 15, 2007 #
hola, alguien me daria una idea que pueda programar en mplab simulando algun pic? que pueda ver en el simulador, el que me pueda dar ideas le agradeceria mucho
Comment by Jaco— February 18, 2007 #
No se puede bajar el programa de instalacion del MPLAB, por favor, otra pagina donde pueda bajarlo
Comment by Erika Diaz— February 27, 2007 #
Erika yo acabo de descargar el mplab 7.51 usando el enlace de esta página y se bajo sin problemas, vuelve a intentarlo y sino trata de descargarlo directamente de la pagina http://www.microchip.com
Comment by transistor— February 28, 2007 #
Erika la verdad es que yo no tengo ningun problema al descargar MPLAB desde el link de esta pagina, lo acabo de hacer y se descargo de manera correcta, vuelve a intentar o como dice transistor entra directamente a la pagina de Microchip y ahi busca el enlace a MPLAB
Comment by micropic— March 2, 2007 #
FULL LA TEORIA Y LOS EJEMPLOS.
SOY PRIMIPARO EN ESTO DE LOS PIC.
QUIERO SEGUIR CON TU AYUDA.
GRACIAS KABUBIS
Comment by JAIRO RODRIGUEZ— March 17, 2007 #
me gustaria saber si este programa esta correcto:
LIST P=16F84
RADIX HEX
INCLUDE
CONTA EQU 0X0C
ORG 00
goto CONFIG
ORG 05
CONFIG bsf STATUS,RP0
movlw 01
movwf TRISB
bcf STATUS,RP0
INICIO clrf PORTB
call conta_6
ESPERA BTFSC PORTB,0
goto espera
CICLO decfsz Conta,1
goto EXPLORA
call CONTA_6
EXPLORA BTFSS PORTB,0
GOTO ciclo
call display
goto espera
CONTA_6 movlw 06
movwf CONTA
return
DISPLAY movfw CONTA
call codigo
movwf PORTB
return
CODIGO addwf PCL,1
retlw b’01111111′
END
Comment by MASTRANZO— March 17, 2007 #
¿Es compatible con Windows Vista esta versión de MPLAB?
Comment by Antonio— March 19, 2007 #
Asi es, yo uso la version 7.51 en Windows Vista y no he tenido ningún problema
Comment by micropic— March 19, 2007 #
hola, esta pagina me es de gran ayuda pero bueno soy nueva en esto, asi que te agradeceria si me pudieras decir como trabaja el icprog
Comment by Irma— March 21, 2007 #
hola mi comentario es si existe un programa bueno mejor dicho si esxiste alguna version de MPLAB para una texas voyage 200 y de dond puedo descargarlo
Comment by hugo— March 24, 2007 #
estimados:
soy nuevo en esta materia…
y me gustaria ayuda….
necesito hacer un programa ….
en donde hay q setear todo el puerto A como entrada
y el puerto b como salida
y luego hacer una AND entre el porta y el portb
es solo el bit 0 y el 1 del puerto a
Comment by daniel mella— April 19, 2007 #
hola, resulta que mi laptop es con windows vista y le trate de instalar MPLAB v7.51 pero cuando termina de instalarlo sale lo siguiente:
MPLAB TOOLS v7.51 Error IS OnError
Error 19.35.An Error ocurred during the installation of assembly ‘Microsoft, MSXML2R, version=”4. 1.0.0, tipe=”win32″, processorArchitecture=”x86″. please refer to help support for more information.
Comment by Yesid— April 19, 2007 #
hola, resulta que mi laptop es con windows vista y le trate de instalar MPLAB v7.51 pero cuando termina de instalarlo sale lo siguiente:
MPLAB TOOLS v7.51 Error IS OnError
Error 19.35.An Error ocurred during the installation of assembly ‘Microsoft, MSXML2R, version=”4. 1.0.0, tipe=”win32″, processorArchitecture=”x86″. please refer to help support for more information.
Podrian por favor decirme que estoy haciendo mal?
Comment by Yesid— April 19, 2007 #
boton derecho sobre el .exe de instalacion y selecciona instalar como administrador.
Comment by =^-^=— April 25, 2007 #
te agradezco la informacion,definitivamente no podia instalar el mpalab
Gracias
Comment by MIGUEL— November 20, 2011 #
CORDIALES SALUDOS A LOS AMIGOS QUIENES ME ATIENDEN: AGRADESERIA QUE ME ENVIEN LA FORMA MAS RAPIDA DE APRENDER A PROGRAMAR EN MPLAB
ATTE DAVID
Comment by DAVID ZUÑIGA C.— April 29, 2007 #
CORDIALES SALUDOS A LOS AMIGOS QUIENES ME ATIENDEN: AGRADESERIA QUE ME ENVIEN LA FORMA MAS RAPIDA DE APRENDER A PROGRAMAR EN MPLAB
ATTE
DAVID
Comment by DAVID ZUÑIGA C.— April 29, 2007 #
Excelente tutorial FELICITACIONES, soy principiante en esto y no se como se pasa este programa al PIC, me podrian dar informacion de esto, GRACIAS
Comment by Edwin— April 29, 2007 #
tengo problemas para instalar el mpelab en windows vista me aparece el mismo error mencionado anteriormente please ayuda necesito
Comment by nicolas— May 11, 2007 #
espero que pronto tengan el tutorial para para utilizar el winpic 800
Comment by EdGaR— May 13, 2007 #
tengo una tarea de hacer funcionar una rueda de la fortuna que con dos entradas gira 5 seg por 5 ocaciones al concluir gira po 2 min y al bajar espera por 7 seg y gira por 3seg y se repite por 5 veces tambien
Comment by Isis— May 25, 2007 #
como puedo apreder a progamar en mplab lo mas rapido posible
Comment by Isis— May 25, 2007 #
Si alguien tiene el circuito y la programacion para un temporizador que pueda utilizar en una maquina arcade para controlar el tiempo por fichas por ejemplo un pulso 30 minutos 2 pulsos 60 minutos y que al llegar a cero corte la masa de los controles.
Desde ya muchas gracias…
Comment by Jorge Brian— June 4, 2007 #
Make: The target “C:\Nueva carpeta\led.o” is out of date.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F628A “led.asm” /l”led.lst” /e”led.err”
Loaded C:\Nueva carpeta\led.COD.
BUILD SUCCEEDED: Wed Jun 06 10:13:55 2007
no se como crear el archivo led.hex si me pueden ayudar
Comment by luilly— June 6, 2007 #
por favor si tienen un programa que genere un tono de alarma es decir un panel de voceo
Comment by luilly— June 6, 2007 #
quisiera saber de donde puedo descargar: *como usar las funciones que tiene el mplab en castellano
Comment by Cesar trelew— June 6, 2007 #
hola bueno e comprendido el programa que enciende el leds pero me queda una duda es el simbolo $ que funcion cumple me lo podrias explicar por favor
Comment by daniel— June 15, 2007 #
hola quisiera qe por favor alguien me expliqe o diga lo mas urgentemente como se llega a los registros generales y registros de rotacion hacia izquierda y derecha, ya qe en pocos dias tengo un examen sobre esto
Comment by eca— June 19, 2007 #
Los registros de propósito general son los que se encuentran después de la dirección 0x20 de cada banco de memoria. Sobre los registros de rotación hacia izquierda y derecha tal vez estás confundida y te refieres a las instrucciones RLF y RRF.
Revisa este enlace donde hay un ejemplo sobre como recorrer bits utilizando la instrucción RRF.
Comment by micropic— June 20, 2007 #
nesesito ayuda para hacer instrucciones para poder manejar un motor de paso o motor Dc
Comment by gabriel marin— June 23, 2007 #
bueno necesito un poco de mas informacion xq quiero aprender a manejar un sistema de riego x goteo y quiero saber como me va a servir el mplab gracias
Comment by ronald cristhian miranda— June 28, 2007 #
tengo una duda, si vos me podrias explicar algo de risc, tengo qe programar igual…. gracias
Comment by eca— June 28, 2007 #
No me funcionan los programas corridos por el programa MPLAB y los trato de correr en el IC-PROG y me da error 00000h no se que hacer quiero q me ayuden
Comment by Isaac— June 30, 2007 #
No me funcionan los programas corridos por el programa MPLAB y los trato de correr en el IC-PROG y me da error 00000h no se que hacer quiero q me ayuden, trato de programar un IC-16f877a y no funciona que puedo hacer
Comment by Isaac— June 30, 2007 #
quiera saber si yo tengo un programa en codigo C++, como tengo que hacer o modificar en los pasos que dijiste pra obtener la extension.hex
gracias seria de mucha ayuda tu respuesta
Comment by franz— July 2, 2007 #
Por que no pones un tutorial de MPLAB en C++ ?????
Comment by Landin— July 9, 2007 #
estuve tratando de instalar en mi portatil mplab 7.51; presionando click derecho sobre el archivo .exe y abriendolo como administrador y sigue saliendo el mismo mensaje de error que fue mencionado anteriormente.
Si existe alguien que puesda ayudarme se lo agradeceria ya que me urge crear un programa y estoy varado.
GRACIAS
Comment by neo— July 19, 2007 #
Hola a todos, a mi tambien me pasaba el error que habeis puesto anteriormente, les he enviado esa duda a los de microchip y me han contestado lo siguiente:
Lo que pasa es que el instalador no tiene aceso al registro asociado con la instalacion del modulo MSXML
Puedes hacer lo siguiente para arreglar esto
1. Deselecionar el componente de VDI en los checkboxes durante la instalacion
2.Si quieres usar VDI, puedes bajar MSXML 4.0 de este este
http://www.microsoft.com/downloads/details.aspx?FamilyID=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&DisplayLang=en
The installation package may provide more detail on the privileges required to install MSXML.
3. Verifica que tengas todos los privilegios de permisos al directorio C:\Windows\WinSxS.
4. quita todos los scanners de viruses
Yo lo he probado con la version 7.42 y funciona, he probado con esta version porque con la 7.60 me salian errores con mi software y con esta no salía nada. Espero que les ayude, un saludo.
Comment by Alucard— July 20, 2007 #
Me podrian indicar como bajo a mi PC, MPLAB, – WINXP- VERSION FREE?
Comment by Carlos— July 24, 2007 #
tengo un problema, me marca error al compilar el programa y soy nuevo en esto asi que no se cual sea ese problema
Comment by Jorge— July 28, 2007 #
perdon, ya encontre el problema, en la antepenultima linea le falto ,0
Comment by Jorge— July 28, 2007 #
Carlos, para bajarte el MPLAB vete a la siguiente dirección: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002
Aquí lo encontraras totalmente gratuito.
Comment by Alucard— August 6, 2007 #
Alguien me puede facilitar material en el cual pueda programar mplab. muchas gracias
Comment by rodrigo— August 28, 2007 #
Felicidades por el sitio.
yo estoy haciendo practicas con el protocolo x10 para comunicaciones a traves de la red electrica con un pic 16f877 pero, no me ha quedado claro como hacer una transmision y recepcion con dicho pic
Comment by arthur— August 29, 2007 #
Buenas dias a todos donde puedo encontrar la continuación del tutorial q se encuentra arriba
Comment by PABLO— September 1, 2007 #
Hola a todos
Si alguien me pudiera decir como puedo copiar los datos de un micro ya grabado a un micro virgen
se los voy a agradecer muchísimo
gracias otra vez por adelantado
Comment by Charly— September 3, 2007 #
HoLa muchas gracias por tu ayuda con esto del mplab te pasaste!! 🙂
Comment by MaNu— September 3, 2007 #
Hola micropic me podrías decir, si el mplab me sirve
Para grabar en un micro controlador 8051 y si es así
Como puedo copiar de otro…?
Comment by Carlos— September 4, 2007 #
hola a todos , necesito de su ayuda, tngo windows vista y no puedo instalar mplab, al querer iniciar la descarga me sal e el siguiente error:”SO INCORRECTO A VERSION NO COMPATIBLE”, ALGUIEN ME PODRIA DECIR COMO SOLUCIONARLO, GRACIAS, MI CORREO ES alan_pandro@hotmail.com
Comment by alan— September 8, 2007 #
necesito ayuda con un proyecto de la siguiente manera:
Es una alarma, consta de un teclado matricial, una chicharra, un LCD, dos leds (encendido y apagado) y un sensor de 30 cm de distancia…. al momento de ingresar el codigo de acceso erroneo, en el LCD se escribira codigo invalido, y cuando ingrece el codigo correcto, me debera activar o desactivar la alarma…….. vale decir q cuando ingrece los codigos (4 digitos) en la LCD deberan aparecer no los numeros, sino asi ****…………………
cuando la alarma este activada y alguien corte la señal del sensor, la chicharra sonara……….
el pic q debo usar es el 16f877, por mplab ide 7.5
por favor, quien me pueda colaborar le voy a agradecer demaciado……. aqui dejo mi correo para quienes me puedan y quieran ayudar
jcudistrital@hotmail.com
gracias por todo
bye
Comment by juan carlos— September 12, 2007 #
juan carlos, tal vez la consulta que haces sería mejor que la hicieras en algun foro como http://www.forosdeelectronica.com o http://foros.solocodigo.com donde es probable que haya gente haciendo algun proyecto como el que quieras, sin duda ahí te podrían ayudar más rapido.
Comment by micropic— September 12, 2007 #
ok, gracias por tu ayuda….
Comment by juan carlos— September 12, 2007 #
hola, es que la verdad necesito un programa de comunicacion de pic a pic, por fa que sea en serie
Comment by alex— September 15, 2007 #
mira quisiera saber si tu puedes hacer un programa con el PIC16C84, que haga lo siguiente: “encender los leds conectados al puerto B desde el bit0 al bit7, cada 0.25 seg., el numero de veces que se coloque en el puerto A. Ejemplo Si el puerto A esta en uno el puerto B va a recorrer desde el bit0 al bit7 una sola vez. Si el puerto A esta en 0101, el puerto B va arecorrer cinco veces
Comment by Saavedra— September 17, 2007 #
Saavedra eso que quieres hacer no parece muy complicado, en este sitio creo que hay información suficiente para que puedas realizar ese programa.
Comment by micropic— September 18, 2007 #
saludos a todos locopic soy nuevo ,he progrado con proton pero me quedo con el asembler
Comment by leo— September 20, 2007 #
A TODOS AQUELLOS KE KIERAN APRENDER KOMO PROGRAMAR EL PIC PARA ACER SUS PRAKTIKAS LES
REKOMIENDO KE BAJEN EL “PIC SIMULATOR” DE LA PAJ DE MICROSHIP
Comment by ZHUMA— September 20, 2007 #
Hola a todos, yo no puedo instalar el MPLAB 7.51 en win vista, a que se debe microship? diganme porfa, les dejo mi msn para estar mas en contacto, gracias a todos
servandobar@hotmail.com
Comment by Servando— September 23, 2007 #
hola necesito informacion de como yo hacer un simulador y me lo piden en cualquier programa… si pueden tambien darme ideas porque apenas estoy estudiando sistema
Comment by sandra— October 3, 2007 #
Hola! Hice exactamente lo q dices pero me genera errores y no genera el archivo .hex. Ya no se q hacer!!
Comment by Raiza— October 5, 2007 #
Este es el programa, tengo q trabajar con una lcd pero no entiendo los errores q se generan
LIST P=16F877
INCLUDE P16F877.INC
__CONFIG 3D39H
CBLOCK 20H
PDel0
PDel1
ENDC
ORG 0X00
GOTO INICIO
INICIO BSF STATUS,RP0
MOVLW B’00000000′
MOVWF TRISB
MOVWF TRISE
BCF STATUS,RP0
GOTO ESTADO1
ESTADO1 BSF PORTE,2
BCF PORTE,0
MOVLW B’00001110′ ;SE LE INDICA A LA LCD QUE VA ATRABAJAR CON 8 BITS, 2 LINEAS
MOVWF PORTB
CALL RET
BSF PORTE,0
BSF PORTE,2
BCF PORTE,0
MOVLW B’00111000′ ;ENTRY MODE SET
MOVWF PORTB
CALL RET
BSF PORTE,0
BSF PORTE,2
BCF PORTE,0
MOVLW B’00000110′ ;INICIALIZA EL CURSOR EN EL PRIMER ESPACIO
MOVWF PORTB
CALL RET
BSF PORTE,0
RET movlw .8 ; 1 set numero de repeticion (B)
movwf PDel0 ; 1 |
PLoop1 movlw .249 ; 1 set numero de repeticion (A)
movwf PDel1 ; 1 |
PLoop2 clrwdt ; 1 clear watchdog
clrwdt ; 1 ciclo delay
decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto PLoop1 ; 2 no, loop
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.
estos son los errores
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F877 “lcd.asm” /l”lcd.lst” /e”lcd.err”
Warning[205] C:\PRACTICA 2\LCD.ASM 1 : Found directive in column 1. (LIST)
Warning[205] C:\PRACTICA 2\LCD.ASM 2 : Found directive in column 1. (INCLUDE)
Warning[205] C:\PRACTICA 2\LCD.ASM 3 : Found directive in column 1. (__CONFIG)
Warning[205] C:\PRACTICA 2\LCD.ASM 4 : Found directive in column 1. (CBLOCK)
Warning[205] C:\PRACTICA 2\LCD.ASM 7 : Found directive in column 1. (ENDC)
Warning[205] C:\PRACTICA 2\LCD.ASM 9 : Found directive in column 1. (ORG)
Warning[203] C:\PRACTICA 2\LCD.ASM 10 : Found opcode in column 1. (GOTO)
Message[302] C:\PRACTICA 2\LCD.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\PRACTICA 2\LCD.ASM 15 : Register in operand not in bank 0. Ensure that bank bits are correct.
Error[129] C:\PRACTICA 2\LCD.ASM 54 : Expected (END)
Halting build on first failure as requested.
BUILD FAILED: Fri Oct 05 09:19:05 2007
Comment by Raiza— October 5, 2007 #
Raiza, si te das cuenta al final de la lista que pones aparece “Error[129] C:\PRACTICA 2\LCD.ASM 54 : Expected (END)”, ese “Expected (END)” significa que el mplab no encontró la directiva END al final de tu código, siempre debes terminar el código con la directiva END, para que puedas compilar tu programa escribe END al final del código y listo.
Comment by micropic— October 5, 2007 #
Hola, estoy empesando con mplab,estoy depurando un codigo sencillo pero me genera el siguiente error>
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “C:\Documents and Settings\Administrador\Escritorio\MPLAB 7.62\MPLAB_Install_v7.62.exe” /q /p16F84 “segundo.asm” /l”segundo.lst” /e”segundo.err” /o”segundo.o”
Halting build on first failure as requested.
BUILD FAILED: Fri Oct 05 15:12:26 2007
alguien me podria decir cual sera el error,,,, gracias
Comment by jcqueipo— October 5, 2007 #
[…] 2007 at 2:55 pm | In Linux | Por mucho el post más popular de este blog es en el que explico la instalación y uso de MPLAB, sin duda porque es un entorno de desarrollo muy potente que permite escribir, ensamblar, simular y […]
Pingback by Instalar Piklab en Ubuntu « MicroPIC— October 5, 2007 #
ESTE TOTURIA POR PARETS DE USTEDES ES MUY BUENA YA QUE APOYA A MUCHOS PRICIPIANTES Y PROFESIONALES
LOS INVITO QUE CREAN UN CENTRO DE PROGRAMACION PARA AFILIACION MUNDIALMENTE PARA PROFESIONALE Y PRICIPIANTE Y BRINDALES ACESORIAS. YO PAGARIA LA AFILIACION AQUI EN COLOMBIA EN UNA INTIDAD BANCARIA.
Comment by Nelson Mora— October 14, 2007 #
interesante la idea de afiliar tambien a los principiantes. gracias
Comment by ALEX— October 15, 2007 #
Hola! Necesito programar un PIC18F452 en C ¿alguien puede explicarme con que software hacerlo? Las herramientas que tengo son el MPLAB 7.40, el PCW y eL programador que tengo es un picstart plus. Si utilizo el PCW, al cual encuentro fácil de usar, cómo hago para bajar el programa al chip¿luego con que bajo el .hex al chip? y su usara el MPLAB, cómo tengo que estructurar un programa?pregunto porque creo que no entiendo bien como funciona el compilador de MPLAB y me refiero a la hora de poner librerías, referirme a puertos, etc. Si también tienen ejemplos sería de gran ayuda. Gracias..!
Comment by Esteban— October 17, 2007 #
DISCULPA USTEDES ME PUEDEN AYUDAR REALIZANDO UN PROMGRAMA QUE SUME, RESTE Y DIVIDA EN MPLAB?.
Comment by nIU— October 24, 2007 #
necesito uin favor unprograma que trabaje con el mic que lo que este en el portA pase a portc RA3 RA4 RA5
Comment by YEYE— October 24, 2007 #
Gracias!!!
Ya pude instalar el MPlab en Windows vista.
Comment by Luz— October 24, 2007 #
hola que tal!!!, secede que a mi me ha pasado como a algunas personas que han puesto sus inquietudes aqui. Resulta que mi laptop tiene Windows Vista y trate de instalar MPLAB v7.51 pero cuando esta terminando de instalarse aperece el siguiente error:
MPLAB TOOLS v7.51 Error IS OnError
Error 1935.An Error ocurred during the installation of assembly ‘Microsoft, MSXML2R, version=”4. 1.0.0, tipe=”win32″, processorArchitecture=”x86″. please refer to help support for more information.
Arriba lei que se debia instalar como administrador, lo hice pero igual sigue dando el mismo error. Por supuesto deshabilite todo los antivirus. Alguien sabe que mas podria ser? Por favor ayudenme.
Comment by Jose— October 25, 2007 #
Holaaaa!!!.. bueno mi pregunta para el que tenga el conocimiento es que tengo que cambiar de PIC del 16F84A al 16F873, y pues ya mas o menos cheque en el datasheet lo que hay que cambiar mas bien la configuracion de puertos, pero me gustaria saber que mas tengo que tomar en cuenta!!!.. saleeee gracias!!!.. cuidenseee estare al pendiente!!!
Comment by Aryam— October 29, 2007 #
cuando compilo este codigo me da error alguien podra ayudarme gracias de antemano
;4 chan DMX, PWM output
;On RB5, RB6, RB7, RA3
;Thijs Assies
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC & _LVP_OFF
list P=16F628A
#INCLUDE
#DEFINE OUT1 PORTB,5
#DEFINE OUT2 PORTB,6
#DEFINE OUT3 PORTB,7
#DEFINE OUT4 PORTA,3
#DEFINE RCLED PORTB,3 ;green led
#DEFINE RX PORTB,1
#DEFINE ERRLED PORTB,4 ;red led
#DEFINE BREAK DMX_reg,0
#DEFINE STARTCODE DMX_reg,1
#DEFINE MOVED DMX_reg,2
#DEFINE ADDR9 DMX_reg,3
#DEFINE RC9 DMX_reg,4
DMX_reg EQU 020h
Reg1 EQU 021h
Reg2 EQU 022h
Reg3 EQU 023h
Reg4 EQU 024h
W_SAVE EQU 026h
S_SAVE EQU 027h
P_SAVE EQU 028h
pwmcounter EQU 029h
flag EQU 02Ah
D_ADDR EQU 02Bh
temp EQU 02Ch
R_ADDR EQU 02Dh
Offset EQU 02Eh
temp2 EQU 02Fh
ORG 00h
GOTO INIT ;Initialize PIC
ORG 04h ;Interrupt vector
MOVWF W_SAVE ;save context,
MOVF STATUS,W ;save STATUS, PCLATH & W
MOVWF S_SAVE
MOVF PCLATH,W
MOVWF P_SAVE
GOTO INTHANDLER
INIT
MOVLW 0x07 ;turn analog comparators off
MOVWF CMCON
CLRF PORTA
CLRF PORTB
BSF STATUS,RP0 ;Select Bank1
CLRF TRISA ;porta output
CLRF TRISB ;portb output
BSF TRISB,1 ;B1 input (UART Recieve)
MOVLW 04h
MOVWF SPBRG ;Set baud rate
BSF TXSTA,BRGH ;high speed
BCF TXSTA,SYNC ;Async connection
CLRF PIE1 ;clear other interrupts
BSF PIE1,RCIE ;Set recieve interrupt
BCF STATUS,RP0 ;Return to bank0
BSF RCSTA,RX9 ;Enable 9bit data
MOVF RCREG,W ;clear RCREG FIFO
MOVF RCREG,W
MOVF RCREG,W
BSF RCSTA,CREN ;Enable recieve
BSF RCSTA,SPEN ;Enable UART
BSF INTCON,PEIE ;Enable interrupts
BSF INTCON,GIE
BCF RCLED ;because RA4 is open drain, set means NOT on
BCF ERRLED
CLRF Reg1
CLRF Reg2
CLRF Reg3
CLRF Reg4
CLRF D_ADDR ;set our dmx adress to 0
BCF ADDR9
GOTO MAIN ;Goto Main Program
MAIN
BCF RCLED
BCF ERRLED
MOVLW 0FFh
MOVWF pwmcounter
BCF OUT1
BCF OUT2
BCF OUT3
BCF OUT4
CALL PWM_CYCLE
GOTO MAIN
PWM_CYCLE
MOVF Reg1,W
XORWF pwmcounter,W
BTFSC STATUS,Z
BSF OUT1
MOVF Reg2,W
XORWF pwmcounter,W
BTFSC STATUS,Z
BSF OUT2
MOVF Reg3,W
XORWF pwmcounter,W
BTFSC STATUS,Z
BSF OUT3
MOVF Reg4,W
XORWF pwmcounter,W
BTFSC STATUS,Z
BSF OUT4
DECFSZ pwmcounter
GOTO PWM_CYCLE
RETURN
INTRETURN
MOVF P_SAVE,W ;restore context
MOVWF PCLATH
MOVF S_SAVE,W
MOVWF STATUS
SWAPF W_SAVE,F
SWAPF W_SAVE,W
RETFIE
INTHANDLER
BTFSS PIR1,RCIF
GOTO INTRETURN
BTFSC NO_DMX
MOVF RCREG,W
BTFSC NO_DMX
GOTO INTRETURN
GOTO DMX
DMX
BSF ERRLED
BTFSC RCSTA,OERR
GOTO OVERRUN
BTFSC RCSTA,FERR ;Check for framing error
GOTO FRAME
BTFSS BREAK ;check if break has passed
GOTO RET
BTFSS STARTCODE ;has a startcode passed ?
GOTO SC ;yes: go check for valid startcode
BTFSC STARTCODE
GOTO CHANNEL
RET
MOVF RCREG,W
GOTO INTRETURN
OVERRUN
BCF RCSTA,SPEN
BSF RCSTA,SPEN
MOVF RCREG,W
BSF ERRLED
GOTO LAST
FRAME
BCF BREAK
BCF STARTCODE
BCF RC9
CLRF R_ADDR
CLRF Offset
BTFSS RCSTA,RX9D
BSF BREAK
MOVF RCREG,W
GOTO INTRETURN
SC
MOVF RCREG,W
XORLW 00h
BTFSC STATUS,Z
BSF STARTCODE
GOTO INTRETURN
INCREASE
INCF R_ADDR
BTFSC STATUS,Z
BSF RC9
RETURN
CHANNEL
MOVF Offset,W
XORLW 00h ;check if offset != 0
BTFSS STATUS,Z
GOTO CHAN
MOVF R_ADDR,W ;else: check if chans match
XORWF D_ADDR,W
BTFSC STATUS,Z
GOTO NINTH ;if so: check for 9th bit
CALL INCREASE
GOTO RET ;if not: just return from interrupt
NINTH
BTFSC ADDR9
GOTO TRUE
MOVF RCREG,W
GOTO FALSE
TRUE ;our 9th bit is set
BTFSC RC9
GOTO CHAN
CALL INCREASE
GOTO RET
FALSE
BTFSS RC9
GOTO CHAN
CALL INCREASE
GOTO RET
CHAN
; BCF RCLED
INCF Offset
MOVF Offset,W
XORLW 01h ;check if count = 0
BTFSC STATUS,Z
GOTO CHAN1
MOVF Offset,W
XORLW 02h
BTFSC STATUS,Z
GOTO CHAN2
MOVF Offset,W
XORLW 03h
BTFSC STATUS,Z
GOTO CHAN3
MOVF Offset,W
XORLW 04h
BTFSC STATUS,Z
GOTO CHAN4
MOVF Offset,W
XORLW 05h
BTFSC STATUS,Z
GOTO LAST
CHAN1
MOVF RCREG,W
MOVWF Reg1
CALL INCREASE
GOTO INTRETURN
CHAN2
MOVF RCREG,W
MOVWF Reg2
CALL INCREASE
GOTO INTRETURN
CHAN3
MOVF RCREG,W
MOVWF Reg3
CALL INCREASE
GOTO INTRETURN
CHAN4
MOVF RCREG,W
MOVWF Reg4
CALL INCREASE
GOTO INTRETURN
LAST
BCF BREAK
BCF STARTCODE
CLRF Offset
GOTO INTRETURN
END
Comment by Luis— October 31, 2007 #
Hola:
Existe alguna versión de mplab para server?
o de que manera puedo accesar desde una computadora en red
Comment by Manuel— November 1, 2007 #
Me parece muy ilustrativo y didactico el articulo que presentas, mis felicitaciones y espero que pronto expliques cosas mas profundad.
Atte
Jack Perez Ochoa
Comment by Billy Jack— November 3, 2007 #
No me funciona el mplab con el “windows vista home premium”, y no consigo instalarlo de nungun modo!!
Si alguien sabe porque en Xp se instala correctanmenta y en vista no que me lo diga porque lo necesito en el vista!!
Muchas gracias.
askodais@hotmail.com
Comment by Martí— November 7, 2007 #
que tal amigos, acavo de adquirir una computadora que cuenta con Windows vista y no eh podido instalar el MPLAB por que me sale el siguiente error:
an error occurred during the installation of assembly ‘microsoft.MSXML2R, publickey Token= “6bd6b9abf345378f”, version= “4.1.0.0” type= “win32”, processorArchitecture= “x86″‘. please refer and support for more information.
les agradeceria mucho que me ayudaran!!!!
Comment by joel calderon flores— November 11, 2007 #
que tal amigos, acavo de adquirir una computadora que cuenta con Windows vista y no eh podido instalar el MPLAB por que me sale el siguiente error:
an error occurred during the installation of assembly ‘microsoft.MSXML2R, publickey Token= “6bd6b9abf345378f”, version= “4.1.0.0″ type= “win32″, processorArchitecture= “x86″‘. please refer and support for more information.
les agradeceria mucho que me ayudaran!!!!
si me ayudan mi mail es: cuas_joe@hotmail.com
Comment by joel calderon flores— November 11, 2007 #
que tal amigos!! necesito ayuda!! tengo un deber!! quisisera saber si alguin me puede ayudar. le agradeceria!! estoy empezando en esto.
consiste en:
escribir un programa que sume dos números de 16 bits a y b, leidos desde los puertos B y C en el microcontrolador 16f877.
GRACIAS POR LA AYUDA
Comment by CRISTIAN— November 11, 2007 #
Amigo, agradecemos tu ayuda, pero en un programita tan sencillo y tienes un error tanto em el codigo aqui escrito como en el qu se descarga.
Creo que primero deberias de explicar por que se configura el STATUS y para que se cambia de banco de datos.
Como sea gracias, pero deberias de hacer mas explicito para que se comprenda mas lo que se hace.
Comment by CoolDann— November 12, 2007 #
CoolDann, donde está el error que dices? Yo te aseguro que ese programa está bien escrito.
Comment by micropic— November 12, 2007 #
Primero quiero felicitaros por este buen tutorial.
Yo, como la mayoria de personas que lo siguen, soy nuevo en esto de la programacion de los PIC y espero que pronto pueda empezar a crear mis propios programas gracias a vuestros tutoriales.
Siguiendo este tutorial de como se usa el MPLAB me he encontrado con un problema, he escrito el programa pero no se compilaba, me daba un error (error 128), tras mucho pensar y darle vueltas al programa he realizado un cambio en una de las lineas del programa, la que “; Enciende el led conectado al puerto A” en ella la instruccion que pones en “bsf PORTA” yo le he cambiado por “bsf PORTA,1” y entonces ha compilado el programa y me ha generado el archivo led.hex. ¿esta bien lo que he hecho? No se porque no me funciona tal como esta en el tutorial, espero que perdones mi ignorancia.
Comment by Francisco— November 15, 2007 #
El problema es que, posiblemente, el instalador de MPLAB es para PC’s X86 y 32 bits y Vista no tiene este tipo de arquitectura (maneje de 64 bits). Este problema ocurre igual si se quiere instalar una aplicacion para vista con espcificaciones de su arquitectura y no la de X86
Comment by Andres— November 15, 2007 #
Francisco eso que hiciste está bien, no se por qué no me había dado cuenta, CoolDann tenía razón el programa tenía un error y era que usaba la instrucción BSF pero no indicaba que bit poner a 1, lo que hiciste está bien porque estas indicando que ponga en nivel alto el bit 1 del puerto A.
Eso es algo que debo corregir, espero hacerlo pronto 🙂
Comment by micropic— November 15, 2007 #
Hola de nuevo, tengo algunas dudas mas.
Me he montado un programdor TE-20SE que lleva un zocalo de 18 pins, uno de 8 pins y uno de 28 pins. En la informacion que dispongo, en el zocalo de 18 pins, solo puedo programar el 16F84.¿Sabes si puedo grabar un 16F628 puesto directamente en el zocalo de 18 pins del TE-20SE? En caso contrario, he pensado sobreponer otro zocalo encima pero con todos los pines cortados escepto los pins 4 MCLR, 5 Vss, 14 Vdd y 12 13 de entrada de datos, creo que si el 16F628 es igual pin a pin con el 16F84 eso deberia ser suficiente para que se programe, pero no estoy seguro.
Todavia no he instalado el IC-prog y no se si sabre como usarlo y si hay que configurar muchas cosas antes de empezar a programar, estaria bien que, si tienes tiempo, hicieras un pequeño tutorial sobre IC-prog.
Gracias nuevamente por tu ayuda y comprension con los que estamos empezando.
Comment by Francisco— November 17, 2007 #
Hola, tengo un problemilla: hace un tiempo que no trabajo con el MPLab. Antes tenia Windows XP, ahora trabajo con el Vista. Supongo que no tendré problema para hacer correr sobre Windows vista al MPlab, ¿¿pero hay algun parche para que me pueda funcionar el ICProg con el Vista??
Gracias de antemano
Un saludo
Comment by Joaquin— November 19, 2007 #
Hola otraq vez. Todavía me queda una duda. Tengo acceso a una progamadora de pics (la TE20) que funciona por puerto serie. Mi portatil no tiene esespuerto y estoy pensando comprar un interface convertidor USB-serie. ¿Sabeis si voy a tener algun problema con la herramienta ICProg?
Gracias de nuevo!
Comment by Joaquin— November 19, 2007 #
Para solucionar lo del error 1935:
9.2.1 Windows Vista OS
· When attempting to install MPLAB IDE 7.6x on a Windows Vista PC, you may receive the message: “MPLAB Tools v7.6x Error IS OnError – Error 1935. An error occurred during the installation of assembly…” The problem is some registry settings/permissions related to XML. To resolve this issue, do one of the following:
· Deselect MPLAB VDI in the MPLAB IDE installation.
· If you cannot deselect MPLAB VDI from the installation, you can use the Microsoft installation for XML 4.0 SP2. You can get the Microsoft original install here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&DisplayLang=en
Comment by Ferran— November 29, 2007 #
Pues instalé el mplab, pero por cosas que suceden lo desisntalé, ahora he tratado de instalar la versión 7.5 y la 8.0 y no me funciona ninguna de ellas, siempre sale error al final de la instalación y he visto que muchos tienen el mismo problema, sería bueno que puliquen la solución.
Comment by Artanis— November 29, 2007 #
holas, a todos los participantes del foron, me inquita una pregunta, quisiera saber, como es el procedimieto para, la programacion con lenguaje c,
Comment by JOSE— December 2, 2007 #
Hola a todos. Les cuento que es una de las primeras veces que me manejo con pics. Me dieron un circuito para hacer en el cual tengo que mover un motor paso a paso hasta un punto. tocar un boton y que este motor se mueva hasta otro punto. Es para hacer un ascensor de 3 pisos con botoneras externas. Pero la verdad no se como seria el programa. Si alguien me puede ayudar se lo agradeceria.
Saludos cordiales.
Cristian
Comment by Cristian— December 5, 2007 #
ALGUIEN ME PODRIA DECIR LA MANERA DE HACER UNA MULTIPLICACION DE DOS NUMEROS POR MEDIO DE ROTACIONES SE LOS AGRADECERIA
Comment by URIEL— December 12, 2007 #
Error 1935. An error occurred during the installation of assembly
‘Microsoft.MSXML2,publickeyToken=6bd6b9abf345378f” ,version=”4.20.9818.0”,type=”win32”,processorArchi tecture=”x86”’. Please refer to Help and Support for more information. HRESULT: 0x80070020.
==================================================
Haber si alguien me dice como solucionó este inconveniente. Mi correo es palermo_02[@]hotmail[.]com
Comment by Rolando— December 13, 2007 #
Para el Error 1935. Al momento de la instalación, seleccionar “Custom”, en vez de “Complete”, y desactivar la opcion MLAB VID, en el cuadro de dialogo donde se muestran los programas a instalar. Esta opcion solo es valida para aquellas personas que no usen el MLAB VID. Una vez desactivada esta opcion se procede con la instalacion normalmente.
Comment by Luis M— December 14, 2007 #
una disculpa es la opcion: MPlab VDI.
En el siguiente enlace se detalla con mayor precision este procedimiento:
http://forum.microchip.com/tm.aspx?m=275170
Comment by Luis M— December 14, 2007 #
disculpen la molestia pero necesito saber si alguno de los que frecuenta este foro sabe donde puedo encontrar una lista completa o mas o menos detallada de los registros de la memoria interna de datos que tiene el pic16f877…
Comment by Jesus Emilio— January 9, 2008 #
La lista completa de los registros del pic 16f877 se encuentran en la hoja de datos de microchip. Siempre que tengas alguna duda sobre un pic lo mejor es referirte a la hoja de datos.
Click to access 30292c.pdf
Comment by micropic— January 9, 2008 #
[…] para cerrar este post de aniversario debo hacer mención al post que ha sido la estrella del blog, el tutorial sobre MPLAB, el tutorial mas visto y el que ha tenido mayor éxito. En aquella ocasión prometí realizar un […]
Pingback by Cumplimos un año « MicroPIC— January 10, 2008 #
Hola estoy trando de hacer un air display pero no he podido con la parte de los cogigos!! Stoy trabajando con los pequeñines 12F629!! Alguien me podría ayudar con la copilacion del codigo?? Mi mail es soti_159@hotmail.com
Saludos
All the best
Comment by Anthony— January 10, 2008 #
Hola, mi pregunta es, en lugar de en ensamblador, yo estoy utilizando como lenguaje de programacion el C, que es lo que deberia modificar en tu tutorial?, como podria compilarlo?. Muchas gracias ;).
Comment by Victor— January 11, 2008 #
Hola, escribo por dos cosas, la primera para felicitar a los autores de la pagina así como de los tutoriales y a los que aportan los comentarios, y la segunda, estoy tratando de hacer un multiplicador y un divisor usando el Algoritmo de Boot, implementandolo en un P16F876A,¿¿Alguien me podría ayudar con la creación del código?? Mi mail es zeratul872007@hotmail.com
Saludos
Comment by Alexi— January 29, 2008 #
Muchas gracias por tus comentarios. Yo nunca he implementado el algoritmo de booth, de hecho ya no lo recordaba, hace 2 años vi una implementación de ese algoritmo en VHDL pero nunca intente hacerlo en un pic, me documentaré sobre el algoritmo y vere si lo puedo aplicar, si lo hago lo publicaré en esta página y te avisaré a tu correo.
Comment by micropic— January 29, 2008 #
Gracias por tu atención, y por tu pronta respuesta, solo para corrección del anterior el correo realmente es zeratul872007@gmail.com, por lo que me disculpo, y también aprovecho para preguntar si tendrás algún manual de implementación de multiplexores para las entradas-salidas de ALU’s (ya sea para la mas comun 76181), por tu atención gracias.
Comment by Alexi— February 2, 2008 #
que que onda que hay, nada oshhhh
Comment by wuicho— February 8, 2008 #
nesecito saber como programar en lenguaje asembler
matlab para programar en el pic
Comment by ronny— February 14, 2008 #
hola, alguien sabe como hacer el programa para una ALU con las siguientes funciones:
suma
resta
multiplicacion
division
multiplexor
and
or
not
corrimiento derecha
corrimiento izquierda
espero que alguien pueda ayudarme,
gracias
Comment by christian— February 14, 2008 #
Hola, soy nuevo en programacion de pic’s, les agradeeria si alguien me puede decir si este programa esta bien
Debe mostrar secuencias en ledas por el puerto b, mientras que al pulsar un boton del puertoA,el 0,aumenta el tiempo que dura prendida y apagada la seuencia , al presionar el boton en el bit 1 del puerto a debe disminuir el tiempo, al contrariio del 0, y al presionar un bpptpn en el bit 2 debe variar la secuencia que muestra.
;PRACTICA 3-234
;DECLARACION DE REGISTROS
STATUS EQU 0X03
TRISA EQU 0X85
TRISB EQU 0X86
PORTA EQU 0X05
PORTB EQU 0X06
CMCON EQU 0X1F
; DECLARACION DE VARIABLES
NUM1 EQU 0X20
NUM2 EQU 0X21
NUM3 EQU 0X22
CONT1 EQU 0X23
CONT2 EQU 0X24
CONT3 EQU 0X25
TIME EQU 0X26
; ORIGEN DEL PROGRAMA
ORG 0X00
;CONFIGURACION DE PUERTOS
MOVLW 0X07
MOVWF CMCON
BSF STATUS,5
MOVLW B’00011111′
MOVWF TRISA
CLRF TRISB
BCF STATUS,5
;ESTRUCTURA DEL PROGRAMA
MOVLW 0X00
MOVWF CONT1
MOVLW 0X10
MOVWF TIME
GOTO AVANCE
PREGUNTA1
BTFSC PORTA,0
GOTO PREGUNTA1
INCREMENTO
INCF TIME,1
BTFSC PORTA,0
GOTO AVANCE
GOTO INCREMENTO
PREGUNTA
BTFSC PORTA,1
GOTO PREGUNTA
DECREMENTO
DECF TIME,1
BTFSC PORTA,1
GOTO AVANCE
GOTO DECREMENTO
BOTON
BTFSC PORTA,2
GOTO BOTON
INCF CONT1
RESTA1 MOVLW 0X01
SUBWF NUM1,0
BTFSS STATUS,2
GOTO RESTA2
GOTO SECUENCIA1
RESTA2 MOVLW 0X02
SUBWF NUM1,0
BTFSS STATUS,2
GOTO RESTA3
GOTO SECUENCIA2
RESTA3 MOVLW 0X03
SUBWF NUM1,0
BTFSS STATUS,2
GOTO RESTA4
GOTO SECUENCIA3
RESTA4 MOVLW 0X04
SUBWF NUM1,0
BTFSS STATUS,2
GOTO RESTA5
GOTO SECUENCIA4
RESTA5 MOVLW 0X05
SUBWF NUM1,0
BTFSS STATUS,2
GOTO RESTA6
GOTO SECUENCIA5
RESTA6 MOVLW 0X06
SUBWF NUM1,0
BTFSS STATUS,2
GOTO AVANCE
GOTO SECUENCIA6
AVANCE
SECUENCIA1
MOVLW B’10000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00010000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00001000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000001′
MOVWF PORTB
CALL TIEMPO
SECUENCIA2
MOVLW B’00000001′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00001000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00010000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’10000000′
MOVWF PORTB
CALL TIEMPO
SECUENCIA3
MOVLW B’10000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00010000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00001000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000001′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00000100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00001000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00010000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’10000000′
MOVWF PORTB
CALL TIEMPO
SECUENCIA4
MOVLW B’00011000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’10000001′
MOVWF PORTB
CALL TIEMPO
SECUENCIA5
MOVLW B’10000001′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00011000′
MOVWF PORTB
CALL TIEMPO
SECUENCIA6
MOVLW B’00011000′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’10000001′
MOVWF PORTB
CALL TIEMPO
MOVLW B’01000010′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00100100′
MOVWF PORTB
CALL TIEMPO
MOVLW B’00011000′
MOVWF PORTB
CALL TIEMPO
;SUBRUTINA
TIEMPO
MOVF TIME,0
MOVWF NUM3
WAIT3
MOVLW D’200′
MOVWF NUM2
WAIT2
MOVLW D’166′
MOVWF NUM1
WAIT1
DECFSZ NUM1,1
GOTO WAIT1
DECFSZ NUM2,1
GOTO WAIT2
DECFSZ NUM3,1
GOTO WAIT3
RETURN
END
Comment by Abraham— February 20, 2008 #
HOLA Comment by Abraham como has estado
me parece que debes informarte sobre las tablas
en el mplap te facilitaran mas el trbajo aparte de ahorrar espacio en la memoria del pic
tambien
STATUS EQU 0X03
TRISA EQU 0X85
TRISB EQU 0X86
PORTA EQU 0X05
PORTB EQU 0X06
CMCON EQU 0X1F
si colocas la palabra
ejemplo
list p=16f84a
#include
no tendrias que hacer esto porque el mplap
los identificaria de inmediato
tambien debes saber que los pic tienen dividida su memoria dividida en bancos
asi que no podras generar una secuencia linial demaciado estensa
la proxima vez que me conecte te enviare algunos ejemplos
(no funcionara como quieres)
Comment by RICARDO— February 22, 2008 #
perdon me comiunas letras
#include
Comment by RICARDO— February 22, 2008 #
muchas gracias por tu observacion RICARDO, lo tomare en cuenta la proxima vez que realize un programa, de cualquer modo he tratado de hacer el programa de nuevo, y me ecentro con un problema, creo que se como arreglrar una prte de lo muchgo que d seguro esta mal, pero me ayudaria mucho que me explicaran como podria llevar el registro en u contador del numero de veces que el ususario introdujera un 1 en un bit del puerto A, para posteriormente en base a eso me mane a la secuencia igual al numero de veces que introdujo un 1.
Comment by Abraham— February 24, 2008 #
Chicos, porque no se dejan de joder con el MicroChip y estas cositas de jugete, usen otros micros mas serios, FreeScale, Atmel, Texas, etc, etc. Dejen de ser hobbistas de taller y salten al profesionalismo, se que me muchos me odiaran por este post pero a la larga muchos me apoyaran.
Saludos !
Comment by Pablo Zampolla— February 26, 2008 #
Gracias por tu comentario Pablo, sobre todo por lo constructivo que es. Tambien yo te hago un comentario, o mas bien una pregunta: por que no nos ayudas a dejar de ser hobbistas de taller y haces un sitio donde expliques claramente como programar un micro de FreeScale o Atmel y nos hechas la mano un poco?
Gracias por tu comentario, espero que sigas visitando este sitio de microcontroladores PIC.
Comment by micropic— February 26, 2008 #
BUENAS TARDES A TODOS!!!
BUENO SOY NUEVO EN ESTO DE LOS MICROCONTROLADORES Y ME GUSTARIA SABER DONDE PUEDO CONSEGUIR INFORMACION DE LA BUENA SOBRE COMO PROGRAMAR MICROCONTROLADORES YA QUE SOY DEMASIADO NOVATO Y NECESITO SABER LO BASICO, NO SE ALGUN ALGUN LIBRO O TEXTO DONDE EXPLIQUE MUY BIEN SU FUNCIONAMIENTO INTERNO Y COMO PROGRAMARLO CON LENGUAJE ASSEMBLER.
BUENO ESPERO ME PUEDAN AYUDAR Y ESTARE ESPERANDO SU RESPUESTA ………………
Comment by GONGU— March 3, 2008 #
realizar un programa en MPLAB un contador que cuente del 00 hasta el 99 y se repita y se simule en isis proteus
Comment by sergio rambal— March 3, 2008 #
Hola; tengo instalado el MPLAB IDE 7.6 y tengo un programador pic start plus, pero no lo he podido configurar para quemar un pic 16f877A; si depronto tienes un tutorial asi como el del inicio del foro te agradeceria muchisimo, ya que necesito quemar urgentemente un programa y no he podido.
gracias
atte. Juan
Comment by juan— March 5, 2008 #
Suerte loco! esta barbaro el blog!!
Comment by Ramone— March 7, 2008 #
me gustaria recivir manuales para la creaccion de programas para pic y tambien como usar el proteus para la simulacion de estos me interesa mucho aprender a crear programas con micros asi que me interesa recivir toda la informacion de como hacerlo paso por pasomuchas gracias.
Comment by antonio burbano— March 8, 2008 #
Buenas tardes,
de verdad que uds tienen un conociemiento muy barabro de este tema, los felicito sinceramente, por otro lado al igual que otros lectores de este foro, pido el favor y me colaboren con informacion o tutoriales como el de arriba en cuestion de la programacion de pics en C, o textos guias o paginas webs, creo que soy el novato de novatos en esta area del saber agradezco cualquier colaboracion al respecto, debo hacer un proyecto con pics pero jajaaj no se por donde debo empezar, este es el msn cclavijog@hotmail.com para los que deseen colaborarme de nuevo muchas gracias
Comment by MANOGEA— March 11, 2008 #
hola.. soy nuevo en esta materia.. es de gran ayuda tu informacion..pero cuando genero el build all no me crea la extension .hex y me marca un error q no puedo borrar..
como puedo hacer!??
muchas gracias..
Comment by federico— March 16, 2008 #
SI ALGUIEN SABE MPLAB por favor serian tan amables de explicarme para que sirven las instrucciones bsf , bcf , clrf , mov wf
espero alguie responda mi pregunta , bueno muchas gracias
Comment by Misael— March 24, 2008 #
Misael las instrucciones están explicadas en estos dos posts:
conjunto de instrucciones
conjunto de instrucciones (segunda parte)
Comment by micropic— March 24, 2008 #
Hola acabo de recuperar del fondo de la estantería los fasciculos de robot y me he puesto con ellos, la cosa no va mal. Mi problema es que no encuentroel manual de de la micro pic trainer, ¿Alguien me lo podría pasar?
Por lo menos la placa si la tengo
Gracias
Comment by Jorgeg— March 31, 2008 #
Necesito ayuda sobre la interrupcion externa ya sea por flanco de subida o de bajada para un PIC16F877A, saben donde puedo encontrar esa informacion o algun ejemplo que ilumine mi ignorancia, GRACIAS
Comment by israel— April 4, 2008 #
ayudenme con un dato, instale mplab 7.51 pero al momento de simularlo con la herramiente de mplab, no se como simular las entradas mediante stimulus, ya que no veo la pantalla que dice el manual
Comment by jafi— April 10, 2008 #
hola soy nuevo en esto de los microprocesadores y del mplab; eh estado estudiando 35 instrucciones y tratando de familiarizarme con ellas; pero quisiera que me ayudaran con algunos programas sencillos para aprender a utilizar las intrucciones y familiarizarme con ellas; de hecho me dejaron hacer un programa que simule 4 operaciones (suma, resta, and y or) pero como empiezo? les agradeceria su ayuda
Comment by pedro— April 22, 2008 #
que tal amigo ps esta padre tu tutorial oye no se si me puedas ayudar… una ves hecho el programa comole agopara programar el pic no se si lo puedas describir como lo anterior grasias por tu atencion
Comment by jose— April 22, 2008 #
un mundo de posibilidades con el PIC… pero seria mejor que fueramos diseñadores por que hay veces que nos limita mucho para lo que queremos lograr con el PIC prediseñado jeje…
Comment by guss— April 23, 2008 #
pues para quemar el pic se requiere otro programa yo ocupo uno que se llama winpic800
es facil de utilizar solo.
se jala el archivo con extencion .hex ((que genera el propio mplab y se habre en se programa)
y listo una bendicion del mismo zeus
despues conectas tu programador t20((puedes descargar el diagrama logico de la red)) lo configuras y ya esta un pedaso de materia sencible a la electrostatica que hace inmortalidades
Comment by jorge— May 1, 2008 #
pues mira
bsf pone en uno el bit de una localidad
por ejemplo BSF STATUS,5 ;ESTO INDICA QUE PONE EN UNO EL BIT 5 DE ESTATUS QUE HACE QUE PUEDA ESTAR EN EL BANCO UNO
BCF claro esta hace lo contrario pone en cero un bit
clrf LIMPIA UNA LOCALIDAD
y MOVWF : MUEVE EL DATO ACOMULADO EN EL REGISTRO DE TRABAJO A UNA LOCALIDAD DE MEMORIA POR EJEMPLO
movwf 0x020
mueve lo que hay en mi registro de trabajo a la localidad 0x020 (en hexadecimal)de mi pic
Comment by jorge— May 1, 2008 #
Q tal, oye resulta que cuando compilo ese ejemplo, se sale este error:
Clean: Deleting intermediary and output files.
Clean: Deleted file “C:\micropic\Proyecto16f628a\Project2.mcs”.
Clean: Done.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F628A “Ejemploled.asm” /l”Ejemploled.lst” /e”Ejemploled.err”
Warning[205] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 4 : Found directive in column 1. (list)
Warning[205] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 5 : Found directive in column 1. (include)
Warning[205] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 6 : Found directive in column 1. (__config)
Warning[205] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 8 : Found directive in column 1. (org)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 9 : Found opcode in column 1. (goto)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 11 : Found opcode in column 1. (movwf)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 12 : Found opcode in column 1. (bsf)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 13 : Found opcode in column 1. (bcf)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 14 : Found opcode in column 1. (bcf)
Warning[203] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 15 : Found opcode in column 1. (bsf)
Error[128] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 15 : Missing argument(s)
Warning[205] C:\MICROPIC\PROYECTO1\EJEMPLOLED.ASM 17 : Found directive in column 1. (end)
Halting build on first failure as requested.
BUILD FAILED: Sun May 04 20:58:51 2008
Sabes a que se debe, supongo q ha de ser un error minimo, mos no se cual es U.U
Comment by Darkgamer— May 4, 2008 #
Tambien me he fijado que al abrir otros ejemplos que tengo guardados en la misma direccion, osea en el proyecto1.mcp no me deja compilarlos, marcandome error del ejemplo del led, teniendo este cerrado, podrias darme una solucion para el ejemplo del led?
Comment by Darkgamer— May 4, 2008 #
Hola Darkgamer, el problema está en mi código, lo acabo de revisar y en la línea donde se enciende el led debería decir “bsf PORTA,0”, hasta ahora simplemente dice PORTA, por eso el MPLAB marca un error Missing argument(s), el argumento que falta es ese 0, es decir que bit de PORTA se debe encender. Gracias por ayudarme a ver mi error.
Comment by micropic— May 5, 2008 #
Hola, necesito ayuda, Tengo que programa pic 16C73B o bien despues en los 16C73A OTP, .Instale en picstart plus comprado recientemente con el mplap 7.6. no se si hay que configuarlo porque no puedo grabar. Agradeceria un turorial del mplap 7.6 en español o bien que alguien me ayude… Este es mi Telefono 658 941 800.
o mi correo: enrique.eletronica@gmail,com
Comment by ENRIQUE— May 6, 2008 #
Es muy urgente por favor
Comment by ENRIQUE— May 6, 2008 #
hola:
saben quisiera aprender mas sobre como utilizar el mplab nose como me pudiesen ayudar
y quisiera el programa para instalarlo en mi computadora y todo lo que falta para programar un pic… grasias ……………….
Comment by oscar— May 8, 2008 #
Hola. Tengo un problema , a la hora de darle en FILE->New cuando trato de grabarlo con la extencion .asm no aparece ese archivo. porfavor es urgente ayuda
Comment by Jonathan— May 11, 2008 #
Dengo un gran problema no compila no puedo conseguir el punto hexe nunca me muestra ningun error el MPLAB quize hacer con Project Wizard me muestra un error despues de seleccional el PIC que dice”One of more of your tool patlhs do not point to existing files, they are morked with a red X please insure that the tool pathas are correcte before proceeding”
Comment by heydi— May 12, 2008 #
Hola. Estoy haciendo un programa con le mplab y a la hora de compilar me sale este error continuamente Message[302] C:\USERS\IÑIGO\DOCUMENTS\MOTOR.ASM 21 : Register in operand not in bank 0. Ensure that bank bits are correct.
A ver si alguien me puede ayudar. Gracias de antemano.
Comment by iñigo— May 12, 2008 #
hola a todos¡¡¡ tengo una laptop con widows vista pero he estado intentanto instalar el mplab v8.10 y me aparce lo siguiente:
MPLAB TOOLS v8.10 Error IS OnError
Error 1935.An Error ocurred during the installation of assembly ‘Microsoft, MSXML2R, version=”4. 1.0.0, type=”win32″, processorArchitecture=”x86″. please refer to help support for more information.
Y DESPUES ME APARECE ESTO OTRO
Error- 1603 fatal error during installation
consult windows installer help (Msi.chm)or MSDN for more information
Y YA INTENTE CON LA VERSION 7.61 y la 7.51 y tambine me aparece lo mismo, y tambien ya los ejecute como administrador y me marca los mismos errores, si fueran tan amables de proporcionarme ayuda en ke si algo me falta o ke stoy haciendo mal,
x favor, gracias
Comment by omar— May 19, 2008 #
Hola deseo hacer un programa para un Pic que me permita manipular dos motores a pasos alguien me puede ayudar
Comment by Esmeralda— May 22, 2008 #
hola a todos en este momento estoy trabajando en un proyecto de ecualizadores con un dsPIC33F y no entiendo muy bien el manejo de las interrupciones ni la configuracion de los registros si alguno tiene un ejemplo que me pueda mandar se lo agradezco. dejo mi mail
gtgomez@unicauca.edu.co
Comment by Gustavo Gomez— May 27, 2008 #
que alguien por fa me ayude ala prog de una calculadora con mplab
Comment by andres— May 30, 2008 #
qui ero saber como haser para que se mueva un motor paso a paso
Comment by jeferson kid— June 11, 2008 #
hola tengo un problemilla de esos estresantes con el mplab, instale la ultima version disponible y siguiendo los pasos de creacion de proyecto cree un archivo nuevo para un simple ejercicio de parpadear un led con el 16f84a, pero no entiendo porque la persistencia del mplab de señalar un error en esta parte del codigo para poner el puerto b como salida
;Registro TRISB=00h para salidas.
bsf STATUS,5
clrf TRISB
bcf STATUS,5
y me da el error 302
Message[302] C:\MIS DOCUMENTOS\LED_PARPADEA.ASM 31 : Register in operand not in bank 0. Ensure that bank bits are correct.
he probado otras opciones y sigue el mensaje estresante , alguien experto podria darme un alcanze de porque ese error con un codigo que es usual para configurar el port b como salida? o acaso es la version de mplab la que esta mal?
Comment by renegado— August 3, 2008 #
Make: The target “C:\Documents and Settings\Administrador\Mis documentos\mot_psp\mot-psp.o” is out of date.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F84A “mot-psp.asm” /l”mot-psp.lst” /e”mot-psp.err”
Warning[205] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 1 : Found directive in column 1. (list)
Warning[205] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 2 : Found directive in column 1. (radix)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 56 : Symbol not previously defined (b´10010011´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 57 : Symbol not previously defined (b´00110110´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 58 : Symbol not previously defined (b´01101100´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 59 : Symbol not previously defined (b´11001001´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 68 : Symbol not previously defined (b´11001001´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 69 : Symbol not previously defined (b´01101100´)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 71 : Symbol not previously defined (b)
Error[108] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 71 : Illegal character (`)
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 73 : Symbol not previously defined (b´10010011´)
Error[173] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM 84 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\MOT_PSP\MOT-PSP.ASM)
Halting build on first failure as requested.
BUILD FAILED: Wed Aug 20 20:31:08 2008
por q marca estos errores?
Comment by wiliss— August 19, 2008 #
si me puden responder hoy mucho mejor por favor
Comment by wiliss— August 19, 2008 #
hoye ve me gustaria tener mas conocimientos sobre el lenguage para poder programar pics si me desean ayudar escribanme al correo electronico
valencia-1989@hotmail.com
GRASIAS Y TODO BIEN
Comment by holmes— August 24, 2008 #
DESEO TENER INFORMACION BASICA DE COMO SE TRABAJA CON MPLAB
Comment by ANTONIO POSSO MAZUERA— September 10, 2008 #
COMO PROGAMAR CON MPLAB 8.1 LOS PIC 16F877 TENGO QUE REALIZAR UN PROGAMA EN MPLAB PARA UNA RED DE RESISTENCIAS APLOCANDO 5 VOLTS SEGUIDO DE UN POTENCIOMETRO Y OCHO RESISTENCIAS EN PARALELO VISUALIZAR LOS LOS DATOS EN EL PUERTO E (3 PRIMEROS VOLTAJES) Y PUERTO A (LOS 5 ULTIMOS VOLTAJES. VISUALIZARLOS EN UN DISPLAY DE 8 SEGMENTOS CON DECODIFICADOR DE 4-1 EN EL PUERTO D.
Comment by ANTONIO POSSO MAZUERA— September 10, 2008 #
me gustaria aprender a programar en mplab pero no tengo nada de bases de programacion, donde encuentro material de apoyo para empezar de ceros
gracias
Comment by hector gutierrez— September 29, 2008 #
necesito el codigo para hacer un programa q encienda dos leds x perdio de pulsadores.
estoy utilizando el pic 16F628.. espero ayuda..! gracias
Comment by carlitos electronicos.— October 7, 2008 #
hola soy nuevo en este sitio y estoy super interesado en aprender a programar un pic pero no tengo experiencia programando alguien me puede guiar de la forma mas facil,mas basico para empezar
Comment by jean— October 22, 2008 #
hola. tengo un widows vista pero he estado intentanto instalar el mplab v8.10 y me aparce lo siguiente:
MPLAB TOOLS v8.10 Error IS OnError
Error 1935.An Error ocurred during the installation of assembly ‘Microsoft, MSXML2R, version=”4. 1.0.0, type=”win32″, processorArchitecture=”x86″. please refer to help support for more information.
Y DESPUES ME APARECE ESTO OTRO
Error- 1603 fatal error during installation
consult windows installer help (Msi.chm)or MSDN for more information
Y YA INTENTE CON LA VERSION 7.61 y la 7.51 y tambine me aparece lo mismo, que debo hacer para instalar el programa? espero su pronta respuesta.
x favor, gracias
Comment by nir— November 14, 2008 #
correo de nir naquir23@aol.com
Comment by nir— November 14, 2008 #
me pueden proporcionar 4 programas de mplab, porfa que son, con eso me ayudaran muchisimos:
1.- contador (leds y sin subrutinas)
2.- contador (leds y con subrutinas)
3.- contador (display y sin subrutinas)
4.- contador (display y con subrutinas)
se los agrdesco por fa.
grasias
Comment by Christopher— November 17, 2008 #
mecesito su ayuda me estoy iniciando en esto instale el mplab cuyo vinculo aparece al principio de esta pagina pero el ejecutarlo me sale un error que dice (Legacy language suite cinfiguration file “C:/Archivos de programa/Microchip/MPLAB IDE/Core/MTC Suites/tlboostbasic.ini” does no exist) y haste lo desinstale y volvi a instalar pero el MPLAB v8.10 pero sigo con el mismo problema porfis si alguien puede ayudarme se lo agradecere muchisimo
Comment by lorena— November 18, 2008 #
HOLA A TODOS;..DISCULPEN NECESITO QUE POR FAVOR ME GUIEN PARA EMPEZAR A PROGRAMAR..BUENO..MI PROBLEMA ES EL SIGTE.TENGO QUE REALIZAR UN PROGRAMA…EN DONDE EL PUERTO B COMO ES SALIDA…EL PUERTO ES ENTRADA…PERO LO QUE DEBE HACER ..EL PROGRAMA ES:………
Port B=2*Port A=port A+Port A
Comment by MONIK— November 22, 2008 #
Hola a todos estoy haciendo un voice cchip quegrabe con elpi16f84, pero tambien estoy tratando de hacer es que cuando reprodusca un motor pasopaso empiese girar almismo tiempo primero 30 ala izquierda y despues 30 ala derecha, les agradeceria mucho que me ayudaran con la programacion nose nada del programar pics porfavor…U_U…..mi correo es artetemio@hotmail.com
Comment by Kenny007— November 23, 2008 #
hola a todos …. perdon queria saber quien me podria colaborar con un programa para un pic16F877, que me contabilice 20 minutos cada vez que se entre con un impulso, y durante esos 20 minutos me vote un volaje, y cuando acabe vote cero. muchas gracias!
Comment by salmon— November 25, 2008 #
yo puedo quemar el pic desde mplab o nesecito otro programa.
Comment by salmon— November 25, 2008 #
Hola a todos.En mi opinion es una web con teoria muy basica; veo puras preguntas y muy pocas respuestas, al autor de esta pagina le sugiero q consigua mas ejemplos utiles funcionables,
per gracias de todas formas =)
Comment by Niko— November 26, 2008 #
Que tal,,,,
saludos a todos….
estoy empezando en el mundo de lengujae ensamblador y quisiera probar algunos programas y me encontre esta pagina…tengo dos prguntas a que se refiere cuando dice “desarrollar código en lenguaje ensamblador para los microcontroladores PIC”, respesto a la palabra microcontroladores PIC es muy diferente a otros lenguajes ensamblador o siempre asi se programa. digamos ahcer una suma en lengujae maquina… me imagino que se podra ahcer aqui…
Y con respecto al programa donde dice que ” solamente encienda un led conectado al pin 17 del microcontrolador” My prgunta es en donde esta ese led .. como sabre si funciona o como, en pocas palabras nose en donde se ubica el led del pin 17.
Espero que me tengan paciencia y em respondan ha estas dudas… espero su respuesta…
mi correo es..
skifree@live.com.mx
saludos…
Comment by freeman— December 3, 2008 #
hola quisiera que me ayuden en como programar un pic pero en mplab para termostato electronico cualquier ayuda se lo voy agradecer
Comment by mary— December 6, 2008 #
hola como ùedo gramabar en la eprom del pic lla verdad quisiera detalles xq nunca lo hice
Comment by mary— December 6, 2008 #
nesesito un catalogo de las instruccones que se usan en este progreama y para que se usa cada una………….
Comment by ALEX— January 29, 2009 #
me gustaria conseguir informacion de programacion basica de los pic
Comment by oscar villalobos— February 20, 2009 #
deceo conocer la teoria basica de los pic y laprogramacion delos pic para poder realisar proyectos para la comunida estudiantil
Comment by oscar villalobos— February 20, 2009 #
Hola a todos les doy gracias por el buen post pero quiero que me digan como paso el programa ya compilado al PIC16F628A y al PIC16F84 y si hay que usar algun conector especial porfavor me podrian dar el diagrama.
De Antemano gracias
Comment by Luis Kenny— February 20, 2009 #
he dado compilar el proyecto de ejemplo en el inicio y me aprece este mensaje, espero alguein mediga por que no lo puede compilar,gracias.
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “C:\PROYECTOSPIC\PRUEBA.ASM” /q /p16F84A “PRUEBA.ASM” /l”PRUEBA.lst” /e”PRUEBA.err” /d__DEBUG=1
Could not spawn language tool. Check command-line options. (193)
A language-plugin exception occurred and was logged.
———————————————————————-
Debug build of project `C:\PROYECTOSPIC\PRUEBA.ASM.mcp’ failed.
Preprocessor symbol `__DEBUG’ is defined.
Sat Feb 21 21:07:15 2009
———————————————————————-
BUILD FAILED
Comment by FRAN— February 21, 2009 #
pues buscando en muchos foros encontre que solo tenia que darle click derecho al instalador y poner instalar como administrador y fue todo 😀
espero que les ayude …
Comment by Alejandro Anaya— February 24, 2009 #
A los novatos que quieren aprender programacion de pics hay cursos en youtube bien explicados. tambien podran encontrar como usar el MPLAB para programar PICS y simularlo en el PROTEUS. les dejo este link:
Comment by ivanes— February 27, 2009 #
necesito saber,si alguien me podria ayudar a hacer la programacion para un riego,o alguna idea,le a gradeceria mucho.gracias
Comment by oscarxx— March 17, 2009 #
YO TENIA EL MISMO PROBLEMA DEL BUIL FAILED Y ES QUE LE FALTABA EL REGISTRO TRIS PARA PONERLO COMO SALIDA AQUI LES DEJO EL CODIGO CON EL CUAL FUNCO
list p=16f628a ; Declaración del procesador
include p16f628a.inc ;
__config 0x3F38 ; Declaración de la configuración
; Inicio del programa
org 0x00 ; Vector de Inicio
goto Inicio ; Ir a la etiqueta ‘Inicio’
Inicio movlw 0x07 ; Cargar al acumulador W el valor 0x07 para
movwf CMCON ; deshabilitar comparadores analógicos
bsf STATUS,RP0 ; Seleccionar el banco de memoria 1
bcf STATUS,RP1
bcf TRISB,7 ; Configurar el bit 0 del puerto B como salida
bcf STATUS,RP0 ; Seleccionar el banco de memoria 0
bcf STATUS,RP1
bsf PORTB,7 ; Enciende el led conectado al puerto B
Fin goto $
end
UN RECOMENDACION ES DE PONER LOS COMANDOS “TRIS”, “PORT”, “STATUS” ,ETC. CON MAYUSCULA YA Q EN MI CASO TAMBIEN POR ESO NO FUNCIONABA Y TAMBIEN Q DEBEN ESTAR EN LINEA
Comment by henry— March 18, 2009 #
hola trate de hacer el proyecto del led y no me funciono lo copie y pegue exactamente como esta y me salen estos errores:
Clean: Deleting intermediary and output files.
Clean: Deleted file “C:\prueba\proyecto1.mcs”.
Clean: Done.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F628A “led.asm” /l”led.lst” /e”led.err”
Warning[205] C:\PRUEBA\LED\LED.ASM 4 : Found directive in column 1. (list)
Warning[205] C:\PRUEBA\LED\LED.ASM 5 : Found directive in column 1. (include)
Warning[205] C:\PRUEBA\LED\LED.ASM 6 : Found directive in column 1. (__config)
Warning[205] C:\PRUEBA\LED\LED.ASM 8 : Found directive in column 1. (org)
Warning[203] C:\PRUEBA\LED\LED.ASM 9 : Found opcode in column 1. (goto)
Warning[203] C:\PRUEBA\LED\LED.ASM 11 : Found opcode in column 1. (movwf)
Warning[203] C:\PRUEBA\LED\LED.ASM 12 : Found opcode in column 1. (bsf)
Warning[203] C:\PRUEBA\LED\LED.ASM 13 : Found opcode in column 1. (bcf)
Warning[203] C:\PRUEBA\LED\LED.ASM 14 : Found opcode in column 1. (bcf)
Warning[203] C:\PRUEBA\LED\LED.ASM 15 : Found opcode in column 1. (bsf)
Error[128] C:\PRUEBA\LED\LED.ASM 15 : Missing argument(s)
Warning[205] C:\PRUEBA\LED\LED.ASM 17 : Found directive in column 1. (end)
Halting build on first failure as requested.
BUILD FAILED: Thu Mar 19 21:11:27 2009
la verdad no se cual es el problema…
Comment by Daniel— March 19, 2009 #
gracias me sirvio mucho el tutorial
Comment by sergio andres— March 21, 2009 #
hola sera que ustedes me podrian colaborar para un programa para movor 3/4 de vuelta un motor paso a paso (unipolar) tengo un programa pero el motoi jira 1/2 vuelta en los dos sentidos y no se como comtrolarlo. de antemano les agradesco por su colavoracion.
Comment by neronico117— April 18, 2009 #
Un saludo y enhorabuena por esta pagina.
A los que recien esten iniciandose:
si al compilar los programas con el mplab les genera algun mensage de error solo deben darle doble clic sobre el mensage de error “redundancia” y el programa los envia exactamente a la linea en donde esta el error.
esto para los que inician, porque los que ya saben deben reirse de este comentario. Salu2 desde Chiapas.
Comment by JAGG— May 7, 2009 #
hola, soy estudiante de automatizacion industrial, y tengo una duda para programar un semaforo, donde la luz roja tiene que encender durante 8_s, la luz amarilla en 1_s y la luz verde en 8_s; en un cruce de call, aclaro son dos semaforos. Pero tengo que sincronisar los dos semaforos que se encuentran en el cruce de la calle, pero tengo el incoveniente que la luz verde en ambos semaforos se me enciende durante 2_s a la vez los dos semaforos, alguien me podria colaborar con este trabajo…muchas gracias
Comment by FABIAN— May 8, 2009 #
Hola, me gustaria saber si existe alguna versión de Mplav para el windows Vista, sin tener que cambiar la configuracion de PC… Gracias
Comment by Daniel— May 11, 2009 #
hola estoy programando un brazo robotico tengo instalado la versión 7.60 pero son los mismos pasos, no sabia como utilizarlo de verdad gracias.
Comment by manuel— May 27, 2009 #
Hola, me gustaria saber, si alguien sabe como puedo probar un programador de pic ya que lo tengo hace mas de un año y hasta ahora lo vuelvo a utilizar, pero no me quema ningun programa. depronto una rutina corta o un .hex para poder probarlo con el pic 16f84
Comment by Paola— June 17, 2009 #
Realizar un contador binario que decremente cada ves que se tengo una interrupcion externa por RB0
El Contador binario de 4 bits debera estar conectado en le puerto C en los pines del RC4 al RC7
Es para le PIC 16F877A
Comment by JOS— June 28, 2009 #
si me podrian ayudar se los agradeceria!
Saludos!!!
Comment by JOS— June 28, 2009 #
holaaaa amigos quisiera pedirle si alguien me puede ayudar a hacer un programa porfaa es el siguiente tengo q hacer un semaforo con instrucciones con pic 16f84A de 3 tiempo y tiene q tener boton propio , reseteo y nocturno les agradeceria por la ayuda mi correo es pablo_ao_@hotmail.com
Comment by pabloo— July 1, 2009 #
HOLA, QUIERO FILICITAR A LOS AUTORES DE LA PAGINA ASI COMO LOS TUTORIALES Y A LOS QUE APOTAN LOS COMENTASRIOS QUE ES DE GRAN AYUDA PARA NOSOTROS LOS NOVATOS. MI PREGUNTA ES: HACE AÑITOS COMPRE UNA PLAQUETA LA CUAL LA UTILIZABA PARA APAGAR Y PRENDER A CONTROL REMOTO, CON TONOS DE TRES DIGITOS DE UN RADIO DE DOS METROS, DICHA PLAQUETA FUNCIONA CON UN INTEGRADO CM 870C CON CRISTAL Y UN PIC 16F84A CON CRISTAL LOCUAL OLVIDE SU CODIGO DE TRES DIGITOS QUE FUNCIONA CON TONO.
LES AGRADESCO QUE ME DIGAN COMO PROGRAMARLO Y QUEMAR EL PIC DE NUEVO, ASI TENER EL CODIGO, O ME VENDEN LOS ACCESORIOS HE INPREMENTOS PARA QUEMAR EL PIC CON MI COMPUTADOR PENTIUM 4 DE 2.8—- GRACIAS LES AGRADESCO A LOS AMIGOS Y AMIGAS EN LA RED.—orlrueda@hotmail.com
Comment by Orlando Rueda— July 28, 2009 #
Compañeros les agradesco sus ayuda.
Comment by Rueda— July 28, 2009 #
Hola Paola, será que tu me pegas tu ayuda, dime donde compraste el programador de PIC, quiero tener uno para mi practica.
Comment by Rueda— July 30, 2009 #
Hola
Comment by Rueda— July 30, 2009 #
Hola — M A N U E L— COMO HAGO PARA OBTENER UN QUEMADOR O PROGRAMADOR DE PIC PARA QUEMAR UN PIC 16F84A PARA APAGAR Y PRENDER ALGO CON CODIGO LO UTILIZO CON UN RADIO DE DOS METRO. O SI ALGUIEN ME PUEDE AYUDAR, GRACIAS, SE LO AGRADEZCO.
Comment by Rueda— July 30, 2009 #
hola, lo que pasa es que apenas estoy empezando a utilizar este lenguage (mplab) y me gustaria manejarlo bien y poder programar funciones, necesito si me puedes ayudar en donde consigo tutoriales y ejemplos de este programa, ya que estuve mirando casi todo el blog pero no los encontre, gracias.
Comment by Esperanza— August 6, 2009 #
Como tienen olvidada esta pagina, que lastima nadie contestan.
Comment by Rueda— August 8, 2009 #
Hola Esperanza yo he conseguido ejemplos en http://WWW.ELECTRON.ES.VG
Comment by david— August 13, 2009 #
hola estoy desarrollando un proyecto para la universida y tengo un pic 12f629 y nesecito progrmarlo, la funcion es la siguiente:
es un circuito que en el momento de haber un interrupcion y en energia de casa y cuando regresa este la detecta. Este protector detecta la llegada del fluido eléctrico y lo mantiene desconectado del sistema eléctrico de la casa hasta tanto no hayan transcurrido unos 5 minutos que es el tiempo necesario para entregar un nivel de voltaje seguro a nuestro sistema eléctrico.
Para cumplir este objetivo nuestro dispositivo trae un Temporizador interno de precisión para conexión de cinco minutos.
Además incorpora un Temporizador de desconexión ante una falla en el fluido de 1 seg.
Si la carga es desconectada por un apagón o una perturbación en el suministro eléctrico, el dispositivo solo la reconectará transcurrido el tiempo de conexión, después que el valor del voltaje regrese al rango adecuado de trabajo.
CARACTERISTICAS TECNICAS
* Voltaje Nominal 120VAC.
* Frecuencia de operación 60Hz.
* Temporizado de desconexión ante una falla 1 seg.
* Temporizado de conexión de la carga 5 min.
* Capacidad de salida 40A.
* Led indicador de temporizado.
sera que deprontp alguin me podria ayudar con esto.
gracias
Comment by nestor— August 19, 2009 #
buenas, estoy aprendiendo a programar hice el ejercicio del led y me salen errores…ya mire todos los comentarios y vi a otros 2 que les paso lo mismo pero la solucion no me funciono…que puedo hacer..que faltara parece que no reconociera el lenguaje. aqui dejo lo que me salio
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “C:\Archivos de programa\Microchip\MPASM Suite\MPAsmWin.exe” /q /p16F84A “e0001.asm” /l”e0001.lst” /e”e0001.err”
Warning[205] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 4 : Found directive in column 1. (list)
Warning[205] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 5 : Found directive in column 1. (include)
Warning[205] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 6 : Found directive in column 1. (__config)
Warning[205] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 8 : Found directive in column 1. (org)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 9 : Found opcode in column 1. (goto)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 11 : Found opcode in column 1. (movwf)
Error[113] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 11 : Symbol not previously defined (CMCON)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 12 : Found opcode in column 1. (bsf)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 13 : Found opcode in column 1. (bcf)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 14 : Found opcode in column 1. (bcf)
Warning[203] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 15 : Found opcode in column 1. (bsf)
Warning[205] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 17 : Found directive in column 1. (end)
Error[173] C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM 18 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\JORGE RAMIREZ\ESCRITORIO\CONTROL 2\E0001.ASM)
Halting build on first failure as requested.
BUILD FAILED: Fri Aug 21 21:41:28 2009
gracias…he probado vario programas y no me funciona ninguno, tenia la version 7.2 y la cambie por la del link que aparece al comienzo pero parece que no es el programa…estare pendiente a la solucion..gracias
Comment by jorge— August 21, 2009 #
hola necesito hallar el return, mas bn q se pone hay y necesito saber eso para q sirve
Comment by edwin— August 23, 2009 #
alguien tendra las tablas de programacion de TRISC, STATUS,INTCON,OPTION-REG, ADREESLT
ADREESL, ADREES0,ADREES1
Comment by eke_thepunisher— October 11, 2009 #
hola
porfavor alguen me puede ayudar con este problemita…
Cuando le doy build all me sale este error, Tenia el mplab 8.33, instale el 8.40,luego intale el 8.30 otra vez pero nada sigue saliendo , utilizo el compilador C30 v.3, sobre wind. xp
“This application has requested the Runtime to terminate it in an unusual way”
Muchas gracias
Comment by ivan— October 26, 2009 #
hala q tal me podrian ayudar con esto:
diseñar un programa q lea una entrada analogica que se tenga en la salida PWM a 100 hz de tal manera q la salida PWM sea proporcional a la señal analogica.
se supone que deberia ser facil pero no me queda estoy trabajando con un pic16f877. espero puedan ayudarme y muchas gracias
Comment by jj— October 27, 2009 #
saludos amigos tengo una pantalla de led q me trajeron de china y no helogrado hacerla funcionar con el software q trajo es de leds rojos de 9,5 pulg por 58 pulgadas el bastidor es color negro ni marca de fabrica tiene
en la parte posterior trae la conexion electrica a 110 v y un conector para la pc con yb cable parec de telefono
ser que me pueden ayudar a solucionar mi gran problema
trae un cd con un programa en ingle y chino que se llama proyect1 solo eso
gracias por su ayuda
desde venezuela
Comment by wilmer— December 16, 2009 #
por favor ayudenme cuando yo estaba trabajando con PIC16F873A, el problema es k lo puse un END en la final y compilé. Apareció un ERROR.
que pasó?
mi programa estaba superbn y surgió un problema de END
Comment by LINA— January 17, 2010 #
como programo un pic 16f84
Comment by emilio— February 7, 2010 #
hola;
tengo problema con bulld, sale error, no sale el archivo .HEX.
hecho los paso que salen en la pagina, pero nada
lo estoy haciendo en un pic 16f628
espero su ayuda o otro programna para poder convertir en HEX.
PARA PODER grabarlo en el pic.
atte
gracias
Comment by luis— February 9, 2010 #
con el ic prog lo pasas a .hex si tienes el .c
Comment by carlos— May 18, 2010 #
Hola, alguien me puede dar una idea de q proyecto puedo hacer con el pic16f84a, es para la universidad, vengo comenzando, el nivel seria como el de hacer un control paso a paso, no lo podemos hacer ya que ese lo hicieron el periodo pasado, asi q tenemos q hacer otro tipo de proyecto, es para realizarlo en menos de 1 semana. Gracias de antemano!!!
Comment by Jimmy— February 18, 2010 #
buenas tardes apenas estoy empezando aconocer este tema de crear software para el pic 16f887 y no entiendo muy bn ahber quein me podria explicar estas oeraciones e=a-b+d-c
f=a+a+b-d
g=c-a+b-f+e
muchas gracias
Comment by benhur roldan— February 21, 2010 #
hola que tal les invito a que comenten en el foro http://foros.calculadoras.com.mx/foro_numerica/index.php?topic=12.0 cheken primero el video en la pagina principal saudos
Comment by marisol— April 10, 2010 #
HOLA OYE UN FAVOR ME PODRIAS AYUDAR PARA HACER UN PROGRAMA QUE SIMULE LA UNIDAD ARITMETICA LOGICA EN MPLAB.
Comment by SOFIA— April 10, 2010 #
alguien podria ayu darme a realizar un programa en proteus y c elaboraendo una alarma
Comment by kml— April 14, 2010 #
oye mira yo tengo este codigo y cuando le doy build me puros errores ese codigo de que o donde se pa sa a hexadecimal
#include
#include
//Target PIC16F628 configuration word
#pragma DATA _CONFIG, 0x3F18
//Set clock frequency
#pragma CLOCK_FREQ 4000000
unsigned char message[60];
unsigned char data;
unsigned char address;
rom char* A_seq = {0x7e,0x09,0x09,0x09,0x7e};
rom char* B_seq = {0x7f,0x49,0x49,0x49,0x3e};
rom char* C_seq = {0x3e,0x41,0x41,0x41,0x22};
rom char* D_seq = {0x7f,0x41,0x41,0x41,0x3e};
rom char* E_seq = {0x7f,0x49,0x49,0x49,0x41};
rom char* F_seq = {0x7f,0x09,0x09,0x09,0x01};
rom char* G_seq = {0x3e,0x41,0x41,0x49,0x7a};
rom char* H_seq = {0x7f,0x08,0x08,0x08,0x7f};
rom char* I_seq = {0x00,0x41,0x7f,0x41,0x00};
rom char* J_seq = {0x20,0x40,0x41,0x3f,0x01};
rom char* K_seq = {0x7f,0x08,0x14,0x22,0x41};
rom char* L_seq = {0x7f,0x40,0x40,0x40,0x40};
rom char* M_seq = {0x7f,0x02,0x04,0x02,0x7f};
rom char* N_seq = {0x7f,0x02,0x04,0x08,0x7f};
rom char* O_seq = {0x3e,0x41,0x41,0x41,0x3e};
rom char* P_seq = {0x7f,0x09,0x09,0x09,0x06};
rom char* Q_seq = {0x3e,0x41,0x51,0x21,0x5e};
rom char* R_seq = {0x7f,0x09,0x19,0x29,0x46};
rom char* S_seq = {0x46,0x49,0x49,0x49,0x31};
rom char* T_seq = {0x01,0x01,0x7f,0x01,0x01};
rom char* U_seq = {0x3f,0x40,0x40,0x40,0x3f};
rom char* V_seq = {0x1f,0x20,0x40,0x20,0x1f};
rom char* W_seq = {0x3f,0x40,0x38,0x40,0x3f};
rom char* X_seq = {0x63,0x14,0x08,0x14,0x63};
rom char* Y_seq = {0x03,0x04,0x78,0x04,0x03};
rom char* Z_seq = {0x61,0x51,0x49,0x45,0x43};
rom char* a_seq = {0x30,0x4a,0x4a,0x4a,0x7c}; //a
rom char* b_seq = {0x7f,0x50,0x48,0x48,0x30}; //b
rom char* c_seq = {0x38,0x44,0x44,0x44,0x20}; //c
rom char* d_seq = {0x38,0x44,0x44,0x48,0x7f}; //d
rom char* e_seq = {0x38,0x54,0x54,0x54,0x18}; //e
rom char* f_seq = {0x08,0x7e,0x09,0x01,0x02}; //f
rom char* g_seq = {0x06,0x49,0x49,0x49,0x3f}; //g
rom char* h_seq = {0x7f,0x08,0x04,0x04,0x78}; //h
rom char* i_seq = {0x00,0x44,0x7d,0x40,0x00}; //i
rom char* j_seq = {0x20,0x40,0x44,0x3d,0x00}; //j
rom char* k_seq = {0x7f,0x10,0x28,0x44,0x00}; //k
rom char* l_seq = {0x00,0x41,0x7f,0x40,0x00}; //l
rom char* m_seq = {0x7c,0x04,0x08,0x04,0x78}; //m
rom char* n_seq = {0x7c,0x08,0x04,0x04,0x78}; //n
rom char* o_seq = {0x38,0x44,0x44,0x44,0x38}; //o
rom char* p_seq = {0x7c,0x14,0x14,0x14,0x08}; //p
rom char* q_seq = {0x08,0x14,0x14,0x18,0x7c}; //q
rom char* r_seq = {0x7c,0x08,0x04,0x04,0x08}; //r
rom char* s_seq = {0x48,0x54,0x54,0x54,0x20}; //s
rom char* t_seq = {0x04,0x3f,0x44,0x40,0x20}; //t
rom char* u_seq = {0x3c,0x40,0x40,0x20,0x7c}; //u
rom char* v_seq = {0x1c,0x20,0x40,0x20,0x1c}; //v
rom char* w_seq = {0x3c,0x40,0x30,0x40,0x3c}; //w
rom char* x_seq = {0x44,0x28,0x10,0x28,0x44}; //x
rom char* y_seq = {0x0c,0x50,0x50,0x50,0x3c}; //y
rom char* z_seq = {0x44,0x64,0x54,0x4c,0x44}; //z
rom char* n0_seq = {0x3e,0x51,0x49,0x45,0x3e};
rom char* n1_seq = {0x00,0x42,0x7f,0x40,0x00};
rom char* n2_seq = {0x42,0x61,0x51,0x49,0x46};
rom char* n3_seq = {0x22,0x41,0x49,0x49,0x36};
rom char* n4_seq = {0x18,0x14,0x12,0x7f,0x10};
rom char* n5_seq = {0x27,0x45,0x45,0x45,0x39};
rom char* n6_seq = {0x3e,0x49,0x49,0x49,0x30};
rom char* n7_seq = {0x01,0x71,0x09,0x05,0x03};
rom char* n8_seq = {0x36,0x49,0x49,0x49,0x36};
rom char* n9_seq = {0x06,0x49,0x49,0x29,0x1e};
rom char* exp_seq = { 0x00,0x0,0x5f,0x0,0x0};
rom char* colon_seq= { 0x00,0x36,0x36,0x0,0x0};
rom char* space_seq ={ 0,0,0,0,0 };
rom char* heart_seq = {0x0c,0x1e,0x3c,0x1e,0x0c};
rom char* asterisk_seq = {0x2a,0x1c,0x7f,0x1c,0x2a};
bit oldVal;
int idx;
rom char *GetByteList(char c)
{
switch(c)
{
case 1: return A_seq;
case 2: return B_seq;
case 3: return C_seq;
case 4: return D_seq;
case 5: return E_seq;
case 6: return F_seq;
case 7: return G_seq;
case 8: return H_seq;
case 9: return I_seq;
case 10: return J_seq;
case 11: return K_seq;
case 12: return L_seq;
case 13: return M_seq;
case 14: return N_seq;
case 15: return O_seq;
case 16: return P_seq;
case 17: return Q_seq;
case 18: return R_seq;
case 19: return S_seq;
case 20: return T_seq;
case 21: return U_seq;
case 22: return V_seq;
case 23: return W_seq;
case 24: return X_seq;
case 25: return Y_seq;
case 26: return Z_seq;
case 33: return a_seq;
case 34: return b_seq;
case 35: return c_seq;
case 36: return d_seq;
case 37: return e_seq;
case 38: return f_seq;
case 39: return g_seq;
case 40: return h_seq;
case 41: return i_seq;
case 42: return j_seq;
case 43: return k_seq;
case 44: return l_seq;
case 45: return m_seq;
case 46: return n_seq;
case 47: return o_seq;
case 48: return p_seq;
case 49: return q_seq;
case 50: return r_seq;
case 51: return s_seq;
case 52: return t_seq;
case 53: return u_seq;
case 54: return v_seq;
case 55: return w_seq;
case 56: return x_seq;
case 57: return y_seq;
case 58: return z_seq;
case 59: return n0_seq;
case 60: return n1_seq;
case 61: return n2_seq;
case 62: return n3_seq;
case 63: return n4_seq;
case 64: return n5_seq;
case 65: return n6_seq;
case 66: return n7_seq;
case 67: return n8_seq;
case 68: return n9_seq;
case 69: return exp_seq;
case 70: return colon_seq;
case 71: return heart_seq;
case 72: return asterisk_seq;
}
// Everything else is a space
return space_seq;
};
void showData(const char data)
{
if(data & 0b0000001) clear_bit(portb,3); else set_bit(portb,3);
if(data & 0b0000010) clear_bit(porta,7); else set_bit(porta,7);
if(data & 0b0000100) clear_bit(porta,6); else set_bit(porta,6);
if(data & 0b0001000) clear_bit(portb,7); else set_bit(portb,7);
if(data & 0b0010000) clear_bit(portb,6); else set_bit(portb,6);
if(data & 0b0100000) clear_bit(portb,5); else set_bit(portb,5);
if(data & 0b1000000) clear_bit(portb,4); else set_bit(portb,4);
}
void showMessage(const char *message, char count)
{
char i;
char j;
char data;
rom char *sequence;
for(j=0; j<count; j++)
{
sequence = GetByteList(message[j]);
for(i=0; i<5; i++)
{
// Display column
data = sequence[i];
showData(data);
delay_us(200);
delay_us(200);
// All Off
portb = 0xff;
porta = 0xff;
delay_us(200);
delay_us(200);
}
// Space between letters.
delay_ms(1);
}
};
void programming()
{
unsigned char data = 1;
unsigned char i,j;
unsigned char count;
for(i=0; i<3;i++)
{
for(j=0;j<7;j++)
{
showData(data);
data <<= 1;
data |= 1;
delay_ms(45);
}
for(j=0;j>= 1;
showData(data);
delay_ms(45);
}
}
while(!portb.1 || !portb.2); // Wait for both buttons to be released
data = eeprom_read(address);
showData(data);
while(1)
{
count = 10;
while(!portb.1 && count)
{
delay_ms(2);
count–;
}
if(count == 0) // Held down for 20ms?
{
data++;
if(data>0x7f) data = 0;
showData(data);
count = 80;
while(!portb.1)
{
delay_ms(15);
if(count) count–;
if(count==0)
{
data++;
if(data>73) data=0;
showData(data);
if(data==0 || data==16 || data ==32 || data==48 || data==64)
{
while(!portb.1);
}
}
}
}
if(!portb.2) // Button 2 is pressed
{
delay_ms(10);
if(!portb.2) // Is it still pressed?
{
eeprom_write(address++,data);
data = eeprom_read(address);
showData(data);
while(!portb.2); // Wait for release
}
}
}
}
void main( void )
{
cmcon = 7; //disable comparators
clear_bit( option_reg, 7 );
//Configure port A
trisa = 0x00;
//Configure port B
trisb = 0x07; // RB0, 1, 2 are inputs.
//Initialize port A
porta = 0x00;
//Initialize port B
portb = 0x00;
delay_ms(100);
address = 0;
while((data = eeprom_read(address)) != 0)
{
message[address++] = data;
}
if(!portb.1 || !portb.2)
{
address = 0;
programming();
}
else
{
//Endless loop
while( 1 )
{
showMessage(message,address);
//while(portb.0);
//while(!portb.0);
delay_ms(7);
};
}
}
Comment by carlos— May 12, 2010 #
ayudame
Comment by carlos— May 12, 2010 #
hola a todos necesito ayuda con una practica de lab q me tiene loko no se como hacerla nesecito hacer una calculadora q haga las operaciones basicas( resta, suma, division y multiplicacion) utilizando 5 cifras ejemplo 12+69+97+45+121 usando rl MPLAB y el simulador proteus si pueden ayudarme!!! uso el PIC16F877
aki les dejo mi correo por si lo tinen riber5000@hotmail.com
muchas gracias
Comment by riber— May 19, 2010 #
Creo ya es hora del segundo articulo de proteus y demás no? ya te tardaste man y tan bueno que esta, no le quiero perder la liga man, porfas ya comienzale jeje
Comment by angel— June 9, 2010 #
como instalo mplab si comp tiene windonw 7 y me sale que no es compatible
Comment by YAIR CARDENAS— June 17, 2010 #
necesito saber como confeccionar mi programador de pic que componentes necesito y como descargar el icprogram gratis
Comment by sedrick— June 19, 2010 #
para window vista
Comment by sedrick— June 19, 2010 #
porfa necesito saber como se hace un prograna en asembler donde se debe mantemer encendido un led y al ocurrir una interupcion por el flanco de bajada de la linea RB0/int se debe apagar por 5 segundos y retornar f=10MH . . . . POR FAVOR SE LES AGRADEC SU AYUDA GRACIAS POR TODO
Comment by Rafael .O— July 3, 2010 #
Tengo un disco de instalacion de MPLAB IDE V5.00 ya lo instale pero no se en que parte del programa se pone el codigo deseado !! soy primeriso en este programa y la verdad no se como abrir la ventana para el codigo. Tambien tengo otro disco que se llama MICROCHIP TECHNICAL LIBRARY CD-ROM
y no se para que es y no se si lo debo de instalar !!!!
otra pregunta: Tengo el aparato para programar los pic y dice asi:PICSTART PLUS, es este el que se utiliza para bajar la informacion al pic??
o si alguien tiene una version mas nueva del MPLAB le agradeseria que me la pasaran !!! pero si no puedo utilizar la version que tengo, mucho menos una mas nueva !!!
Gracias Dios les bendiga.
soy aprendis de este programa por favor ayudenme !!!!
Comment by Potencia de Dios— July 6, 2010 #
HOLA GENTE TENGO UN PROBLEMA AL QUERER HACER CORRER EL PROGRAMA NO ME DEJA Y ME DICE “ERROR NO ESPECIFICADO” ALGUNO TIENE UNA SOLUCON?
DESDE YA GRACIAS.
Comment by Juan.kz— July 7, 2010 #
haber yo estudiio informatica y pus tengo un libro en formato .pdf es para programar estas cosas explicatodo desde como se colocan simbologia y artas madres si alguinh lo quiere esta es mi correo solo agreguenme y digean que lo qiueren y se los paso mi correo es tlaque_1213@hotmil.com
Comment by gustavo— July 26, 2010 #
gracias mi estimado por el gran aporte para iniciarse en los pic. soy nevo en esto apenas enpieso y esto m ayudará.
Comment by raditel— July 29, 2010 #
Amigo tengo un problema, ya el programa MPLAB lo descargue sin ningun problema, pero cuando voy a acceder a el me dice error no especificado, que creen que pueda ser?????, ya no hayo que hacer……
Comment by kleyner— August 9, 2010 #
Hola gracias por el aporte ,
Ademas de el software es necesario algún equipo adicional soy nuevo en esto y deseo saber si se necesita una interface y cual puedo comprar
gracias ah soy de Peru
Comment by kristian36— August 25, 2010 #
necesito un programa que incremente de dos en dos y decremente con el pic 16f877a.
Comment by MARIO— August 26, 2010 #
Hola amigos, por favor, tengo un proyectito de conteo de objetos varios en tiempo real con C++,este conteo lo mando por el puerto USB y funciona ok, luego la cantidad detectada de objetos (los objetos varian constantemente) tiene que ser enviada al PIC 18F2550, pero al conectar el PIC (previo driver instalado))se pone lenta lenta la PC.
Alguien sabe por que sucede esto… SLDS.
Comment by Miguel— August 28, 2010 #
MUY BUENA PAG.. BUENO YO TAMBIEN VOY EMPEZANDO Y ME GUSTARIA SABER SI PUEDES DECIRME COMO EMPEZAR A SABER MAS HACERCA DE LOS SIMBOLOS Y
DE LAS PALABARS QUE SE USAN EN EL MPLAB PARA DAR UNA INSTRUCCION
GRAX…
Comment by carlos alberto— September 5, 2010 #
HOLA, sabes pensaba en decirte que tengo un problema con este ejemplo, pero al ver que muchas personas tambien lo tienen, mejor voy a intentar ver porq y solo me limito a agradecert por la ayuda que ofreces. suerte.
Comment by janneth— September 6, 2010 #
Hola,Al crear la primera vez por cuenta propia un proyecto,cree la ruta de la carpeta para guardarlo muy larga.
………………………PROBLEMA RESUELTO………………………
GRACIAS POR EL APORTE…
Comment by APOK— September 20, 2010 #
hola quisiera que me ayudarn a realizar un programa que me sense dos fases en un modulo pet 12v-127-
les agradecria mucho
Comment by LUIS GAONA— October 11, 2010 #
Oolaa me gustaria y les agradeceria que me ayudaran a hacer el siguiente programa en el MPLAB
es para con un pic 16f84a manejar 5 alarmas ubicadas en una casa
y que al momento en que se accione una alarma aparezca en una pantalla LCD que alarma se activo muchas gracias !!!
Comment by andres bermudez— October 12, 2010 #
BUENAS A TODOS BUENO LA VERDAD YO MANEJO C, Y ES MUCHO MAS SENCILLO NO SE SI PUEDA HACERLO POR AHI ……SI ALGO ME AVISA CREO QUE ES SENCILLO
Comment by JORGE R— October 12, 2010 #
Que Es C?
Comment by andres bermudez— October 20, 2010 #
saludos a todos los participantes de este foro.
Yo al igual k la mayoría de personas de este foro, recién me estoy iniciando con el aprendizaje del MPLAB, pero se me hace un poco complicado entender las funciones k cumplen las “variables”
org 0×00 ;
goto Inicio ;
Inicio movlw
movwf CMCON ;
bsf STATUS,RP0 ;
bcf STATUS,RP1
bcf TRISB,7
la verdad no se como utilizarlos.
Si hay alguien de este foro k conozca una pagina web
que contenga un manual para orientarme en el MPLAB le estaré muy agradecido.
(si el manual es de 100000 hojas se lo agradeceré aun mas ,por que deseo aprender)
“si alguien desea entender sobre circuitos analógicos, yo los puedo ayudar”
gracias a todos por compartir.
Comment by HitchMan— October 21, 2010 #
Tengo Un Manual Carnal, En Unos Dias Te Lo Hago Llegar.. Dime Como Le Hago
Comment by ganso— November 1, 2010 #
hola, me llamo hernan y quiero aprender a programar los microcontroladores pic en especial el pic 16f84a y mi duda es como lo hago para programar mi pic con este programa
Comment by hernan albornoz— November 24, 2010 #
hola soy carlos estoy por terminar el colegio pero necesito saber como se usa un contador ascendente bcd para el ptob y que cuente cuando hay un pulso en el ptoa para escribirlo en el mplab.si alguien me podria ayudar le agradeceria mucho.
Comment by carlos— December 10, 2010 #
hola me llamo perucho, estoy empesando a usar el mplab. quiciera que me ayudaran hacer una llave electronica con teclado numerico y pantalla lcd si se puede por favor. gracias amigos
Comment by peru— February 11, 2011 #
hola me podran ayudar a programar le secuencia d leds con subrutinas y encendido con medio segundo xfa
Comment by VANILLY— March 16, 2011 #
Hola a todos soy nuevo con la placa pickit 3 y tengo un problema yo nose muy bien como va el compilador MPLAB, me e leido manuales y aun sigo con la duda del manejo. A la hora de compilar tengo mis problemas no me permite compilarlo. A lo mejor es porque quiero trabajar con “C” pero no lo se, vosotros sois los expertos. Si alguien me puede hechar una gran mano se lo agradeceria porque con esta placa no me consigo hacer.
Un saludo
Comment by Abel— March 25, 2011 #
Hola amiwo como estas? estoi usando este programa en la escuela y la vdd se muy poko, me dejaron com oproyecto final una calculadora que sume reste multiplique y divide y la vdd se me esta complicando muchisisisimo me podrias ayudar enla programacion 😀 estaria infinitamente agredecido con tigo si me peudes ayudar. un barzo y cuidate
Comment by MISSAEL— May 12, 2011 #
hola amigos, estoy cursando en la uni la asignatura MICROPROCESADORES
y en ella se me fue asignado realizar un programa en ASM para un pic16f876a. Pero el programa debo de realizar con la aplicacion DEBUG de las PC de windows osea asm de x86 (que locura) . Mi confuncion es grande porq yo e programado para pics pero es usando MPLAB osea el ASM de microchip. Se puede realizar un programa con las instrucciones del asm de x86, tomar el .Hex que se genera y grabar este archivo en el PIC ?… Por ser arquitecturas de procesadores diferentes creo q esto no deberia funcionar pero que dicen ustedes ?…
Comment by Yrogerg— May 18, 2011 #
hola !!!
hasta hora estoy aprendiendo a programar en MPLAB
necesito hacer las operaciones logicas AND.OR y demas
y no se como comenzar.
tengo q dar dos valores de entrada y efectuar las operaciones
Comment by eliana— September 6, 2011 #
ERROR [113] EN MPLAB IDE V8.56 COMO C SOLUCIONA?
Error[113] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\ESCRITORIO\PROGRAMA DEL LADILLA\PROYECTO.ASM 30 : Symbol not previously defined (PROCESO)
Comment by FELIX— October 31, 2011 #
aLGUIEN ME PODRIA AYUDAR CON PROGRAMA PARA PIC 16F84 DOS LEDS UNO ENCIENDE AL OPRIMIR UN PULSADOR Y TITILA CADA DIEZ SEGUNDOS Y AL TERMINAR EL SIGUIENTE LES DEBERA QUEDAR ENCENDIDO POR 3 MINUTOS
Comment by MIGUEL— November 20, 2011 #
hola sera que alguien me puede ayudar nececito hacer dos dados electronicos, y necesito que cuando se oprima un boton los dados empiecen a girar aleatoriamento 8000 veces por segundo alguien me puede indicar como hacer esto, es para trabajar con el pic 16f877a en mplab
Comment by luisa— February 19, 2012 #
HOLA NO HE PODIDO COMPILAR EN MPLAB UN ARCHIVO QUE SE ENCUENTRA EN .C PARA UN PIC18f4550. YO NO SE QUE LE PASA A MI COMPUTADOR. ME APARECE UN AVISO QUE DICE “BUILDED FAILED”.
Ayudenme por favor mi correo es. jhonyhip@gmail.com.
GRACIAS A TODOS
Comment by Jhony— March 9, 2012 #
HOLA
ME GUSTARIA SABER SI HAY ALGUIEN QUIEN ME PUEDA AYUDAR LO QUE PASA ES QUE NECESITO EL INSTALADOR DEL MPLAB 2.0, 1.0, 8.0 CUALQUIERA DE ESTOS PERO LA VERDAD NO LO ENCUENTRO PORFAVOR ALLUDENMEN ES MUY IMPORTANTE YA QUE ESTOY INICIANDO EN ESTE MUNDO DE LOS PIC MI CORREO ES
cubillosortizfernando@hotmail.com
gracias
Comment by fernando— April 7, 2012 #
es compatible con windows 7
Comment by luis castañeda r.— May 1, 2012 #
hola a todos soi luis
y apenas me estoi iniciando en esto pero estoi trabajando en un proyecto ya tengo diseñados los circuitos solo que eso de la programacion es nuevo y quisiera saber si me podrian ayudar lo que intento haser es una secuencia de leds usando el pic 16f877 si alguien pudiera ayudarem por favor urge y los planos los tengo todos por si quieren echarles un vistazo dejo mi correo “”qtc_13@hotmail.com”””
saludos a todos
Comment by chinito50— May 20, 2012 #
hola he comprado todo el kit para programar pics porqeu me llama mucho la atencion pero realmente no tengo ni idea de como va el asunto,mi hija me ha dicho q necesita la simulacion de un semaforo de cuatro vias para un proyecto de la escuela y yo he recurrido a hacerlo con un integrado 4017 pero no me funciona estable , si alguien me explicara como programar esto en un pic estaria bueno y de paso me alludan con el codigo please .mi mail es ikro8989@yahoo.com por si postean aqui y me pueden avisar
Comment by ikro— November 6, 2012 #
Hi! I just wanted to ask if you ever have any trouble with hackers?
My last blog (wordpress) was hacked and I ended up losing many months of hard
work due to no backup. Do you have any solutions
to stop hackers?
Comment by quickbooks download— April 26, 2013 #
kisiera saber si este programa esta bien es una simulacion de 10 leds pero no estoy segura de esto
config wpt=off, osc=xt, pwrt=off, mclre=on
LISP=18F84A
INCLUDE libreria
CONFIGURACION “nombre de la subrutina”
movlw b´1111111111´
movwf ADCON1
movlw b´0000000000´
movwf TRISB
movwf TRISA
PRINCIPAL
movlw b´1000000001´
movwf porta
call Retardo_200micros
movlw b´1100000011´
movwf portb
call Retardo_200micros
movlw b´1110000111´
movwf portb
call Retardo_200micros
movlw b´1111001111´
movwf portb
call Retardo_200micros
movlw b´1111111111´
movwf portb
call Retardo_200micros
goto principal
incluide
(end)
Comment by lizbeth— August 15, 2013 #
PARA VER SI ME PUEDE HACER EL FA DE AYUDARME A IMPLEMENTAR LA SUMA Y RESTA EN ESTE PROGRAMA:
LIST P=16F877A, ; usar PIC 16F628A
#include
__CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC ; code protec off
; power up timer on
; watchdog off
; osc XT
OPTIONR EQU 01H;
INTCON EQU 0BH
STATUS EQU 03H
#DEFINE BANCO0 BCF STATUS,5
#DEFINE BANCO1 BSF STATUS,5
ORG 0
GOTO START;
CBLOCK 0x20
DISP1 ; VALOR TEMPORAL DEL DISPLAY 1
DISP2 ; VALOR TEMPORAL DEL DISPLAY 2
DISP3 ; VALOR TEMPORAL DEL DISPLAY 3
DISP4 ; VALOR TEMPORAL DEL DISPLAY 4
TECLA ; VALOR BINARIO DE UNA TECLA PRESIONADA
KEY_PRESSED; 00: no key; 01: key pressed; 10: key released
VALORCONV ; VARIABLE UTILIZADA EN LA CONVERSION BINARIA – 7 SEGMENTOS (ENTRADA)
ITERATE;
CONTADOR ; CONTADOR USADO EN EL CONTROLADOR DEL DISPLAY
ENDC
ORG 04H
BCF INTCON,2
CLRWDT
CALL KEYPAD_KEY
CLRWDT
CALL SHOW_DISPLAYS
RETFIE
SHOW_DISPLAYS
; DISPLAYS SON MOSTRADOS ALTERNATIVAMENTE
; CONTADOR TIENE SUS PRIMERO CUATRO BITS, SI ESTÁ
; ACTIVADO, SE ACTIVA ESE DISPLAY. CUANDO SE ACTIVA,
; SE CAMBIA EL VALOR PARA QUE LA SIGUIENTE VEZ SE ACTIVE EL SIGUIENTE, ETC.
; Configuro puerto D como salida
BANCO1
MOVLW 0x00
MOVWF TRISD
BANCO0
SHOWDISPLAY1 ; VERIFICA EL DISPLAY 1
BTFSS CONTADOR,0
GOTO SHOWDISPLAY2
MOVF DISP1,0
MOVWF PORTD
BSF PORTA,2
BCF PORTA,5
BSF CONTADOR,1
BCF CONTADOR,0
GOTO EXIT_SHOW_DISPLAY
SHOWDISPLAY2 ; VERIFICA EL DISPLAY 2
BTFSS CONTADOR,1
GOTO SHOWDISPLAY3
MOVF DISP2,0
MOVWF PORTD
BSF PORTA,3
BCF PORTA,2
BSF CONTADOR,2
BCF CONTADOR,1
GOTO EXIT_SHOW_DISPLAY
SHOWDISPLAY3 ; VERIFICA EL DISPLAY 3
BTFSS CONTADOR,2
GOTO SHOWDISPLAY4
MOVF DISP3,0
MOVWF PORTD
BSF PORTA,4
BCF PORTA,3
BSF CONTADOR,3
BCF CONTADOR,2
GOTO EXIT_SHOW_DISPLAY
SHOWDISPLAY4 ; VERIFICA EL DISPLAY 4
BTFSS CONTADOR,3
GOTO SAFE_SHOW_DISPLAY
MOVF DISP4,0
MOVWF PORTD
BSF PORTA,5
BCF PORTA,4
SAFE_SHOW_DISPLAY
BSF CONTADOR,0
BCF CONTADOR,3
EXIT_SHOW_DISPLAY
RETURN
; AQUI SE DESCRIBE LA SECUENCIA DE SELECCION DE LA TECLA PRESIONADA
KEYPAD_KEY
; LAS TECLAS SON: 0,1, …, 9, *, #
; LA SALIDA TECLA SE CODIFICA: 0000, …, 1001.
; LAS TECLAS * Y # NO SE CODIFICAN
; SE VERIFICAN LOS VALORES DE PORTD EN TÉRMINOS DEL PUERTO B
; SE DEBE ASIGNAR FF A PUERTO B, Y SÓLO PONER EN CERO EL PUERTO A CHEQUEAR
; SI PORTD ES CERO EN ESE CASO SE PRESIONO LA TECLA
INICIAKEYPAD
; Configuro puerto D como entrada
BANCO1
MOVLW 0x0F
MOVWF TRISD
BANCO0
;MOVLW 0x0F
;MOVWF PORTB
; VERIFICANDO COLUMNA 1
BSF PORTB,0
BSF PORTB,1
BSF PORTB,2
BCF PORTB,3
CLRWDT
COLUMNA1
BCF PORTB, 0
COL1FIL1
BTFSC PORTD, 3; CHEQUEA POR LA TECLA 1
GOTO COL1FIL2
MOVLW 0x01
GOTO TECLA_SET
COL1FIL2
BTFSC PORTD, 2; CHEQUEA POR LA TECLA 4
GOTO COL1FIL3
MOVLW 0x04
GOTO TECLA_SET
COL1FIL3
BTFSC PORTD, 1; CHEQUEA POR LA TECLA 7
GOTO COLUMNA2
MOVLW 0x07
GOTO TECLA_SET
COLUMNA2
COL2FIL1
BCF PORTB,1
BTFSC PORTD, 3; CHEQUEA POR LA TECLA 2
GOTO COL2FIL2
MOVLW 0x02
GOTO TECLA_SET
COL2FIL2
BTFSC PORTD, 2; CHEQUEA POR LA TECLA 5
GOTO COL2FIL3
MOVLW 0x05
GOTO TECLA_SET
COL2FIL3
BTFSC PORTD, 1; CHEQUEA POR LA TECLA 8
GOTO COL2FIL4
MOVLW 0x08
GOTO TECLA_SET
COL2FIL4
BTFSC PORTD, 0; CHEQUEA POR LA TECLA 0
GOTO COLUMNA3
MOVLW 0x00
GOTO TECLA_SET
COLUMNA3
COL3FIL1
BCF PORTB,2
BTFSC PORTD, 3; CHEQUEA POR LA TECLA 3
GOTO COL3FIL2
MOVLW 0x03
GOTO TECLA_SET
COL3FIL2
BTFSC PORTD, 2; CHEQUEA POR LA TECLA 6
GOTO COL3FIL3
MOVLW 0x06
GOTO TECLA_SET
COL3FIL3
BTFSC PORTD, 1; CHEQUEA POR LA TECLA 9
GOTO TECLA_NO_SET
MOVLW 0x09
GOTO TECLA_SET
;COL3FIL3
;BTFSC PORTD, 1; CHEQUEA POR LA TECLA #
;GOTO TECLA_NO_SET
;MOVLW 0x0b
;GOTO TECLA_SET
TECLA_NO_SET ; CASO ESPECIAL PARA DETECTAR SI SE LEVANTO LA TECLA
BTFSS KEY_PRESSED,0
GOTO SALETECLA
BSF KEY_PRESSED,1
GOTO SALETECLA
TECLA_SET
MOVWF TECLA
BSF KEY_PRESSED,0
SALETECLA
BCF PORTB,2
RETURN
; CONVERSOR HEXADECIMA – 7 SEGMENTOS (DISPLAY)
SEVENSEGSCONV
ADDWF PCL,F
; B’.GFEDCBA’ ; POSIÇÃO CORRETA DOS SEGUIMENTOS
RETLW B’00111111′ ; 00
RETLW B’00000110′ ; 01
RETLW B’01011011′ ; 02
RETLW B’01001111′ ; 03
RETLW B’01100110′ ; 04
RETLW B’01101101′ ; 05
RETLW B’01111101′ ; 06
RETLW B’01000111′ ; 07
RETLW B’01111111′ ; 08
RETLW B’01100111′ ; 09
RETLW B’01100110′ ; 0A
RETLW B’01110110′ ; 0B
RETLW B’01100110′ ; 0C
RETLW B’01100110′ ; 0D
RETLW B’01100110′ ; 0E
RETLW B’01100110′ ; 0F
START
BANCO1
MOVLW 0x00 ; carga 00000 en W
MOVWF TRISA ; puerto A de salida
MOVLW 0x00
MOVWF TRISB ; puerto B de salida
MOVLW 0x0F
MOVWF TRISD ; puerto D de entrada (pero se modifica por interrupcion)
CLRF CONTADOR;
CLRF KEY_PRESSED;
MOVLW 0x01
MOVWF CONTADOR ; Inicia en ceros el contador
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; CONFIGURANDO CONTADOR CNT1
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;BCF STATUS,5 ; volvemos a la pagina 0
BANCO0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; CONFIGURANDO INTERRUPCION
BSF INTCON,7 ;Habilita las interrupciones globalmente
; BSF INTCON,6 ;Mascara PEIE
BSF INTCON,5
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INICIO ; etiqueta
BTFSS KEY_PRESSED,1 ; chequea si se levantó una tecla (0 indica presionada, 1, levantada)
GOTO NORMAL
BCF KEY_PRESSED,0 ; Limpia el registro de control para indicar si se ha presionado tecla
BCF KEY_PRESSED,1
MOVF DISP2,0
MOVWF DISP1
MOVF DISP3,0
MOVWF DISP2
MOVF DISP4,0
MOVWF DISP3
MOVF TECLA,0 ; Asigna el valor de tecla a W
CALL SEVENSEGSCONV ; W = Sevensegs(tecla)
MOVWF DISP4 ; Muestra en display 4 la codificacion
BTFSS KEY_PRESSED,2 ; chequea si se levantó una tecla (0 indica presionada, 1, levantada)
GOTO NORMAL
BCF KEY_PRESSED,1 ; Limpia el registro de control para indicar si se ha presionado tecla
BCF KEY_PRESSED,2
MOVF DISP2,0
MOVWF DISP1
MOVF DISP3,0
MOVWF DISP2
MOVF DISP4,0
MOVWF DISP3
MOVF TECLA,0
CALL SEVENSEGSCONV
MOVWF DISP1
BTFSS KEY_PRESSED,4 ; chequea si se levantó una tecla (0 indica presionada, 1, levantada)
GOTO NORMAL
BCF KEY_PRESSED,3 ; Limpia el registro de control para indicar si se ha presionado tecla
BCF KEY_PRESSED,4
MOVF DISP2,0
MOVWF DISP1
MOVF DISP3,0
MOVWF DISP2
MOVF DISP4,0
MOVWF DISP3
MOVF TECLA,0
CALL SEVENSEGSCONV
MOVWF DISP2
BTFSS KEY_PRESSED,3 ; chequea si se levantó una tecla (0 indica presionada, 1, levantada)
GOTO NORMAL
BCF KEY_PRESSED,2 ; Limpia el registro de control para indicar si se ha presionado tecla
BCF KEY_PRESSED,3
MOVF DISP2,0 ;se implementa esta forma para dijitar los cuatro numeros seguidos
MOVWF DISP1 ;y colocar a funcionar los cuatro display
MOVF DISP3,0
MOVWF DISP2
MOVF DISP4,0
MOVWF DISP3
MOVF TECLA,0
CALL SEVENSEGSCONV
MOVWF DISP3
MOVLW 0x00
MOVWF TECLA
NORMAL
CLRWDT
GOTO INICIO ; va a inicio
END
Comment by LLEVENET RUSO— November 24, 2013 #
como hacer un código para una alu en mplab
Comment by emiliano— March 18, 2015 #