このファイル: /home/web6047/www/cgi-bin/prj/20190901-DRAMを理解してプログラミングに強くなろう/20191020-2bitPIC24H.X/newmain - snapshot 20191020.c
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <libpic30.h>
4
#include <p24HJ32GP202.h>
5
6
7
8
_FBS(BSS_NO_FLASH & BWRP_WRPROTECT_OFF )
9
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF )
10
_FOSCSEL(FNOSC_FRC & IESO_ON)
11
_FOSC(FCKSM_CSECME & IOL1WAY_OFF & POSCMD_NONE & OSCIOFNC_ON )
12
_FWDT(FWDTEN_OFF & WINDIS_OFF)
13
_FPOR(FPWRT_PWR32 & ALTI2C_OFF)
14
15
16
17
void delay( unsigned long int num ) {
18
unsigned long int i;
19
for( i = 0; i < num; i++ );
20
}
21
22
23
void telltell() {
24
int i;
25
delay( 100000 );
26
27
for( i = 0; i < 2; i++ ) {
28
LATBbits.LATB6 = 1;
29
delay( 10000 );
30
LATBbits.LATB6 = 0;
31
delay( 10000 );
32
}
33
delay( 100000 );
34
}
35
36
int main(int argc, char** argv) {
37
unsigned long int i;
38
int r1, r2;
39
40
41
42
AD1PCFGL = 0b0001111000111111;
43
44
45
TRISA = 0b11111;
46
47
TRISB = 0b0000000000000000;
48
49
ジョウホウ 0 カキコミ
50
LATBbits.LATB8 = 0;
51
LATBbits.LATB9 = 1; セツメイ ノ ピンC シュツリョク 3V セッテイ★★★
52
LATBbits.LATB2 = 1;
53
delay( 3000 ); カキコミ
54
LATBbits.LATB2 = 0;
55
ジョウホウ ヲ ヨム
56
TRISBbits.TRISB8 = 1;
57
TRISBbits.TRISB9 = 1; セツメイ ノ ピンC ニュウリョク セッテイ
58
LATBbits.LATB2 = 1;
59
r1 = PORTBbits.RB8; セツメイ ノ ピンB ウケトリ
60
r2 = PORTBbits.RB9;
61
LATBbits.LATB2 = 0; セツメイ ノ ピンA トンジスタ オフ
62
63
64
65
telltell();
66
67
68
int r = r2 * 2 + r1;
69
for( i = 0; i < r; i++ ) {
70
LATBbits.LATB6 = 1;
71
delay( 100000 );
72
LATBbits.LATB6 = 0;
73
delay( 100000 );
74
}
75
76
telltell();
77
78
79
80
while( 1 ) {
81
82
if( PORTAbits.RA4 == 1 ) {
83
LATBbits.LATB6 = 1;
84
} else {
85
LATBbits.LATB6 = 0;
86
}
87
}
88
89
return (EXIT_SUCCESS);
90
}