O desabafo de um iniciante em programação! ( 74595 )

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Re: O desabafo de um iniciante em programação!

Mensagempor mastk » 20 Jun 2014 11:02

METABEE escreveu:XultZ, Parceiro Valeu mesmo! :roll:

minha mente ficou esclarecida agora ,então entendi um pouco quer dizer então se fosse rotacionar para a
direita seria shift right !!


----------------------EDITADO POR RODRIGO
Ainda assim eu insisto, no seu circuito a saida do 595 estao acionado uma matrix, sem resistores, os leds serao danificados, caso fossem CIs da familia CMOS poderia ate funcionar, mas TTL nao.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 20 Jun 2014 11:08

Cara não fala mão de xults ele é o mais sabio aqui do forum !!!!!!
eu sei que tem que colocar resistencia , mais isto é so a ideia pra depois fazer a pratica entendeu amigo!!! :evil:

HE HE HE como dizia metabee eu sou demais!!

Xults É FERA !!!!!!!!!!!!!!!! ------------- EDITADO POR METABEE Rsrs! :mrgreen:
Editado pela última vez por METABEE em 21 Jun 2014 01:15, em um total de 1 vez.
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor xultz » 20 Jun 2014 13:20

Valeu, cara.
A propósito, prá qual endereço eu mando o boleto bancário?

Brincadeira, seguinte, eu não respondo esse tipo de questão por PM porque muitas pessoas podem aproveitar estas informações, e o forum descamba prá um serviço gratuito de consultoria especializada.

Primeira coisa, posta uma imagem do teu diagrama, sem ele não tem como ajudar.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: O desabafo de um iniciante em programação!

Mensagempor vtrx » 20 Jun 2014 14:08

Fiquem atento pois no outro fórum teve que criar 3 nicks para ser respondido,por advertência :!:
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: O desabafo de um iniciante em programação!

Mensagempor Rodrigo_P_A » 20 Jun 2014 16:59

Por favor parar de usar palavrões no fórum, pois todos os fórums de microcontroladores e sistemas operacionais aparecem de forma aberta nos mecanismos de busca.

Obs. O boteco é livre e só aparece para membros.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 21 Jun 2014 01:05

o diagrama é esse , igual o codigo la em cima que compilou mais no proteus não deu certo , só deu certo com aquele codigo da matriz ,aquela PM que te enviei lá pra traz! etc... :|
Imagem
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 22 Jun 2014 15:06

Xults! , amigo é não e´mole não ! ´so consigo fazer funcionar beleza com matriz mesmo, e o microcontrolador 16f84 só tem 255 possibilidades no maximo eu poderia apenas fazer uma matriz de 16x16= 256 leds! 8x8 da 64 leds e o meu proteus é mais demo ho! que pena aqui esta o codigo o maximo que consegui entender!
pra galera ai!!

cpp code
#include <16F84A.h>
#FUSES XT,NOWDT,NOPUT,NOPROTECT
#use delay(crystal=4MHz)

#include <74595.c>

int conta = 0;
int chara[9]={0b00000001, 0b00000010, 0b00000100, 0b00001000, 0b00010000,
0b00100000, 0b01000000, 0b10000000, 0b00000000};

void main()
{
output_a(0x00);
output_b(0x00);

while(TRUE)
{
for(conta=0;conta<=8;++conta)
{
write_expanded_outputs(&chara[conta]);
delay_ms(500);
}
}
}

:| :cry:
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor andre_luis » 22 Jun 2014 15:33

Acho que é poraí mesmo, tem de começar por algo basico e ir incrementando aos poucos. No caso, esse código aí implementa apenas uma linha horizontal no display 8x8, mas se você substituir o conteúdo da matriz chara[9] por outros valores, poderá escrever qualquer dígito. Tem uns exemplos prontos na Web:

http://www.piclist.com/techref/datafile/charset/8x8.htm

O próximo passo seria multiplexar outros displays para poder escrever um texto completo, mas vamos passo a passo.



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 23 Jun 2014 03:28

Realmente , eu tambem pensei dessa forma mais quando tentei chamar outra função ,por exemplo aqule void write_expanded_outputs com uma variavel diferente não deu certo , e tambem se você mudar os digitos da matriz chara[9] só vai alterar as linhas mesmo , andre_teprom Valeu ai pela força apela ai pro pessoal por que foi o maximo que eu já fiz ate agora !! :wink: e isso é so utilizando apenas um shift linha , eita era massa se Xults disser como fazer para manipular as colunas

:roll: xults já ELE È UM BOM CAMARADA ,ELE È UM BOM CAMARADAAAAAAAA! NINGUEM PODE NEGAAAAAAAAA kkkkkkkkkkk! :mrgreen:
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor xultz » 23 Jun 2014 08:59

Eu não entendi o que deu certo, o que não deu, e o que você queria que o program fizesse.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: O desabafo de um iniciante em programação!

Mensagempor ze2 » 23 Jun 2014 15:07

2...
me lembro vagamente que postei um exemplo completo de matriz de leds no forum labtools. No entanto até este exato momento ele está fora do ar (=eu). Assim que (Se) voltar(mos), localizo e quiçá posto o link.
obs: seu programa pode ter comido boa parte da ram do mc. (me autofiz lembrar.... saudade de comer carne de rã. Me lembro vagamente do sabor. Só sei que era o melhor do universo)
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 23 Jun 2014 17:05

