TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: matias_compa en 14 de Julio de 2004, 10:36:00
-
Hola gente.
Tengo aqui un problemita y no se como resolverlo.
No tengo mucha experiencia en Pic, de echo, solo he programado en el 16f84 y ahora queria utilizar el 12c508 pero no se muy bien como utilizarlo, al decir verdad, si alguien puede y quiere, me podria pasar un ejemplo sencillo (encender y apagar un led, por ejemplo) como para ver como se utiliza en cuanto a las direcciones de los puertos y esas cosas.
Yo el programa que hice lo he probado en el 16f84 y funciona bien, pero ya he grabado con "basura" 2 12c508 y quiero que se cumpla el refran "el 3º es el vencido"
Espero poder lograrlo 
Desde ya muchisimas gracias a todos.
Matias
-
Hola,
no tengo ejemplos de ese pic pero te recomiendo que busques en la página de Mr. Todopic:
http://www.todopic.com.ar
probablemente ahí encuentres algo.
-
Te pongo un ejemplo con tres LED para que vayas más contento.
"****************************************************************
"* Name : UNTITLED.BAS *
"* Author : Ricardo Gamboa *
"* Notice : Copyright (c) 2003 GAMBOA FIRMWARE *
"* : All Rights Reserved *
"* Date : 24/09/2003 *
"* Version : 1.0 *
"* MCU : 12F629 IP
"* Notes : *
"* : *
"****************************************************************
"DESCRIPCION: Se trata de hacer un secuenciador de tres vías para encender
"una secuenca de led. Como va aser un sistema con batería
"***************************************
"* FUSIBLES *
"***************************************
@ DEVICE pic12F629, INTRC_OSC_NOCLKOUT "Reloj interno solo
@ DEVICE pic12F629, WDT_OFF " Watchdog Timer desconectado
@ DEVICE pic12F629, PWRT_ON " Power-On Timer conectado
@ DEVICE pic12F629, BOD_ON " Brown-Out Detect conectado
@ DEVICE pic12F629, MCLR_OFF " Master Clear Externo desconectado
@ DEVICE pic12F629, CPD_OFF " Data Memory Code Protect desconectado
@ DEVICE pic12F629, PROTECT_ON " Program Code Protection conectado
"** FIN DE FUSIBLES
"*****************************
"* DEFINE *
"*****************************
DEFINE OSC 4 " Ajuste de la frecuencia del oscilador en 4MHz
DEFINE NO_CLRWDT 1 "Obligo a que no ponga CLRWD automatico
"** FIN DE DEFINE
"DEFINICION DE VARIABLES
led_blanco VAR GPIO.0 "Pin que enciende el led blanco
led_rojo VAR GPIO.1 "Pin que enciende el led rojo
led_azul VAR GPIO.2 "Pin que enciende el led azul
i var byte "variable temporal.
j var byte "variable temporal
"DEFINICION DE LOS PINES DE ENTRADA/SALIDA.
TRISIO=0 "Todos los pines son salidas
J=80
"PROMPT de arranque
led_blanco=1: led_rojo=1: led_azul=1
pause 1000
led_blanco=0: led_rojo=0: led_azul=0
while 1
for i=0 to j "Enciendo el led blanco un segundo
led_blanco=1 "Hago una multiplexacion para que consuma menos.
gosub tiempo_on
led_blanco=0
gosub tiempo_off
next i
pause 50 "pauso 100ms entre diferentes led
for i=0 to j "Enciendo el led rojoun segundo
led_rojo=1 "Hago una multiplexacion para que consuma menos.
gosub tiempo_on
led_rojo=0
gosub tiempo_off
next i
pause 50 "pauso 100ms entre diferentes led
for i=0 to j "Enciendo el led azul un segundo
led_azul=1 "Hago una multiplexacion para que consuma menos.
gosub tiempo_on
led_azul=0
gosub tiempo_off
next i
pause 50
j=j-2
if j<=10 then j=80
wend
"*************************************************************************
"** SUBRUTINA: tiempo_ON
"** Espera durante 2 milisegundos
"*************************************************************************
tiempo_ON:
pause 2
Return
"** FIN SUBRUTINA: tiempo_ON
"*************************************************************************
"** SUBRUTINA: tiempo_ON
"** Espera durante 2 milisegundos
"*************************************************************************
tiempo_OFF:
pause 8
Return
"** FIN SUBRUTINA: tiempo_ON
END
Saludos
Ricky
Madrid-España
-
Aiiiiiiiii esas psx piratillas!!!!!!!!!!
-
Aqui te envío un ejemplo en assembler, hace parpadear 3 leds en GP0, GP1 y GP2 a una velocidad de 200mS aproximadamente:
list p=12c508
include <p12c508.inc>
radix hex
;----------------------------------------------------
cont1 equ 0x0c
cont2 equ 0x0d
cont3 equ 0x0e
;----------------------------------------------------
org 0x000
goto inicio
;------------------------------------------------------------
; pausa
;------------------------------------------------------------
pausa
decfsz cont1,f
goto pausa
decfsz cont2,f
goto pausa
decfsz cont3,f
goto pausa
movlw 1
movwf cont3
return
;------------------------------------------------------------
inicio
movlw 1
movwf cont3
movlw b"11011111"
option
movlw b"00111000"
tris GPIO
continuar
bsf GPIO,0
call pausa
bcf GPIO,0
bsf GPIO,1
call pausa
bcf GPIO,1
bsf GPIO,2
call pausa
bcf GPIO,2
goto continuar
end
-
piriots... si con estos códigos consiguen piratear las PSX, me parto...

aunque bien tienes razón, que el pic indicado es el que se utilizaba para parchear las psx1
hay que ver lo que dió desí este pic... 
la única pega que le encuentro, es que para practicar, es un tanto peligroso, dado que solo se puede grabar una vez...
-
Pregunta: ¿si un programa corre bien en un pic 12f629 correra bien en un 12c508a y que cambios habra que hacerle?
-
Hola a todos
muchachos yo pienso que el pic 12f629 tiene instruciones de 14 bit
y el pic 12c508 es de 12 bit y el progama tiene que modificarse para poder funcionar en 12c508.
ya que el 12c508 es de la gama enana junto al 16c5X de 12 bit
y el 12f629 es de la gama media de 14 bit los progamas tienen que modificarse.
saludo desde Rep. Dom.
miltonmmc
-
No me valen respuestas:
Yo pienso que esto o aquello.........
Eso no es información válida. Es mejor dar información contrastada y el resto no sirve para nada.
Esto es una crítica que me atañe a mi el primero y no va en contra de ninguna persona en concreto. Solo intento mejorar la información este foro tan valioso.
Con todos mis respetos a los participantes.
Saludos
Ricky
-
Mientras no hayas utilizado en el programa del 12f629 características que no posee el 12c508a, por ejemplo la memoria EEPROM, los comparadores análogos, etc. Puedes cambiarte teniendo en cuenta que el 12c508a solo tiene un banco de memoria de datos, por lo tanto hay posiciones diferentes para los registros de propósito especial.
-
Gracias