SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 13
13 gasten
0 leden:
Forum > Digitaal > pcf8563 uitlezen met een pic18f2550
« 1 [2] 3 »
pascalbianca
Lid
Berichten: 1449
Gepost op maandag 10 Februari 2014 19:19:59 QuoteWijzig

Is hier al iets werkends uit gekomen door iemand?


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1449
Gepost op dinsdag 18 Februari 2014 21:30:58 QuoteWijzig

Ik heb het volgende probleem waardoor ik niet verder kan met die PCF8563.
Sluit ik deze volgens schema aan met de SDA en SCL lijnen hangen de overige I2C Ic's vast en zodra ik deze omdraai werkt wel alles, maar zal de klok ic niet werken.

Waar zou dat aan kunnen liggen?


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op dinsdag 18 Februari 2014 22:06:06 QuoteWijzig

Per ongeluk dezelfde adressen?

pascalbianca
Lid
Berichten: 1449
Gepost op woensdag 19 Februari 2014 06:43:53 QuoteWijzig

Volgens mij niet, tenminste denk ik dan toch.
Het adres van die PCF8563 staat vast volgens de datasheet
Two slave addresses are reserved for the PCF8563:
Read: A3h (10100011)
Write: A2h (10100010)

Die van beide I/O Expenders zijn.:
Symbol PCF8574AP_ADDR =$70
Symbol PCF8574P_ADDR =$40
Die van de EEProm is.:
Symbol 24C64LeesAdres = $A1

Dus bovenstaande even omgezet als ik geen fout heb gemaakt.:
PCF8574A_ADDR =$70 > 1110000
PCF8574P_ADDR =$40 > 1000000
PCF8574P_ADDR_lezen =$41 > 1000001
24C64LeesAdres = $A1 > 10100001

PCF8563 adres A3h zou dan zijn $A3 (10100011)
 
[Bericht gewijzigd door pascalbianca op Woensdag 19 Februari 2014 06:56:43]


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op woensdag 19 Februari 2014 11:01:35 QuoteWijzig

Dan verwijs ik je naar CO;
http://www.circuitsonline.net/forum/view/118223 en
http://www.circuitsonline.net/forum/view/100451

Hiermee moet je de PCF8563 toch aan de praat krijgen?

pascalbianca
Lid
Berichten: 1449
Gepost op woensdag 19 Februari 2014 13:16:14 QuoteWijzig

Zal eens kijken erna thx.

------
Automatische edit 2014-02-19 14:48:24, toevoeging:

Vond al de link bekend want de eerste link is van mij
De 2de link word in die post van mij ook genoemd.
Maar dat verhelpt niet het probleem waarom mijn opstelling , zeg maar crashed, als ik de SDA en SCL van die PCF8563 aansluit op de overige I2C ic's, die wel gewoon werken.
 
[Bericht gewijzigd door pascalbianca op Woensdag 19 Februari 2014 14:48:24]


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op woensdag 19 Februari 2014 17:17:56 QuoteWijzig

Dus toch!!
Dezelfde adressen 24C64 en PCF8563
Kijk maar eens naar de MSB 1010 en dat is gelijk aan de PCF8563,
dus je moet in het LSB van de 24C64 zodanig kiezen dat er geen conflict optreed.
Dus alle PDF files goed lezen.

pascalbianca
Lid
Berichten: 1449
Gepost op woensdag 19 Februari 2014 18:36:20 QuoteWijzig

Uh ja als ik ergens het adres tabel van die 24C64 uit krijg gehaald wel ja, heb diverse pdf's doorzocht maar geen adressen tabel te vinden.
Wat ik had gevonden was alleen op alles met ground.
Zelf 1 gevonden die bestemd is om weg te schrijven, hier zelf alle lees adressen bij gezet, inlezen gaat nu weer dus even die andere ic testen.
 
[Bericht gewijzigd door pascalbianca op Woensdag 19 Februari 2014 18:50:45]


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op woensdag 19 Februari 2014 18:53:54 QuoteWijzig

Dan zet je Ax van 24C64 maar eens aan de plus '1' dus,
dus gnd op die plek onderbreken, anders krijg je sluiting.
In de Bas-file Ax op '1' zetten ipv. '0'

Ax is bv. A3,A2 de A1 en A0 aansluitingen kun je niet gebruiken,
die zijn al toegekend, vwb. jou problemen met I2C.

pascalbianca
Lid
Berichten: 1449
Gepost op woensdag 19 Februari 2014 19:00:08 QuoteWijzig

Ik heb alle 3 poorten (A0-A1-A2) op de +5V gezet waardoor het adres nu i.p.v.$A1 nu $AF word en het probleem is opgelost loopt niet meer vast.
Nu eens kijken of ik hem aan de praat krijg want dat is ook al een hele puzzel zag ik.


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1449
Gepost op donderdag 20 Februari 2014 19:33:54 QuoteWijzig

Heeft iemand hier al eens mee gewerkt want geen enkele code die ik via google kan vinden werkt namelijk.


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2854
Gepost op donderdag 20 Februari 2014 20:18:30 QuoteWijzig

