Programación Específica > Microcontroladores
Ayuda Reloj 16f877
atila_uni:
HOlA a todos, veo que este foro tiene buenas cosas felicito a todos los que hacen esto posible, escribo aqui pues, apesar de que no puedo (aun) ayudar a gonza2004, tambien estoy trabajando en un proyecto en el que necesito accionar un piston en tiempo real, para lo cual pensaba trabajar con el DS1307, veo que es muy usado, mi problema es que no se muy bien como usar el bus I2C, para poder obtener los datos necesarios, si alguien me pocria ayudar se los agradeceria.
Tambien quiero pedir a Setha si me puedes pasar ese libro que mencionas pues estoy usando el micro xx84 , mi correo es carlos.uno@gmail.com
Gracias
Setha:
El libro es "Microcontrolador PIC16F84. Desarrollo de proyectos" de la Editorial Ra-ma. Es muy bueno, con la única pega que trabaja solo en ensamblador.
Saludos.
piolex:
y alguien sabe como conectar el pic16f877 con uun ds1302?
programacion assembler
rodrigover:
--- Cita de: "Setha" --- Para la gestión del tiempo real te sugiero utilizar un circuito integrado como el DS1307 que te facilita mucho el trabajo. Este chip proporciona directamente los segundos, minutos, horas, dia de la semana, dia del mes, mes y año, además, necesita muy pocos componentes externos pero trabaja en bus I2C.
Tengo un CDROM de un libro con el programa del reloj digital completo con representación en LCD con DS1307 y un PIC16F84. Si te viene bien te lo paso.
Saludos.
Setha.
--- Fin de la cita ---
:huh: holaaaaaaaa les cuento que quisira poder implentar el reloj de tiempo real y mi pregunta es si pueden ayudarme, les estaria muy agradecido, es mi primera vez que estoy en un foro y lo encuentro genial, un lugar donde todos se pueden ayudar y ojala yo tb pueda acerlo. que esten bien rodrigo, rodrigover@gmail.com
De antemano muchas gracias.-
DANIEL RODRIGUEZ:
señores, en mi humildeopinion no puede ser mas facil conectar un 1307 a un pic siempre y cuando se haga con PBP (pic basic pro ) y la razon es que este programa ya tiene todas las librerias necesarias incluidas.
ejemplo:
rutina de programacion del 1307 a travez de un pic
memorizar:
datos = %00000000 ;segundos
addr = 0 ' Set address to 1
I2CWRITE PORTC.6,PORTC.7,cont,addr,[datos]
PAUSE 10 ' Wait 10ms for write to complete
;minutos
addr = 1 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7,cont,addr,[minutos]
PAUSE 10 ' Wait 10ms for write to complete
;hora
addr =2 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7,cont,addr,[hora]
PAUSE 10 ' Wait 10ms for write to complete
;hora
addr =3 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7 ,cont,addr,[diasem]
PAUSE 10 ' Wait 10ms for write to complete
;dia
addr = 4 ' Set address to 1
I2CWRITE PORTC.6,PORTC.7,cont,addr,[dia]
PAUSE 10 ' Wait 10ms for write to complete
;mes
addr = 5 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7,cont,addr,[mes]
PAUSE 10 ' Wait 10ms for write to complete
;year
addr = 6 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7,cont,addr,[year]
PAUSE 10 ' Wait 10ms for write to complete
datos=%00000000 ;year
addr = 7 ' Set address to 2
I2CWRITE PORTC.6,PORTC.7 ,cont,addr,[datos]
PAUSE 10 ' Wait 10ms for write to complete
return
filtro:
base=0
complemento=0
base.0 = comun.4
base.1 = comun.5
base.2 = comun.6
complemento.0 = comun.0
complemento.1 = comun.1
complemento.2 = comun.2
complemento.3 = comun.3
comun = base*10+complemento
return
rutina de lectura de datos del 1307 a travez de un pic
leeclock:
addr = 0 ; segundos
I2CREAD PORTC.6,PORTC.7,cont,addr,[segundos]
comun=segundos
gosub filtro
segundos=comun
addr = 1 ; minutos
I2CREAD PORTC.6,PORTC.7,cont,addr,[minutos]
comun=minutos
gosub filtro
minutos=comun
addr = 2 ; horas
I2CREAD PORTC.6,PORTC.7,cont,addr,[hora]
comun=hora
gosub filtro
hora=comun
addr = 3 ; dia del asemana
I2CREAD PORTC.6,PORTC.7,cont,addr,[diasem]
addr = 4 ; dia
I2CREAD PORTC.6,PORTC.7,cont,addr,[dia]
comun=dia
gosub filtro
dia=comun
addr = 5 ;mes
I2CREAD PORTC.6,PORTC.7,cont,addr,[mes]
comun=mes
gosub filtro
mes=comun
addr = 6 ; año
I2CREAD PORTC.6,PORTC.7,cont,addr,[year]
return
Estas rutinas funcionan OK y son validas para la mayoria de los pic.
yo las empleo en el 16f84, el 16f873 y el 16f876.
Cordial saludo.
Daniel :hola:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa