Obrigado pelas respostas acho que não ficou muito claro o que eu desejo obter com esse projeto então vou tentar explicar melhor, o objetivo é Controlar um motor dc (o motor eu vou pegar amanhã ai confirmo a alimentação e corrente de pico) com encoder pelo PWM, usando o PIC18F4550 e no display aparecer a velocidade do motor em tempo real que eu vou regulando no PWM a principio usando um potenciômetro.
Meu professor passou um "Código Base" para a turma começar vocês podem me ajudar a montar no proteus?
#include <18F4550.h>#device adc=10#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN, MCLR#use delay(clock=48000000)#include <usb_bootloader.h> #include <stdio.h>static boolean led;long int cont;long ciclo_PWM;//---------------------------------------------------------------------------#int_timer0void MyTimer(){ cont++; if(cont == 47000) { cont = 0; led = !led; output_bit(pin_b7, led); }}//---------------------------------------------------------------------------void main(){ //Setup do Timer0 = Led piscando a cada 1 segundo; setup_timer_0(RTCC_INTERNAL | RTCC_DIV_1 | RTCC_8_BIT); enable_interrupts(int_timer0); //Setup do Conversor Analógico Digital - Leitura do Potenciômetro setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(AN0); // SETUP DO PWM - Usando o Timer 2 setup_ccp1(CCP_PWM); // CCP1 = PINO C2 DO PIC setup_timer_2(T2_DIV_BY_4, 215, 1); enable_interrupts(INT_CCP1); enable_interrupts(GLOBAL); cont = 0; while( true ) { ciclo_PWM = read_adc(); set_pwm1_duty(ciclo_PWM); }}