tag:blogger.com,1999:blog-6492043148642544250.post2266714680472360659..comments2024-03-02T11:21:42.692-03:00Comments on Microcontrolandos: PIC: EEPROM I2CTiago Henriquehttp://www.blogger.com/profile/09385302997357057888noreply@blogger.comBlogger31125tag:blogger.com,1999:blog-6492043148642544250.post-11699678073944549502018-03-27T13:48:48.015-03:002018-03-27T13:48:48.015-03:00Uma ideia era o projeto de um sensor de irrigação ...Uma ideia era o projeto de um sensor de irrigação inteligente. Uma boa tardeMardonehttps://www.blogger.com/profile/05071010626668242925noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-64781540801343862472017-07-21T08:43:14.382-03:002017-07-21T08:43:14.382-03:00como eu faço para incluir outra memoria que não se...como eu faço para incluir outra memoria que não sejam as citadas acima? exemplo, se eu quisesse usar uma 24lc512? somente ela sem outra memoria juntoMárcio Martinshttps://www.blogger.com/profile/05853062193943887447noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-69986549829473414072016-08-29T20:02:56.210-03:002016-08-29T20:02:56.210-03:00ola, vc conseguiu fazer leitura das imagem do glcd...ola, vc conseguiu fazer leitura das imagem do glcd , mas como consigo ler varias imagem dentro da memoria AT24c512Anonymoushttps://www.blogger.com/profile/16892709370401831922noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-60557368098331074232016-07-29T15:21:24.726-03:002016-07-29T15:21:24.726-03:00Exelente AmigoExelente AmigoAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-8466450835396504842016-01-13T20:39:32.477-02:002016-01-13T20:39:32.477-02:00Este comentário foi removido pelo autor.Mardonehttps://www.blogger.com/profile/05071010626668242925noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-67716155751666044102016-01-13T20:37:11.699-02:002016-01-13T20:37:11.699-02:00Olá gostaria de saber como faço pra criar um códig...Olá gostaria de saber como faço pra criar um código para sensor de irrigação usando microcontrolador pic12f675 usando compilador mikroC.Mardonehttps://www.blogger.com/profile/05071010626668242925noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-33837641767594810742015-07-29T12:20:51.139-03:002015-07-29T12:20:51.139-03:00Amigo para 24c1024 ou 24c512 seria a mesma coisa o...Amigo para 24c1024 ou 24c512 seria a mesma coisa ou mudaria algo no hardware e software ,se não vc poderia me dar um exemplo.Desde já agradeço.Anonymoushttps://www.blogger.com/profile/00702872771089504350noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-19228761048754863942015-06-05T21:13:25.969-03:002015-06-05T21:13:25.969-03:00Sim rsrs... Obrigadão... Abraços.Sim rsrs... Obrigadão... Abraços.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-46959678861964753932015-06-05T21:04:19.120-03:002015-06-05T21:04:19.120-03:00Dá certo sim :) É melhor do que comprar um gravado...Dá certo sim :) É melhor do que comprar um gravador né!Anonymoushttps://www.blogger.com/profile/12456371589981650356noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-40844716132907059182015-06-05T20:55:17.006-03:002015-06-05T20:55:17.006-03:00Obrigado pela velocidade da resposta, mas como eu ...Obrigado pela velocidade da resposta, mas como eu não tenho um gravador de eeprom, pensei em fazer o seguinte: <br /><br />Método preguiçoso: Compilo o código com duas imagens e mando escrever elas na eeprom pelo próprio PIC, em tempo de execução. Troco os vetores das imagens, trocos os endereços, compilo, e escrevo elas na eeprom... E assim por diante, até ter todas na eeprom, aí faço o programa que só lê e joga no meu LCD... Será que dá certo?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-39096539933666489902015-06-05T18:03:12.853-03:002015-06-05T18:03:12.853-03:00Primeiro voce deve gravar a imagem dentro da eepro...Primeiro voce deve gravar a imagem dentro da eeprom utilizando um gravador de EEPROM. <br />Depois para ler,você usa as funções da biblioteca acima.Anonymoushttps://www.blogger.com/profile/12456371589981650356noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-50614993702584273762015-06-05T17:52:51.269-03:002015-06-05T17:52:51.269-03:00Olá, muito boa sua biblioteca, parabéns, funciona ...Olá, muito boa sua biblioteca, parabéns, funciona certinho. <br />Só uma dúvida que tenho aqui, como eu faria para guardar uma imagem gerada pelo utilitário do KS0108 dentro da eeprom? e como ler ela depois?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-23985090309486812862015-03-30T13:43:39.338-03:002015-03-30T13:43:39.338-03:00Olá, o blog é muito bom!
Mas tenho uma dúvida, gos...Olá, o blog é muito bom!<br />Mas tenho uma dúvida, gostaria de escrever no meu PIC (não importando qual memória) Dados provenientes das entradas analógicas dele. Como posso proceder?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-79166518255204906232014-03-27T15:17:01.448-03:002014-03-27T15:17:01.448-03:00acho que sim amigo ,veja abaixo a blioteca e minha...acho que sim amigo ,veja abaixo a blioteca e minha rotina .<br /><br /><br />void Eeprom_24C04_WriteByte( char DEVICE, unsigned Address, char _data )<br />{<br /> Soft_I2C_Start();// Envia um sinal de Start<br /> //Envia o device, Select Bank, e comando de escrita<br /> Soft_I2C_Write(0xA0 | (DEVICE << 2) | ( ((char*)&Address)[1].B0 << 1) );<br /> Soft_I2C_Write( ((char*)&Address)[0] ); //envia o endereço<br /> Soft_I2C_Write( _data ); //envia o dado a ser gravado<br /> Soft_I2C__Stop(); //sinal de stop<br /> Delay_ms(5); //tempo de uma gravação<br />}<br />char Eeprom_24C04_ReadByte( char DEVICE, unsigned Address )<br />{<br />char device_addr = 0xA0 | (DEVICE << 2) | ( ((char*)&Address)[1].B0 << 1);<br />char _data;<br /> Soft_I2C_Start();// Envia um sinal de Start<br /> //Envia o device, Select Bank, e comando de escrita<br /> Soft_I2C_Write( device_addr );<br /> Soft_I2C_Write( ((char*)&Address)[0] ); //envia o endereço<br /> Soft_I2C_Start();<br /> Soft_I2C_Write( device_addr | 1 );<br /> _data = I2C1_Rd(0);<br /> Soft_I2C_Stop(); //sinal de stop<br /> return _data;<br />}<br /><br />/////////minha rotina para ler e gravar////////////<br /><br />void salvarm (void)<br />//Gravar<br />{<br />nr=chl*4; //variar o valor da eeprom para gravação. Inicia com o zero<br />Eeprom_24C04_WriteByte(nr, ((char*)&freq)[0] ); //byte menos significativo<br />Eeprom_24C04_WriteByte(nr+1, ((char*)&freq)[1] );<br />Eeprom_24C04_WriteByte(nr+2, ((char*)&freq)[2] );<br />Eeprom_24C04_WriteByte(nr+3, ((char*)&freq)[3] ); //byte mais significativo<br />//delay_ms(20);<br />//////////////////////////////////////////////////////<br /> //grava_lcd();<br />if (nr <= 4){<br /> nr = 4;<br />}<br /> if (nr > 80){<br /> nr = 80;<br /> }<br /> <br />if (chl <= 1){<br /> chl = 1;<br />}<br /> if (chl > 20){<br /> chl = 20;<br />}<br />grava_lcd();<br />}<br /><br />void leituram (void)<br />//Ler<br />{<br />nr=chl*4; //variar o valor da eeprom para gravação. Inicia com o zero<br />((char*)&freq)[0] = Eeprom_24C04_ReadByte(nr); //byte menos significativo<br />((char*)&freq)[1] = Eeprom_24C04_ReadByte(nr+1);<br />((char*)&freq)[2] = Eeprom_24C04_ReadByte(nr+2);<br />((char*)&freq)[3] = Eeprom_24C04_ReadByte(nr+3); //byte mais significativo<br />//delay_ms(90);<br /><br />if (nr <= 4){<br /> nr = 4;<br />}<br /> if (nr > 80){<br /> nr = 80;<br /><br />}<br />if (chl <= 1){<br /> chl = 1;<br />}<br />//}<br />if (chl >=20){<br /> chl = 20;<br />}<br />ler_lcd();<br />}<br /><br /><br />Eletrônica hobby!https://www.blogger.com/profile/06826259421923750362noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-82854899587096494112014-03-26T00:30:41.896-03:002014-03-26T00:30:41.896-03:00Como eu faria para escrever 3 nomes na 24C04, e qu...Como eu faria para escrever 3 nomes na 24C04, e que tivessem dois botões, clicando no primeiro botão eu ficaria mostrando os nomes da memória em um lcd 16x2, e apertando o segundo eu apagaria e gravaria esses nomes?Anonymoushttps://www.blogger.com/profile/09666288784168690219noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-75552134296884228862014-03-25T20:08:46.916-03:002014-03-25T20:08:46.916-03:00Esta biblioteca pode comandar ate 4 memorias eepro...Esta biblioteca pode comandar ate 4 memorias eeproms. Verifica se definiu o endereço do dispositivo no barramento corretamente.Tiago Henriquehttps://www.blogger.com/profile/09385302997357057888noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-12107798387458943652014-03-25T18:37:44.065-03:002014-03-25T18:37:44.065-03:00OLa
Voce teria uma biblioteca pronta para incluir...OLa<br /><br />Voce teria uma biblioteca pronta para incluir memoria 24c04 ,vi a sua mais aqui não funcionou me parece que e para ser utilizada com mais de 1 eprom não e isso ? seria Possível fazer para usar somente 1 eeprom ?<br /><br />obrigadoEletrônica hobby!https://www.blogger.com/profile/06826259421923750362noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-70065509957820106842014-02-19T17:28:16.309-03:002014-02-19T17:28:16.309-03:00Isso vai depender de como voce ira programar. Se v...Isso vai depender de como voce ira programar. Se voce utilizar o módulo I2C interno do pic para realizar a comunicação I2C, <b>DEVERÁ</b> utilizar os pinos SDA e SCL, pois são os pinos do módulo.<br />Você também pode emular o I2C( principalmente em pics que não suportam o I2C ) na qual você pode utilizar quaisquer pino. Para emular você utiliza a biblioteca "Soft_I2C" do MikroC PRO PIC.Tiago Henriquehttps://www.blogger.com/profile/09385302997357057888noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-8133607074911311232014-02-19T17:21:16.972-03:002014-02-19T17:21:16.972-03:00Boa tarde. Quanto a ligação entre um PIC18F2550 e ...Boa tarde. Quanto a ligação entre um PIC18F2550 e um 24C32, é obrigatório ligar nos pinos SDA e SCL do PIC ou se ligar em outros pinos do PIC vai funcionar também?<br /><br /><br />Att,<br />Anonymoushttps://www.blogger.com/profile/13883728999650069215noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-32275984253563030962014-02-13T11:33:29.856-02:002014-02-13T11:33:29.856-02:00Ola poderia me ajudar com devo proceder para incre...Ola poderia me ajudar com devo proceder para incrementar um botao para alterar a banda do radio ?<br /><br />pressiona o botao entra no loop do programa pressiona novamente sai do loop ,a função seria alterar a banda do radio fm/am seria bom também memorizar o estado da chave na eeprom .<br /><br />obrigadoEletrônica hobby!https://www.blogger.com/profile/06826259421923750362noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-6710421285417333902014-02-12T18:35:29.701-02:002014-02-12T18:35:29.701-02:00Legal funcionou !!
obrigadoLegal funcionou !!<br /><br />obrigadoEletrônica hobby!https://www.blogger.com/profile/06826259421923750362noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-45422862255951544392014-02-12T12:06:59.998-02:002014-02-12T12:06:59.998-02:00Explicação:
( (char*) &freq )[0]
(char*) - C...Explicação:<br /><b> ( (char*) &freq )[0] </b><br /><i>(char*)</i> - Cria um ponteiro e aponta para o endereço de "freq" <i> &freq </i>. Um valor será gravado no endereço de "freq" + 0 <i>[0]</i>Tiago Henriquehttps://www.blogger.com/profile/09385302997357057888noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-41662475543025216152014-02-12T12:00:54.277-02:002014-02-12T12:00:54.277-02:00tem que ser assim:
void grava (void)
//Gravar
{
E...tem que ser assim:<br /><br />void grava (void)<br />//Gravar<br />{<br />EEPROM_Write(0, ((char*)&freq)[0] ); //byte menos significativo<br />EEPROM_Write(1, ((char*)&freq)[1] );<br />EEPROM_Write(2, ((char*)&freq)[2] );<br />EEPROM_Write(3, ((char*)&freq)[3] ); //byte mais significativo<br />//////////////////////////////////////////////////////<br /><br />}<br /><br />void leitura (void)<br />//Ler<br />{<br />((char*)&freq)[0] = EEPROM_Read(0); //byte menos significativo<br />((char*)&freq)[1] = EEPROM_Read(1);<br />((char*)&freq)[2] = EEPROM_Read(2);<br />((char*)&freq)[3] = EEPROM_Read(3); //byte mais significativo<br />}Tiago Henriquehttps://www.blogger.com/profile/09385302997357057888noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-8494762655998987502014-02-12T11:43:21.215-02:002014-02-12T11:43:21.215-02:00Ola amigo fiz assim mais não funciona
void grava...Ola amigo fiz assim mais não funciona <br /><br />void grava (void)<br />//Gravar<br />{<br />EEPROM_Write(0,(unsigned char)((freq & [0]);//>>24));<br />EEPROM_Write(1,(unsigned char)((freq & [1]);//>>16));<br />EEPROM_Write(2,(unsigned char)((freq& [2]);//>>8));<br />EEPROM_Write(3,(unsigned char)((freq & [3]);<br />//////////////////////////////////////////////////////<br /><br />}<br /><br />void leitura (void)<br />//Ler<br />{<br /> freq = (unsigned long)(EEPROM_Read(0)<<24);<br />freq = (unsigned long)(EEPROM_Read(1)<<16);<br />freq = (unsigned long)(EEPROM_Read(2)<<8);<br />freq = (unsigned long)(EEPROM_Read(3));<br />}*/Eletrônica hobby!https://www.blogger.com/profile/06826259421923750362noreply@blogger.comtag:blogger.com,1999:blog-6492043148642544250.post-24673763833915302022014-02-09T13:27:29.360-02:002014-02-09T13:27:29.360-02:00Para realizar a gravação na eeprom pode utilizar o...Para realizar a gravação na eeprom pode utilizar o mesmo procedimento. E pode enviar pro meu email sim.Tiago Henriquehttps://www.blogger.com/profile/09385302997357057888noreply@blogger.com