Ir ao conteúdo

Ajuda Codigo CCs para PIC


rodrigocirilo

Posts recomendados

Postado

Olá pessoal do forum, sou iniciante em programação, estou pra iniciar outro curso, faço alguns programinhas simples mas queria fazer uma programação mais sofisticada.

o projeto é o seguinte:

Haverá um sensor e pressão ligado ao canal 0 do pic fazendo a leitura a associando a variável "sensor", depois multiplicando pelo numero 5/1023=0.0048875 para resultar em um numero de tensão de 0 a 5V ( na verdade isso depois irá virar pressão (em bar)

ok, isso eu consegui fazer, agora preciso que na segunda linha a partir da 8ª coluna apareça uma pressão (setavel) onde por meio de um botão de incremento e outro de decremento eu aumento e diminuo este valor, alem de um botão start, que após setado o valor + ou_ e pressionado start, o adc precisara ficar igual ao valor setado.

no projeto o local que armazena o ar comprimido e tem o sensor de pressão que manda valores para o adc, tem duas valvulas que libera e manda ar, fazendo o valor do adc mudar e exibir o mesmo valor.

Seria + ou - igual a um calibrador de pneus desses eletrônicos, voce seta a pressão e ele obedece quando pluga no pneu, o meu seria n momento depois de apertar start.

Conto com a ajuda de vocês..

até agora escrevi isso:


#include "C:\Arquivos de programas\PICC\projetos pic\CLP 16F876.h"

#define LCD_DATA_PORT getenv ("SFR:PORTb")
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA0 PIN_B4
#define LCD_DATA1 PIN_B5
#define LCD_DATA2 PIN_B6
#define LCD_DATA3 PIN_B7
#define use_portb_lcd true
#include "lcd.c"


float sensor;

void main()
{

setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

lcd_init();

while(true)
{

set_adc_channel(0); //SETA O CANAL adc PARA PINO AN0
delay_us(10); // DELAY DE INICIALIZAÇÃO DO ADC
sensor=read_adc(); // LEITURA DO CANAL ADC VAI PARA VARIAVEL SENSOR
sensor=sensor*0.0048875855327468; // MULTIPLICAÇÃO PARA EXIBIR 0 A 5V
delay_ms(10);

lcd_gotoxy (1,1); //POSIÇÃO DA MENSAGEM
printf (lcd_putc, "PRESSAO SENSOR "); // 1ª MENSAGEM DO LCD

lcd_gotoxy (1,2); // POSIÇÃO DOS VALORES
printf (lcd_putc, "\%f bar", sensor); // JOGA VALOR DA VARIAVEL NO LCD
delay_ms (10);




}

}
}




AQUI OS ARQUIVOS DO .h que o Matheus pediu.

#include <16F876A.h>
#device adc=10

#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected

#use delay(clock=20000000)

na imagem na entrada adc tem um divisor e as saidas para as solenoides são ou led´s, só pra simular.

9laf.png

Uploaded with ImageShack.us

Postado
O que possui dentro do arquivo CLP 16F876.h?

Falou

MatheusLPs cara ja li muitos post´s seus você é fera, me ajuda..por favor..rsrs

como uso o pic wizard do CCS, você ja faz as configurações dentro de abas, dai ele salva um arquivo .h com o nome do seu projeto e busca as diretivas lá dentro... tipo os #fuses, include e outras coisas...

Postado

Exato, imaginei isso mesmo.

Mas você precisa colocar aqui o que tem dentro desse arquivo para que possamos ver se está tudo correto.

E não sou tão fera assim. Sou hobbysta como grande parte aqui. Aprendendo a cada dia.

Falou

Postado
Exato, imaginei isso mesmo.

Mas você precisa colocar aqui o que tem dentro desse arquivo para que possamos ver se está tudo correto.

E não sou tão fera assim. Sou hobbysta como grande parte aqui. Aprendendo a cada dia.

Falou

Então Matheus vou colocar amanhã pois estou em casa e o codigo ficou no trabalho.

Estou pensando em mudar o lcd para o portC e usar a interrupção do RB para chamar as funções de incrementarão ou decrementacao, só preciso ver se esse pic tem essa característica! O que você acha??

Cara você é fera sim, eu achei um tópico com seus projetos para baixar, puts tem muita coisa hehe

Abrs

Adicionado conteudo do .h

Postado

O pessoal, dá uma força ai..... outra coisa, tentei mudar o lcd para o portc e não funciona!! terei que mudar algo no lcd.c??

Caro moderador favor finalizar o tópico pois ja foram sanadas as duvidas..

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!