Um quadrado com dois shift um para linha e o outro para dominar as colunas ,
Por favor , realmente pra quem nunca estudou em faculdade devo admitir que isto é muito difícil
apenas a demostração do proteus com a biblioteca 74595 que coloquei no tópico ai já esta ótimo ,
o resto eu faço do meu jeito :wink: !
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor andre_luis » 23 Jun 2014 19:18

METABEE escreveu:...se você mudar os digitos da matriz chara[9] só vai alterar as linhas mesmo...


Não entendi, você está dizendo que se alterar as linhas 8 e 9 do código que você postou acima
para essa abaixo, não aparece por exemplo o caractere M ?

cpp code
int chara[9]={ 0x11, 0x1B, 0x15, 0x15, 0x11, 0x11, 0x11, 0x00 }; // M





+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: O desabafo de um iniciante em programação!

Mensagempor METABEE » 24 Jun 2014 05:28

Olha só , vou postar o esquema do hardware no proteus com as ligações dos pinos pra você testar esse código , e você vai perceber que acende oito leds e fica pulando linha a linha entendeu!

http://i58.tinypic.com/x4etz5.png
x4etz5.png

outra coisa que não gostei é que esse código com dois chift linha e coluna fica meio desorganizado de se usar quando não se entende

veja eu não consigo de jeito nenhum ! andre é porque tem poucas pessoas aqui que colaboram parece que o pessoal se apega as coisa como se isso fosse sua via :x

olha esse outro! OBs só uma dica pessoal , se alguém sabe fazer estes códigos com linha e coluna , pedimos encarecidamente por misericórdia mesmo Rsrs :mrgreen:
ate por que a própria CCS sabemos que é uma linguagem de alto nível mais que os seus produtos são muito caros é logico e evidente para aquelas pessoas que não podem comprar e estudar , eu mesmo prefiro começar do zero do tempo da caverna com o SAP - 1 e fazer meu próprio processador pra falar a verdade o que adianta um manual ccs e quem nunca cursou uma faculdade se aquela pessoa que esta lendo não terá um esclarecimento especifico do assunto!! também tem pessoas que sabe o código e não quer entragar , tá se você sabe o código e não ajuda seu próximo é por que não se garante em aprender mais e fazer melho do que você ensinou por favor pessoal libera o código ai que sabe manipular as linhas e as colunas com essa biblioteca maluca !! :| :wink:
Ai pessoal é a vontade que é grande de ver a coisa funcionar , mais ainda acredito que alguém pode ajudar!! VLW ai pessoal!!

http://i58.tinypic.com/2uo1hxt.png
2uo1hxt.png


cpp code
#include <16F877A.h>
#device ADC=16
//*****************************************************************************
#FUSES HS,NOWDT,NOPUT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG,NOPROTECT
//*****************************************************************************
#define SRCLK1 PIN_B0 // SH_CP (PINO 11 SRCLK)
#define SER1 PIN_B1 // DS (PINO 14 SER)
#define RCLK1 PIN_B2 // ST_CP (PINO 12 RCLK)
//*****************************************************************************
#define SRCLK2 PIN_B3 // SH_CP (PINO 11 SRCLK)
#define SER2 PIN_B4 // DS (PINO 14 SER)
#define RCLK2 PIN_B5 // ST_CP (PINO 12 RCLK)
//*****************************************************************************
#use delay(crystal=20MHz)
//*****************************************************************************
unsigned int Linha[1];
unsigned int Coluna[1];
//*****************************************************************************
void ICLinha()
{
int i=0,j=0;
for(i=0;i<1;i++)
{
for(j=0;j<8;j++)
{
output_bit(SER1,bit_test(Linha[i],j));
output_high(SRCLK1);
delay_us(1);
output_low(SRCLK1);
}
}
output_high(RCLK1);
delay_us(1);
output_low(RCLK1);
}
//*****************************************************************************
void ICColuna()
{
int i=0,j=0;
for(i=0;i<1;i++)
{
for(j=0;j<8;j++)
{
output_bit(SER2,bit_test(Coluna[i],j));
output_high(SRCLK2);
delay_us(1);
output_low(SRCLK2);
}
}
output_high(RCLK2);
delay_us(1);
output_low(RCLK2);
}
//*****************************************************************************
void main()
{
output_a(0x00);
output_b(0x00);
output_c(0x00);
output_d(0x00);
output_e(0x00);

while(TRUE)
{
Linha[0] =0b10101010;
Coluna[0]=0b01010101;
ICLinha();
ICColuna();
output_toggle(PIN_B6);
delay_ms(500);
Linha[0] =0b01010101;
Coluna[0]=0b10101010;
ICLinha();
ICColuna();
output_toggle(PIN_B6);
delay_ms(500);
}
}
//****************************************************************************
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
METABEE
Bit
 
Mensagens: 16
Registrado em: 18 Jun 2014 01:42

Re: O desabafo de um iniciante em programação!

Mensagempor xultz » 24 Jun 2014 08:35

Metabee, primeira pergunta: você quer um código pronto, ou quer entender de verdade o funcionamento?
Segunda pergunta: você entendeu como a matriz de led funciona?
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

AnteriorPróximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x