Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
November 25, 2024, 12:38:19 12:38


Login with username, password and session length


Pages: [1]
Print
Author Topic: Req: Time operated switch  (Read 3635 times)
0 Members and 1 Guest are viewing this topic.
shibuv
Newbie
*
Offline Offline

Posts: 30

Thank You
-Given: 0
-Receive: 7


WWW
« on: January 08, 2009, 05:08:21 17:08 »



hello

  Anybody can help me to find a pic 16F877/16f88 based Time operated switch using ds1307. It is for my project programmable school bell.


shibuv
Logged
pelctronics
Newbie
*
Offline Offline

Posts: 24

Thank You
-Given: 9
-Receive: 11


« Reply #1 on: January 09, 2009, 11:07:45 11:07 »


This is for pcf8583 philips chip, pic16f877, compiler pic basic pro... Smiley

Depends of date and time software turn on and off some relay switch or similar...
You need only to change addresses of chip register
Code:
DEFINE LCD_DREG PORTB ' I/O port na kome se nalazi LCD

DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2 ' Register select pin
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3 ' Enable pin
DEFINE LCD_BITS 4 ' 4-bitni data bus
DEFINE LCD_LINES 2 ' LCD ima dva reda karaktera
tempo var word
tempo=0
symbol SCL = PORTC.3 ' I2C data pin
symbol SDA = PORTC.4 ' I2C clock pin


I2CWRITE SDA,SCL,%10100001,$0f,[08]

B0 var bit
b0=0
Sekunde var byte ' Sekunde
Minuti var byte ' Minuti
sati var byte ' Sati
Dani var byte ' Dan
Meseci var byte ' Mesec
Godina var byte ' Godina

paljenje_minut var byte
paljenje_sat var byte
 
gasenje_sat var byte
gasenje_minut  var byte

paljenje_minut=0
paljenje_sat=0
gasenje_sat=0
gasenje_minut=0

read 1,b0
pause 20

portd.5=B0




Main:


gosub Procitaj_sat
pause 100
gosub provera_dana


if (minuti=paljenje_minut) and (sati=paljenje_sat) then pali

pause 100
if (Minuti=gasenje_minut) and (sati=gasenje_sat) then gasi


goto Main   ' Ponovi sve




 
provera_dana:

select case meseci

case 1                '''''''''''''''januar''''''
 
select case dani
case 1
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 7
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 14               

paljenje_minut=10
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0



case 22               

paljenje_minut=15
paljenje_sat=23
gasenje_sat=15
gasenje_minut=24

 end select
 
case 22                  '''''februar''''''

select case dani

case 1               
 paljenje_minut=00
paljenje_sat=17
gasenje_sat=7
gasenje_minut=0




case 7                   
 paljenje_minut=00
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0






case 16                 
 paljenje_minut=47
paljenje_sat=15
gasenje_sat=15
gasenje_minut=48




case 21
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=7
gasenje_minut=0

 end select
case 3                  ''''mart'''

select case dani

case 1                 
 paljenje_minut=0
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0





case 7                 
 paljenje_minut=20
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0






                         
 case 14                       
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22







case 21                   
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22

end select

case 4                  '''''april'''

select case dani
                           
case 1
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22



case 7
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 14
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 21               

paljenje_minut=10
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0

end select
case    5                      ''''''maj'''''

select case dani           



case 1               
 paljenje_minut=00
paljenje_sat=17
gasenje_sat=7
gasenje_minut=0




case 7                   
 paljenje_minut=00
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0






case 14                 
 paljenje_minut=0
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0




                     
case 21
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=7
gasenje_minut=0

 end select
case 6            '''''''jun''''''
               
select case dani


case 1               
 paljenje_minut=0
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0





case 7                  '''''septembar''''''
 paljenje_minut=20
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0






                         '''''oktobar'''''
case 14
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22







case 21                    ''''''novembar''''''
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22

end select

case 7                   ''''''jul'''''


                           '''''''decembar'''''
 
select case dani
case 1
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 7
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 14               

paljenje_minut=10
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0



case 21               

paljenje_minut=15
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0

 end select
case 8                    '''''avgust''''

