Ir ao conteúdo
  • Cadastre-se

Como mudar o codigo?


joseca

Posts recomendados

Ola a todos!

No codigo abaixo,como fazer ele repetir as instrucoes,pois ele apenas executa uma unica vez.

//------Directivas para el compilador--------
#include <16f877a.h> //PIC utilizado
#fuses XT,NOWDT,NOPROTECT,NOLVP //Configuramos los fuses
#use delay (clock=4000000) //Oscilador a 4Mhz
#use fast_io( //Optimizamos E/S del PORTB
#use fast_io(c) //Optimizamos E/S del PORTC
#INCLUDE "lcd.c" //Incluyo LCD.C
//
//------Prototipos de funciones-----
void lcd_saludo_inicial(void);
//
//------------------------------------------------------------------------------
//------Programa principal----------
//------------------------------------------------------------------------------
void main(void) {
//------Puertos y pines-------------
#byte PORTB=0xF81
#byte PORTC=0xF82
#byte PORTD=0xF82
//------Variables a utilizar -------
int i=64; //Primer caracter a escribir (64=arroba)
int columna=1; //Contador de columnas escritas
//-----Inicializo el LCD y muestro el saludo inicial----------
lcd_init();
lcd_saludo_inicial();
//
//-----Escribo la primera fila ---
//
lcd_gotoxy(1,1); //Primer columna de la primera fila
//-----Escribo la primera fila ---
for(columna=1;columna<=16;columna++) {
Lcd_putc (i); //Muestro el caracter
delay_ms(500); //Espero medio segundo
i++;
}
//
//-----Escribo la segunda fila ---
lcd_gotoxy(1,2); //Primer columna de la segunda fila
//-----Escribo la segunda fila ---
for(columna=1;columna<17;columna++) {
Lcd_putc (i); //Muestro el caracter
delay_ms(500); //Espero medio segundo
i++;
}
}
//
//------------------------------------------------------------------------------
//FUNCIONES
//------------------------------------------------------------------------------
//Imprime saludo inicial.

void lcd_saludo_inicial(void) {
Lcd_putc ("Jose C. Raymundo"); //Escribo en la primera fila
delay_ms(2000); //Espero dos segundos
lcd_gotoxy(3,2); //columna 3, fila 2
Lcd_putc( "Codigos em CCS"); //Escribo en la segunda fila
delay_ms(3000); //Espero tres segundos
Lcd_putc( "\f"); //Limpio pantalla

}

Link para o comentário
Compartilhar em outros sites

Então,estou tentado colocar o comando WHILE e FOR em alguma parte do codigo para que o mesmo rode em loop infinito,mas nao consegui

:confused::confused:

não é alguma parte, é a parte certa.

Depois que o programa escreveu no LCD você tem que limpá-lo antes de escrever novamente.

tenta fazer assim

while(1){

//

//-----Escribo la primera fila ---

//

lcd_gotoxy(1,1); //Primer columna de la primera fila

//-----Escribo la primera fila ---

for(columna=1;columna<=16;columna++) {

Lcd_putc (i); //Muestro el caracter

delay_ms(500); //Espero medio segundo

i++;

}

//

//-----Escribo la segunda fila ---

lcd_gotoxy(1,2); //Primer columna de la segunda fila

//-----Escribo la segunda fila ---

for(columna=1;columna<17;columna++) {

Lcd_putc (i); //Muestro el caracter

delay_ms(500); //Espero medio segundo

i++;

}

//AQUI FICA O COMANDO QUE LIMPA A TELA

//DA UM DELAY PARA VOCÊ VIZUALIZAR A TELA LIMPA

//REINICIALIZA AS VARIAIS I E columna

}

Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!