Maskinnära programmering 6B2266
Maskinnära programmering 6B2266
Maskinnära programmering 6B2266
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Lösta programexempel med PIC16F628<br />
Varvtalsratt till<br />
LEGO-motor<br />
Pulsgivare och PWM<br />
En ratt med pulsgivare är ansluten till RB6 och RB7. I skolan ansluter vi en Legomotor<br />
mellan RB3/CCP1 (PWM-signalen) och RA1. ( Hemma får Du nöja dig med<br />
två antiparallella lysdioder vars ljusstyrka symboliserar motorns varvtal ).<br />
Pulsgivaren ska användas som varvtalsratt för legomotorn (öka/minska). Full fart<br />
uppnås när man vridit fram pulsgivaren 255 steg.<br />
Programmet måste ignorera om man vrider fram mer än 255 steg eller bakåt förbi ”0”.<br />
/* pwmspeed.c RB-int reads rotary switch and outputs pwm */<br />
#include "16F628.h"<br />
#include "int16Cxx.h"<br />
#pragma config |= 0x3ff0<br />
char count; /* global to accumulate pulses from sensor */<br />
char trans; /* global to store transitions */<br />
#pragma bit lightdiode @ PORTA.2<br />
#pragma bit quad_A @ PORTB.6<br />
#pragma bit quad_B @ PORTB.7<br />
#define ON 1<br />
#define OFF 0<br />
40