1 | #include "LPC23xx.H" // LPC2368 MPU Register
|
2 |
|
3 | // Pin I/O LED Control Maskbit
|
4 | #define LED1 0x00000001 // P2.0(0000 0000 0000 0000 0000 0000 0000 000x)
|
5 | #define LED2 0x00000002 // P2.1(0000 0000 0000 0000 0000 0000 0000 00x0)
|
6 | #define LED3 0x00000004 // P2.2(0000 0000 0000 0000 0000 0000 0000 0x00)
|
7 | #define LED4 0x00000008 // P2.3(0000 0000 0000 0000 0000 0000 0000 x000)
|
8 | #define LED5 0x00000010 // P2.4(0000 0000 0000 0000 0000 0000 000x 0000)
|
9 | #define LED6 0x00000020 // P2.5(0000 0000 0000 0000 0000 0000 00x0 0000)
|
10 | #define LED7 0x00000040 // P2.6(0000 0000 0000 0000 0000 0000 0x00 0000)
|
11 | #define LED8 0x00000080 // P2.7(0000 0000 0000 0000 0000 0000 x000 0000)
|
12 |
|
13 | #define LED1_ON() FIO2CLR = LED1 // LED1 Pin = 0 (ON LED)
|
14 | #define LED1_OFF() FIO2SET = LED1 // LED1 Pin = 1 (OFF LED)
|
15 | #define LED2_ON() FIO2CLR = LED2 // LED2 Pin = 0 (ON LED)
|
16 | #define LED2_OFF() FIO2SET = LED2 // LED2 Pin = 1 (OFF LED)
|
17 | #define LED3_ON() FIO2CLR = LED3 // LED3 Pin = 0 (ON LED)
|
18 | #define LED3_OFF() FIO2SET = LED3 // LED3 Pin = 1 (OFF LED)
|
19 | #define LED4_ON() FIO2CLR = LED4 // LED4 Pin = 0 (ON LED)
|
20 | #define LED4_OFF() FIO2SET = LED4 // LED4 Pin = 1 (OFF LED)
|
21 | #define LED5_ON() FIO2CLR = LED5 // LED5 Pin = 0 (ON LED)
|
22 | #define LED5_OFF() FIO2SET = LED5 // LED5 Pin = 1 (OFF LED)
|
23 | #define LED6_ON() FIO2CLR = LED6 // LED6 Pin = 0 (ON LED)
|
24 | #define LED6_OFF() FIO2SET = LED6 // LED6 Pin = 1 (OFF LED)
|
25 | #define LED7_ON() FIO2CLR = LED7 // LED7 Pin = 0 (ON LED)
|
26 | #define LED7_OFF() FIO2SET = LED7 // LED7 Pin = 1 (OFF LED)
|
27 | #define LED8_ON() FIO2CLR = LED8 // LED8 Pin = 0 (ON LED)
|
28 | #define LED8_OFF() FIO2SET = LED8 // LED8 Pin = 1 (OFF LED)
|
29 |
|
30 |
|
31 |
|
32 | /* pototype section */
|
33 | void delay(unsigned long int); // Delay Time Function
|
34 |
|
35 | int main(void)
|
36 | {
|
37 | // Config Pin GPIO4[0:7]
|
38 | PINSEL4 &= 0xFF4BFFFF; // P2[0:7] = GPIO Function(xxxx xxxx xx00 00xx xxxx xxxx xxxx xxxx)
|
39 | PINMODE4 &= 0xFF4BFFFF; // Enable Puul-Up on P2[0:7]
|
40 |
|
41 | FIO2DIR |= LED1; // Set GPIO-4[7:0] = Output(xxxx x11x xxxx xxxx xxxx xxxx xxxx xxxx)
|
42 | FIO2DIR |= LED2;
|
43 | FIO2DIR |= LED3;
|
44 | FIO2DIR |= LED4;
|
45 | FIO2DIR |= LED5;
|
46 | FIO2DIR |= LED6;
|
47 | FIO2DIR |= LED7;
|
48 | FIO2DIR |= LED8;
|
49 | LED1_OFF(); // Default LED Status
|
50 | LED2_OFF();
|
51 | LED3_OFF();
|
52 | LED4_OFF();
|
53 | LED5_OFF();
|
54 | LED6_OFF();
|
55 | LED7_OFF();
|
56 | LED8_OFF();
|
57 |
|
58 | // Loop Test LED Output on GPIO3[26],GPIO3[25]
|
59 | while(1) // Loop Continue
|
60 | {
|
61 | LED1_ON(); // ON LED1
|
62 | LED2_OFF(); // OFF LED2
|
63 | LED3_OFF(); // OFF LED3
|
64 | LED4_OFF(); // OFF LED4
|
65 | LED5_OFF(); // OFF LED5
|
66 | LED6_OFF(); // OFF LED6
|
67 | LED7_OFF(); // OFF LED7
|
68 | LED8_OFF(); // OFF LED8
|
69 | delay(5000000); // Display Delay
|
70 |
|
71 | LED1_OFF(); // OFF LED1
|
72 | LED2_ON(); // ON LED2
|
73 | LED3_OFF(); // OFF LED3
|
74 | LED4_OFF(); // OFF LED4
|
75 | LED5_OFF(); // OFF LED5
|
76 | LED6_OFF(); // OFF LED6
|
77 | LED7_OFF(); // OFF LED7
|
78 | LED8_OFF(); // OFF LED8
|
79 | delay(5000000); // Display Delay
|
80 |
|
81 | LED1_OFF(); // OFF LED1
|
82 | LED2_OFF(); // OFF LED2
|
83 | LED3_ON(); // ON LED3
|
84 | LED4_OFF(); // OFF LED4
|
85 | LED5_OFF(); // OFF LED5
|
86 | LED6_OFF(); // OFF LED6
|
87 | LED7_OFF(); // OFF LED7
|
88 | LED8_OFF(); // OFF LED8
|
89 | delay(5000000); // Display Delay
|
90 |
|
91 | LED1_OFF(); // OFF LED1
|
92 | LED2_OFF(); // OFF LED2
|
93 | LED3_OFF(); // OFF LED3
|
94 | LED4_ON(); // ON LED4
|
95 | LED5_OFF(); // OFF LED5
|
96 | LED6_OFF(); // OFF LED6
|
97 | LED7_OFF(); // OFF LED7
|
98 | LED8_OFF(); // OFF LED8
|
99 | delay(5000000); // Display Delay
|
100 |
|
101 | LED1_OFF(); // OFF LED1
|
102 | LED2_OFF(); // OFF LED2
|
103 | LED3_OFF(); // OFF LED3
|
104 | LED4_OFF(); // OFF LED4
|
105 | LED5_ON(); // ON LED5
|
106 | LED6_OFF(); // OFF LED6
|
107 | LED7_OFF(); // OFF LED7
|
108 | LED8_OFF(); // OFF LED8
|
109 | delay(5000000); // Display Delay
|
110 |
|
111 | LED1_OFF(); // OFF LED1
|
112 | LED2_OFF(); // OFF LED2
|
113 | LED3_OFF(); // OFF LED3
|
114 | LED4_OFF(); // OFF LED4
|
115 | LED5_OFF(); // OFF LED5
|
116 | LED6_ON(); // ON LED6
|
117 | LED7_OFF(); // OFF LED7
|
118 | LED8_OFF(); // OFF LED8
|
119 | delay(5000000); // Display Delay
|
120 |
|
121 | LED1_OFF(); // OFF LED1
|
122 | LED2_OFF(); // OFF LED2
|
123 | LED3_OFF(); // OFF LED3
|
124 | LED4_OFF(); // OFF LED4
|
125 | LED5_OFF(); // OFF LED5
|
126 | LED6_OFF(); // OFF LED6
|
127 | LED7_ON(); // ON LED7
|
128 | LED8_OFF(); // OFF LED8
|
129 | delay(5000000); // Display Delay
|
130 |
|
131 | LED1_OFF(); // OFF LED1
|
132 | LED2_OFF(); // OFF LED2
|
133 | LED3_OFF(); // OFF LED3
|
134 | LED4_OFF(); // OFF LED4
|
135 | LED5_OFF(); // OFF LED5
|
136 | LED6_OFF(); // OFF LED6
|
137 | LED7_OFF(); // OFF LED7
|
138 | LED8_ON(); // ON LED8
|
139 | delay(5000000); // Display Delay
|
140 | }
|
141 | }
|
142 |
|
143 | /***********************/
|
144 | /* Delay Time Function */
|
145 | /* 1-4294967296 */
|
146 | /***********************/
|
147 | void delay(unsigned long int count1)
|
148 | {
|
149 | while(count1 > 0) {count1--;} // Loop Decrease Counter
|
150 | }
|