Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define v_kood1 0b10101010
- #define v_kood2 0b01010101
- // Taimeri väljundsignaal on katkestusregistris INTCON
- #define Q_taimer 0b00000100
- #define Q_buzz 0b00000100
- void piiks_peale(void){
- TRISC &= ~Q_buzz;
- }
- void piiks_maha(void){
- TRISC |= Q_buzz;
- }
- void main(int argc, char** argv) {
- unsigned int aeg=153;
- char korda=0;
- char loe=0;
- TRISD = 0; // väljundport on D tervikuna
- ADCON1 = 6;
- OPTION_REG |= 0b00000111; // jagur 1:128, 5Mhz/128 = 39062 Hz
- PSA=0; T0CS=0; // OPTION_REG &= 0b11010111;
- // PWM seadistus
- TMR2=0;
- T2CON = 0b00000110; // TMR2ON=1, Sagedusjagur (1x) = 16x
- PR2= 123;
- CCP1CON = 0b00001100; // 11xx = PWM mode
- CCPR1L = PR2/2;
- CCP1X = 0;
- CCP1Y = 0;
- while (1){
- if (INTCON & Q_taimer){
- if (aeg < 0xFFFF) aeg++;
- INTCON &= ~Q_taimer; // Nullitakse ületäitumise tunnus
- }
- if (!RA3){loe=10; piiks_maha(); }
- if (aeg > 15){
- if (korda != 0) korda=0; else korda=1;
- if (loe>0){
- loe--;
- if (korda) PORTD = v_kood1; else PORTD = v_kood2;
- }else{
- PORTD = 0;
- piiks_peale();
- }
- aeg=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement