1 |
3 |
ja_rd |
/**
|
2 |
|
|
@file light52.h
|
3 |
|
|
@brief SFR definitions for the light52 core.
|
4 |
|
|
|
5 |
|
|
This file uses the SCDD compiler MCS51 C extensions and will not be
|
6 |
|
|
directly compatible with other compilers.
|
7 |
|
|
*/
|
8 |
|
|
|
9 |
|
|
#ifndef LIGHT52_H_INCLUDED
|
10 |
|
|
#define LIGHT52_H_INCLUDED
|
11 |
|
|
|
12 |
|
|
/* Interrupt Enable register */
|
13 |
|
|
__sfr __at 0xa8 IE; /**< Interrupt enable register */
|
14 |
|
|
__sbit __at 0xaf EA; /**< Global Interrupt Enable flag */
|
15 |
|
|
__sbit __at 0xac ES; /**< Serial port Interrupt Enable flag */
|
16 |
|
|
__sbit __at 0xa9 ET0; /**< Timer 0 Interrupt Enable flag */
|
17 |
|
|
__sbit __at 0xa8 EEX; /**< External Interrupt Enable flag */
|
18 |
|
|
|
19 |
|
|
/* Serial port */
|
20 |
|
|
__sfr __at 0x98 SCON; /**< UART control register */
|
21 |
|
|
__sbit __at 0x9c TXIRQ; /**< UART TX interrupt flag */
|
22 |
|
|
__sbit __at 0x9d RXIRQ; /**< UART RX interrupt flag */
|
23 |
|
|
__sbit __at 0x9c TXRDY; /**< UART TxRdy flag */
|
24 |
|
|
__sbit __at 0x9d RXRDY; /**< UART RxRdy flag */
|
25 |
|
|
__sfr __at 0x99 SBUF; /**< UART tx/rx data buffer */
|
26 |
|
|
__sfr __at 0x9a SBPL; /**< UART Baud period register, Low byte */
|
27 |
|
|
__sfr __at 0x9b SBPH; /**< UART Baud Period register, High byte */
|
28 |
|
|
|
29 |
|
|
/* Timer T0 -- 16-bit timer not compatible to original */
|
30 |
|
|
__sfr __at 0x88 TCON; /**< Timer 0 control register */
|
31 |
|
|
__sbit __at 0x88 T0IRQ; /**< Timer 0 interrupt flag */
|
32 |
|
|
__sbit __at 0x8c T0ARL; /**< Timer 0 Auto ReLoad flag */
|
33 |
|
|
__sbit __at 0x8d T0CEN; /**< Timer 0 Count ENable flag */
|
34 |
|
|
__sfr __at 0x8c T0L; /**< Timer 0 counter register, Low byte */
|
35 |
|
|
__sfr __at 0x8d T0H; /**< Timer 0 counter register, High byte */
|
36 |
|
|
__sfr __at 0x8e T0CL; /**< Timer 0 reload register, Low byte */
|
37 |
|
|
__sfr __at 0x8f T0CH; /**< Timer 0 reload register, High byte */
|
38 |
|
|
|
39 |
|
|
/* External interrupts */
|
40 |
|
|
__sfr __at 0xc0 EXTINT; /**< EXTernal INTerrupt flag register */
|
41 |
|
|
__sbit __at 0xc0 EIRQ0;
|
42 |
|
|
__sbit __at 0xc1 EIRQ1;
|
43 |
|
|
__sbit __at 0xc2 EIRQ2;
|
44 |
|
|
__sbit __at 0xc3 EIRQ3;
|
45 |
|
|
__sbit __at 0xc4 EIRQ4;
|
46 |
|
|
__sbit __at 0xc5 EIRQ5;
|
47 |
|
|
__sbit __at 0xc6 EIRQ6;
|
48 |
|
|
__sbit __at 0xc7 EIRQ7;
|
49 |
|
|
|
50 |
|
|
/* I/O ports */
|
51 |
|
|
__sfr __at 0x80 P0; /**< Port 0 register (hardwired output) */
|
52 |
|
|
__sbit __at 0x80 P0_0;
|
53 |
|
|
__sbit __at 0x81 P0_1;
|
54 |
|
|
__sbit __at 0x82 P0_2;
|
55 |
|
|
__sbit __at 0x83 P0_3;
|
56 |
|
|
__sbit __at 0x84 P0_4;
|
57 |
|
|
__sbit __at 0x85 P0_5;
|
58 |
|
|
__sbit __at 0x86 P0_6;
|
59 |
|
|
__sbit __at 0x87 P0_7;
|
60 |
|
|
__sfr __at 0x90 P1; /**< Port 1 register (hardwired output) */
|
61 |
|
|
__sbit __at 0x90 P1_0;
|
62 |
|
|
__sbit __at 0x91 P1_1;
|
63 |
|
|
__sbit __at 0x92 P1_2;
|
64 |
|
|
__sbit __at 0x93 P1_3;
|
65 |
|
|
__sbit __at 0x94 P1_4;
|
66 |
|
|
__sbit __at 0x95 P1_5;
|
67 |
|
|
__sbit __at 0x96 P1_6;
|
68 |
|
|
__sbit __at 0x97 P1_7;
|
69 |
|
|
__sfr __at 0xa0 P2; /**< Port 2 register (hardwired input) */
|
70 |
|
|
__sbit __at 0xa0 P2_0;
|
71 |
|
|
__sbit __at 0xa1 P2_1;
|
72 |
|
|
__sbit __at 0xa2 P2_2;
|
73 |
|
|
__sbit __at 0xa3 P2_3;
|
74 |
|
|
__sbit __at 0xa4 P2_4;
|
75 |
|
|
__sbit __at 0xa5 P2_5;
|
76 |
|
|
__sbit __at 0xa6 P2_6;
|
77 |
|
|
__sbit __at 0xa7 P2_7;
|
78 |
|
|
__sfr __at 0xb0 P3; /**< Port 3 register (hardwired input) */
|
79 |
|
|
__sbit __at 0xb0 P3_0;
|
80 |
|
|
__sbit __at 0xb1 P3_1;
|
81 |
|
|
__sbit __at 0xb2 P3_2;
|
82 |
|
|
__sbit __at 0xb3 P3_3;
|
83 |
|
|
__sbit __at 0xb4 P3_4;
|
84 |
|
|
__sbit __at 0xb5 P3_5;
|
85 |
|
|
__sbit __at 0xb6 P3_6;
|
86 |
|
|
__sbit __at 0xb7 P3_7;
|
87 |
|
|
|
88 |
|
|
#endif
|