Je had de componenten eerst toch apart al aan de praat?


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1449
Gepost op donderdag 20 Februari 2014 20:49:32 QuoteWijzig

alle ja behalve die rtc niet, die crashte steeds maar met behulp van @Henk nu niet meer.


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2854
Gepost op zaterdag 22 Februari 2014 11:44:15 QuoteWijzig

Van die PCF8563 staat alles in de datasheet http://www.nxp.com/documents/data_sheet/PCF8563.pdf

Een instructie bestaat uit 2 adresbytes en 1 databyte.
Voor de eerste adresbyte:

Quote
I2C-bus slave address: read A3h and write A2h



De 2e adresbyte kan je op p7 van de datasheet vinden.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
Henk (NL)
Lid
Berichten: 263
Gepost op zaterdag 22 Februari 2014 12:41:49 QuoteWijzig

Op CO staan er voorbeelden ik dacht dat Pascal daar wel verder mee kon komen.
 
[Bericht gewijzigd door Henk (NL) op Zaterdag 22 Februari 2014 12:42:14]

pascalbianca
Lid
Berichten: 1449
Gepost op zaterdag 22 Februari 2014 16:03:03 QuoteWijzig

Thx. @Stynus, zal eens erna kijken.
@Henk, nee die werken niet, ik heb ondertussen een beetje hulp gekregen van Frits van Picbasic.nl.

------
Automatische edit 2014-02-22 18:40:44, toevoeging:

Nou ze zeggen dat het makkelijk is maar dus echt niet, begin langzaam mijn haren uit te trekken, geen een voorbeeld werkt , ik kan nog niet eens zeggen of die ic werkt ja of nee.
De code die ik gebruik om te testen zou de huidige waarden die in de ic zit uitlezen en op het beeldscherm zetten, maar wat ik ook doe of probeer of test, ik krijg steeds dezelfde waarden te zien en ik weet ook nog niet eens of die van die ic komt want trek ik die eruit krijg ik nog die waarden.
 
[Bericht gewijzigd door pascalbianca op Zaterdag 22 Februari 2014 18:40:44]


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op zaterdag 22 Februari 2014 19:52:16 QuoteWijzig


Quote
begin langzaam mijn haren uit te trekken, geen een voorbeeld werkt



Ook deze RTC kent een STOP dwz. dat de klok is gestopt.

Of die al of niet stuk is kun je met jouw scoop bekijken.
Meten is weten, beter dan haren uit te trekken, nietwaar.
De pin volgorde volgt uit de PDF.

Stynus
Admin
Berichten: 2854
Gepost op zaterdag 22 Februari 2014 20:31:15 QuoteWijzig

Pascal, post dan even de code dat niet werkt. Anders is het heel moeilijk te zeggen wat er mis gaat...


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1449
Gepost op zaterdag 22 Februari 2014 22:59:10 QuoteWijzig

Ik heb mijn code virtueel ook getest in Proteus 8 maar die geeft idem precies hetzelfde aan als in mijn project.

Hierbij de code.
Het stukje dat een ledje doet blinken is van mij , dit is om te kijken of de ic werkt en die optelling van a idem, de rest komt van Frits zijn pagina.


Code
Device 18F4550

Xtal 20
'Tris .  76543210 Register volgorde                                       
;TRISB = %11011100
TRISA=%00000000
;TRISB=%11111111
TRISC=%00000000
TRISD=%00000000
TRISE=%00000000
Declare All_Digital = TRUE  

;PORTA=0ORTB=0
;PORTC=0ORTD=0
    ;PORTE=0
Declare LCD_DTPort = PORTD
Declare LCD_RSPin = PORTC.7;PORTC.7
Declare LCD_ENPin = PORTE.0
Declare LCD_RWPin = PORTC.2 ;PORTC.6
Declare LCD_CS1Pin = PORTE.1
Declare LCD_CS2Pin = PORTE.2
Declare LCD_Type = Graphic
Declare Internal_Font = On
Declare Font_Addr = 0
High PORTB.5   'rst pin oftwel reset pin
        
Declare GLCD_STROBE_DELAY = 5                                                                     
Declare Optimiser_Level 3
'Set ports for I2C
;Declare SCL_Pin    = PORTB.1
;Declare SDA_Pin    = PORTB.0 ;Alias voor de SDA (Data) lijn
;!!!!!!!!BOVENSTAANDE SDA EN SCL DECKLARES WAT MET BUSIN WORD GEBRUIKT!!!!!!!!!!!!!!!!!!!!!!! 
;!!!!!!!!IS VERVALLEN OMDAT HBusIn WORD GEBRUIKT DIE HARDWAREMATIG DE POORTEN AL AANWIJST!!!!
Declare Hbus_Bitrate 400 ' Bits per second 100, 400, 1000 etc.
;The standard speed For the I2C bus is 100KHz. Some devices use a higher bus speed of
;400KHz. The above Declare allows the I2C bus speed To be increased Or decreased. Use this
;Declare with caution, As too High a Bit rate may exceed the Device's specs, which will result in
;intermittent transactions, Or in some cases, no transactions At all. The datasheet For the Device
;used will inform you of its bus speed. The default Bit rate is the standard 100KHz.
;Declare Slow_Bus On 


