Ir ao conteúdo

Codigos CCS C!


charlesfrances

Posts recomendados

Postado

 olha é o seguinte não adianta agente ficar postando o código de outras pessoas de outros sites que não passam exemplos vivos, para que se possa entender e aproveitar e estimular a criatividade beleza até ai ? OK! então faz o seguinte, posta de como manipular esse código por exemplo esses que interessam ,
estava olhando o manual , veja bem , a pessoa quer construir uma matriz 8x8 tenta de todas as maneiras , e vocês viram que meu código ficou fadado apenas pelos vetores , mais alguém sabe fazer uma matriz pelo menos simples 8x8 utilizando esses códigos que estou citando em baixo ?, pessoal acorda ai pra ajudar !

, ~ One's complement operator>>= Right shift assignment, x>>=y, is the same as x=x>>y
Postado

Entendo resumidamente que você procura um código pronto só para copiar e colar, imaginando que isto ainda seja pouco, deve ser previamente testado. Certamente, não vou te ajudar com isso. Mas não magoe-se com minha pessoa, tente reformular sua pergunta; talvez você precise fazer alguma coisa antes de tirar uma dúvida.

 

Quanto ao código; Observe: Sendo um operador e como o próprio símbolo sugere, ele ">>" desloca "y" bits para direita (right) e "=" atribui o valor a variável "x". Em um português claro "x>>=y;", o código irá transferir para "x" o valor dele mesmo deslocado "y" vezes. Escrever "x=x>>y", e "x>>=y;" é a mesma coisa, conhecido também como simplificação ou otimização de código (como quiser chamar). Ele trabalha com os bits de uma variável, seja lá, qual for seu tamanho.

 

Tendo em mente a forma pela qual os dados são tratados no seu programa, você pode concluir a utilidade do código para poder coloca-lo em prática.

Postado

int set[12]=
{
   0x00,0x08,   //   X=8
   0x00,0x08,   //   Y=8
   0xFF,   //   ########
   0x81,   //   #......#
   0x81,   //   #......#
   0x81,   //   #......#
   0x81,   //   #......#
   0x81,   //   #......#
   0x81,   //   #......#
   0xFF    //   ########
};

 

alguém poderia tentar com um 595 apenas , é só tudo o que quero ! Obrigado!

  • Membro VIP
Postado

com um só não vai rolar (quase que literalmente) do modo como está sonhando há muuuuuuito tempo. Precisa de pelo menos dois pra formar a matriz[8][8] e uma varredura com interrupção. No entanto algo me diz que isso ainda não te pertence. Mas no proteus você pode fazer com 12 e aí sim vai 'rolar' todos. Ligue-os em série, distibua os leds no desenho de acordo com sua tão sonhada matriz e faça

for (i=0;i<12;i++) out595(set[i]);

por gentileza consulte a função out595() que já foi mastigada pra ti

boa sorte

Postado

com todo o respeito mais ,

vou sitar


com um só não vai rolar (quase que literalmente) do modo como está sonhando há muuuuuuito tempo. Precisa de pelo menos dois pra formar a matriz[8][8] e uma varredura com interrupção. No entanto algo me diz que isso ainda não te pertence. Mas no proteus você pode fazer com 12 e aí sim vai 'rolar' todos. Ligue-os em série, distibua os leds no desenho de acordo com sua tão sonhada matriz e faça

for (i=0;i<12;i++) out595(set[i]);

por gentileza consulte a função out595() que já foi mastigada pra ti

boa sorte

como você diz que com um ´so não vai rolar andou bebendo o que^ kkk :lol: :D  

 

2hcnqz6.jpg

 

//LED dot matrix display

//columns used for scanning

//rows used for generating patterns

 

// Definitions

sbit my_data at RC2_bit;

sbit clock at RC6_bit;

sbit latch at RC7_bit;

 

const unsigned short one[2][8] = {{0x00, 0xFE, 0x11, 0x11, 0x11, 0xFE, 0x00, 0x00}, //A

{0x00, 0xFF, 0x89, 0x89, 0x89, 0x76, 0x00, 0x00} //B

};

unsigned int row, column, scanner, repeat;

void main() {

CMCON = 0x07; // Disable comparators

ADCON0 = 0x00;

ADCON1 = 0x0F;

TRISC = 0x00;

TRISD = 0x00;

my_data = 1;

scanner = 1;

row = 0;

column = 0;

while(1){

for (column = 0; column < 2; column++){

for (row = 0; row < 8; row++){

my_data = one[column][row];

clock = 1;

clock = 0;

scanner = 1;

for (repeat = 0; repeat < 8; repeat++){

latd = scanner;

scanner = scanner << 1;

}

}

latch = 1;

latch = 0;

}

}

}

 

 

  • Membro VIP
Postado

Então tenta com pic10f200.

 

Pro seu pode ser zero 595

 

scanner = scanner << 1;

isso faz o bit rolar... literalmente

 

no caso do seu ser... acho qua não róla . Mas continue tentando. Água dura, pedra mole tanto fura até que bate.. aff ..pior que acho que tô 1/2 de ressaca mesmo kk.

 

boa sorte

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!