OpenCores
URL https://opencores.org/ocsvn/light52/light52/trunk

Subversion Repositories light52

[/] [light52/] [trunk/] [test/] [include/] [light52.h] - Blame information for rev 5

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.