Dim Uur As Byte
Dim Seconde As Byte
Dim Minuut As Byte
Dim Datum As Byte
Dim Maand As Byte
Dim Dag As Byte 
Dim Var1 As Byte
Dim RTC_Data[4]     As Byte   ;Wordt gebruikt bij overdracht DCF-tijd naar PCF8583 RTC IC 
Dim a As Dword 
 
  
Symbol PCF8583r   = %10100011 ;Adres om PCF8583 uit te lezen (r = read)
Symbol PCF8583w   = %10100010 ;Adres om naar PCF8583 te schrijven (w = write) 
Symbol PCF8574A_ADDR =$70 ;$70 is schrijf $71 is lezen

;                    76543210
HBusOut PCF8583w,0,[%00000000] ; Reset RTC

Clear
DelayMS 200 'stabilizza LCD
Cls


  
RTC_Read:                     ;PCF8583 uitlezen
 
  HBusOut PCF8583w, $00, [%00000000] ;Start counting (bit 7 op '0' gezet)
GoSub WerkingIC
DelayMS 500
a = a+1
  HBusIn $A3h , $02, [Seconde, Minuut, Uur, Datum, Maand] ;Datum bevat datum + jaar / Maand bevat dag + maand
 ; Jaar  = HBUSIN EE24C512r, EE_Jaarta       ;Lees uit 24C512 EEPROM het viertal van het jaar (04, 08, 12, 16, enz.)
 ; Jaar  = Jaar + ((Datum & %11000000) >> 6) ;Filter 'Jaar' (0-3) uit 'Datum' en tel dat bij het zojuist uitgelezen jaartal
  Datum =  Datum & %00111111                ;Verwijder het jaar (0-3) uit 'Datum'
  Dag   = (Maand & %11100000) >> 5          ;Filter (maskeer) 'Dag' (0-6) uit 'Maand'
  Maand =  Maand & %00011111                ;Verwijder het weekdag (0-6) uit 'Maand'
  
  ;De ontvangen tijdsdata meteen omzetten van BCD naar decimaal
  Seconde = ((Seconde >> 4) * 10) + (Seconde & 15)
  Minuut  = ((Minuut  >> 4) * 10) + (Minuut  & 15)
  Uur     = ((Uur     >> 4) * 10) + (Uur     & 15) 
  Datum   = ((Datum   >> 4) * 10) + (Datum   & 15)
  Maand   = ((Maand   >> 4) * 10) + (Maand   & 15) 
; Dag     = ((Dag     >> 4) * 10) + (Dag     & 15) ;Dag telt maar t/m 7, 7dec = 7hex = 7bcd, geen omzetting nodig dus
; Jaar    = ((Jaar    >> 4) * 10) + (Jaar    & 15) ;PCF8583 heeft geen echt jaartal, alleen 0-3 waarbij 0 schrikkeljaar is
Print At 3,12, Dec a ; kijk of ic wel iets doet

Print At 1,1, "Minuut ", Dec Minuut      
Print At 2,1, "Datum ", Dec Datum                                                   ;(februari telt dan door tot 29) 
Print At 3,1, "Dag ", Dec Dag
Print At 4,1, "Maand ",Dec Maand
Print At 5,1, "Uur ", Dec Uur
Print At 6,1, "Seconde ",Dec Seconde
 ; IF HBUSIN EE24C512r, EE_Snipperdag > 0 THEN Dag = Snipperdag  ;Snipperdag (of vakantie)
;RETURN

GoTo RTC_Read


WerkingIC:
    HBusOut PCF8574A_ADDR, [%11111111] ;   ;Start Lezen van I2C
    DelayMS 100
    HBusOut PCF8574A_ADDR, [%11111101] ;   ;Start Lezen van I2C
    DelayMS 250
Return




http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2854
Gepost op zaterdag 22 Februari 2014 23:03:47 QuoteWijzig


Code
HBusIn $A3h , $02, [Seconde, Minuut, Uur, Datum, Maand] ;


Dat gaat zo dus niet werken, eerst moet de h achter de 3 al weg. Verder is het 1 byte opvragen per keer.

Code

HBusIn $A3 , $02, [Seconde]
HBusIn $A3 , $03, [Minuut]
...


 
[Bericht gewijzigd door Stynus op Zaterdag 22 Februari 2014 23:04:06]


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
« 1 [2] 3 »

Active Topics

» ? => Mini kerstlan...
» ATSAMD21J18A-AU backupen
» De gevolgen van een kl...
» De tuin.
» Afstandsbediening plaf...
» Virtual Chemist probleem
» Probleem met Toyota Av...
» Whirlpool kookplaat
» 24 volt motor vertrage...
» Show je mini projecten

» Meer actieve topics

Advertenties

ElektronicaStynus

© 2004-2022 SchemaTheek
Laadtijd: 0.2637 sec.