hola como estan. espero que bien...
tengo problema para manejar PWM del PIC16F877A.
lo que quiero hacer en manejar dos motores con PWM (CCP1 y CCP2). si tengo apretado el button PORTA.F0 y aprieto el button PORTA.F5 el PWM1_Change_Duty y PWM_Change_Duty aumente o que si el button PORTA.F0 y aprieto el button PORTA.F4 el el PWM1_Change_Duty y PWM_Change_Duty disminuya hasta lo minimo que es los 20 del valor de la variable "dato"
no se si esta vien escrito el codigo o algo se me esta pasando..
el codigo:
y subo la foto del circuito ..
Espero que me puedan orientar y darme una mano..
muchas gracias por la ayuda..
tengo problema para manejar PWM del PIC16F877A.
lo que quiero hacer en manejar dos motores con PWM (CCP1 y CCP2). si tengo apretado el button PORTA.F0 y aprieto el button PORTA.F5 el PWM1_Change_Duty y PWM_Change_Duty aumente o que si el button PORTA.F0 y aprieto el button PORTA.F4 el el PWM1_Change_Duty y PWM_Change_Duty disminuya hasta lo minimo que es los 20 del valor de la variable "dato"
no se si esta vien escrito el codigo o algo se me esta pasando..
el codigo:
Código:
unsigned int dato;
void main(){
PWM1_Init(40000);
PWM2_Init(40000);
PORTA=0x00;
TRISA=0xFF;
PORTC=0x00;
TRISC=0x00;
PORTD=0x00;
TRISD=0x00;
PWM1_Start();
PWM2_Start();
while(1){
dato=20;
if(PORTA.F0){
PORTD=0x01;
while(PORTA.F0){
if((PORTA.F5)&&(dato<255)&&(!PORTA.F4)){
Delay_ms(200);
dato=dato+80;
}
PWM1_Change_Duty(dato);
PWM2_Change_Duty(dato);
}
}
}
Delay_ms(200);
}
Espero que me puedan orientar y darme una mano..
muchas gracias por la ayuda..