C:\Users\meito\MPLABXProjects\Takujo-14-4.X\Takujo-14-4.c |
1 /*****************************************
2
3
4
5
6 #include <xc.h>
7
8 #define _XTAL_FREQ 8000000
9
10
11 #pragma config FOSC = INTOSC
12 #pragma config WDTE = OFF
13 #pragma config PWRTE = ON
14 #pragma config MCLRE = ON
15 #pragma config CP = OFF
16 #pragma config CPD = OFF
17 #pragma config BOREN = ON
18 #pragma config CLKOUTEN = OFF
19 #pragma config IESO = ON
20 #pragma config FCMEN = OFF
21
22
23 #pragma config WRT = OFF
24 #pragma config PLLEN = ON
25 #pragma config STVREN = ON
26 #pragma config BORV = LO
27 #pragma config LVP = OFF
28
29 void main()
30 {
31 unsigned int spe ;
32
33 OSCCON = 0b01110010;
34 ANSELA = 0b00000000;
35 ANSELB = 0b00000000;
36 TRISA = 0b10000010;
37 TRISB = 0b10001100;
38 PORTA = 0b00000000;
39 PORTB = 0b00001100;
40 CCPTMRS = 0b00000000;
41 CCP3CON = 0b00001100;
42 T2CON = 0b00000010;
43 PR2 = 124;
44 CCPR3L = 0;
45 CCPR3H = 0;
46 TMR2 = 0;
47 TMR2ON = 1;
48
49 CCPR3L = 0;
50 RA0 = 0;
51 RA1 = 0;
52 RA2 = 0;
53 RA7 = 0;
54 RB6 = 0;
55 RB5 = 0;
56 RB4 = 1;
57
58 __delay_ms(300);
59 RB1 = 1;
60 __delay_ms(500);
61 RB0 = 1;
62 __delay_ms(1000);
63 RB1 = 0;
64 __delay_ms(500);
65 RB0 = 0;
66 __delay_ms(500);
67
68 while(1){
69 while(RA7 == 0){
70 __delay_ms(50);
71 }
72 RB4 = 0;
73 RB6 = 1;
74
75 RA2 = 1;
76 for(spe =0; spe<256; spe++){
77 CCPR3L = spe ;
78 __delay_ms(5);
79 }
80
81 while(RB7 == 1){
82 __delay_ms(10);
83 }
84 RB6 = 0;
85 RB4 = 1;
86
87 while(RB3 == 1){
88 if(RB7 == 0){
89 RB4 = 0;
90 RB5 = 1;
91 }
92 __delay_ms(10);
93 }
94 RB5 = 0;
95 RB6 = 1;
96
97 while(RB2 == 1){
98 __delay_ms(10);
99 }
100
101 while(RB7 == 1){
102 __delay_ms(10);
103 }
104 RB6 = 0;
105 RB4 = 1;
106
107 while(RB3 == 1){
108 if(RB7 == 0){
109 RB4 = 0;
110 RB5 = 1;
111 }
112 __delay_ms(10);
113 }
114
115 while(RB2 == 1){
116 __delay_ms(10);
117 }
118 RB5 = 0;
119 RB4 = 1;
120
121 for(spe=255; spe>-1; spe--){
122 CCPR3L = spe ;
123 __delay_ms(5);
124 }
125 RA2 = 0;
126
127 __delay_ms(2000);
128
129 while(RA1 == 0){
130 __delay_ms(10);
131 }
132
133 RB4 = 0;
134 RB6 = 1;
135 RB1 = 1;
136 __delay_ms(500);
137 RB0 = 1;
138 __delay_ms(500);
139
140 RA2 = 1;
141 for(spe =0; spe<256; spe++){
142 CCPR3L = spe ;
143 __delay_ms(5);
144 }
145
146 while(RA1 == 1){
147 if (RB7 == 1){
148 RB6 = 0;
149 RB5 = 0;
150 RB4 = 1;
151 }
152 __delay_ms(10);
153 }
154
155 RB0 = 0;
156 __delay_ms(500);
157 RB1 = 0;
158 __delay_ms(500);
159
160 while(RB3 == 1){
161 __delay_ms(10);
162 }
163 RA0 = 1;
164
165 while(RB2 == 1){
166 __delay_ms(10);
167 }
168 for(spe=255; spe>-1; spe--){
169 CCPR3L = spe ;
170 __delay_ms(5);
171 }
172 RA2 = 0;
173 RA0 = 0;
174
175 __delay_ms(2000);
176
177 }
178 }
179
180