A maioria dos controles remotos comerciais (chaveirinhos) são baseados no HT6P20B ou na familia HCS (200…301). Será que sería possível usar ambas familias de ci’s (ht6p e hcs) em uma única placa genérica? Veja a resposta….
Esta opção de placa genérica busca satisfazer justamente isto: usar controles da familia HT6P (Holtek) e HCS (Microchip) sem distinção. Como se ‘aprende’ um , se aprende o outro. Para não complicar a vida dos hobistas, não se usa a função ‘hopping code’ nos HCS’s. Apenas utilizamos a ‘parte fixa’ do código transmitido de 32 bits (4 bytes de espaço na EEprom por chaveirinho’ aprendido). Para não complicar o sistema de armazenamento na EEprom, os HT6P também são armazenados em 4 bytes (apesar de usarmos somente 3 bytes), zerando-se o byte mais significativo. A rotina testa, por ocasião do estouro do contador ‘LC’, se o contador de bytes recebidos (QB) estava com ’17’ decimal, o que indica que está havendo recepção de um ‘pre-ambulo ou cabeçalho (header) do HCS. Dai, prossegue com a carga do numero de bits para HCS (64 bits)e a recepção dos bytes. Caso o estouro de ‘LC’ foi com valor diferente de ’17 decimal’ irá indicar recepção HT6P, prosseguindo com recepção de 28 bits. Com a EEprom usada, uma 24c02 (ou ,opcionalmente, uma 24C04), poderemos gravar até 63 controles diferentes (HCS/HT6P). Quando atingir o limite, ao se tentar gravar mais um controle, o led ‘learn’ irá piscar por alguns segundos, indicando memória cheia. Nesta condição, apenas ‘zerando’ toda a memória é que se conseguirá gravar controles. Com a familia HT6P somente os led’s 1 e 2 serão funcionais, e na família HCS, o led 4 será uma replica do led 3 (veja datasheets HCS200, pag.9, tabela 5-1, por ex.). As ligações dos pinos do At89c2051 foram mantidas para se usar o esquema da placa receptora do artigo ‘RECEPTOR GENÉRICO PARA HCS200…301 C/ AT89C2051‘. Esta montagem é experimental e foi feita apenas em protoboard, estando sujeita a ‘bugs’ não detectados nos testes.
Segue abaixo o arquivo ASM:
Segue abaixo o arquivo HEX:
Para obter o esquema, clique aqui.
Fonte de matéria para o projeto:
HT6P20B
HCS200
HCS201
HCS300
HCS301
AT89C2051
24C02
24c04
Até o próximo artigo!!!
Olá claudio!
Eu já coloquei nos pinos 16 e 17 do AT89c2051, resistores de 10k,4k7,2k7 do pino ao Vcc. Mas não deu certo,troquei o cristal para,11.0592mhz trava,testei o 6.000mhz não trava,testei o 20.000mhz não trava. Claudio,eu não sei programar,nota-se que aumenta ou diminui a velocidade de leitura da eeprom não trava.
Olá Sandro! Qual é exatamente o asm que está usando?
Cláudio
Olá Claudio! Eu não tenho osciloscópio,mas valeu pela atenção.
Olá Sandro!
Por favor, tente colocar nos pinos 16 e 17 do AT89c2051, resistores de pullup de 4k7, do pino ao Vcc.
Cláudio
Olá Claudio! Sobre preços: O preço de um AT89s8252 é = o preço de um AT89c2051 somado com uma 24c04.
Sobre 0 projeto BIG_GEN_MIX_51E,depois de varios teste aprensentou um defeito,esta travando o at89c2051 quando exposto a
determinado lugares,Dependendo do lugar não trava,Se desligar o modulo 433mhz não trava em nenhum lugar,nota que uma frequencia difente faz travar,Fiz outro teste,troquei o eeprom nova at24c04 por outra velha,o resultado demora mais tempo para
travar,Claudio se vc tiver idéia do problema,e como solucionar
sendo possível,Fico muito grato pela Atenção.
Olá Sandro!
Até o momento não tive retorno de mau funcionamento. Verifique com um osciloscópio a forma de onda fornecida pelo receptor. Se na região houver muita interferência pode ocasionar um mau funcionamento.
Cláudio
Olá Claudio!
Claudio Obrigado pela atenção!,verdade O microcontrolador AT89s52 não dispõe de memória eeprom e sim dispõe AT89LS8252 2k eeprom de memória interna.Desculpa, fiz pequena troca de chip.
Olá Sandro! Uma curiosidade sobre preços: Na sua região, o preço de um AT89s8252 é maior ou menor que o preço de um AT89c2051 somado com uma 24c04?
Cláudio
Olá Lários,tudo bom!!!
claudio,montei o projeto BIG_GEN_MIX_51E ficou muito bom.
o chip usado at89s52,no projeto teu usa at89c2051 ele não tem EEPROM interna,usa externa 24c02.O chip at89s52 tem EEPROM interna,seria muito dificil de mudar o fonte para memoria interna.Fico muito grato pela Atenção.
Olá Sandro!
O microcontrolador AT89s52 não dispõe de memória eeprom, não sendo possível o que você pede.
Cláudio