Beruflich Dokumente
Kultur Dokumente
Dr.R.Sundaramurthy
Department of EIE
Pondicherry Engineering College
sundar@pec.edu
• Enabling the slot here means that it can generate the address
of the ‘dedicated Interrupt handling function (ISR)’
For 8051
void myISR (void) interrupt 1
{
...
}
1
33pF U1
X1 62
XTAL1 P0.0/TxD0/PWM1
19
61 21
C2 XTAL2 P0.1/RxD0/PWM3/EINT0
22
P0.2/SCL0/CAP0.0
2
3 26
RTXC1 P0.3/SDA0/MAT0..0/EINT1
5 27
RTXC2 P0.4/SCK0/CAP0.1/AD0.6
33pF 29
P0.5/MISO0/MAT0.1/AD0.7
57 30
C3 RST P0.6/MOSI0/CAP0.2/AD1.0
31
P0.7/SSEL0/PWM2/EINT2
33
P0.8/TxD1/PWM4/AD1.1
34
1
P0.9/RxD1/PWM6/EINT3
22pF 35
P0.10/RTS1/CAP1.0/AD1.2
X2 P0.11/CTS1/CAP1.1/SCL1
37
38
C4 P0.12/DSR1/MAT1.0/AD1.3
39
P0.13/DTR1/MAT1.1/AD1.4
2
41
P0.14/DCD1/EINT1/SDA1
45
P0.15/RI1/EINT2/AD1.5
22pF
46
+3.3V P0.16/EINT0/MAT0.2/CAP0.2
47
P0.17/CAP1.2/SCK1/MAT1.2
53
P0.18/CAP1.3/MISO1/MAT1.3
54
P0.19/MAT1.2/MOSI1/CAP1.2
55
P0.20/MAT1.3/SSEL1/EINT3
1
P0.21/PWM5/AD1.6/CAP1.3
R1 P0.22/AD1.7/CAP0.0/MAT0.0
2
1K 58
P0.23
9
P0.25/AD0.4/AOUT
10
P0.26/AD0.5
11
P0.27/AD0.0/CAP0.1/MAT0.1
13
P0.28/AD0.1/CAP0.2/MAT0.2
C5 P0.29/AD0.2/CAP0.3/MAT0.3
14
100pF 15
P0.30/AD0.3/EINT3/CAP0.0
17
+3.3V P0.31
A
16
P1.16/TRACEPKT0
12
P1.17/TRACEPKT1 B
49 8
VBAT P1.18/TRACEPKT2
4
P1.19/TRACEPKT3 C
63 48
VREF P1.20/TRACESYNC
7 44
V3A P1.21/PIPESTAT0 D
51 40
V3 P1.22/PIPESTAT1
43 36
V3 P1.23/PIPESTAT2
23 32
V3 P1.24/TRACECLK
28
P1.25/EXTIN0
59 24
VSSA P1.26/RTCK
50 64
VSS P1.27/TDO
42 60
VSS P1.28/TDI
25 56
18
VSS P1.29/TCK
52
LAMP
VSS P1.30/TMS
6 20
VSS P1.31/TRST
LPC2138 LED-YELLOW
Squarewave = ~( Squarewave);
writepin(25, Squarewave);
}
int main(void)
{
initPLL(); // 60 MHz Pclk
initInterrupt();
initTimer0();
while(1)
{
writepin(31,1); // Background Task
delay();
writepin(31,0);
delay();
}
}
Department of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
Problem-2
• Design a LPC2148 based system to perform the
following tasks.
• Task1 Blink an LED at P1.31 using software delay.
• Task2 Generate a square wave at 500Hz @ P1.25
using Timer0 Match Interrupt
• Task3 Generate a square wave at 1KHz @ P1.26
using Timer0 Match Interrupt
• Task4 Generate a square wave at 2KHz @ P1.27
using Timer0 Match Interrupt
• Task5 Generate a square wave at 4KHz @ P1.28
using Timer0 Match Interrupt
1
33pF U1
X1 62
XTAL1 P0.0/TxD0/PWM1
19
61 21
C2 XTAL2 P0.1/RxD0/PWM3/EINT0
22
P0.2/SCL0/CAP0.0
2
3 26
RTXC1 P0.3/SDA0/MAT0..0/EINT1
5 27
RTXC2 P0.4/SCK0/CAP0.1/AD0.6
33pF 29
P0.5/MISO0/MAT0.1/AD0.7
57 30
C3 RST P0.6/MOSI0/CAP0.2/AD1.0
31
P0.7/SSEL0/PWM2/EINT2
33
P0.8/TxD1/PWM4/AD1.1
34
1
P0.9/RxD1/PWM6/EINT3
22pF 35
P0.10/RTS1/CAP1.0/AD1.2
X2 P0.11/CTS1/CAP1.1/SCL1
37
38
C4 P0.12/DSR1/MAT1.0/AD1.3
39
P0.13/DTR1/MAT1.1/AD1.4
2
41
P0.14/DCD1/EINT1/SDA1
45
P0.15/RI1/EINT2/AD1.5
22pF
46
+3.3V P0.16/EINT0/MAT0.2/CAP0.2
47
P0.17/CAP1.2/SCK1/MAT1.2
53
P0.18/CAP1.3/MISO1/MAT1.3
54
P0.19/MAT1.2/MOSI1/CAP1.2
55
P0.20/MAT1.3/SSEL1/EINT3
1
P0.21/PW M5/AD1.6/CAP1.3
R1 P0.22/AD1.7/CAP0.0/MAT0.0
2
1K 58
P0.23
9
P0.25/AD0.4/AOUT
10
P0.26/AD0.5
11
P0.27/AD0.0/CAP0.1/MAT0.1
13
P0.28/AD0.1/CAP0.2/MAT0.2
C5 P0.29/AD0.2/CAP0.3/MAT0.3
14
100pF 15
P0.30/AD0.3/EINT3/CAP0.0
17
+3.3V P0.31
A
16
P1.16/TRACEPKT0
12
P1.17/TRACEPKT1 B
49 8
VBAT P1.18/TRACEPKT2
4
P1.19/TRACEPKT3 C
63 48
VREF P1.20/TRACESYNC
7 44
V3A P1.21/PIPESTAT0 D
51 40
V3 P1.22/PIPESTAT1
43 36
V3 P1.23/PIPESTAT2
23 32
V3 P1.24/TRACECLK
28
P1.25/EXTIN0
59 24
VSSA P1.26/RTCK
50 64
VSS P1.27/TDO
42 60
VSS P1.28/TDI
25 56
18
VSS P1.29/TCK
52
LAMP
VSS P1.30/TMS
6 20
VSS P1.31/TRST
LPC2138 LED-YELLOW
T0IR = temp;
VICVectAddr = 0x00;
Department
}
of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
External Interrupts
1
33pF U1
X1 62
XTAL1 P0.0/TxD0/PWM1
19
61 21
C2 XTAL2 P0.1/RxD0/PWM3/EINT0
22
P0.2/SCL0/CAP0.0
2
3 26
RTXC1 P0.3/SDA0/MAT0..0/EINT1
5 27
RTXC2 P0.4/SCK0/CAP0.1/AD0.6
33pF 29
P0.5/MISO0/MAT0.1/AD0.7
57 30
C3 RST P0.6/MOSI0/CAP0.2/AD1.0
31
P0.7/SSEL0/PW M2/EINT2
33
P0.8/TxD1/PWM4/AD1.1
34
1
P0.9/RxD1/PWM6/EINT3
22pF 35
P0.10/RTS1/CAP1.0/AD1.2
X2 P0.11/CTS1/CAP1.1/SCL1
37
+3.3V
38
C4 P0.12/DSR1/MAT1.0/AD1.3
39
P0.13/DTR1/MAT1.1/AD1.4
2
41
P0.14/DCD1/EINT1/SDA1
45
P0.15/RI1/EINT2/AD1.5
22pF
+3.3V P0.16/EINT0/MAT0.2/CAP0.2
46 R2
47 10k
P0.17/CAP1.2/SCK1/MAT1.2
53
P0.18/CAP1.3/MISO1/MAT1.3
54
P0.19/MAT1.2/MOSI1/CAP1.2
55
P0.20/MAT1.3/SSEL1/EINT3
1
P0.21/PWM5/AD1.6/CAP1.3
R1 P0.22/AD1.7/CAP0.0/MAT0.0
2
1K 58
P0.23
9
P0.25/AD0.4/AOUT
10
P0.26/AD0.5
11
P0.27/AD0.0/CAP0.1/MAT0.1
13
P0.28/AD0.1/CAP0.2/MAT0.2
C5 P0.29/AD0.2/CAP0.3/MAT0.3
14
100pF 15
P0.30/AD0.3/EINT3/CAP0.0
17
+3.3V P0.31
LOAD
16
P1.16/TRACEPKT0
12
P1.17/TRACEPKT1
49 8
VBAT P1.18/TRACEPKT2 LED-YELLOW
4
P1.19/TRACEPKT3
63 48
VREF P1.20/TRACESYNC
7 44
V3A P1.21/PIPESTAT0
51 40
V3 P1.22/PIPESTAT1
43 36
V3 P1.23/PIPESTAT2
23 32
V3 P1.24/TRACECLK
28
P1.25/EXTIN0
59 24
VSSA P1.26/RTCK
50 64
VSS P1.27/TDO
42 60
VSS P1.28/TDI
25 56
18
VSS P1.29/TCK
52
LAMP
VSS P1.30/TMS
6 20
VSS P1.31/TRST
LPC2138 LED-YELLOW
// INT0 SPECIFIC
PINSEL1 |= 0x01 ;// P0.16 = INT0
EXTMODE |= 0x01 ;// INT0 = Edge Sensitive
EXTPOLAR |= 0x00 ; // INT0 = Falling Edge
}
Department of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
#include<lpc214x.h>
#include "GPIO.h"
#include "timer.h"
#include "UART.h"
#include "extinterrupt.h"
int main(void)
{
initPLL(); // 60 MHz Pclk
initInterrupt();
while(1)
{
writepin(31,1);
delay();
writepin(31,0);
delay();
}
}
Department of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
Problem-4
• Design a LPC2148 based system to perform
the following tasks.
• Task1 Blink an LED at P1.31 using software
delay.
• Task2 Read a switch @ EINT0 and Turn a
Load @ P1.25 when count exceeds 10.
• Task3 Read a switch @ EINT1 and Toggle a
Load @ P1.26
2
3 26
RTXC1 P0.3/SDA0/MAT0..0/EINT1
5 27
RTXC2 P0.4/SCK0/CAP0.1/AD0.6
33pF 29
P0.5/MISO0/MAT0.1/AD0.7
57 30
C3 RST P0.6/MOSI0/CAP0.2/AD1.0
31
P0.7/SSEL0/PWM2/EINT2
33
P0.8/TxD1/PWM4/AD1.1
34
1
P0.9/RxD1/PWM6/EINT3
22pF 35
P0.10/RTS1/CAP1.0/AD1.2
X2 P0.11/CTS1/CAP1.1/SCL1
37
+3.3V
38 +3.3V
C4 P0.12/DSR1/MAT1.0/AD1.3
39
P0.13/DTR1/MAT1.1/AD1.4
2
41
P0.14/DCD1/EINT1/SDA1
45
P0.15/RI1/EINT2/AD1.5
22pF
+3.3V P0.16/EINT0/MAT0.2/CAP0.2
46 R2 R3
47 10k
P0.17/CAP1.2/SCK1/MAT1.2 10k
53
P0.18/CAP1.3/MISO1/MAT1.3
54
P0.19/MAT1.2/MOSI1/CAP1.2
55
P0.20/MAT1.3/SSEL1/EINT3
1
P0.21/PWM5/AD1.6/CAP1.3
R1 P0.22/AD1.7/CAP0.0/MAT0.0
2
1K 58
P0.23
9
P0.25/AD0.4/AOUT
10
P0.26/AD0.5
11
P0.27/AD0.0/CAP0.1/MAT0.1
13
P0.28/AD0.1/CAP0.2/MAT0.2
C5 P0.29/AD0.2/CAP0.3/MAT0.3
14
100pF 15
P0.30/AD0.3/EINT3/CAP0.0
17
+3.3V P0.31
LOAD
16
P1.16/TRACEPKT0
12
P1.17/TRACEPKT1
49 8
VBAT P1.18/TRACEPKT2 LED-YELLOW
4
63
P1.19/TRACEPKT3
48 D1
VREF P1.20/TRACESYNC
7 44
V3A P1.21/PIPESTAT0
51 40
V3 P1.22/PIPESTAT1
43 36 LED-YELLOW
V3 P1.23/PIPESTAT2
23 32
V3 P1.24/TRACECLK
28
P1.25/EXTIN0
59 24
VSSA P1.26/RTCK
50 64
VSS P1.27/TDO
42 60
VSS P1.28/TDI
25 56
18
VSS P1.29/TCK
52 LAMP
VSS P1.30/TMS
6 20
VSS P1.31/TRST
LPC2138 LED-YELLOW
// EINT SPECIFIC
PINSEL1 |= 0x01 << 0 ; // P0.16 = INT0, 1st Altrnate Function(01)
EXTMODE |= 0x01 << 0 ; // INT0 = Edge Sensitive, Bit0
EXTPOLAR |= 0x00 << 0 ; // INT0 = Falling Edge, Bit0
}
Department of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
void INT0ISR(void) __irq
{
long int temp;
temp = EXTINT ;
}
Department of EIE / PEC Dr.R.Sundaramurthy.,M.E.,Ph.D., sundar@pec.edu
void INT1ISR(void) __irq
{
long int temp;
temp = EXTINT ;
int main(void)
{
initPLL(); // 60 MHz Pclk
initInterrupt();
while(1)
{
writepin(31,1);
delay();
writepin(31,0);
delay();
}
}
01
1uF
C1 1 3 U2
1
U1 C1+ C1-
33pF
X1 62
XTAL1 P0.0/TxD0/PWM1
19 11
T1IN T1OUT
14
RXD
61 21 12 13 VT52, VT100, ANSI
C2 XTAL2 P0.1/RxD0/PWM3/EINT0 R1OUT R1IN
22 10 7
P0.2/SCL0/CAP0.0 T2IN T2OUT TXD
2
3 26 9 8
RTXC1 P0.3/SDA0/MAT0..0/EINT1 R2OUT R2IN
5 27
RTXC2 P0.4/SCK0/CAP0.1/AD0.6 RTS
33pF 29 2
P0.5/MISO0/MAT0.1/AD0.7 VS+ Xmodem, Ymodem, Zmodem
57 30 6
C3 RST P0.6/MOSI0/CAP0.2/AD1.0 VS- CTS
31
P0.7/SSEL0/PW M2/EINT2
P0.8/TxD1/PWM4/AD1.1
33
C2+ C2- C9
34 C8
1
P0.9/RxD1/PWM6/EINT3 1uF
22pF 35 1uF
P0.10/RTS1/CAP1.0/AD1.2 C7
X2 37 4 5 MAX232
P0.11/CTS1/CAP1.1/SCL1
38
C4 P0.12/DSR1/MAT1.0/AD1.3
39
P0.13/DTR1/MAT1.1/AD1.4
2
41 1uF
P0.14/DCD1/EINT1/SDA1
45
P0.15/RI1/EINT2/AD1.5
22pF
46
+3.3V P0.16/EINT0/MAT0.2/CAP0.2
47
P0.17/CAP1.2/SCK1/MAT1.2
53
P0.18/CAP1.3/MISO1/MAT1.3
54
P0.19/MAT1.2/MOSI1/CAP1.2
55
P0.20/MAT1.3/SSEL1/EINT3
1 D1
P0.21/PW M5/AD1.6/CAP1.3
R1 P0.22/AD1.7/CAP0.0/MAT0.0
2
1K 58
P0.23
LED-YELLOW
9
P0.25/AD0.4/AOUT
10
P0.26/AD0.5
11
P0.27/AD0.0/CAP0.1/MAT0.1
13
P0.28/AD0.1/CAP0.2/MAT0.2
C5 P0.29/AD0.2/CAP0.3/MAT0.3
14
100pF 15
P0.30/AD0.3/EINT3/CAP0.0
17
+3.3V P0.31
D2
16
P1.16/TRACEPKT0
12
P1.17/TRACEPKT1
49 8
VBAT P1.18/TRACEPKT2 LED-YELLOW
4
P1.19/TRACEPKT3
63 48
VREF P1.20/TRACESYNC
7 44
V3A P1.21/PIPESTAT0
51 40
V3 P1.22/PIPESTAT1
43 36
V3 P1.23/PIPESTAT2
23 32
V3 P1.24/TRACECLK
28
P1.25/EXTIN0
59 24
VSSA P1.26/RTCK
50 64
VSS P1.27/TDO
42 60
VSS P1.28/TDI
25 56
18
VSS P1.29/TCK
52
LAMP
VSS P1.30/TMS
6 20
VSS P1.31/TRST
LPC2138 LED-YELLOW
int main(void)
{
initPLL(); // 60 MHz Pclk
initInterrupt();
initserial();
while(1)
{
writepin(31,1);
delay();
writepin(31,0);
delay();
}
}
// UART SPECIFIC
U0IER = 0X01 ;
// Enables the Receive Data Available interrupt
}