select case dani

case 1               
 paljenje_minut=00
paljenje_sat=17
gasenje_sat=7
gasenje_minut=0




case 7                   
 paljenje_minut=00
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0






case 14               
 paljenje_minut=0
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0




                     
case 21
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=7
gasenje_minut=0

 end select
case 9                '''''septembar''''''

select case dani

case 1               
 paljenje_minut=0
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0





case 7                 
 paljenje_minut=20
paljenje_sat=20
gasenje_sat=7
gasenje_minut=0






                         
case 14
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22







case 21                   
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22

end select
case 10                  '''''oktobar'''''

select case dani
                           
case 1
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22



case 7
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 14
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13


case 21                   
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=19
gasenje_minut=22
end select

case 11                      ''''''novembar''''''
select case dani
case 1
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 7
paljenje_minut=12
paljenje_sat=17
gasenje_sat=17
gasenje_minut=13

case 14               

paljenje_minut=10
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0



case 21               

paljenje_minut=15
paljenje_sat=16
gasenje_sat=7
gasenje_minut=0

 end select
 
case 12                  '''''''decembar'''''

select case dani

case 1               
 paljenje_minut=00
paljenje_sat=17
gasenje_sat=7
gasenje_minut=0




case 7                   
 paljenje_minut=00
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0






case 14               
 paljenje_minut=0
paljenje_sat=18
gasenje_sat=7
gasenje_minut=0




                       
case 21
 paljenje_minut=20
paljenje_sat=19
gasenje_sat=7
gasenje_minut=0



end select

end select


return
'''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''' paljenje
pali:
if (Minuti=gasenje_minut) and (sati=gasenje_sat) then gasi

high portd.5
b0=portd.5
write 1, b0   ''pamti zadnje stanje
 
goto main
''''''''''''''''''''''''''''''''''''''''''''''''''    gasenje
gasi:
low portd.5
 b0=portd.5
 write 1, b0   ''pamti zadnje stanje
goto main
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''
procitaj_sat:
I2CREAD SDA,SCL,%10100001,2,[Sekunde] ''number two is address of register where is  pcf 8583 store the second,chenge that for Ds1307 chip
I2CREAD SDA,SCL,%10100001,3,[Minuti]
I2CREAD SDA,SCL,%10100001,4,[sati]

I2CREAD SDA,SCL,%10100001,5,[Dani]

I2CREAD SDA,SCL,%10100001,6,[Meseci]

I2CREAD SDA,SCL,%10100001,$0f,[Godina]


sati =(sati & $F )+((sati>>4)*10)   '''konverzija iz hexa decimalnog u decimalni broj '''''
minuti = (minuti & $F )+((minuti>>4)*10)'''''
dani = (dani & $F )+((dani>>4)*10)
meseci =(meseci & $F )+((meseci>>4)*10)
sekunde =(sekunde & $F )+((sekunde>>4)*10)

lcdout $fe,1 ' Obrisi displej
lcdout $fe,2 ' Prvi red prvi karakter
lcdout "Vreme:",dec2(sati),":", dec2(Minuti),":",dec2(Sekunde)
lcdout $fe,$c0 ' Drugi red, prvi karakter
lcdout "Datum:",dec2(Dani),".",dec2 (Meseci),".20",dec2(Godina)

return




End ' Kraj programa

Logged
caveman508
Junior Member
**
Offline Offline

Posts: 41

Thank You
-Given: 12
-Receive: 6

READ, REAd, REad, Read


« Reply #2 on: January 12, 2009, 08:46:25 20:46 »

Can you tell us more about what you want to do and where you are right now??  Are you able to talk to the DS1307?  How are you going to interface with the system, how will you display the current time.

The project sounds simple enough, we just don't know yet what you need to know.

Let us know.

Caveman
Logged
shibuv
Newbie
*
Offline Offline

Posts: 30

Thank You
-Given: 0
-Receive: 7


WWW
« Reply #3 on: January 14, 2009, 11:20:47 11:20 »



  I want to switch OFF/ON a device in pre-determined time. I have almost completed the time operated operation. Now I need to set the time using a keyboard.
shibuv
Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC