PIC-1で行う制御とファームウェア
|
|||
このPICはD7200がC2の15秒の連写後に、USB-PICがTeraTermから信号"D"を受けてコロナの偏光撮像を開始します。 偏光撮像は、
|
|||
駆動回路の回路図・部品配置図はこちらにあります。 | |||
|
|||
1 /* 2 * PolarizationCapture 3 * Author: M_shi_Lab 4 * ForPIC-1+E-PL5 5 * Startedat 2018/Apr/22 6 * Tentativecompletionat 2018/May/26 7 * Completionforeclipsat 2018/Sep/02 8 */ 9 10 11 #include <xc.h> 12 #include <stdlib.h> 13 #include <stdio.h> 14 #pragma config FOSC = HS 15 #define _XTAL_FREQ 12000000 16 #pragma config MCLRE = OFF 17 #pragma config WDTE = OFF 18 #pragma config PWRTE = ON 19 #pragma config CP = OFF 20 #pragma config CPD = OFF 21 22 void Captor(void); 23 24 void main(void) 25 { 26 ANSEL = 0b00000000; 27 TRISA = 0b10000000; 28 TRISB = 0b00001001; 29 30 PORTBbits.RB0 = 1; 31 PORTB = 0b11000000; 32 33 while(1) 34 { 35 if(PORTBbits.RB0 == 0) 36 { 37 Captor(); 38 } 39 } 40 } 41 42 void Captor(void) 43 { 44 int i, j; 45 46 for(j=0; j<=18; j++) 47 { 48 PORTBbits.RB1 = 1; 49 __delay_ms(50); 50 PORTBbits.RB2 = 1; 51 __delay_ms(2200); 52 PORTBbits.RB2 = 0; 53 __delay_ms(50); 54 PORTBbits.RB1 = 0; 55 56 for(i=1;i<=12;i++) 57 { 58 PORTB = 0b11000000; 59 __delay_ms(15); 60 PORTB = 0b01100000; 61 __delay_ms(15); 62 PORTB = 0b00110000; 63 __delay_ms(15); 64 PORTB = 0b10010000; 65 __delay_ms(15); 66 } 67 PORTB = 0b1100000; 68 __delay_ms(15); 69 PORTB = 0b01100000; 70 71 __delay_ms(1000); 72 73 PORTBbits.RB1 = 1; 74 __delay_ms(50); 75 PORTBbits.RB2 = 1; 76 __delay_ms(2200); 77 PORTBbits.RB2 = 0; 78 __delay_ms(50); 79 PORTBbits.RB1 = 0; 80 81 PORTB = 0b00110000; 82 __delay_ms(15); 83 PORTB = 0b10010000; 84 __delay_ms(15); 85 for(i=1;i<=12;i++) 86 { 87 PORTB = 0b11000000; 88 __delay_ms(15); 89 PORTB = 0b01100000; 90 __delay_ms(15); 91 PORTB = 0b00110000; 92 __delay_ms(15); 93 PORTB = 0b10010000; 94 __delay_ms(15); 95 } 96 97 __delay_ms(1000); 98 } 99 return; 100 } |