Например TDA7294

Форум РадиоКот • Просмотр темы - Можно ли заменить PCF8583 на PCF8563?
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 23:19:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Можно ли заменить PCF8583 на PCF8563?
СообщениеДобавлено: Ср фев 15, 2017 19:10:39 
Родился

Зарегистрирован: Ср фев 15, 2017 18:37:28
Сообщений: 1
Рейтинг сообщения: 0
Нашел в интернете схему часов на газоразрядных индикаторах c Atmega8. В ней используется микросхема часов РВ PCF8583. Увы, такой микросхемы я нигде не нашел. В одном из интернет-магазинов есть PCF8563T. Реально ли заменить первую микросхему второй, без глобальных изменений?
Вот схема
СпойлерИзображение

Вот код программы (брался с польского сайта)
Спойлер'************* Konfiguracja uC *****************
'***********************************************
$regfile = "m8def.dat"
$crystal = 8000000 'oscylator RC wewnetrzny


Config Portb = &B11111111 : Portb = &B00000001
Config Portc = &B00000000 : Portc = &B11111111
Config Portd = &B11111111 : Portd = &B00000000


Config Scl = Portc.5
Config Sda = Portc.4
I2cinit

Config Timer0 = Timer , Prescale = 64
Enable Timer0 : On Timer0 Prztimer0

Enable Interrupts
'********** Konfiguracja uC Koniec ************

'****************** Zmienne *******************
'***********************************************
Dim Flaga4ms As Bit , Flaga05s As Bit

Dim Co4ms As Byte , Co05s As Byte
Dim Godziny As Byte , Minuty As Byte , Sekundy As Byte
Dim Godziny_budz As Byte , Minuty_budz As Byte
Dim Godziny_bcd As Byte , Minuty_bcd As Byte , Sekundy_bcd As Byte

Dim Mux As Byte
Dim Stan_katod As Byte
Dim Wartosc_wysw(2) As Byte

Dim Neonowka As Bit
Dim Licznik_sw As Byte , Stan_portu As Byte , Sw_port As Byte
Dim Poz_menu As Byte

Dim Zezwolenie_budz As Bit
Dim Autopowrot_ust(2) As Byte
Dim Temp As Byte
Dim Sygnal_budzenia As Byte
'************* Zmienne Koniec ****************
'************ Warunki Poczatkowe ***************
'***********************************************
Poz_menu = 0
Flaga05s = 1
Readeeprom Temp , 2
If Temp = 100 Then Zezwolenie_budz = 1 Else Zezwolenie_budz = 0
Readeeprom Godziny_budz , 3
Readeeprom Minuty_budz , 4
If Godziny_budz > 23 Then Godziny_budz = 8
If Minuty_budz > 59 Then Minuty_budz = 0
'******* Warunki Poczatkowe Koniec ***********
'************** Petla glowna ******************
'***********************************************
Do
If Flaga4ms = 1 Then
Flaga4ms = 0
Gosub Wyswietl
Gosub Przyciski
End If

If Flaga05s = 1 Then
Flaga05s = 0
Neonowka = Not Neonowka
Select Case Poz_menu
Case 0: ' odczyt czasu z rtc
I2cstart
I2cwbyte 162 'adres zapisu
I2cwbyte 2 'rejestr sekund
I2cstart
I2cwbyte 163 'adres odczytu
I2crbyte Sekundy_bcd , Ack
I2crbyte Minuty_bcd , Ack
I2crbyte Godziny_bcd , Nack
I2cstop
Sekundy = Makedec(sekundy_bcd)
Minuty = Makedec(minuty_bcd)
Godziny = Makedec(godziny_bcd)
Case 1:
Incr Autopowrot_ust(1)
If Autopowrot_ust(1) = 8 Then
Gosub Zapis_rtc
Poz_menu = 0
End If
Case 2:
Incr Autopowrot_ust(2)
If Autopowrot_ust(2) = 8 Then
Writeeeprom Godziny_budz , 3
Writeeeprom Minuty_budz , 4
Poz_menu = 0
End If
End Select

If Sygnal_budzenia > 0 Then
Portb.0 = 0
Decr Sygnal_budzenia
If Sygnal_budzenia = 0 Then Portb.0 = 1
End If

Gosub Budzenie

End If
Loop
End
'************ Petla glowna Koniec **************
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
'Incr Co4ms
'If Co4ms >= 2 Then
'Co4ms = 0
Set Flaga4ms 'dziala co 2 ms mimo nazwy
Incr Co05s
If Co05s >= 250 Then
Co05s = 0
Set Flaga05s
End If
'End If

Return
'******** Przerwanie timer 0 Koniec ************

'***********************************************
Wyswietl:
Incr Mux
If Mux = 8 Then Mux = 0
Select Case Poz_menu
Case 0: 'pokazuj czas
Portb.1 = Neonowka
Wartosc_wysw(1) = Godziny 'wysw 1 i 2
Wartosc_wysw(2) = Minuty 'wysw 3 i 4
Case 1: 'ustawiaj czas
Portb.1 = 1
Wartosc_wysw(1) = Godziny 'wysw 1 i 2
Wartosc_wysw(2) = Minuty 'wysw 3 i 4
Case 2: 'ustaw budzik
Portb.1 = 0
Wartosc_wysw(1) = Godziny_budz 'wysw 1 i 2
Wartosc_wysw(2) = Minuty_budz 'wysw 3 i 4
End Select

Select Case Mux
Case 0:
Stan_katod = Wartosc_wysw(1) / 10
If Stan_katod = 0 Then Stan_katod = 10
Gosub Ustaw_katody
Set Portb.5
Case 1:
Reset Portb.5
Case 2:
Stan_katod = Wartosc_wysw(1) Mod 10
Gosub Ustaw_katody
Set Portb.4
Case 3:
Reset Portb.4
Case 4:
Stan_katod = Wartosc_wysw(2) / 10
Gosub Ustaw_katody
Set Portb.3
Case 5:
Reset Portb.3
Case 6:
Stan_katod = Wartosc_wysw(2) Mod 10
Gosub Ustaw_katody
Set Portb.2
Case 7:
Reset Portb.2

End Select
Return
'***********************************************
Ustaw_katody:
Select Case Stan_katod
Case 0 :
Portb.6 = 0 : Portb.7 = 0 : Portd = 128
Case 1:
Portb.6 = 0 : Portb.7 = 0 : Portd = 64
Case 2:
Portb.6 = 0 : Portb.7 = 0 : Portd = 32
Case 3:
Portb.6 = 0 : Portb.7 = 1 : Portd = 0
Case 4:
Portb.6 = 1 : Portb.7 = 0 : Portd = 0
Case 5:
Portb.6 = 0 : Portb.7 = 0 : Portd = 16
Case 6:
Portb.6 = 0 : Portb.7 = 0 : Portd = 8
Case 7:
Portb.6 = 0 : Portb.7 = 0 : Portd = 4
Case 8:
Portb.6 = 0 : Portb.7 = 0 : Portd = 2
Case 9:
Portb.6 = 0 : Portb.7 = 0 : Portd = 1
Case 10:
Portb.6 = 0 : Portb.7 = 0 : Portd = 0
End Select
Return
'***********************************************
Przyciski:
Sw_port = Pinc
Sw_port = Sw_port Or &B11110000
If Sw_port <> 255 And Stan_portu = Sw_port Then
Incr Licznik_sw
If Licznik_sw = 80 Then
Licznik_sw = 0
Select Case Stan_portu
Case 247: '-godziny
Select Case Poz_menu
Case 0: 'wylacz budzik
Zezwolenie_budz = 0
Temp = 0
Writeeeprom Temp , 2
Sygnal_budzenia = 2 'sygnal na 0,5s
Case 1:
Decr Godziny
If Godziny = 255 Then Godziny = 23
Case 2:
Decr Godziny_budz
If Godziny_budz = 255 Then Godziny_budz = 23
End Select
Case 251: '+godziny
Select Case Poz_menu
Case 0: 'wchodzi do ustawien czasu
Poz_menu = 1
Case 1:
Incr Godziny
If Godziny = 24 Then Godziny = 0
Case 2:
Incr Godziny_budz
If Godziny_budz = 24 Then Godziny_budz = 0
End Select
Case 253: '-minuty
Select Case Poz_menu
Case 0: 'wlacz budzik
Zezwolenie_budz = 1
Temp = 100
Writeeeprom Temp , 2
Sygnal_budzenia = 3 'sygnal na 1s
Case 1:
Decr Minuty
If Minuty = 255 Then Minuty = 59
Case 2:
Decr Minuty_budz
If Minuty_budz = 255 Then Minuty_budz = 59
End Select
Case 254: '+minuty
Select Case Poz_menu
Case 0: 'wchodzi do ustawien budzika
Poz_menu = 2
Case 1:
Incr Minuty
If Minuty = 60 Then Minuty = 0
Case 2:
Incr Minuty_budz
If Minuty_budz = 60 Then Minuty_budz = 0
End Select
'Case 252:
End Select

Autopowrot_ust(1) = 0
Autopowrot_ust(2) = 0

End If
Else
Stan_portu = Sw_port
Licznik_sw = 60
End If
Return
'***********************************************
Zapis_rtc:
Godziny_bcd = Makebcd(godziny)
Minuty_bcd = Makebcd(minuty)
Sekundy_bcd = 0

I2cstart
I2cwbyte 162
I2cwbyte 0 'rejestr kontrolny
I2cwbyte 8 'ustawienie rejestru zapisu daty

I2cstop
I2cstart
I2cwbyte 162
I2cwbyte 2

I2cwbyte Sekundy_bcd
I2cwbyte Minuty_bcd
I2cwbyte Godziny_bcd
I2cstop
Return
'***********************************************
Budzenie:
If Zezwolenie_budz = 1 Then
If Godziny = Godziny_budz And Minuty = Minuty_budz Then
Portb.0 = Neonowka
Else
If Sygnal_budzenia = 0 Then Portb.0 = 1
End If
End If
Return
'***********************************************

Даташиты обеих микросхем
Спойлерhttp://www.nxp.com/documents/data_sheet/PCF8583.pdf
http://www.nxp.com/documents/data_sheet/PCF8563.pdf


И вообще, есть ли какие-то другие замены, если нельзя заменить на PCF8563?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Можно ли заменить PCF8583 на PCF8563?
СообщениеДобавлено: Чт фев 16, 2017 09:19:40 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Без переделки программного обеспечения - маловероятно.
Если же автор использовал еще и ОЗУ для хранения каких-либо данных замена практически исключена.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Можно ли заменить PCF8583 на PCF8563?
СообщениеДобавлено: Сб фев 18, 2017 00:00:19 
Встал на лапы

Карма: 4
Рейтинг сообщений: 15
Зарегистрирован: Сб окт 15, 2011 10:42:30
Сообщений: 80
Откуда: Урал
Рейтинг сообщения: 0
Есть в наличии http://www.promelec.ru/search/?search=PCF8583&st=2


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y